An ISY Node Server for Weather Flow weather data

WFNodeServer is a console application that monitors data from one or more Weather Flow smart weather stations and passes that data to an ISY-99i with 5.0.11 or later firmware. WFNodeServer functions as a Node Server which creates nodes (devices) within the ISY device. WFNodeServer should be run on a networked computers that is running 24x7. The host computer must be running either Windows (.NET 4.0+) or Linux (via Mono).

Download

Installation on Windows

Copy the WFNodeServer.exe to a convenient location on your computer. The node server can be started like any other Windows application by double clicking on it. It can also be started from a command prompt (cmd). It can be started automatically on log in by placing it in your startup folder.

For the rest of the configuration, we'll refer to this machine as WFNS. When you see this, you'll need to substitute either your actual machine name or it's IP address.

Installation on Linux

Copy the WFNodeServer.exe to a convenient location. The program requires no special privileges to run and should be run from a normal user account. It must be run using Mono.

mono WFNodeServer.exe

It can be can be run automatically on boot by creating a systemd entry or adding it to your rc.local init scripts depending on how your system is configured.

For the rest of the configuration, we'll refer to this machine as WFNS. When you see this, you'll need to substitute either your actual machine name or it's IP address.

Initial WFNodeServer configuration

When WFNodeServer starts it will start a simple web server running on port 8288. To start the configuration you connect to WFNodeServer using a web browser and going to http://WFNS:8288/

The browser should display the WFNodeServer's configuration page.

Browser configuration page
The two most important pieces of information are the ISY username and password. If you know your ISY's IP address, enter that too but WFNodeServer will attempt to locate the ISY on the network if it is left blank.

The other options are considered optional and can be changed at any time, now or in the future.

Save the username and password by pressing any of the 'Set' buttons on the left. Once the ISY username and password are set, WFNodeServer will connect to the ISY, and start installing the proper configuration and files needed for everything to work.

Browser ISY configuration
Enter your station ID number in the Station ID box and press the Add button. This will contact the WeatherFlow server and pull in your station's meta data. If you don't have an internet connection, you may also enter the information directly. If you don't enter any station information, the program will create a default station based on data it sees coming from your hub. However, the elevation information is not available from the hub and this is needed to correctly calculate sea level barometric pressure.

Your station configuration allows you to track rapid wind data if you desire. Checking the Rapid checkbox will enable this. Rapid wind data will be tracked in a separate device node. Enabling this will cause a significant increase in communication traffic between the node server and the ISY as this data is updated every 3 seconds.

Browser station configuration

Lastly, press the Start Node Server button and the WFNodeServer will start monitoring your network for data from the Hub and start automatically creating new device nodes on the ISY as it sees sensor data from your station.

Advanced Configuration

It is possible to configuration data collection from multiple weather stations. Simply enter additional station ID's and Add them. If the hub is supporting multiple Air or Sky sensors, you'll have to add the associated stations separately as the automatic station creation is only able to add one station.

It is also possible to configure data collection from remote stations. To configure a remote station, add the station ID number and check the Remote checkbox before clicking the Add button. Once a remote stations has been configured, a new button to start the WebSocket client will appear. Clicking that button will start remote data collection.

When the Rapid checkbox is checked, the remote station will also send rapid wind events. Since these generate a fair amount of network traffic, it is an optional setting.

The node list

If you enter the configuration screen after the WFNodeServer has been running for a while, it will show a list of the ISY device nodes that were created.

There will generally be 1 Hub node. This node will always be created and has a heartbeat value that switches between 1 and -1 every 30 seconds. You can monitor this with an ISY program to detect if the WFNodeServer goes off-line. If you selected Include Hub Data, this node will also have data about the hub (uptime, signal strength, etc.).

Each Air sensor will create up to 3 nodes. The primary node contains all the sensor data (temperature, pressure, humidity, etc.). A secondary node will also be created that includes sensor device information (uptime, signal strength, etc.). When/If a lightning strike is detected, another secondary node with information about the last detected lightning strike is created.

Each Sky sensor will create 2 nodes. The primary node contains all the sensor data and the secondary node contains the sensor device data.

Manual Installation on the ISY

If WFNodeServer is not already installed on the ISY, the program should detect this and automatically install the proper files and configuration. If for some reason it does not, you can manually configure the ISY.

Start by selecting a new empty Node Server configuration as shown below.

Node Server menu

Fill in the configuration as show below. Make sure the IP Address matches the host computer that will be running the WFNodeServer.exe. Use the default port number (8288) initially, it can be changed later during the WFNodeServer configuration.

Node Server Setup

Use the Upload Profile button to upload the nodesetup.zip file that is listed in the download section above. Once it has finished, hit Ok You can now configure WFNodeServer per the instructions above.

Viewing the log

The web interface also includes the ability to monitor the log output. Selecting Log from the menu at the top will take you to the log page. The log information is transferred between WFNodeServer and the browser using port 8289.

Log screen

The log screen has the following controls.

Node Information

The Node Information screen is accessed by selecting Node Info from the menu at the top. This shows the nodes currently added to the ISY along with some useful information about them.

Node Information

The Custom Notification column shows how each weather value can be represented in the body of a custom notification or when sending information via a network resource.