Author Topic: Weathersite DIY construction thread using a Pi 4b.  (Read 7338 times)

0 Members and 1 Guest are viewing this topic.

Offline Sleuth255

  • Senior Member
  • **
  • Posts: 98
Weathersite DIY construction thread using a Pi 4b.
« on: December 23, 2020, 02:19:38 PM »
Weathersite is a free HTML based Davis console replacement that works with the Davis Weatherlink Live (WLL).  It is designed to run on a low power server such as a raspberry pi (or any other computer that can run GIT utilities and Node.js) and can be accessed from any cheap android or apple tablet that you might want to repurpose as a dedicated console.  I recommend an 8" android tablet that can run the fully kiosk browser app.  Here's some shots.
 
Client side running on Fully Kiosk app with 8" android tablet:

Server side running on a Raspberry Pi 4b:


The weathersite application design/build thread is located on the Davis Instruments Weather Stations forum. 

This topic in the Station Software Development forum provides detailed instructions on how to build your own Weathersite using a raspberry Pi 4b.  If you have questions or comments regarding the weathersite application itself, I'd appreciate it if you would post them over there.

Hardware components

You will need the following components:

A Raspberry Pi 4b with 2GB of memory

I purchased mine from The Pi Shop for 35 USD.  Update: There's a PI shortage!  Here's a tracking site that can help you locate one: rpilocator

A clear case for your Pi

Shown is a SB Components case that I purchased from Amazon for 5.35 USD

(Optional) an AdaFruit Display hat.  Without it, you will need to locate the IP address of your Pi and also the IP address of your WLL.  This thread will assume that you have purchased this component for a full "headless" installation.

I purchased mine directly from Adafruit for 7.99 USD but it is also available on Amazon for ~19 USD.

You will also need a USB C cable to power your Pi that will connect to a powersupply that can deliver ~3A.  See the specs. on the Pi 4B for more information.

Assembly instructions

First, snap the Pi into the lower part of the case


..and connect the display hat to the first set of GPIO connectors as shown:


now snap the top on.  Your completed server looks like this:


Next, download my customized image (latest Pi OS with Git/Node components installed along with weathersite bits) from Google:

https://drive.google.com/file/d/1TcrgulpigtWMqMLU_unBAi-wO1kBXDZW/view?usp=sharing

Now flash the image to an SD card (minimum size 6GB) by using the Raspberry Pi Imager (available here). Select "Choose OS" then "Use Custom" from the menu and give it the zip file you just downloaded.

Once it is flashed, use an ethernet cable to connect your Pi to an unused LAN port on the back of the same router that provides the WiFi access point that your WLL uses.  Most routers have LAN ethernet ports for this purpose.  Here's the back of a typical router:


Now insert the SD card you just made, connect up the power and your Pi will boot.  After about 60 seconds, you should see the following:


Weathersite is up and listening on port 5000.  Wait for up to 5 minutes while Weathersite searches for your WLL.  If found, the display will change:


At this point, weathersite is almost fully functional.  browse to your site using the displayed address:port (using the above example, you would browse to http://10.0.0.214:5000) and the initial setup screen will be shown:


Enter your latitude and longitude in the format shown and also change your Observation Units if desired.  Weathersite will already have the WLL address filled.  However, in rare cases where weathersite can't find your WLL, you will also need to enter it. Then press the Update button.  Weathersite should now be functional! 

Next, you should update Weathersite to the latest version.  You can do this easily by using putty to ssh into the server.  The credentials have been left at their defaults (user pi, password raspberry).  Once logged in, simply type in updateweathersite and it will upgrade to the latest version.

Important!

You will also need to change your timezone while you are SSHed in.  Launch the Pi configuration app by typing in "sudo raspi-config" (no quotes) then go to localization options and set your timezone.

You still have forecast, current conditions, and radar data to do but these are optional.  I'll detail how to get these set up in subsequent posts.
« Last Edit: May 11, 2022, 10:57:21 AM by Sleuth255 »

Offline Sleuth255

  • Senior Member
  • **
  • Posts: 98
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #1 on: December 23, 2020, 02:48:10 PM »
"Nothing's working, now what?"..  Troubleshooting tips!

"Weathersite isn't picking up any data from my WLL"
This can be caused by a socket hangup error.  Sometimes the WLL refuses http GET requests from Weathersite.  I'm currently unsure why the WLL does this, but it infrequently will refuse GETs after you restart the weathersite service or if a network connectivity failure occurs.  If you ssh in and see a number of the following errors in /var/log/weathersite.log, this is definitely your problem:
Code: [Select]
01/14/21 2:07:14 pm: Retrieving current conditions
Current conditions request failure: Error: socket hang up
01/14/21 2:12:14 pm: Retrieving current conditions
Current conditions request failure: Error: socket hang up

The fix is to reset your Pi.

The second most common cause is caused by your IP network setup.  Weathersite needs to be on the same IP subnet as your WLL.  If you have an issue here, it will manifest itself in two ways:
  • Weathersite won't be able to find your WLL
  • After you manually enter your WLL IP address, weathersite still doesn't show real-time data on the compass rose.
Check the address of your Pi against your WLL address to determine this.  There are any number of root causes for a subnet mismatch, but one way to fix it is by lighting up WiFi on your Pi, then connecting it to the same access point as your WLL.  this is done with the raspberry pi configuration utility.  SSH into your Pi and launch the configuration utility (sudo raspi-config).  Next, make sure you update raspi-config to the latest version by choosing "update" on the main menu.  Once complete, change your WiFi country code (L4 WLAN Country) from the "localisation options".  You may be asked to re-boot after you make this change.  Go ahead and tell it to reboot.  Once the pi comes back up, you'll be able to set up wifi from the System menu.  Make sure you enter everything correctly!  SSIDs and passphrases are case sensitive.  Once you have set up your ssid and passphrase, you may be asked if you want to re-boot again.  Do this instead:  disconnect your ethernet cable then reset your pi by disconnecting/reconnecting the power supply.  In about a minute, the display should show your new weathersite address.  If this isn't working, there are a few guides out there to help you get set up.  Here's the official one: https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md

Look Ma! No Hands!


btw: Weathersite logs are stored in /var/log/weathersite.log.  Lots of helpful info there.  Use "less" to poke around. 

"Sunrise/Sunset info is wrong"
This is almost always due to one of two things:
  • Your latitude/longitude is not correct
  • You haven't changed the timezone on your Pi
This one is easy to troubleshoot.  All of the tiles on Weathersite are "Active"; tapping them reveals more information.  In this case, you want to tap the sunrise/sunset tile and a realtime clock will appear.  How does the time look?  If its accurate, then your latitude/longitude isn't being correctly recognized by Weathersite.  On the settings screen, make sure you have entered the correct coordinate in the correct box, that your lat/long coordinates themselves are accurate, and that there aren't any spaces in front of or behind the settings (my bad... I'm not doing any error checking on the settings page yet.  Stay tuned for this in an upcoming release).

Conversely, if the displayed time is not accurate, fix it with raspi-config.  Check the bottom of post 1 for details on how to do this.

"I've changed my settings and now I can't access Weathersite any more"
No worries, you can reset settings manually:
SSH into your server and do the following:
Code: [Select]
sudo rm /WeathersiteStats/userSettings
sudo service weathersite restart


These commands will remove all your settings and reset weathersite.  After the ip address is displayed, you should be able to access weathersite normally.

"Everything's dead!  No display and weathersite.log shows the application terminated"
No worries here; you can always bring weathersite back to life by simply pulling in a fresh copy.  SSH into your server and enter the following commands:
Code: [Select]
sudo su
service weathersite stop
cd /
rm -rd weathersite
git clone https://github.com/sleuth255/weathersite
service weathersite start


These commands wipe out your weathersite installation and pull down a fresh copy.  Your settings will be preserved however.  Check weathersite.log to make sure it comes up.  Still having problems?  Follow the "I can't access weathersite" instructions above.

"What the heck is the "Settings Subnet" option for?"
This option can be used to limit the devices that can change weathersite settings and is useful if you want to publish your weathersite on the internet.  It needs to be entered in CIDR format (ip/mask) and it specifies an internal-only IP subnet where workstations can access the settings page.  Check out how it works by accessing my weathersite.  Press settings there and you'll get an access denied message.  So what's the cheat sheet for setting this up?  Easy peasy.  Virtually every home network out there uses one of three special subnets that have been designated as "internal use only".  So, find out the IP of the device you want to be able to change settings from and use the following:  If your device address begins with 10 then use 10.0.0.0/8 for the settings subnet.  Address begins with 192.168 then use 192.168.0.0/16.  Address begins with 172.16 then use 172.16.0.0/16.  Network gurus out there know that this can be locked down even further by entering a more specific CIDR block.  If you know what you're doing, I would encourage this; especially if your local network is 10.x

Keep in mind that in most cases, you don't need to set anything here.  There are a number of security related issues that need careful consideration before you decide to publish your weathersite publicly.  But there are a number of benefits too.  I personally can take a console with me (or even use the browser on my iPhone) when I'm travelling so I always have the local conditions near my house handy (it seems the big rip-snorter T-Storms always come through when I'm out of town lol).  One other thing: If you mess up this setting, then you can render weathersite unusable.  If this happens, follow the method to reset settings that I described above.
« Last Edit: January 14, 2021, 03:37:02 PM by Sleuth255 »

Offline Sleuth255

  • Senior Member
  • **
  • Posts: 98
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #2 on: December 23, 2020, 02:48:50 PM »
How to activate the Radar feature and the Weather tile

Weathersite uses METAR data which it obtains from an FTP site to activate the Current Weather tile (this one is displayed by default).  Weathersite uses climacell forecast data to activate the other 3 weather related tiles.  Tap on the weather tile to cycle through them. 

Weathersite uses two URLs to display radar data.  One is a zoomed in map and is shown by default.  It also appears when the up arrow superimposed on the right side of the radar map is pressed.  The other URL is for a zoomed out map and generally shows regional data.  It is displayed when the down arrow superimposed on the right side of the radar map is pressed.  When you enter URLs pointing to these in settings, the Radar button appears on all screens.  Climacell (tomorrow.io) is global so you can activate forecast data from anywhere.  Just head over to https://app.tomorrow.io/signup and sign up for a free developer key.  Then enter that key for the "Climacell API key setting".  Forecast data will activate within 5 minutes or so once you have done this.

International availability of METAR and Radar data varies.  PM me with instructions if you activate these features in non-North American locations and I'll include them in this guide.  For now however, here are instructions that work in North America:

North America based instructions

Enable Radar

Here is a good guide for finding the zoomed out URL.  It features Weather Underground maps:

https://www.smarthomebeginner.com/weather-radar-on-home-assistant/#Step_1_Grab_URL_for_Weather_Map

The Zoomed-out radar path is the URL pointing to the regional radar from the guide.  As stated above, when you tap the up arrow on the right side of a Weathersite radar map, the Zoomed-in URL is displayed and when you tap the down arrow, the Zoomed-out URL is displayed.

getting your Zoomed-in URL

Finally NOAA has enabled us to pull image data from local Radar stations again!  To find yours, go to the following site:

https://radar.weather.gov/region/conus/standard

Next click on the search icon to the left of where "National" is displayed.  You can now choose from a regional view or use your local radar station by searching for its station id (you can find this on the weather underground regional map that you used to get your Zoom-out URL).  Once you've made your choice, the local map will be displayed and you will see your image loop URL below it.  Copy/paste that into weathersite's zoomed in URL

Enable the Current Weather tile

Enter METAR FTP data to activate the current weather tile.   First find a station near you from the following list:

https://www.cnrfc.noaa.gov/metar.php

make a note of the station identifier.  For example, the one I use is KMKE.  Now test to make sure that the observation file is retrievable by going to the following:

ftp://tgftp.nws.noaa.gov/data/observations/metar/stations/KMKE.TXT

(replace "KMKE" with the station identifier of your station in caps).  Your browser should download a file "<your station id>.TXT".  Note: Chrome just changed the FTP flag default in their most recent release to "disabled".  Go figure...  If you're using chrome and nothing happens when you browse to the site, you will need to enable ftp and try again: chrome://flags and search for "ftp"

If this works, enter the following information into weathersite settings:

METAR FTP site: tgftp.nws.noaa.gov
METAR File Path: /data/observations/metar/stations/<your station ID in caps>.TXT

If you've entered everything correctly, the current weather tile will be activated. 
« Last Edit: November 27, 2022, 11:25:12 AM by Sleuth255 »

Offline fkapp

  • Forecaster
  • *****
  • Posts: 333
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #3 on: December 23, 2020, 02:50:05 PM »
Thanks for sharing these details.
Radar will be very interesting.

Color display is nice.

Does this also display UV, Solar, heat index etc?

The console is becoming obsolete (realizing I probably didnt need console, but a lot has changed in year).
Seems like this is cheaper route than $200 for 2nd console for those that need multiple consoles

What tablet is that ?



Offline Sleuth255

  • Senior Member
  • **
  • Posts: 98
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #4 on: December 23, 2020, 02:57:08 PM »
Weathersite will show current storm rainfall data when a rainstorm is in progress but not solar info currently.  The tablet is a Samsung Tab A 8.0 but I also have it running downstairs on an Insignia 8" (~50 USD on eBay) :



The Samsung is nicer because it has a really good brightness control that's based on the latest Andriod build.  It learns the brightness levels from you tweaking the setting over time.  In about two days, it was pretty much perfect.

Here's my weathersite.  Feel free to check it out for yourself!

http://weathersite.theparadigmgrid.com

If you want to know more of the details, head over to the davis forum by following the post 1 link to the design/build thread.
« Last Edit: December 25, 2020, 10:34:06 AM by Sleuth255 »

Offline galfert

  • Global Moderator
  • Forecaster
  • *****
  • Posts: 6822
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #5 on: December 23, 2020, 05:31:00 PM »
Very slick. Nice work! I agree that the original display console is getting long in the tooth. A WLL and your solution is a very nice way to go and an incredibly affordable way to add multiple displays.

Questions:
- What OS are you using?

- Will you consider another form of distribution that is not an image so that those that have a Pi for other uses might be able to use them for dual duty? For example someone may have a Pi-hole or maybe Cumulus MX and those don't really need much resources so adding your application might be a better investment. Now there are things that I would not put on a Pi-hole system that take too many resources...but this might work.???
« Last Edit: December 23, 2020, 05:35:44 PM by galfert »
Ecowitt GW1000 | Meteobridge on Raspberry Pi
WU: KFLWINTE111  |  PWSweather: KFLWINTE111
CWOP: FW3708  |  AWEKAS: 14814
Windy: pws-f075acbe
Weather Underground Issue Tracking
Tele-Pole

Offline Sleuth255

  • Senior Member
  • **
  • Posts: 98
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #6 on: December 23, 2020, 08:18:06 PM »
This topic specifically targets Raspberry Pi OS (which is a debian variant), but actually you can run the server on anything that you can install GIT utilities and Node.js on.  It will for sure run on the same platform that you have CumulusMX on.  Go over to the design/build thread to find out how.  Post 1 has full instructions.  Full disclosure: I'll be updating those instructions tomorrow to handle the v1.5 release changes, but the gist of the way to run the server won't change much.

Important Update!
edit: Weathersite actually can't co-exist on the same server with any other product that attaches to the WLL.  This includes CumulsMX.  The reason is that the 2.5 second "live" updates are UDP broadcasts over port 22222.  Only one process at a time can listen on a given port so somebody will not receive UDP updates if more than one app is installed on the same server.  The result will be that real-time updates will fail for no good reason on some of the installed apps.
« Last Edit: January 13, 2021, 10:24:50 AM by Sleuth255 »

Offline galfert

  • Global Moderator
  • Forecaster
  • *****
  • Posts: 6822
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #7 on: December 23, 2020, 09:45:16 PM »
Okay good to hear that it can also be deployed without the image. I had not been following the other thread too closely.
Ecowitt GW1000 | Meteobridge on Raspberry Pi
WU: KFLWINTE111  |  PWSweather: KFLWINTE111
CWOP: FW3708  |  AWEKAS: 14814
Windy: pws-f075acbe
Weather Underground Issue Tracking
Tele-Pole

Offline Sleuth255

  • Senior Member
  • **
  • Posts: 98
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #8 on: December 30, 2020, 02:39:54 PM »
I've fixed a charts bug that can crop up when weathersite doesn't get a reply back from the WLL during one of its 5 minute update cycles.  You can install the fix by sshing into your weathersite server.  Then enter "updateweathersite" (no quotes).

Offline safuser

  • Member
  • *
  • Posts: 49
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #9 on: December 31, 2020, 11:19:46 AM »
Does anyone have an example systemd file to set this up as a service? 

Offline Sleuth255

  • Senior Member
  • **
  • Posts: 98
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #10 on: January 01, 2021, 09:54:21 AM »
The service requires "forever" (a process monitor that ensures app.js runs continuously).  Check the repo for "weathersite service script.txt". 
« Last Edit: January 01, 2021, 10:05:16 AM by Sleuth255 »

Offline alaskazimm

  • Member
  • *
  • Posts: 23
  • <iframe src="https://widget.awekas.at/widget4.php?
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #11 on: January 12, 2021, 01:38:49 AM »
This is great - thank you for making this available!

I have this set up on my Pi 3 that is also running my Cumulus MX server and everything seems to be connected properly as the temperature and baro update correctly. There is a problem though, the wind speed only shows in the 10 minute average (with the wind gust showing 0 mph all the time) and the direction isn't shown on the compass rose.

 [ You are not allowed to view attachments ]

And right now the current wind speed is showing as False when it is 10 mph. Is there a setting somewhere that I missed in the set up?
Thank you in advance for any help!

*Edit to add that the wind direction shows up on the history graph.
« Last Edit: January 12, 2021, 01:40:25 AM by alaskazimm »
Station:Davis VP2 Plus w/WLL
Software: CumulusMX
WU: KAKPORTA5
CWOP: FW7521

Offline Sleuth255

  • Senior Member
  • **
  • Posts: 98
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #12 on: January 12, 2021, 09:00:22 AM »
The information that's missing is from the 2.5 second WLL broadcast.  That is usually caused by your server that runs Node being on a different subnet than your WLL.  WLL uses UDP broadcast to send the 2.5 second updates and so this means that only devices on the same IP subnet as the WLL can receive them.  First, check the WLL ip address in settings against the results of "ifconfig" from a terminal window of your Pi.  It'll be the eth0 address if cable connected or the wlan0 address if WiFi connected.  If the two addresses are on different subnets then check the troubleshooting tips (post #2 of this thread) for a solution.  If both addresses are part of the same subnet then check the weathersite logs on /var/log/weathersite.log.  Are you seeing regular messages that say "UDP request processed"?  If this is the case then I'm guessing you may have an interesting anemometer configuration (or a large number of ISS transmitters) and we might need to chat more.  Edit: Good news is that it looks like you don't.  Your configuration (wind vane/anemometer on its own transmitter, davis ISS on its own transmitter) is the same as mine.

Also, if you are running a custom Pi setup and not my weathersite image then there won't be a /var/log/weathersite.log.  Instead you'll need to monitor the messages coming from node itself.
« Last Edit: January 12, 2021, 10:42:05 AM by Sleuth255 »

Offline alaskazimm

  • Member
  • *
  • Posts: 23
  • <iframe src="https://widget.awekas.at/widget4.php?
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #13 on: January 12, 2021, 01:05:35 PM »
Thank you for the tip. I'll check the ifconfig output when I get a chance, but I have to confess that I don't understand servers and subnet masks confuse the hell out of me. I can ssh and type commands but that is about the extent of my knowledge.
But on the other hand I would think my WLL and pi are on the same subnet since Cumulus receives the 2.5 second wind updates.
Station:Davis VP2 Plus w/WLL
Software: CumulusMX
WU: KAKPORTA5
CWOP: FW7521

Offline alaskazimm

  • Member
  • *
  • Posts: 23
  • <iframe src="https://widget.awekas.at/widget4.php?
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #14 on: January 12, 2021, 01:09:27 PM »
I'm running stock Rasbian with Cumulus and Weathersite installed. I don't know how to monitor the messages from the node (or even really know what a node is).

I really appreciate you taking the time to try to figure this out.
Station:Davis VP2 Plus w/WLL
Software: CumulusMX
WU: KAKPORTA5
CWOP: FW7521

Offline Sleuth255

  • Senior Member
  • **
  • Posts: 98
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #15 on: January 12, 2021, 01:29:28 PM »
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?
« Last Edit: January 12, 2021, 01:34:19 PM by Sleuth255 »

Offline alaskazimm

  • Member
  • *
  • Posts: 23
  • <iframe src="https://widget.awekas.at/widget4.php?
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #16 on: January 12, 2021, 01:54:02 PM »
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 192.168.42.171; ipconfig output:

Code: [Select]
pi@raspberrypi:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.42.172  netmask 255.255.255.0  broadcast 192.168.42.255
        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 127.0.0.1  netmask 255.0.0.0
        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

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.
Station:Davis VP2 Plus w/WLL
Software: CumulusMX
WU: KAKPORTA5
CWOP: FW7521

Offline Sleuth255

  • Senior Member
  • **
  • Posts: 98
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #17 on: January 12, 2021, 02:31:45 PM »
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: [Select]
sudo node /weathersite/app.js > /var/log/weathersite.log


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. 
« Last Edit: January 12, 2021, 06:02:27 PM by Sleuth255 »

Offline Sleuth255

  • Senior Member
  • **
  • Posts: 98
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #18 on: January 12, 2021, 02:50:01 PM »
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.
« Last Edit: January 12, 2021, 04:29:06 PM by Sleuth255 »

Offline Sleuth255

  • Senior Member
  • **
  • Posts: 98
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #19 on: January 12, 2021, 05:13:43 PM »
...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: [Select]
sudo su
cd /weathersite
git pull origin master
shutdown -r now


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

Offline alaskazimm

  • Member
  • *
  • Posts: 23
  • <iframe src="https://widget.awekas.at/widget4.php?
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #20 on: January 12, 2021, 09:24:22 PM »
Again very much appreciate your time in looking into this.  =D&gt;

I've updated from the repo and added the logging command to the crontab file. I also confirmed that I have Roof Wind set as the primary anemometer for the WLL as well. Unfortunately this didn't seem to fix the issue, although Weathersite is showing the wind speed as 0 mph rather than False (wind is actually pretty light and variable at the moment). I don't know if that is a step in the right direction but it seems a hopeful sign to me.

Here is the log:

Code: [Select]
Attached to WLL at 192.168.42.171
01/12/21 5:07:15 pm: Retrieving current conditions
Timezone offset is -09:00

Weathersite is online at http://192.168.42.172:5000

UDP broadcast request begins
UDP Broadcast request accepted
01/12/21 5:12:14 pm: Retrieving current conditions
current conditions reply received
starting WLL UDP refresh request
UDP request processed
01/12/21 5:17:14 pm: Retrieving current conditions
current conditions reply received
starting WLL UDP refresh request
UDP request processed
01/12/21 5:22:14 pm: Retrieving current conditions
current conditions reply received
starting WLL UDP refresh request
UDP request processed


Station:Davis VP2 Plus w/WLL
Software: CumulusMX
WU: KAKPORTA5
CWOP: FW7521

Offline Sleuth255

  • Senior Member
  • **
  • Posts: 98
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #21 on: January 13, 2021, 08:30:51 AM »
Wait...  I know the problem!  What's missing on your log is the problem.  The UDP server should have displayed that it was listening on port 22222 but it didn't.  Why?  because your CumulusMX server is already listening on that port.  Looks like weathersite and CumulusMX can't exist on the same server if they are both using a WLL based Weather Station since only one app can be listening on any given UDP port at a time.  I'm not sure if you can turn off UDP in cumulusMX or not.  I'll have a look at mine...

edit

nope.  It doesn't look like I can disable UDP broadcast reception on CumulusMX. 

You can test my above hypothesis by disabling the CumulusMX server temporarily then restarting weathersite, but I'm pretty certain this is your issue.  It looks like you'll need another Pi to run weathersite :(

Here's what weathersite startup should look like (METAR observations are only logged if you have METAR set up btw):

Code: [Select]
Attached to WLL at 10.0.0.42
01/13/21 8:53:39 am: Retrieving current conditions
Retrieving METAR observation
Timezone offset is -06:00
UDP Server is listening at port 22222

Weathersite v1.6 is online at http://10.0.0.232:5000

METAR observation retrieved
UDP broadcast request begins
UDP Broadcast request accepted
Wind sensor array found on Device ID 1
Rain sensor array found on Device ID 1
« Last Edit: January 13, 2021, 11:36:24 AM by Sleuth255 »

Offline alaskazimm

  • Member
  • *
  • Posts: 23
  • <iframe src="https://widget.awekas.at/widget4.php?
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #22 on: January 13, 2021, 11:44:58 AM »
Ok, great! I happen to have another Pi on order. It shipped yesterday and should be here in a week and a half or so (being off the road system in bush Alaska mail takes a bit longer). When it gets here I'll get it set up and report back.
Station:Davis VP2 Plus w/WLL
Software: CumulusMX
WU: KAKPORTA5
CWOP: FW7521

Offline alaskazimm

  • Member
  • *
  • Posts: 23
  • <iframe src="https://widget.awekas.at/widget4.php?
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #23 on: January 13, 2021, 08:03:42 PM »
*Edit - never mind. I rebooted again (is that a re-reboot?). Everything seems to be working now - wind and current conditions are being displayed. The only thing I can't get to work is the forecast tab, but that's no real surprise where I'm at and there isn't anything likely to be done about it.

-------------------------------
OK, I rebooted the pi without Cumulus running and Weathersite running and the wind is working!  \:D/


Buuuut (and you had to know this was coming) the current conditions are no longer being displayed  ](*,). Aside from not starting the Cumulus server I haven't changed any of the settings. Maybe I'll just wait for the second pi to show up and hopefully running with your image will fix all ills.

Weathersite log file:

Code: [Select]
Attached to WLL at 192.168.42.171
01/13/21 3:35:43 pm: Retrieving current conditions
Timezone offset is -09:00
UDP Server is listening at port 22222

Weathersite is online at http://192.168.42.172:5000

Wind sensor array found on Device ID 1
Rain sensor array found on Device ID 1
Current conditions initial request failure
01/13/21 3:40:44 pm: Retrieving current conditions
Current conditions request failure
01/13/21 3:45:44 pm: Retrieving current conditions
current conditions reply received
01/13/21 3:50:44 pm: Retrieving current conditions
current conditions reply received
01/13/21 3:55:44 pm: Retrieving current conditions
current conditions reply received
« Last Edit: January 13, 2021, 08:20:08 PM by alaskazimm »
Station:Davis VP2 Plus w/WLL
Software: CumulusMX
WU: KAKPORTA5
CWOP: FW7521

Offline Sleuth255

  • Senior Member
  • **
  • Posts: 98
Re: Weathersite DIY construction thread using a Pi 4b.
« Reply #24 on: January 13, 2021, 10:11:00 PM »
"current conditions request failure": that can happen sometimes.  The problem generally goes away on the next 5 minute polling cycle.  If you let it run it should eventually show current conditions.  In your case above, it looks like everything sorted out in 10 minutes.  See Post #3 in this thread for how to get the weather tile and radar working.  You appear to be in pretty good shape for that.  There's a METAR site in Port Alsworth that you should be able to use for current weather.  Climacell is global so if you get a dev key, it'll light up forecast tiles too.  You also have good radar coverage up there both for regional and local (from a site near Kenai).  Follow the link on this in Post #3.  You should be able to light up Weathersite radar screens with very useful info.

Actually, since I was in there looking... 

Here's your zoomed in path:
https://radblast.wunderground.com/cgi-bin/radar/WUNIDS_map?num=20&type=N0R&mapx=400&mapy=240&brand=wui&delay=25&frame=0&scale=1&transx=0&transy=0&severe=0&smooth=0&centerx=400&centery=240&station=AHG&rainsnow=0&lightning=0&noclutter=1&showlabels=1&showstorms=0&rand=26844780

And here's your zoomed out path:
https://s.w-x.co/staticmaps/wu/wu/wxtype1200_cur/alask/animate.png

« Last Edit: January 14, 2021, 02:50:25 PM by Sleuth255 »