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.

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.
- Fill in your ISY's username (if not admin)
- Fill in your ISY's password
- Fill in your ISY's address
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.
- The profile number is the slot in the ISY's node server configuration list. This should be automatically filled in.
- Include Hub Data - This will add a node that contains information on the Hub itself. The hub does not contain any weather information but this can provide some diagnostic data
- Include Device Data - This will add an additional node for each sensor device. This is mostly diagnostic data and is not needed for normal operation.
- Set Units - Sets the units used for various weather values.
- Set Logging Level - This determines how much information is captures/displayed in the program log.

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.

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.
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.
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.

The log screen has the following controls.
- Pause - This pauses the log output. Useful when debugging and the log is updating quickly
- Clear - This clears all information currently in the log
- Save - The current log information is saved to the file specified in the text box. Note that the display is limited to about 8000 lines of log information but the log itself can hold about 100000 lines of information. Saving will save the entire log, not just what is displayed.
- Log Level - Sets the log level. This duplicates the same option on the configuration page.
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.

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.