Announcements & Updates

The WeatherFlow PiConsole is a Python console that displays the data collected by a WeatherFlow Tempest or Smart Home Weather Station. The console uses either the WeatherFlow REST API and websocket service or the local UDP connection to stream data from your station in real time, including the 3-second rapid wind updates. In UDP only mode, the console requires no connection to the internet once installation is complete.

The console is fully supported for Raspberry Pi 3 Model B/B+ and Raspberry Pi 4 running the 32 bit version of Raspberry Pi OS. It can be run on earlier models, a Raspberry Pi 5, or the 64 bit version of Raspberry Pi OS, but no direct support is provided for these environments. It is not compatible with Raspberry Pi Zero or Zero W. Raspberry Pi 5 will become fully supported in the future. For full compatibility details, see below.

Code and Instructions: The code and instructions about how to get the PiConsole up and running can be found on GitHub

Latest Version: v23.11.1 (5th March 2023)

Features

  • Wind speed and direction including three second rapid wind updates
  • Outdoor air temperature/humidity/feels Like
  • Indoor air temperature (requires an indoor Air module)
  • Daily maximum and minimum outdoor/indoor temperature
  • Daily maximum wind gust and daily averaged wind speed
  • Atmospheric pressure, pressure trend, and expected conditions
  • Daily maximum and minimum pressure
  • Current rainfall rate along with today/yesterday/monthly/yearly totals
  • Time and distance to latest lightning strike
  • Lightning strike frequency
  • Last 3 hours/today/monthly/yearly lightning strike totals
  • Solar radiation and UV index
  • Sunrise/sunset information
  • Moonrise/moonset information
  • Location specific forecast from WeatherFlow
  • Location specific Sager Weathercaster Forecast
  • Settings screen to change display units and other options

The console layout is fully customisable, allowing you to personalise how you display the data from your WeatherFlow station.

Screenshot

Capture

Compatibility - Raspberry Pi

The console is fully supported for Raspberry Pi 3 Model B/B+ and Raspberry Pi 4 running the 32 bit version of Raspberry Pi OS. It can be run on earlier models, a Raspberry Pi 5, or the 64 bit version of Raspberry Pi OS, but no direct support is provided for these environments. It is not compatible with Raspberry Pi Zero or Zero W. Raspberry Pi 5 will become fully supported in the future.

For all models of Raspberry Pi, the console is compatible with Raspberry Pi OS (Bookworm) or the legacy Raspberry Pi OS (Bullseye). The console is no longer comptaible with Raspberry Pi OS (Buster).

The console is compatible with the Raspberry Pi Official 7 inch Touchscreen or other HDMI equivalents. Note, screens that attach solely to the GPIO pins (SPI) are not compatible and the console will not start.

Compatibility - PC / Laptop

The console is fully supported on laptops and PCs running Ubuntu 20.04 LTS or later, or the desktop version of Raspberry Pi OS. It will run on other debian-based operating systems with Python version 3.9 or above, but no direct support is provided for these environments.

Recent Version History and Changelog

v23.11.1

  • Fixed bug causing console to crash when using demo configuration
  • UDP port properly shared between applications
  • Fixed bug during config generation when station ID is wrong
  • Fixed bug during config generation when station has no devices
  • Allowed update notification to be permanently hidden
  • Fixed bug that prevented the REST API working in UDP mode

v23.10.1

  • Added UDP only mode allowing the console to be used without the internet
  • Added the ability to select 1, 4, or 6 display panels
  • Added support for Debian Bookworm
  • Fixed bug in pressure trend due to incorrect rounding

v23.3.1

  • Fixes bug API URL in lib/config.py
  • Updates copyright information

Full change log is available on GitHub

Credits
Credit and thanks to @Weather34 and his Home Weather Station template.

PiConsole

41 Likes

A post was merged into an existing topic: WeatherFlow PiConsole - Archive

A post was merged into an existing topic: WeatherFlow PiConsole - Archive

@wpns, @vreihen, @patrick.mussner, @n349ca, @digiital, @andyhudsonsmith, @dave.larson1, @coley.curtin, @tcichowicz, I have just released a new version of the WeatherFlow PyConsole. Instructions on how to make the update can be found here: https://github.com/peted-davis/WeatherFlow_PyConsole.

Changes include:

  • Updated WeatherFlow API key
  • Changed METAR API provider
  • Added code to scale display correctly on non-Raspberry Pi hardware (thanks @coley.curtin)
  • Animated wind rose icon

As noted in the installation instructions, the update will overwrite your existing WeatherFlow_PyConsole.ini configuration file. This is expected behavior as I have updated the WeatherFlow API key to an application specific API key, and I have added a new field for the new METAR API provider: CheckWX. You will need to copy all your old API keys into the new .ini file (leave the WFlowKey untouched), and also register for a new CheckWX API key here: https://www.checkwx.com/register. Copy the new API key into the ā€˜CheckWXKeyā€™ variable.

I am currently working on a version that displays Fahrenheit instead of Celsius, and will push another update as soon as it is ready. Let me know how you get on!

3 Likes

New release (v1.0) of the WeatherFlow PiConsole. Changes include:

  • Name change from WeatherFlow PyConsole to WeatherFlow PiConsole.
  • Observations from AIR module (temperature and pressure) will now be displayed in the users units of choice specified in the Smart Weather Station App. SKY module observations to follow soon.
  • New WeatherFlowPiConsole.service file to allow the console to auto-run at startup.
  • New ā€˜windyā€™ forecast icon for DarkSky forecast.
  • If rapid wind speed is zero, wind rose direction arrow will now remain fixed at the direction of last non-zero wind speed.
  • New timeout added to websocket to better handle dropped connections.

Because of the name change and the advice of @GaryFunk to move the console to a less generic directory, if you are updating from an existing version please make an initial backup of your API keys in the .ini file, and then delete the entire directory containing your old version:

rm -rf ~/WeatherFlow/

Then follow Step 8 in the installation instructions (GitHub - peted-davis/WeatherFlow_PiConsole: Raspberry Pi Python console for WeatherFlow Tempest and Smart Home Weather Stations) to get back up and running.

@eric I have added an extra timeout to the websocket that hopefully will better handle your NAT box setup and IP address changes. Essentially if no data is received by the console for at least 5 minutes, it will drop the connection and attempt to reconnect. This means you should only see a 6 minute drop out when the IP address changes. Let me know if this works as without your setup it is hard to recreate.

5 Likes

New release (v1.2) of the WeatherFlow PiConsole. Changes include:

  • Observations from SKY module will now be displayed in the users units of choice specified in the Smart Weather Station App.
  • Fixed bug in maximum pressure calculation
  • Fixed bug in API calls to WeatherFlow that failed to start at local midnight

I have had to make a large number of changes to the code in order to integrate all the different unit choices, so please do let me know if you spot any bugs. At this moment, linear feet per minute is not a compatible unit and will default to mph.

I have also added an extra step to the update sequence that will completely remove the existing version before downloading the new one:

rm -rf ~/wfpiconsole/*

This is to make sure that if I delete unnecessary files in the source code, those files are also deleted on your machine. Make sure to backup any local changes before updating!

4 Likes

New release (v1.3) of the WeatherFlow PiConsole. Changes include:

  • Forecast windspeed now respects users choice of units
  • Fixed bug in max wind/max gust speed
  • Fixed bug in DarkSky forecast wind direction (@eric - should be good to go now!).
5 Likes

New release (v1.4) of the WeatherFlow PiConsole. Changes include:

  • Max wind speed replaced with daily averaged wind speed
  • Bug fixes and performance improvements

Lots of little under the hood changes to cope with the unit conversion. Iā€™ve probably missed a few things so let me know if you notice anything weird!

1 Like

New version released (v1.5) to fix these bugs :smiley:

3 Likes

New release (v1.6) of the WeatherFlow PiConsole. Lots of under the hood changes including:

  • Fixed bug in wind rose animation at the 360/0 degree discontinuity
  • Improved formatting of variables
  • Improved conversion of units
  • Prevent console from crashing if METAR report is incomplete
  • Prevent console from crashing if countryCode is undefined

I wouldnā€™t recommend overwriting the .ini file with a previous version after an update. Just copy across the API keys, as if I make any changes (including the version number which will eventually be used for an ā€œupdate availableā€ notification), youā€™ll miss out on everything.

New version (v1.6.1) released to fix the bug in the ā€œFeels Likeā€ temperature.

4 Likes

New release (v1.7) of the WeatherFlow PiConsole. Changes include:

  • Better handling of wind direction for zero windspeed
  • UI changes including a redesigned rainfall panel
  • Added rainfall total for yesterday
  • Added ā€œtraceā€ rainfall accumulation

Currently working on:

  • Update notification popup to tell you when an update is available
  • Lightning detected popup
  • Replacing the ā€œFeels Likeā€ description with severe weather alerts

Rainfall

5 Likes

New release (v1.8) of the WeatherFlow PiConsole. Changes include:

  • Update notification will now prompt users to download the latest version

For the update notification to work, a new Python module is required. Please run

sudo python3 -m pip install packaging

before using the new version. The update notification will check if a new version of the code is available once a day at midnight, and when the console is first run. The popup can be easily dismissed using the exit button in the top right, but will reappear the following midnight.

Update

9 Likes

I have just pushed a major new release (version 2.0) of the WeatherFlow PiConsole to Github. Changes include:

  • Automated generation of a configuration file that is persistent between updates
  • New color scheme for ā€˜Feels Likeā€™ icons
  • Improved handling of failed API calls
  • Brand new settings screen that allows you to:
  1. Define cutoff temperatures for ā€˜Feels Likeā€™ description
  2. Define time and date format (let me know if you want a format not included)
  3. Set units within the console directly

If you are already running the console, please delete your existing .ini file before updating (but keep a note of your API keys). When you run the console for the first time it will guide you through the generation of a new .ini file that will be persistent between updates. You will also need to know your outdoor Air and Sky module IDs in addition to your station ID. Find these by clicking on the gear icon in the app/web ā†’ Stations ā†’ [Station name] ā†’ Status

5 Likes

New release of the WeatherFlow PiConsole (v2.1). Changes include:

  • Fixed bug in pressure max/min (thanks @patrick.mussner)
  • Fixed typos in README.md (thanks @eric)
  • Added battery level trigger to Sky and Air status
  • Units in Sager Forecast now respect users choice (thanks @eric)
  • Removed forecast issued time to make more space for location
  • Fix sign on temperature when temperature equals zero

Donā€™t forget that if you are running v2.0 already, your .ini file will be persistent between updates, and any changes you have made in the settings screen will be remembered. If you are running an older version, your .ini file will be updated to the new format. To update follow these commands (or see the Github page):

cd ~/wfpiconsole/
rm -rf !("wfpiconsole.ini")
wget https://api.github.com/repos/peted-davis/WeatherFlow_PiConsole/tarball -O wfpiconsole.tar.gz
tar -xvf wfpiconsole.tar.gz --strip 1
rm wfpiconsole.tar.gz
python3 main.py

I am working on a shell script at the moment that will gracefully automate the update process in the future. Let me know if you run into any issues!

New release of the WeatherFlow PiConsole (v2.2). Changes include:

  • Fixed bug in wind chill temperature cutoff
  • Renamed all graphic files and directories to use small case naming
  • Fixed bug where code would crash if less than 6 hours of observations are available (thanks @eric)

Let me know if you run into any issues with the update. Especially the flickering black images that both @tcichowicz and @patrick.mussner have experienced. Still trying to get to the bottom of this oneā€¦

1 Like

New release (v2.4) of the WeatherFlow PiConsole. Changes include:

  • New automated install/update/autostart script
  • Version number now displayed in credits screen
  • Improved display for high-res screens (thanks @andrew.john.cooper)
  • Bug fixes in .service file
  • Station ID is verified during config file creation

For existing users running version 2.3 and below, please update using the full install command. It will skip over a bunch of steps, but then should get you updated to version 2.4:

curl -sSL https://peted-davis.github.io/wfpiconsole | bash

Once you have updated to version 2.4, you can update to future releases (except v2.5) with a simple new command

wfpiconsole update

New release (v2.5) of the WeatherFlow PiConsole. Changes include:

  • Fixed bug in update script
  • Fixed backend bug in Windows
  • Added Windows installation instructions to README

Unfortunately, due to the bug in the update script that this release fixes, you canā€™t use the update script to update to version 2.5. Instead, please run the full install command:

curl -sSL https://peted-davis.github.io/wfpiconsole | bash

It will skip over a bunch of steps, but will then update you to version 2.5. You should then be able to use the wfpiconsole update command in the future :smile:

1 Like

New release (v2.6) of the WeatherFlow PiConsole. Changes include:

  • New lightning panel
  • New wording regarding updating local Linux packages

Update to the new version using the command:

wfpiconsole update

Capture
The new lightning panel shows the time and distance to the last strike, as well as the total lightning strike counts for the last three hours, day, month, and year. By default the panel will automatically open if a lightning strike is detected, but this behavior can be stopped in the settings panel under ā€˜Displayā€™. The large lightning bolt also turns yellow if a lightning strike has been detected in the last 5 minutes.

Note: there was a small bug in the update script. If the update process runs twice, ignore it and it shouldnā€™t happen again! As always, let me know if you spot any bugs. We donā€™t get many storms here so testing has been limited.

2 Likes

New release (v2.7) of the WeatherFlow PiConsole. Changes include:

  • Fixed distance bug in lightning panel (thanks @clevenger7778)
  • Module ID now must match required module type during initial .ini file creation

To update, first stop any current instances of the panel with

wfpiconsole stop

then run the update command

wfpiconsole update

and finally restart the console using either

wfpiconsole start

or

wfpiconsole autostart-enable

if you want to the console to carry on starting automatically when the Raspberry Pi reboots.

Eventually I will have all these stop/start commands automated in the update script, but I havenā€™t got there yet.

2 Likes