After a very long delay, the next version (v22.3.1) of the PiConsole is finally ready!
To update please stop any running consoles with wfpiconsole stop and then update using the wfpiconsole update command. Any local changes you have made to the code will be overwritten, so please make a backup! This update may also delete your wfpiconsole.ini file and ask you to generate a new one (sorry - this shouldn’t happen again!), so please make a note of your API keys. Don’t use an old .ini file with the new version as it will be missing configuration keys.
Major changes include:
-
Ability to switch between stations/devices @padamec
Using the newStationtab in the main menu, it is now possible to change between stations and devices without having to edit the .ini file and restart the console. -
Ability to define custom panels @mark.hemker
For power users, there is a now a fixed framework within which you can define custom panels that will not be overwritten when the console is updated -
New outdoor Temperature display
When the indoor temperature is hidden (which is now the default), the 24 hour outdoor temperature difference and three hour trend will be displayed -
New station/device offline indicator
When a station/device goes offline, a new alert indicator is shown next to the date/time. The time since the last observation will now also be shown in relevant panels -
Sager Forecast interval @storm_tracker
The frequency of the Sager Forecast can now be specified underMenu→Settings→System -
Moon phase icon @Pcarr-AU
The moon phase icon that shows the lit portion of the moon is now correctly tilted for both the northern and southern hemispheres at all stages of the moon phase cycle -
Calendar versioning
I have switched to using calendar versioning (hence the jump from v4 to v22) in order to avoid having to decide when an update deserves a major release or minor release
The release also includes many minor bug fixes and performance improvements.
Many of the features have been thoroughly tested, however it is always possible that bugs remain. If you spot anything misbehaving please let me know and I will get in a fix in place as soon as possible. This may take more time than usual given my life commitments, so please be patient.
Troubleshooting
-
If the update stops with “Error: Unable to update local package cache. Please check your internet connection”, run this command and then try to update again:
sudo apt-get update --allow-releaseinfo-change -
If the console crashes when you press the
Menubutton, please make sure that the name of your Station in thewfpiconsole.inifile is correct (more details here: Announcements & Updates - #2256). If you are not comfortable editing the.inifile, you can delete it and then restart the console. A new.inifile will be created. Keep a note of your API keys as you will need to re-enter these.
Custom Panels (this is for power users!)
The custom panel templates are contained within the user folder. To use this feature you first need to rename customPanels.kv.tmpl to customPanels.kv and customPanels.py.tmpl to customPanels.py. An example panel called ‘BigTemperature’ is included as an example, and will be loaded the next time you start the console.
In the customPanels.py file you must create two classes per custom panel called: [panel_name]Panel and [panel_name]Button. ‘panel_name’ can be whatever you want, but you must add two classes that end with Panel and Button per custom panel. The classes should be empty (just add pass under the class name), unless you want to add methods to your custom panel to control its behaviour.
In the customPanels.kv file you can define the layout of the panel. You need to add the two class names that you defined in customPanels.py surrounded by left and right angled brackets: <>. You can see the ‘BigTemperature’ panel in customPanels.kv.tmpl as an example. For the Button class, you can change the text attribute under PanelButton: to set the name of the panel that will be displayed in the bottom bar of the PiConsole. Otherwise leave this class unchanged. For the Panel class, the panel title is defined by the _title attribute under PanelTitle:. This can be different to the name of the panel that is displayed in the bottom bar. Otherwise you are free to define the layout however you want using in-built or custom Kivy widgets (Widgets — Kivy 2.2.1 documentation).
Whilst customs panels should not be overwritten when the console is updated, please make backups and treat this feature with caution for the time being.