Created At
Mar 31, 2022
Created By Joep Verhaeg
Integrate your Ventus W830 weather station with your Home Center 3 using the local API (and Node-RED)
Created At
Mar 31, 2022
Last Update
Apr 01, 2022
Platforms
HC 3 Lite, Z-box Hub, Venture WISE, HC 3
Views
1555
Download
74
The Ventus W830 (and Alecto WS5500) weather stations can be configured to send weather data to a local server. To add the weather station to the Home Center 3 you can use a Raspberry Pi (or computer) to translate the payload to the FIBARO API format. With this method you can integrate the Ventus W830 or Alecto WS5500 weather station into the Home Center 3.
View the included comprehensive manual for detailed installation instructions.
Read in the manual how you link the weather station to your Wi-Fi and install the WS View app from Google Play or the iOS App Store on your phone.
Configure the weather station to use a local server with the WS View app and use the IP address and /weatherstation
path when using my Node-RED flow example.
Install the Quick App by adding a new device and uploading the .fqa
file downloaded from here.
The Quick App contains a Lua function to retrieve the weather data via the Home Center 3 API. The Node-RED flow sends the data to the Quick App. Therefore, no additional configuration is required.
In Node-RED you can import the following flow:
[{"id":"4bd03a27.686964","type":"http in","z":"5df41914ccf9555f","name":"WS830 incoming data","url":"/weatherstation","method":"post","upload":false,"swaggerDoc":"","x":140,"y":220,"wires":[["c81fb2783c57da97"]]},{"id":"c81fb2783c57da97","type":"delay","z":"5df41914ccf9555f","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"minutes","rate":"1","nbRateUnits":"5","rateUnits":"minute","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"allowrate":false,"outputs":1,"x":360,"y":220,"wires":[["44d0fc53f3f75405"]]},{"id":"44d0fc53f3f75405","type":"function","z":"5df41914ccf9555f","name":"HC3 payload","func":"weatherdata = msg.payload;\n\nmsg = {\n headers: { 'content-type':'application/json' },\n payload: { 'args': [weatherdata] }\n};\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":550,"y":220,"wires":[["147e1206594b336b"]]},{"id":"147e1206594b336b","type":"http request","z":"5df41914ccf9555f","name":"HC3 Ventus W830 QA","method":"POST","ret":"txt","paytoqs":"ignore","url":"http://192.168.1.1/api/devices/200/action/data","tls":"","persist":false,"proxy":"","authType":"basic","senderr":false,"x":760,"y":220,"wires":[[]]}]
The flow contains a http in
node to retrieve the weather data payload from the station. I limit the flow so that it only sends new values to the HC3 every 5 minutes. This is not necessary, but I want to avoid unnecessary network traffic on my home network.
The function node translates the weather data JSON to a FIBARO API call and sends it to the Home Center 3 with a http request
node.
Note: you have to configure Basic Authentication with your Home Center 3 username and password to authenticate to the API!
As soon as you deploy the Node-RED flow the Home Center 3 will retrieve the weather data when it is pushed by the Ventus W830 weather station.
Full documentation of the Ventus W830 Quick App is included in the provided ZIP file or at my Smart Home Adventure blog.
Super NICE; THX!!! WORKS with GW1000A_PRO (ECOWITT) I just can not set Humidity as Weather Provider Humidity Device. (NOT SHOWN/SELECTABLE)