@Peter, you run wired or wireless ? If you are wired then we are both in that case;
Could wifi connection for some reason ‘bug’ the data ???
Remember long time ago we had that bug … when my dsl router changed IP it lost ‘socket’ and only option was to restart wfpiconsole … maybe something along that line but specifically via wifi connection ??
Will do. But of course it’s running good now since I’m watching for it to freeze up again!
No I’m using WiFi too so I don’t think that’s the problem. I was just thinking about that bug we had to fix - it should handle any dropped connections so I’d be surprised if that is the issue.
One change I made in V3 though was to switch to the secure websocket. I can revert that change if needs be, but it is odd that it doesn’t affect everyone.
The only difference I can think of between our stations and those of @hankster and @padieter is the location. Two stations in Europe and two in the US. The biggest difference between the setups will probably be the units. I am hoping that every now and again there is a bug in some unit conversion when working in imperial that I haven’t spotted. It is possible for small bugs to just interrupt the data flow without actually causing the console to crash completely. It will cause output to be printed to the terminal though, so I’m hoping we’ll learning something from that.
Peter, my wfpiconsole appears to be stalled starting around 7:30am CST. I have not connected by VNC yet in fear I may mess up the data. Maybe your data recording tools can find something before I make a VNC connection.
This is just so weird. Here is the output from your station running on my system. As you can see, it ticked quite happily through 7.30 am CST and data streaming is continuing quite happily. The number in brackets is the number of seconds since the last SKY message.
Feel free to open your VNC connection and let me know what you see in the terminal. Fingers crossed there is an error message, as otherwise I am going to be running out of ideas!
This is what I believe is from the restart yesterday around 10:20am.
pi@raspberrypi:~ $ wfpiconsole start
[INFO ] [Logger ] Record log in /home/pi/.kivy/logs/kivy_20-04-09_0.txt
[INFO ] [Kivy ] v1.11.1
[INFO ] [Kivy ] Installed at “/usr/local/lib/python3.7/dist-packages/kivy/init.py”
[INFO ] [Python ] v3.7.3 (default, Dec 20 2019, 18:57:59)
[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
[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
2020-04-09 10:21:10-0400 [-] Log opened.
2020-04-09 10:21:44-0400 [-] Starting factory <main.WeatherFlowClientFactory object at 0x7005f5f0>
[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 - 800
[INFO ] [Support ] Starting twisted reactor
[INFO ] [HIDMotionEvent] using
[INFO ] [MTD ] </dev/input/event0> range position Y is 0 - 480
[INFO ] [HIDMotionEvent] range ABS X position is 0 - 800
[INFO ] [MTD ] </dev/input/event0> range touch major is 0 - 0
[INFO ] [HIDMotionEvent] range ABS Y position is 0 - 480
[INFO ] [MTD ] </dev/input/event0> range touch minor is 0 - 0
[INFO ] [HIDMotionEvent] range position X is 0 - 800
[INFO ] [MTD ] </dev/input/event0> range pressure is 0 - 255
[INFO ] [HIDMotionEvent] range position Y is 0 - 480
[INFO ] [MTD ] </dev/input/event0> axes invertion: X is 0, Y is 0
[INFO ] [MTD ] </dev/input/event0> rotation set to 0
[INFO ] [GL ] NPOT texture support is available
2020-04-09 16:19:27-0400 [-] Client connection lost … retrying …
2020-04-09 16:19:27-0400 [WeatherFlowClientProtocol (TLSMemoryBIOProtocol),client] <twisted.internet.tcp.Connector instance at 0x7005fa50 disconnected IPv4Address(type=‘TCP’, host=‘ws.weatherflow.com’, port=443)> will retry in 60 seconds
2020-04-09 16:19:27-0400 [-] Stopping factory <main.WeatherFlowClientFactory object at 0x7005f5f0>
2020-04-09 16:20:27-0400 [-] Starting factory <main.WeatherFlowClientFactory object at 0x7005f5f0>
2020-04-09 16:26:29-0400 [-] Client connection lost … retrying …
2020-04-09 16:26:29-0400 [WeatherFlowClientProtocol (TLSMemoryBIOProtocol),client] <twisted.internet.tcp.Connector instance at 0x7005fa50 disconnected IPv4Address(type=‘TCP’, host=‘ws.weatherflow.com’, port=443)> will retry in 60 seconds
2020-04-09 16:26:29-0400 [-] Stopping factory <main.WeatherFlowClientFactory object at 0x7005f5f0>
2020-04-09 16:27:29-0400 [-] Starting factory <main.WeatherFlowClientFactory object at 0x7005f5f0>
2020-04-09 16:27:36-0400 [-] dropping connection to peer tcp4:52.1.250.217:443 with abort=True: WebSocket opening handshake timeout (peer did not finish the opening handshake in time)
2020-04-09 16:27:36-0400 [-] Client connection lost … retrying …
2020-04-09 16:27:36-0400 [-] <twisted.internet.tcp.Connector instance at 0x7005fa50 disconnected IPv4Address(type=‘TCP’, host=‘ws.weatherflow.com’, port=443)> will retry in 60 seconds
2020-04-09 16:27:36-0400 [-] Stopping factory <main.WeatherFlowClientFactory object at 0x7005f5f0>
2020-04-09 16:28:36-0400 [-] Starting factory <main.WeatherFlowClientFactory object at 0x7005f5f0>
OK that’s useful! Do you have the output from the pause at 7.30 AM today? If it is really long, can you copy and paste into a .txt file and upload as an attachment?
I’m not sure how to retrieve that, sorry you might have to walk me through that. I’m pretty lucky I got the information as it is:)
No worries! When you open the VNC connection to your Pi, can you see a terminal from which you started the console?
Yes, that is were I grab the data you saw earlier(see below), which I believe was all the data in the window. I was thinking about this more, and realized I did have a snag while installing 3.1 (wfpiconsole). When asked if I had a Tempest, I said yes as I am a tester as well. I entered my station id, but it didn’t find it, so I re-entered many times thinking I fat finger it and also entered my hub station with no luck. I had to finally unplug the pi because I could not get out of the station id question loop. I installed wfpiconsole 3.1 but lied that I had a tempest and things installed fine. Maybe there is some unfinished install business that I caused. Sorry I didn’t mention this before. I don’t want to take up your time with this problem if it is just my system, I have no problem restarting wfpiconsole when needed.
No worries about taking up my time - I want to get this issue sorted as it seems to be affecting a smattering of people. I don’t think the issue is to do with the Tempest configuration. Instead, based on the output you sent me it seems like your connection to the WeatherFlow servers is closing and not being re-opened. This is why the console seems to freeze but the sunrise/sunset keeps updating.
I’ve made some changes to the code that might help. If you and @hankster could update your consoles using
wfpiconsole patch
and then start the console with wfpiconsole start
from a new terminal window (close every other terminal that is open to avoid confusion) that would be great. Of course you won’t see any changes immediately, but if you could let me know how you get on that would be great (and post any output you see in the terminal here).
As for the Tempest issue during install, I think your issue was caused by the fact that the station ID for your Tempest is different to that for your SKY/AIR. 5815 is for your SKY/AIR, and if you use it the console will not be able to find your Tempest (as you experienced).
OK, just noticed that I have some error messages in the console window. My wfpiconsole did not freeze and is still updating. Here is the errors I see:
2020-04-09 16:19:26-0400 [-] Client connection lost … retrying …
2020-04-09 16:19:26-0400 [WeatherFlowClientProtocol (TLSMemoryBIOProtocol),client] <twisted.internet.tcp.Connector instance at 0x75f0c350 disconnected IPv4Address(type=‘TCP’, host=‘ws.weatherflow.com’, port=443)> will retry in 60 seconds
2020-04-09 16:19:26-0400 [-] Stopping factory <main.WeatherFlowClientFactory object at 0x6fd74990>
2020-04-09 16:20:26-0400 [-] Starting factory <main.WeatherFlowClientFactory object at 0x6fd74990>
2020-04-09 16:26:29-0400 [-] Client connection lost … retrying …
2020-04-09 16:26:29-0400 [WeatherFlowClientProtocol (TLSMemoryBIOProtocol),client] <twisted.internet.tcp.Connector instance at 0x75f0c350 disconnected IPv4Address(type=‘TCP’, host=‘ws.weatherflow.com’, port=443)> will retry in 60 seconds
2020-04-09 16:26:29-0400 [-] Stopping factory <main.WeatherFlowClientFactory object at 0x6fd74990>
2020-04-09 16:27:29-0400 [-] Starting factory <main.WeatherFlowClientFactory object at 0x6fd74990>
2020-04-10 10:16:30-0400 [-] Client connection lost … retrying …
2020-04-10 10:16:30-0400 [WeatherFlowClientProtocol (TLSMemoryBIOProtocol),client] <twisted.internet.tcp.Connector instance at 0x75f0c350 disconnected IPv4Address(type=‘TCP’, host=‘ws.weatherflow.com’, port=443)> will retry in 60 seconds
2020-04-10 10:16:30-0400 [-] Stopping factory <main.WeatherFlowClientFactory object at 0x6fd74990>
2020-04-10 10:17:30-0400 [-] Starting factory <main.WeatherFlowClientFactory object at 0x6fd74990>
2020-04-10 10:21:36-0400 [-] Client connection lost … retrying …
2020-04-10 10:21:36-0400 [WeatherFlowClientProtocol (TLSMemoryBIOProtocol),client] <twisted.internet.tcp.Connector instance at 0x75f0c350 disconnected IPv4Address(type=‘TCP’, host=‘ws.weatherflow.com’, port=443)> will retry in 60 seconds
2020-04-10 10:21:36-0400 [-] Stopping factory <main.WeatherFlowClientFactory object at 0x6fd74990>
2020-04-10 10:22:36-0400 [-] Starting factory <main.WeatherFlowClientFactory object at 0x6fd74990>
I updated and confirmed that the wfpiconsole is at 3.1.1, no problems with the patch install.
I do have to say you have made this very easy to install wfpiconsole from the very beginning of my journey. Thank you for your help, I’m just happy to see my WF data on a dedicated device so others can see it easily.
TerminalData_after_patch3_1_1.txt (3.6 KB)
Just patched to 3.1.1. Went smoothly and everything running good for now. BTW, this is connected to my Sky/Air and not my Tempest.
These are fairly normal - they just show that the connection to the WeatherFlow server has been lost, and then it reconnects 60 seconds later. I think the console is freezing when it is unable to reconnect.
@padieter thanks for the kind words! Your terminal output looks completely normal. Hopefully it’ll now behave, but if not let me know and send me everything that has been printed to the terminal.
My wfpiconsole stop showing updated values again, sometime near 7:45 am today again.
That’s annoying! Looking at the output you shared, am I right in thinking that you manually used ctrl-c
to stop the console running at 10:17 am this morning?
I used CRTL+C to copy to contents of the terminal. I didn’t mean to stop the console. Should I be using a different method to copy the contents of the terminal?
Doh! Of course - that was a silly question! It’s very odd that there are no other errors visible yet the console has stopped updating.
I’m going to roll back to the unsecured websocket to see if that makes a difference. I am also going to add some debugging output similar to my screenshot above that’ll print a line to the terminal each time a new websocket message arrives. Maybe this will help shed some light on the issue. Before I do though, can I confirm that you are using the console to display data from your Air/Sky rather than your Tempest. I’m pretty sure you are, but want to be 100% sure.
Yes that’s correct, the console is displaying data from Air/Sky. I did have another stuck display this morning so I grab the data again. I do notice once I do a Ctrl C, another bunch of data shows up, so I re capture it again so that is why you might see the Cntrl C.
TerminalData_after_patch3_1_1 April 12.txt (14.3 KB)