garybixler Posted July 24, 2019 Posted July 24, 2019 Hi Just a question. Is there any present PolyGlot node server that can receive live data from Davis weather units like Vantage Pro2 and other sensors using the new WeatherLink Live WI-FI . From what I read it allows connections to smart home devices using IoT/smart. APIs also look to be available. Thanks for any info. Gary
bpwwer Posted July 24, 2019 Posted July 24, 2019 Hi Gary, I don't believe anyone has created one yet, but from what I found searching on-line, it seems like it would be pretty similar to the WeatherFlow node server that I wrote. I don't think it would be too hard, but without direct access to a WL device, it can be a bit time consuming to debug issues getting getting it working. If you're willing to spend the time testing and providing feedback, I'll be happy to create one.
garybixler Posted July 24, 2019 Author Posted July 24, 2019 (edited) bpwwer Hi, I just ordered one and should have it this week. Right now I have the Davis pro2 unit with an IP logger to update to weatherlink. Using the Live WI-FI It looks like you would need to log into weatherlink and after that it would update the local device every 2.5 seconds. I would be happy to assist with this in any way. I always wanted the ISY to be able to receive data from the pro2 locally in real time.. Thanks Gary Edited July 24, 2019 by garybixler
bpwwer Posted July 24, 2019 Posted July 24, 2019 I see two different ways to access the data. 1) is by connecting locally to the a WLL device. With this method, current conditions can be polled fairly frequently (10 seconds) and it can also be set up to broadcast some data (wind and rain) every 2.5 seconds over UDP. This is what I was looking at using. With the initial version just polling for current conditions (probably at something more like 1 minute intervals just to not overwhelm the ISY). Setting it up to get the UDP broadcast would be dependent on use case requirements (I.E. do you see a need for that data at that interval?). It sounds like this is what you're looking for too. 2) is to connect to the WeatherLink server over the internet. The polling interval for this is much longer (15 minutes?). This also has a dependency on the internet. However, it could also be run from a cloud base Polyglot. Based on what I found, it sounds like they are updating the API for this method with the new API expected later this year. I'd rather postpone any work related to this until after the new API is releases, if something like this is desired. Do you have a local Polyglot set up? And if so, are you comfortable installing a node server from the command line?
garybixler Posted July 24, 2019 Author Posted July 24, 2019 I think I would prefer the first method where I can get the real time data in a very short period of time. 2.5 seconds would be great if not to overwhelm the ISY however. Being quickly warned of high winds would be quite beneficial. Right now I am running Polyglot on a Raspberry Pi 3 to support the wireless tag and Tesla node servers. I can do basic command line instructions and more complex from examples. I also have a Pi 2 running Polyglot for testing the GPIO node server with the latest raspian stretch that I can use for the testing.
mwester Posted July 25, 2019 Posted July 25, 2019 Updating a single value or variable in the ISY every 2.5 seconds is a bit much -- it would work, but in my experimentation, the updates were often delayed a bit, and sometimes the ISY would simply not be ready and the update message would be dropped (this would happen all the time during the 3AM query, and often when the system was busy with other intense updates). My point being that something like a full update of the entire screen for a weather station is probably far too much for the ISY to handle -- perhaps once per minute might be a better way to do it (I'm not at all sure that the 30-second long-poll time in Polyglot would be long enough).
garybixler Posted July 25, 2019 Author Posted July 25, 2019 My thought might be that the node server would only need to send only values that have changed up to the ISY unless queried. Wind speed and wind direction would always be changing except maybe on a calm day. Other values like temp, humidity, barometer, rain, etc would change over much longer periods of time. So maybe 10 seconds plus might be acceptable. I don't know if any of this would be feasible or not.
Jimbo.Automates Posted July 25, 2019 Posted July 25, 2019 Polyglot v2 handles only sending values that change, with my 13 nodeservera running I see pretty much no delay in updates passed to the ISY.Sent from my Pixel 3 XL with Tapatalk
bpwwer Posted July 25, 2019 Posted July 25, 2019 @garybixler I have a test version running using some sample data I was able find on-line so let me know when you get the hardware setup and I'll get you started on it. Right now it's just grabbing some of the current condition data and I've not tried to access the 2.5 second UDP data. Also, there are a lot of different wind / rain values available, I'm just pulling the basics so you'll have review them and see if there's anything else that would be useful. 12 hours ago, Jimbo said: Polyglot v2 handles only sending values that change, with my 13 nodeservera running I see pretty much no delay in updates passed to the ISY. The node servers also have to be written properly to work this way too. I'm not sure all of mine are. But even so, some of the weather data, especially when it is coming from a local station, can vary slightly with every update. So something like 2.5 second wind speed/direction readings are very likely to change a lot unless it's a very calm day.
garybixler Posted July 25, 2019 Author Posted July 25, 2019 bpwwer Thanks. I should have the unit set up sometime tomorrow. Pi is all set with just PolyGlot running. Will let you know.
garybixler Posted July 26, 2019 Author Posted July 26, 2019 bpwwer Hi, I have the WeatherLink live connected and up and running. It is sending data up to the WeatherLink cloud. One issue that I already found is that the live local feed only worked when it was on Wi-Fi along with the phone running the app. I have it on Ethernet now and I am hoping that the Ethernet connected Pi will receive the live feed. If not I will need to move them both to Wi-Fi. Already brought this the Davis's attention. Hopefully it will work in a later firmware release. Thanks Gary
bpwwer Posted July 26, 2019 Posted July 26, 2019 48 minutes ago, garybixler said: bpwwer Hi, I have the WeatherLink live connected and up and running. It is sending data up to the WeatherLink cloud. One issue that I already found is that the live local feed only worked when it was on Wi-Fi along with the phone running the app. I have it on Ethernet now and I am hoping that the Ethernet connected Pi will receive the live feed. If not I will need to move them both to Wi-Fi. Already brought this the Davis's attention. Hopefully it will work in a later firmware release. Thanks Gary Does that mean you can't actually query it unless it's on Wi-Fi and the app is running? If so that's a strange bug. Have you actually tried pointing a browser at it? The docs I have say it should return current condition data at http://<it's ip address>/v1/current_conditions If you get data there, the the node server should work. You can install the node server with the following steps on your RPi. 1. cd ~/.polyglot/nodeservers 2. git clone https://github.com/bpaauwe/udi-wll-poly 3. from the polyglot web interface -> NodeServers -> Add NodeServer 4. select "WeatherLink" from the list of available node servers and add it. The only configuration is to add the IP address in the custom parameters. Once that is entered and saved, it should start doing queries every minute to get the current conditions. Log information will be in ~/.polyglot/nodeservers/udi-wll-poly/logs/debug.log
garybixler Posted July 26, 2019 Author Posted July 26, 2019 (edited) with this command i got the return (fatal: unable to access 'https://github.com/bpaauwe/udi-wll-poly/': The requested URL returned error: 400) Got it this time Edited July 26, 2019 by garybixler
bpwwer Posted July 26, 2019 Posted July 26, 2019 11 minutes ago, garybixler said: with this command i got the return (fatal: unable to access 'https://github.com/bpaauwe/udi-wll-poly/': The requested URL returned error: 400) What you typed above looks like there's an extra '/' character at the end but that shouldn't matter, it works for me both with and without that. Can open it with your browser? The error means bad request, but I don't see anything bad about it. It's the same command used by Polyglot so if you've been able to install any node servers it should just work. I'm sure you entered it correctly, but can you cut-n-paste the command or is that not something you can easily do with your configuration?
bpwwer Posted July 26, 2019 Posted July 26, 2019 So it worked. Looks like I didn't update the profile files so that's why the data field names don't match/make sense. To get the update: cd ~/.polygot/nodeservers/udi-wll-poly 'git pull origin master' It should grab the latest code from the repository Then from the admin console press the "Update Profile" button and it should update the field names. You might have to restart the admin console before it will see the changes.
garybixler Posted July 26, 2019 Author Posted July 26, 2019 Wow This does look great. So the way I understand it is that the node server will poll the weatherlink as set by the poll values. So the live stream is not involved at all? Very fast work. Thanks a lot. I will get the update Gary
garybixler Posted July 26, 2019 Author Posted July 26, 2019 I tried the update cd ~/.polygot/nodeservers/udi-wll-poly but get ( No such file or directory)
bpwwer Posted July 26, 2019 Posted July 26, 2019 4 minutes ago, garybixler said: I tried the update cd ~/.polygot/nodeservers/udi-wll-poly but get ( No such file or directory) It should be the same directory that was created when you did the git clone initially. So if you haven't tried anything else yet, your command window should still be in the nodeservers directory. the 'ls' command will show everything there and you can skip the whole path and just 'cd udi-wll-poly'. Another trick is that you can usually use the <tab> key to do auto completion. So typing 'cd udi<tab>' may fill it out automatically. If not, <tab><tab> should show all the possible matches for what you started to type. Yes, currently it's polling for the current conditions. If I'm reading the docs correctly, the live streaming of data is only wind and rain and can only be run for fixed lengths of time. If you have some documentation that says otherwise, can you point me to it?
garybixler Posted July 26, 2019 Author Posted July 26, 2019 I did do a ls and only GPIO udi-wll-poly shows up.
garybixler Posted July 26, 2019 Author Posted July 26, 2019 (edited) The only thing different is I didn't do an install from the store like I did for the GPIO server Edited July 26, 2019 by garybixler
bpwwer Posted July 26, 2019 Posted July 26, 2019 Yeah, you just manually installed it the same way the store does. The 'cd udi<tab>' should work there. To update a non-store based node server (or even one installed by the store) manually. You get into the directory for the node server and use the 'git pull origin master' command. That the same thing that will be run when you update from the store. You can check if you're in the right place with the 'pwd' command. Here's what it looks like for me: $ pwd /home/pi/.polyglot/nodeservers/udi-wll-poly $ git pull origin master From github.com:bpaauwe/udi-wll-poly * branch master -> FETCH_HEAD Already up-to-date.
garybixler Posted July 26, 2019 Author Posted July 26, 2019 I tried everything I know and just will not allow me to get to that directory.
garybixler Posted July 27, 2019 Author Posted July 27, 2019 Ok I finally got it to work by using the windows terminal on the pi.
Recommended Posts