WeatherFlow PiConsole - Archive

Yep, it should be completely OK to use the same tokens on multiple consoles. If you are suffering from problems, it may be due to the server-side bug that was mentioned above a couple of days ago.

Let’s give it some time for this issue to be fixed and see if it then works. If not, I can do some more investigating.

@peter When the forcast is “Thunderstorms possible” I miss the icon on my weatherstation. See screen: https://ibb.co/BPqCsCX. Is this a bug?

Hello Peter,

I just want to ask if you are preparing a new version that would support the simultaneous connection of two weather stations?

You mentioned some time ago that it could be done.

I currently run an older Weather Flow in my weekend mountain cottage, and I’m going to get a new Tempest, which will also be connected to my smart house system where I live permanently.

So I would welcome when my “piCinsole” was able to display both my current WF station and another Tempest station after some preset in the menu (display of one or the other station). Alternatively, even if it could change cyclically automatically after a certain interval.
Then it would definitely be necessary to state the name of the station somewhere on the screen to recognize them.

Thank you very much Petr (sorry for my english, i am from Czech Rep.)

@hjalmar, yes that looks like a bug. I will have a look into it

@padamec, don’t worry about your English - it’s very good and much better than my Czech :stuck_out_tongue_winking_eye: Allowing multiple stations is definitely something I want to incorporate into the PiConsole, but I’m not actively working on it at the moment. I currently have a lot of other projects on the go. I will get around to it though!

1 Like

If you haven’t restarted the console since you saw the missing icon, can you share the contents of wfpiconsole.log here, or copy and paste the output that has been printed to the terminal? I am trying to work out exactly what icon I am missing!

Setup is complete. Assembly was very straight-forward. S/W install was simple enough. Worked the first time I went through it. Put it in place and 2 weeks or so later, it’s still plugging along, no hiccups.

Thanks

Log:

root@raspberrypi:/home/pi/wfpiconsole# tail -60 wfpiconsole.log 
2021-03-13 15:10:43+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:10:43+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:11:53+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:14:47+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:22:23+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:26:10+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:27:18+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:27:18+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:31:45+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:31:45+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:31:45+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:31:45+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:37:04+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:37:43+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:41:00+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:41:00+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:41:03+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 18:15:03+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 18:25:20+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 18:29:18+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 18:31:07+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 18:31:09+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 18:32:20+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 19:27:51+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 19:27:51+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 20:03:00+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 20:13:33+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-14 16:40:07+0100 [-] Discarding duplicate Rapid Wind Websocket message
3 01:01:33+0100 [-] <twisted.internet.tcp.Connector instance at 0x6fedc690 disconnected IPv4Address(type='TCP', host='ws.weatherflow.com', port=443)> will retry in 60 seconds
2021-02-23 01:01:33+0100 [-] Stopping factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:02:33+0100 [-] Starting factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:02:33+0100 [-] Websocket connection retrying
2021-02-23 01:02:33+0100 [-] <twisted.internet.tcp.Connector instance at 0x6fedc690 disconnected IPv4Address(type='TCP', host='ws.weatherflow.com', port=443)> will retry in 60 seconds
2021-02-23 01:02:33+0100 [-] Stopping factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:03:33+0100 [-] Starting factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:03:33+0100 [-] Websocket connection retrying
2021-02-23 01:03:33+0100 [-] <twisted.internet.tcp.Connector instance at 0x6fedc690 disconnected IPv4Address(type='TCP', host='ws.weatherflow.com', port=443)> will retry in 60 seconds
2021-02-23 01:03:33+0100 [-] Stopping factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:04:33+0100 [-] Starting factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:04:38+0100 [-] Websocket connection retrying
2021-02-23 01:04:38+0100 [-] <twisted.internet.tcp.Connector instance at 0x6fedc690 disconnected IPv4Address(type='TCP', host='ws.weatherflow.com', port=443)> will retry in 60 seconds
2021-02-23 01:04:38+0100 [-] Stopping factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:05:38+0100 [-] Starting factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:05:43+0100 [-] Websocket connection retrying
2021-02-23 01:05:43+0100 [-] <twisted.internet.tcp.Connector instance at 0x6fedc690 disconnected IPv4Address(type='TCP', host='ws.weatherflow.com', port=443)> will retry in 60 seconds
2021-02-23 01:05:43+0100 [-] Stopping factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:06:43+0100 [-] Starting factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:06:53+0100 [-] Websocket connection retrying
2021-02-23 01:06:53+0100 [-] <twisted.internet.tcp.Connector instance at 0x6fedc690 disconnected IPv4Address(type='TCP', host='ws.weatherflow.com', port=443)> will retry in 60 seconds
2021-02-23 01:06:53+0100 [-] Stopping factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:07:53+0100 [-] Starting factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:08:03+0100 [-] Websocket connection retrying
2021-02-23 01:08:03+0100 [-] <twisted.internet.tcp.Connector instance at 0x6fedc690 disconnected IPv4Address(type='TCP', host='ws.weatherflow.com', port=443)> will retry in 60 seconds
2021-02-23 01:08:03+0100 [-] Stopping factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:09:03+0100 [-] Starting factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:09:04+0100 [-] Websocket connection open
2021-02-23 12:18:20+0100 [-] Discarding duplicate Rapid Wind Websocket message
2021-02-23 18:14:53+0100 [-] Discarding duplicate Rapid Wind Websocket message
2021-02-26 22:35:39+0100 [-] Discarding duplicate Rapid Wind Websocket message
2021-03-01 03:14:07+0100 [-] Discarding duplicate Rapid Wind Websocket message
root@raspberrypi:/home/pi/wfpiconsole# tail -300 wfpiconsole.log 
[INFO   ] [Logger      ] Record log in /home/pi/.kivy/logs/kivy_21-03-01_2.txt
[INFO   ] [Kivy        ] v1.11.1
[INFO   ] [Kivy        ] Installed at "/home/pi/.local/lib/python3.7/site-packages/kivy/__init__.py"
[INFO   ] [Python      ] v3.7.3 (default, Jul 25 2020, 13:03:44) 
[GCC 8.3.0]
[INFO   ] [Python      ] Interpreter at "/usr/bin/python3"
[INFO   ] [Factory     ] 184 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO   ] [Window      ] Provider: egl_rpi
[INFO   ] [GL          ] Using the "OpenGL ES 2" graphics system
[INFO   ] [GL          ] Backend used <gl>
[INFO   ] [GL          ] OpenGL version <b'OpenGL ES 2.0'>
[INFO   ] [GL          ] OpenGL vendor <b'Broadcom'>
[INFO   ] [GL          ] OpenGL renderer <b'VideoCore IV HW'>
[INFO   ] [GL          ] OpenGL parsed version: 2, 0
[INFO   ] [GL          ] Shading version <b'OpenGL ES GLSL ES 1.00'>
[INFO   ] [GL          ] Texture max size <2048>
[INFO   ] [GL          ] Texture max units <8>
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO   ] [Text        ] Provider: sdl2
2021-03-01 18:51:27+0100 [-] Log opened.
2021-03-01 18:51:28+0100 [-] Starting factory <__main__.WeatherFlowClientFactory object at 0x6fdda410>
[INFO   ] [ProbeSysfs  ] device match: /dev/input/event0
[INFO   ] [MTD         ] Read event from </dev/input/event0>
[INFO   ] [ProbeSysfs  ] device match: /dev/input/event0
[INFO   ] [HIDInput    ] Read event from </dev/input/event0>
[INFO   ] [Base        ] Start application main loop
[INFO   ] [MTD         ] </dev/input/event0> range position X is 0 - 799
[INFO   ] [Support     ] Starting twisted reactor
[INFO   ] [MTD         ] </dev/input/event0> range position Y is 0 - 479
[INFO   ] [MTD         ] </dev/input/event0> range touch major is 0 - 0
[INFO   ] [MTD         ] </dev/input/event0> range touch minor is 0 - 0
[INFO   ] [MTD         ] </dev/input/event0> range pressure is 0 - 255
[INFO   ] [MTD         ] </dev/input/event0> axes invertion: X is 0, Y is 0
[INFO   ] [MTD         ] </dev/input/event0> rotation set to 0
[INFO   ] [HIDMotionEvent] using <raspberrypi-ts>
[INFO   ] [HIDMotionEvent] <raspberrypi-ts> range ABS X position is 0 - 799
[INFO   ] [HIDMotionEvent] <raspberrypi-ts> range ABS Y position is 0 - 479
[INFO   ] [HIDMotionEvent] <raspberrypi-ts> range position X is 0 - 799
[INFO   ] [HIDMotionEvent] <raspberrypi-ts> range position Y is 0 - 479
[INFO   ] [GL          ] NPOT texture support is available
2021-03-01 18:51:31+0100 [-] Websocket connection open
2021-03-05 11:58:55+0100 [-] Discarding duplicate Rapid Wind Websocket message
2021-03-06 16:14:06+0100 [-] Discarding duplicate Rapid Wind Websocket message
2021-03-08 11:44:12+0100 [-] Discarding duplicate Rapid Wind Websocket message
2021-03-09 08:55:32+0100 [-] Discarding duplicate Rapid Wind Websocket message
2021-03-09 22:25:59+0100 [-] Websocket connection closed
2021-03-09 22:25:59+0100 [-] Websocket connection retrying
2021-03-09 22:25:59+0100 [WeatherFlowClientProtocol (TLSMemoryBIOProtocol),client] <twisted.internet.tcp.Connector instance at 0x701ea210 disconnected IPv4Address(type='TCP', host='ws.weatherflow.com', port=443)> will retry in 5 seconds
2021-03-09 22:25:59+0100 [-] Stopping factory <__main__.WeatherFlowClientFactory object at 0x6fdda410>
2021-03-09 22:26:04+0100 [-] Starting factory <__main__.WeatherFlowClientFactory object at 0x6fdda410>
2021-03-09 22:26:05+0100 [-] Websocket connection open
2021-03-09 22:30:59+0100 [-] Websocket connection timeout
2021-03-09 22:30:59+0100 [-] Unhandled Error
	Traceback (most recent call last):
	  File "/home/pi/.local/lib/python3.7/site-packages/kivy/base.py", line 339, in idle
	    Clock.tick()
	  File "/home/pi/.local/lib/python3.7/site-packages/kivy/clock.py", line 591, in tick
	    self._process_events()
	  File "/home/pi/.local/lib/python3.7/site-packages/kivy/support.py", line 210, in reactor_work
	    q.popleft()()
	  File "/home/pi/.local/lib/python3.7/site-packages/twisted/internet/_threadedselect.py", line 221, in _interleave
	    self.runUntilCurrent()
	--- <exception caught here> ---
	  File "/home/pi/.local/lib/python3.7/site-packages/twisted/internet/base.py", line 913, in runUntilCurrent
	    call.func(*call.args, **call.kw)
	  File "/home/pi/.local/lib/python3.7/site-packages/twisted/protocols/policies.py", line 743, in __timedOut
	    self.timeoutConnection()
	  File "main.py", line 140, in timeoutConnection
	    self.transport.abortConnection()
	  File "/home/pi/.local/lib/python3.7/site-packages/twisted/protocols/tls.py", line 435, in abortConnection
	    self._shutdownTLS()
	  File "/home/pi/.local/lib/python3.7/site-packages/twisted/protocols/tls.py", line 338, in _shutdownTLS
	    shutdownSuccess = self._tlsConnection.shutdown()
	builtins.AttributeError: 'NoneType' object has no attribute 'shutdown'
	
2021-03-09 22:31:06+0100 [-] Websocket connection timeout
2021-03-09 22:31:06+0100 [-] Websocket connection closed
2021-03-09 22:31:06+0100 [-] Websocket connection retrying
2021-03-09 22:31:06+0100 [-] <twisted.internet.tcp.Connector instance at 0x701ea210 disconnected IPv4Address(type='TCP', host='ws.weatherflow.com', port=443)> will retry in 5 seconds
2021-03-09 22:31:06+0100 [-] Stopping factory <__main__.WeatherFlowClientFactory object at 0x6fdda410>
2021-03-09 22:31:11+0100 [-] Starting factory <__main__.WeatherFlowClientFactory object at 0x6fdda410>
2021-03-09 22:31:12+0100 [-] Websocket connection open
2021-03-10 23:11:33+0100 [-] Discarding duplicate Rapid Wind Websocket message
2021-03-12 01:47:03+0100 [-] Discarding duplicate Rapid Wind Websocket message
2021-03-12 16:06:13+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-12 16:07:29+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-12 16:10:50+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-12 16:16:57+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-12 16:16:57+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-12 16:22:39+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-12 16:22:41+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-12 16:36:20+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 07:44:18+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 07:55:40+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 07:55:40+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 07:55:40+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 07:55:42+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 08:04:41+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 08:04:41+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 08:20:14+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 08:20:14+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 08:24:32+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 12:17:29+0100 [-] Discarding duplicate Rapid Wind Websocket message
2021-03-13 12:17:29+0100 [-] Discarding duplicate Rapid Wind Websocket message
2021-03-13 12:30:01+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 12:30:02+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 12:38:48+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 12:49:22+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 13:05:53+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 13:05:55+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 13:08:44+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 13:09:30+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 13:09:49+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 13:10:08+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 13:13:19+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 13:14:56+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 13:14:56+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 13:15:29+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 13:47:02+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:04:33+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:05:49+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:05:52+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:07:36+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:07:36+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:09:20+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:09:20+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:10:43+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:10:43+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:11:53+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:14:47+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:22:23+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:26:10+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:27:18+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:27:18+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:31:45+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:31:45+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:31:45+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:31:45+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:37:04+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:37:43+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:41:00+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:41:00+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 15:41:03+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 18:15:03+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 18:25:20+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 18:29:18+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 18:31:07+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 18:31:09+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 18:32:20+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 19:27:51+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 19:27:51+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 20:03:00+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-13 20:13:33+0100 [-] Discarding duplicate evt_strike Websocket message
2021-03-14 16:40:07+0100 [-] Discarding duplicate Rapid Wind Websocket message
3 01:01:33+0100 [-] <twisted.internet.tcp.Connector instance at 0x6fedc690 disconnected IPv4Address(type='TCP', host='ws.weatherflow.com', port=443)> will retry in 60 seconds
2021-02-23 01:01:33+0100 [-] Stopping factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:02:33+0100 [-] Starting factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:02:33+0100 [-] Websocket connection retrying
2021-02-23 01:02:33+0100 [-] <twisted.internet.tcp.Connector instance at 0x6fedc690 disconnected IPv4Address(type='TCP', host='ws.weatherflow.com', port=443)> will retry in 60 seconds
2021-02-23 01:02:33+0100 [-] Stopping factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:03:33+0100 [-] Starting factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:03:33+0100 [-] Websocket connection retrying
2021-02-23 01:03:33+0100 [-] <twisted.internet.tcp.Connector instance at 0x6fedc690 disconnected IPv4Address(type='TCP', host='ws.weatherflow.com', port=443)> will retry in 60 seconds
2021-02-23 01:03:33+0100 [-] Stopping factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:04:33+0100 [-] Starting factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:04:38+0100 [-] Websocket connection retrying
2021-02-23 01:04:38+0100 [-] <twisted.internet.tcp.Connector instance at 0x6fedc690 disconnected IPv4Address(type='TCP', host='ws.weatherflow.com', port=443)> will retry in 60 seconds
2021-02-23 01:04:38+0100 [-] Stopping factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:05:38+0100 [-] Starting factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:05:43+0100 [-] Websocket connection retrying
2021-02-23 01:05:43+0100 [-] <twisted.internet.tcp.Connector instance at 0x6fedc690 disconnected IPv4Address(type='TCP', host='ws.weatherflow.com', port=443)> will retry in 60 seconds
2021-02-23 01:05:43+0100 [-] Stopping factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:06:43+0100 [-] Starting factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:06:53+0100 [-] Websocket connection retrying
2021-02-23 01:06:53+0100 [-] <twisted.internet.tcp.Connector instance at 0x6fedc690 disconnected IPv4Address(type='TCP', host='ws.weatherflow.com', port=443)> will retry in 60 seconds
2021-02-23 01:06:53+0100 [-] Stopping factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:07:53+0100 [-] Starting factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:08:03+0100 [-] Websocket connection retrying
2021-02-23 01:08:03+0100 [-] <twisted.internet.tcp.Connector instance at 0x6fedc690 disconnected IPv4Address(type='TCP', host='ws.weatherflow.com', port=443)> will retry in 60 seconds
2021-02-23 01:08:03+0100 [-] Stopping factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:09:03+0100 [-] Starting factory <__main__.WeatherFlowClientFactory object at 0x6fedc470>
2021-02-23 01:09:04+0100 [-] Websocket connection open
2021-02-23 12:18:20+0100 [-] Discarding duplicate Rapid Wind Websocket message
2021-02-23 18:14:53+0100 [-] Discarding duplicate Rapid Wind Websocket message
2021-02-26 22:35:39+0100 [-] Discarding duplicate Rapid Wind Websocket message
2021-03-01 03:14:07+0100 [-] Discarding duplicate Rapid Wind Websocket message

@padamec

I also have two weather stations - my original AIR & SKY and a new to me TEMPEST.

What I do to monitor both from my Windows 10 PC - is install the wfpiconsole on Windows 10. Peter has provided those instructions link

I did have to create a couple of batch files to be able to launch each system from an icon from my desktop. So, it’s NOT really having one wfpiconsole for both systems - its running two instances of wfpiconsole - so you would have both on your desktop at once.

Here’s a screenshot of both up and running…

3 Likes

@peter Would like to request a feature. Weather alerts from NWS. My favorite Android app WX will pull things like SPC and MCD alerts as well as regular NWS alerts. Would love if the PiConsole did that as well!

1 Like

This looks ery nice! I finally broke down nd bought a Pi to play with. I don’t hve the little 7" monitor, but will this work just the same on an external monitor? I know the aspect ratio may be off bit… But I’d like to check it out before I go and get the little display (though 7" seems small, I’d rather have the 10!) If I like what I see and it’s working nicely, I’ll go buy another Pi 4 to run for the weather station…

Am I doing something wrong? PiConsole works fine, I have a nit. When there is lightning, the display changes to replace the Pressure card with a Lightning Strike card. To get it back to the Pressure card I have to manually interact with the display. Is there a way to have it fall back to the Pressure card after some time without lightning?

Sorry for the slow reply. The PiConsole is working as expected. Unfortunately there is no automatic way for it to switch back to pressure after a certain time period. I’ll add this to the list of possible features for a future release.

@klockksr, yea the PiConsole should work happily on an external monitor, so feel free to check it out before shelling out of the touchscreen

Thanks! Like I said, it is a nit… Love your product!

Still having that issue where I have to “escape” out of PiConsole, and then when it automatically starts up, the numbers are automatically updated. Is it possible to make a change so it automatically does this say every 8 hours or so? Not sure how long before it breaks down, but definitely every day, I have to do this for it to continue to update.

Hi Peter,
Couldn’t a warning be displayed on the display that the weather station is offline?

I have a few days in my mountain cottage internet connection out of service after a snow disaster (UPS for the router and the station did not turn on after recovery), and my W.F. not online now until i go there manually turn it on.

But on piConsole, except for a few data not displayed, it is not really visible anywhere. Is it possible to know from the cloud that the station is off-line and it is necessary to display it in marked red (eg below the date)?

Cool, thanx! Got it up and running last night, smooth installation, and working great! Very Nice setup! Thank You!

Now to see if I can work on something to integrate this data into SmartThings since they seem to be stalling on this… Don’t know if I’ll get to it or not, but it’s on my bucket list.

@peter - I think there is a bug on the Rain Rate graph… missing blue color when the scale is almost full.

Pi Console: v 4.0.4

Interesting - I haven’t seen that before. What screen dimensions are you using (width x height)?

I got a RaspberryPi last week and got this program up and running. It is a very nice program.

I did make a modification so it would display information from my Nest thermostat. I have a separate program reading the Nest every 5 minutes and creates a data file. I then modified part of this program to grab that file and display the data. I have documented it in another thread on this forum. Indoor Temp shown in widget or tempest app tile while connected to Nest

2 Likes

@peter I love what you have done and all of your hard work on this. I do have a couple of feature requests for you:

  1. Dynamically load the panels. This would make it easier for the people that have created their own panels. That way they don’t have to keep modifying your code on every release.
  2. Expose a standard way that we can submit some of the observation data into the app. I’m specifically thinking of getting the Indoor Temp loaded and displayed. Could the console just listen on a TCP or UDP port for incoming messages? To keep your code simple, I would think that requiring the caller to match the message structures that you are already using wouldn’t be to much to ask. Again, this would make it very easy for people to inject their own observation data without having to modify your code.