Hello,
I'm trying to use a Froggit WH4000SE in combination with a raspberry pi 3+ and
weewx to intercept data over WiFi. The raspberry pi is configured as
access-point, running weewx 4.2.0 and the interceptor driver to accept
ecowit-protocoll messages on 192.168.30.1:8000. The Froggit station
(192.168.30.19) is configured to send data to this address and port using WS
View.
Now to the problem itself: When the raspberry pi is connected over Ethernet
(and traffic is sent trough), the weather station and weewx work as intended.
The corresponding POST messages are sent and data is processed. However when
the raspberry pi is not connected over Ethernet, weewx is only receiving empty
queues.
After some traffic analysis, I suppose that there is some kind of handshake or perquisite
to be done before the station provides corresponding data after a restart. It becomes apparent
that a TCP request to 47.102.253.116:80 (rtpdate.ecowitt.com) is done repeatedly and also different calls to ntp servers from baidu, google and amazon. Is there some
driver for weewx that can emulate such a handshake locally or is there another
way to get the station to send weather data?
Best regards,
Max
After some traffic analysis, I suppose that there is some kind of handshake or perquisite to be done before the station provides corresponding data after a restart. It becomes apparent that a TCP request to 47.102.253.116:80 (rtpdate.ecowitt.com) is done repeatedly and also different calls to ntp servers from baidu, google and amazon. Is there some driver for weewx that can emulate such a handshake locally or is there another way to get the station to send weather data?
Thank you
very much for pointing me in the right direction
Using the information provided I got the station working without internet. For anybody
with the same intentions and problems, here is what I did. Not specific to
weewx, but maybe it helps someone else searching for a solution:
As mentioned by Vince the station is trying to connect to ecowitt and is expecting a response to begin transmitting weather data over WiFi. To emulate the ecowitt server, you can use a program for Linux called FOSHKplugin in generic mode which answers to the TCP requests to the ecowitt server with the needed POST answer. (https://www.loxwiki.eu/display/LOXBERRY/FOSHKplugin+-+generic+version). To configure FOSHKplugin correct, you can use Wireshark to find the corresponding port on the weather station for control. Simply connect the weather station and your mobile phone to the WIFI of your Raspberry Pi in Access-Point mode and use the WS View app to send some configuration changes. The corresponding port on the WS4000SE can be registered in the plugin to later reconfigure the weather station with the Raspberry Pi only.
To use weewx with the FOSHKplugin, simply set it up in sniffer mode instead of listener mode. The weather station is now up and running offline for 4days without resetting itself or stopping transmission.
Thanks again.