Weather Software > Station Software Development

Weathersite DIY construction thread using a Pi 4b.

<< < (4/7) > >>

hmmm... did you start with my image?  If not, somewhere on your pi you entered "node /weathersite/app.js" to start the weathersite server.   In that window is the output from node.  If you can give me the IP address of your WLL (from the weathersite settings page) and also paste in the output of "ifconfig" then I can tell if you have a subnet issue.  CumulusMX does rapid fire requests from your WLL so you may not notice if UDP isn't being picked up.

btw: Do you use the davis Weatherlink phone app?  Is the primary compass rose on that app showing LIVE data or is your live wind data only being shown in the "Extra Sensors" section?

I didn't start with your image since I didn't feel like going through the Cumulus configuration again (I know I can transfer the config files over). I made a crontab file with @reboot (node /weathersite/app.js) & line then rebooted the pi.

WLL IP address; ipconfig output:

--- Code: ---pi@raspberrypi:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet  netmask  broadcast
        inet6 2001:5b0:49d2:1268:eca6:269d:e13d:82b0  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::2512:90ab:aa02:bf5f  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:a4:15:44  txqueuelen 1000  (Ethernet)
        RX packets 308537  bytes 73632363 (70.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 292266  bytes 154927492 (147.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet  netmask
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 109  bytes 5524 (5.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 109  bytes 5524 (5.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

--- End code ---

And the Weatherlink app on my phone seems to be on a 5 minute delay from the WLL according to the banner on the top of the page, ie - local time is 9:56 and last update is 9:51. Compass rose doesn't seem to update as often as Cumulus and same for the extra sensors pane.

According to that info, you are on the same subnet as your WLL.  In your weatherlink phone app, did you go through the process of making your remote anemometer the primary anemometer?  If not, I think that might be a way to fix both your phone display and weathersite.

Also, the way you are running node will make it impossible to view the output sadly.  Maybe you can kill the process then run it manually in a terminal window to see the output.  If you are unsure how to do that, you can remove the crontab entry then reboot and then run it manually:

--- Code: ---sudo node /weathersite/app.js > /var/log/weathersite.log

--- End code ---

That will pipe output to /var/log/weathersite.log.  Let it go for 10 minutes then paste the log into this thread.  btw: the above command might be a good idea for your chrontab setting as well.  That way you will have a log containing interesting weathersite data. 

One more thing: your phone app will only show LIVE data when it is on the same WiFi as your WLL.  Also, when you installed the app you had to allow it to receive local network data (or something like that, I forget the exact permission it needed).

Edit: the more I think about this the more I'm believing that your wind array transmitter isn't set up as your primary anemometer.  Here's how to do that:
in your phone app, tap the person icon on the upper right and then tap your weather station under "Devices"
Now tap the Edit button on the screen that appears.
Next tap "Stations and Sensors".  A list of devices will be displayed.  You should see two devices. One will be your weather station (primary) and the other will be the transmitter for your wind sensor array which apparently you have named "roof wind" (I checked an older post of yours to determine this btw).  Make a note of the ID settings.  ID 1 is probably your primary weather station and ID 2 is probably your "Roof Wind" sensor array.
Tap the Edit button for your weather station.  It will be labeled WEATHER STATION (PRIMARY) under the name you gave it. 
Next scroll to the bottom of the page and tap the button that says "Advanced Settings".  the advanced settings page will appear.
Under "Select Anemometer" (its the very first advanced setting), if "This Device" is selected then that is your problem.  Select your "Roof Wind" sensor array instead.  Make sure you save the device configuration.  If you don't see a "Select Anemometer" advanced setting then tap the back arrow and make sure that Wind is checked for installed sensors.

I'm also going to put in a code change to check the UDP response a little more thoroughly for this type of situation.  Currently it assumes that the first sensor array status in the packet contains both wind and rainfall data.  This would be the case if the weather station has the wind array directly connected or if it has its anemometer set to the device representing your wind sensor array.  Maybe a bad assumption.  Rather I should parse through the reporting devices and use the one that is showing live wind data for wind and also the one that is tracking rainfall data for rain.

...aaaand I've done that and pushed the update to the repo.  Maybe this will fix you without having to go through all the above.  to install:

--- Code: ---sudo su
cd /weathersite
git pull origin master
shutdown -r now

--- End code ---

this will pull down the current bits and reboot your pi.


[0] Message Index

[#] Next page

[*] Previous page

Go to full version