Jump to content

Davis WeatherLink Live


garybixler

Recommended Posts

Posted

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

Posted

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.

Posted (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 by garybixler
Posted

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?  

Posted

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.

Posted

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

Posted

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.

Posted

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

Posted

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

Posted
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

Posted (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 by garybixler
Posted
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?

Posted

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.

Posted

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

Posted
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?

Posted (edited)

The only thing different is I didn't do an install from the store like I did for the GPIO server

Edited by garybixler
Posted

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.

 

Guest
This topic is now closed to further replies.

  • Recently Browsing

    • No registered users viewing this page.
  • Who's Online (See full list)

  • Forum Statistics

    • Total Topics
      37k
    • Total Posts
      371.4k
×
×
  • Create New...