ISY Node Server

I wanted to let the community know for those of you rockin a ISY Series Controller. A fantastic UDI member has released a preliminary Node Server package which allows direct integration of the Weather Flow hardware.

At a high level this requires some middleware such a 24.7.365 PC or a small RPI. The application of course runs on both Windows and Linux operating systems. The purpose is to allow tight integration of the Weather Flow hardware which can be seen directly by the ISY Series Controller for real time weather metrics.

This first step has been done and accomplished and over time the developer will move forward to stream line and improve what it supports and offers.

Here is a quick glimpse of what is currently supported and available for use in the programs with in the ISY Series Controller.

Home Automation & Smart Weather Integration in 2018 is truly going to be ground breaking!

Main%20Page

Universal Devices Incorporated (UDI) makes one of the most powerful and energy efficient home automation controller in the world. A direct link to the company can be found here should you be interested in Home Automation: https://www.universal-devices.com/

Unlike many other home automation controllers the ISY 994 Series Controller is a local first vs cloud first system. Meaning it doesn’t rely on a constant Internet connection to some third party server just to operate. Having said this, the ISY Series Controller also supports the ability to connect and harness cloud hosted services and portals such as Amazon Echo, Google Home, IFTTT, and many more.

For those so interested in not only Home Automation but Energy Monitoring / Energy Management. The ISY Series Controller when configured properly also supports Energy Monitoring / Energy Management via ZigBee.

The controller natively supports both Insteon and the legacy X-10 Home Automation protocols. Should the user wish to use and integrate with Z-Wave a simple hardware and software upgrade can be done which allows a person to have a hybrid environment which supports all three: X-10, Insteon, Z-Wave.

For those who purchase the Network Module this allows you to connect to almost any network / cloud hosted portal service.

1 Like

hello gary forgive my lack of knowledge but is it restricted only to windows and linux.

1 Like

Hi Brian,

This is not Gary this is Patrick. :rofl:

The application the member created runs on both Windows & Linux operating systems. What other systems were you considering?

Hi I am the developer creating the Node server application for the ISY and do monitor this forum also.

Thanks @Phoenix for the detailed write up!

Just a little more background. The ISY controller runs it’s own proprietary OS and doesn’t have any mechanism to run third party applications. UDI’s solution is to allow external devices to send data to the ISY and they do provide an API and specifications on how to get that data integrated into their system. A “Node Server” is an implementation of that API and specifications for a specific set of data.

In this case, the goal is to get the weather data from the Weather Flow into the ISY as quickly as possible without involving any external cloud based systems. To do that, the “Node Server” needs to run on a local system. It listens for the UDP packets from the Hub, processes them into a format that the ISY can consume and forwards them on to the ISY. My programming language of choice for stuff like this is C# and thus I created a .NET application that can run on either Windows or Linux using Mono.

Once in the ISY, the data can be used by the ISY’s rule based programs to automate other tasks; I.E. if outside temperature is greater than 70F switch HVAC to AC else switch HVAC to heat. I have a fairly complex set of rules that deal with open windows, outside temp, a whole house fan and the HVAC control. For that to work properly I really need to know the current outside temp.

The ISY does have a module that can pull weather data from a weather service (I think it’s currently PWS?) but it does so at 30 minute intervals which won’t work for many situations.

Lastly, I don’t yet have a Weather Flow station so all my development has been done using a simulator I wrote that takes data from a different weather station and translates it to UDP packets. So any feedback from existing Weather Flow owners is very welcome.

Bob

2 Likes

Hi, Bob.

You don’t need to have a station to accomplish what you want. Instead of getting data via UDP you can switch to a web socket.

If you want some one-on-one help feel free to contact me.

Gary

Hi Bob,

I appreciate you taking the time to chime in to fill in some of the blanks. I wanted to share what you have been able to accomplish in such a short time with the Node Server Integration for the ISY Series Controller. I believe your efforts will benefit the Weather Flow community greatly for those so interested in Home Automation.

Thank You! :+1:

1 Like

I hadn’t thought of that. I could pull data from a real, on-line station and use that to test, I’d just need to pick a one that’s public. I guess that could be an option for the Node Server too so that someone with a station close by could use that to populate the ISY without having to have a station of their own. Oh wait, strike that, don’t want anyone to have a reason not to buy their own station.

2 Likes

Bob,

It’s so easy to switch from WS to UDP and the data is pretty much the same. It’s great for testing and as you stated, getting data pushed from an outside station.

I have data flowing from the Hub to the ISY, the RTI XP and it’s great. This has added a lot to help automate my house and keep me happy and comfortable.

Gary

The nodeserver works well but some of your conversions are way off. Pressure , pressure trend and apparent temperature are incorrect.

Gary

c1
c2

I don’t have a sky 00000001 and some how the application added it. Very strange.
c3

Pressure is currently station pressure, not sea level as I don’t have access to the station altitude yet. I need to add a config option to have that entered so that sea level pressure can be calculated.

Trend does need some time to stabalize since it’s supposed be over a 3 hour interval, but I’ll take a look at it to see if I missed something there.

I’ll double check the apparent temp calculations. I’m pretty sure I’m doing more conversions between C and F than are necessary and that may have introduced some rounding errors.

Your sk_00000001 node is really strange. The program wouldn’t just make that up so it must have seen a UDP packet that mostly match a real packet. Is the data updating for that node? If you delete it does it come back?

1 Like

No need to do that. Use the REST API to get that information. You will also need the AGL values for each device.

Email me and I’ll share with you how I calculate that.

It is not updating and I haven’t deleted it. I will do so and let you know.

I’ve spent the past few months researching and checking calculations to the point I was able to report several bugs the WeatherFlow. I’m happy to help you and share my findings…

HI, Bob,

Great work on the version .4. The node server added more strange nodes again last night.

I added the “hub” verb and it added the node. I’m not sure why you decided to add this as there is nothing useful to the ISY. Being that the data is sent every 10 seconds that’s another 24 calls per minute per hub.

The rapid wind is nice but not that useful in the ISY and again another 40 calls per minute per device.

The Rain Rate and Daily Rainfall are perfect. Both extremely useful to the ISY.

As for the Uptime and Signal Strength, maybe you have a use for these that just isn’t apparent and I’d like to know how you intend to use these. I just don’t see it.

You have done a fantastic job, Bob! I’m looking forward to version …5.

Best to you,

Gary

c3

1 Like

Thanks Gary!

I think you know some of the reasoning for the additional fields like Uptime time and Signal Strength. But mainly I just want to throw a bunch of stuff out there and see what ends up sticking and what doesn’t.

My current thinking is that I’ll probably add some type of optional sub-node to each sensor node that contains the more advanced data. That way the default views will be less cluttered.

I think I’ll create a special debug version for you so that we can try and track down those random phantom nodes. I know the sample size is pretty small right now, but so far you’re the only one reporting them.

Bob

1 Like

Just wait till users find out there is even more data available from other sources. Then you will really get hit by ridiculous requests.

When I started developing for the Smart Weather Station I had every variable from every source. Eventually I cut out over half of what I had added.

When you add debug code, please output the full packet seen so I can see what your code is acting on. I’m probably the only one that actually does deliberate harm to hardware to find bugs. Half the code I have in the RTI driver is error checking

It’s a sincere pleasure working with you on this.

Gary

1 Like

That makes you a great test subject then! I’m pretty good at trying to break things with other peoples code, but not so much when it comes to my own. I probably shouldn’t be, but I’m constantly amazed at what “users” try to do sometimes.

2 Likes

I know that. Especially when they are told not to and especially government workers. “Why would you put a name here when it specifically says enter the claimants social security number?”

Go figure.

1 Like

I added the elevation which is 1744.066. Calculated from a station pressure of 814.4. I have attached the images from the WeatherFlow application, my application and the ISY.

c4

20180316_140302

1 Like

Bob (@bpaauwe) ,

The “Last Update” is working great. The SK-00000000 that was created and that won’t get updated shows 73 minutes since last update. Nice.

Gary

1 Like

Bob (@bpaauwe ),

The latest version is working Great!. I have it running as a service on my Windows 10 notebook. The computer reboots, the service starts and the ISY is HAPPY!

Great work.

Gary

P.S.
C1

1 Like