WeatherFlow PiConsole - Archive

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

image

EDIT: I currently use them on my two ARCHIVESW rpi devices, work perfectly
image

3 Likes

Having this issue on the wind direction periodically.

1 Like

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.

1 Like

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.

1 Like

Glad you like the console :smiley: . 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.

1 Like

Thanks guys, I have performed the suggested fix.

@peter

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

@peter

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.

3 Likes

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 :smiley:

1 Like

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

1 Like

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
Temperature Panel

3 Likes

@peter

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