That would help me a lot, because since a few days my SKY has problems, again and again sensors fail (wind, or UV or both) and curiously enough rather at high voltage from the SPA in strong sunlight!
In the night hours everything works again…
I’d like to offer my suggestion for indoor sensor VERY cheap but also VERY good…
DS18B20 Temperature Sensor
EDIT: I currently use them on my two ARCHIVESW rpi devices, work perfectly
Thanks for the response to this. I didn’t do a good job of reading through that, so I appreciate your clarifying that it still works. I ordered a RPI4B and touchscreen and got everything up and running tonight. A bit of a bummer that there’s no current forecast available but hopefully a new provider can be found that will make that work.
Thanks for making such a neat product and for actively supporting the community of users. Its much appreciated.
weird to see some old ‘bug’ popping up again
Not 100% sure but it might be related to this
https://community.tempest.earth/t/weatherflow-piconsole/1933/576?u=eric
Try to set the shared memory to 128 as I did . In my case it solved it.
Glad you like the console . I have plans for a new forecast provider, but it isn’t ready to be incorporated into the console just yet.
This little “bug” pops up every now and again and @eric’s suggestion is the correct fix. Use the raspi-config
tool to increase the shared memory and all will be fixed. Don’t forget to reboot your Pi once you have made the change.
Thanks guys, I have performed the suggested fix.
I just got my Tempest Weatherflow and immediately bought the 7" Touchscreen to use with your PiConsole. It’s great.
One thing I do with my Raspberry Pi projects at home is monitor my pool temperature. I’ve been using MRTG for years and use that to monitor the water temperature. Now that I have my PiConsole set up, I’d like to integrate the water temperature monitoring with the PiConsole and display the temperature. I have limited Python experience but I’ve been scripting for a long time. I’m sure I can make something.
Can you recommend a method of getting additional data on the screen whether it’s via a text file or using curl to retrieve the info from another web server?
I was thinking about creating my own panel or something like that.
Any thoughts on what I’m looking to do?
Thanks!
Steve Cody
Yesterday the console dropped and this morning I saw it was stuck … network cable badly plugged → errors filled /var/log to saturate card. Anyway I cleaned the mess but several other things went square … upped a few thing and finally your console is now unhappy. Could this be related to the mouse support (seen the error)
pi@WF_console:~/wfpiconsole $ wfpiconsole start
Traceback (most recent call last):
File "main.py", line 60, in <module>
kivyconfig.set('modules','cursor','1')
File "/usr/lib/python3.5/configparser.py", line 1190, in set
super().set(section, option, value)
File "/usr/lib/python3.5/configparser.py", line 898, in set
raise NoSectionError(section) from None
configparser.NoSectionError: No section: 'modules'
Yep, looks like something to do with the mouse support, and the fact that there is no [modules]
section in the Kivy configuration file.
Can you open the kivy config file with nano ~/.kivy/config.ini
and see if there is a [modules]
section? If not just add [modules]
to the bottom of the file. Then save it with ctrl-o
followed by enter
and then ctrl-x
.
Try and start the console again and see what happens?
that file is like a virgin … nothing to see, empty
Guess that drop did more then just fill the logs … feels like the kivy disappeared … rerun the full installer ?
Does the ~/.kivy/
directory exist?
You could try running the installer and see what happens. It depends if it detects whether Kivy is still installed or not. Otherwise you might need to start with a clean SD card.
When I have finished work I will have a look into this more (and answer your question @stevecody - it’s a little more complex!).
~/.kivy $ ls
config.ini icon logs mods
yep
This might work - delete the empty config.ini
file and then start python using python3
. Run the command import kivy
. Hopefully you’ll see something saying it has generated a new config file. Then try the console again.
Sorry, 2 calls … pending more time on the tel today …
anyway, installed the full script again and it did clean up the kivy mess, just needed to add the patch for my indoor module and all is running again.
Not sure how it broke …
Hi @stevecody, glad you like the console.
There is no existing framework or method you can use to get your pool temperature data into the console, however you should be able to do it using either a text file or curl. Creating a new panel is definitely possible, but is certainly going to require a fair amount of additions to the code. Perhaps start by re-purposing the Indoor temperature for your pool temperature?
To do that, you first need to write a function (either in main.py
or as a separate module) that retrieves the temperature from your pool monitoring system. The exact details of how that is done doesn’t matter, but make sure it is a non-blocking process. Once you have that function, you can use clock.schedule_interval
to call the function at set intervals (I would suggest every 60 seconds to match the Tempest data). If you look on lines 257-259 of main.py
you will see examples of this. For example, astro.sunTransit
is called every second to calculate the position of the sun icon on the day/night bar.
Once you have a function being called regularly, you need to assign the output to variables that are displayed on the console. You can’t use any old variable. Instead you have to use a Kivy property. Doing this ensures that a change in the value of the variable results in the console display being updated. You will see on line 191 of main.py
that I define Obs
as a DictProperty
and in that dictionary is a field defined as ('inTemp','--')
. You can use this variable to display your pool temperature by setting index 0 to the temperature (as a string) and index 1 to the unit (as a string). You will need to pass the whole Obs
DictProperty
to the function you made earlier as an input such that you can set the values of inTemp
as required, and make sure you return
it at the end. Again checkout the astro.sunTransit
function as it is very similar to what you want to do.
Just to add - the layout of the console is defined in wfpiconsole.kv
. If you look on lines 239-243 you can see how the values of inTemp
are added to the layout.
It sounds like it got corrupted somehow, but not sure how that would have happened unless the power was pulled from the Pi while the console was running. Either way, glad it is fixed
Thanks @peter for your quick reply. I was definitely looking at hijacking the indoor temperature and making it my pool temperature. I’ll use your suggestion and see if I can get it to work.
Thanks for all of your efforts.
Steve
Thanks for the ideas. I was able to clunk my way through getting it to work. It works well enough for my purposes and the code will probably be easy enough to add after you post updates.
Looking forward to having a working forecast. If you need anyone to betatest any of your updates, I’m very interested. I’m US based, living on the east coast.
Thanks again!
Steve
So far the PiConsole has been a great replacement for my old weather monitoring system. Is there a possibility that there’s a high visibility (large font bright color) options for displaying temperature and maybe any of the other data?
Here is a comparison of my console and my old weather display. The old one can be read from across the room but the PiConsole needs a closer look.
I realize that a request like this might involve major changes so I’m just throwing this out there to see if it’s part of any future updates.
One option could be the ability to change the temperature display panel to have less items on it. Another is to maybe have an option for 2 or 4 larger panels rather than 6 panels.
I want to make this really awesome for my family to enjoy as well.
Thanks again for such an awesome console.
Steve