Vevor station and weewx

694 views
Skip to first unread message

Jean-Marie Schneider

unread,
Dec 9, 2024, 2:51:34 PM12/9/24
to weewx-user

Hello,

I have set up a VEVOR 7-in-1 Wi-Fi Weather Station and would like to connect it to WeeWX.

I believe that the WeeWX-interceptor could be a solution, or at least worth trying! I installed WeeWX and the interceptor without any issues. Before attempting to connect my station, I want to verify the data being sent to wunderground.com, where my station transmits its data, or at least check if I can see them.

My configuration is as follows:

  • The weather station is connected via Wi-Fi to a Devolo Wi-Fi network (using Powerline Communication, PLC).
  • The reception is done by the Devolo LAN (through PLC).
  • The Devolo LAN is connected to my router.

From my computer, which is also connected through the Devolo Wi-Fi, I determined the station's IP address using ZeNMAP (confirmed by powering off the station: when I ping the IP, I get no response from the station). Using Wireshark, I monitor the flow on the Wi-Fi (wlan0), and there is a lot of traffic. I applied a filter for the station's IP address, but then I observe nothing—no traffic!?

I also scanned the LAN, but still no additional data.

Next, I placed an Ethernet Network Tap between the router and the Devolo LAN. I connected a Raspberry Pi to this tap and monitored the LAN activity using tcpdump, but again, there was nothing related to my station.

I'm struggling to understand why! The station's data is visible on the Wunderground site, updated every minute. It's not a pigeon delivering the data... So, my question is: what am I doing wrong?

vince

unread,
Dec 9, 2024, 3:12:28 PM12/9/24
to weewx-user

Your wireshark sniffer settings have to be incorrect.  My wild guess in the absence of a network diagram showing which address is where would be that your Devolo LAN PLC is the source address to WU, not the address of the weather station.

Robert Turner

unread,
Dec 9, 2024, 9:10:37 PM12/9/24
to weewx-user
I'm not completely sure of your network layout. I believe you can't sniff wifi traffic with just connecting to the same wifi network. Traffic from a device on wifi going to the internet is not rebroadcast to all devices on the wifi. If your device is connected to wifi and it's sending data to the internet it would go through the wifi router to the WAN port of the router. It wouldn't show up on the Wifi network or LAN. You possibly could tap it by mirroring the data on the WAN port. 
I did do this a little differently with my wifi weather station. I configured the pi to be an access point with its wireless adapter and the ethernet port connected to my router. I setup the access point on the pi to route to the ethernet port and connected the weather station to the pi access point. I modified the interceptor to use tcpdump to capture data on the pi wlan0. The modification was necessary because the interceptor was not able to sniff the wlan0 on the pi when it was in access point mode.

Jean-Marie Schneider

unread,
Dec 10, 2024, 4:22:47 PM12/10/24
to weewx-user
Thanks you for yours answer. 
@vince : I am such of the IP. As already said, turning of the WS let the ping without answer. And the four Devolo are recognize by Advance IP Scanner. They have a different IP than the WS.

@Robert : I will learn how to set up an access point, and come back with the results.

Robert Turner

unread,
Dec 11, 2024, 6:16:27 PM12/11/24
to weewx-user
This version of the interceptor will be able to sniff the WLAN0 in AP mode.
interceptor.py

Jean-Marie Schneider

unread,
Dec 14, 2024, 4:04:58 PM12/14/24
to weewx-user

Thanks you Robert. I try it.

I have set an AP, and this time I see the flow of data between my station and wunderground.com :
37 130.019998 10.42.0.13 34.232.250.77 HTTP 402 GET /weatherstation/updateweatherstation.php?ID=ISAINT8047&PASSWORD=abc456&dateutc=2024-12-11+18%3A50%3A3&baromin=29.92&tempf=40.7&humidity=86&dewptf=36.7&rainin=0&dailyrainin=0&winddir=267&windspeedmph=3.2&windgustmph=4.9&UV=0&solarRadiation=0 HTTP/1.1
Frame 5: 403 bytes on wire (3224 bits), 403 bytes captured (3224 bits)
Ethernet II, Src: BouffaloLab_ab:75:d3 (b8:3d:fb:ab:75:d3), Dst: RaspberryPi_5d:f0:b2 (2c:cf:67:5d:f0:b2)
    Destination: RaspberryPi_5d:f0:b2 (2c:cf:67:5d:f0:b2)
    Source: BouffaloLab_ab:75:d3 (b8:3d:fb:ab:75:d3)
    Type: IPv4 (0x0800)
    [Stream index: 0]
Internet Protocol Version 4, Src: 10.42.0.13, Dst: 34.232.250.77
Transmission Control Protocol, Src Port: 53970, Dst Port: 80, Seq: 1, Ack: 1, Len: 349
    Source Port: 53970
    Destination Port: 80
 
I perform a first modification with port setting : 

[Interceptor]
    driver = user.interceptor
    iface = wlan0
    port = 53970
    pcap_filter = src 10.42.0.13


Weewxd run, as well weewx, but no data are obtained. I discover that the port is dynamically set (next connexion, it is 53971, and so one.
But, if a don't set the port, weewx did not start with the following error :

ERROR weewx.engine: Import of driver failed: [Errno 13] Permission non accordée (<class 'PermissionError'>)

I read the page of permissions  and allowing no method seams easy, especially as the port used by my pws is upper than 1024, the simpler will be to listen all the port upper than 1024, or some thing like this. But I have till now not found how to set that filter. Any help will be welcome !

Jean-Marie

Robert Turner

unread,
Dec 14, 2024, 4:16:40 PM12/14/24
to weewx-user
This is how my conf is set.
[Interceptor]
    driver = user.interceptor
    device_type = wu-client
    mode = sniff
    iface = wlan0
    pcap_filter = src 192.168.5.131 and dst port 80

Are you using the original interceptor.py or the one I modified?

Jean-Marie Schneider

unread,
Dec 14, 2024, 5:36:16 PM12/14/24
to weewx-user
Robert, I will try tomorrow, after a good nigh hopefully !
And I have a doubt about my installation of weewx. Let see tomorrow... 

Jean-Marie Schneider

unread,
Dec 15, 2024, 5:49:59 AM12/15/24
to weewx-user
Hello,

Robert I use your Interceptor.py file, and your conf set as you. 
it is OK for receiving the data's : 
~ $ sudo weewxd
Using configuration file /etc/weewx/weewx.conf
LOOP:   2024-12-15 11:44:09 CET (1734259449) 'altimeter': 'None', 'appTemp': '45.17646502340741', 'barometer': '30.11', 'cloudbase': '454.4292200824276', 'dateTime': '1734259449', 'dewpoint': '47.2', 'ET': 'None', 'heatindex': '46.603', 'humidex': '48.589000630562424', 'inDewpoint': 'None', 'maxSolarRad': '248.1637619033187', 'outHumidity': '99.0', 'outTemp': '47.5', 'pressure': 'None', 'rain': 'None', 'rainRate': '0.0', 'usUnits': '1', 'UV': '0.0', 'windchill': '47.5', 'windDir': '20.0', 'windGust': '4.4', 'windrun': 'None', 'windSpeed': '3.0'
LOOP:   2024-12-15 11:45:14 CET (1734259514) 'altimeter': 'None', 'appTemp': '45.90871472340741', 'barometer': '30.11', 'cloudbase': '454.4292200824276', 'dateTime': '1734259514', 'dewpoint': '47.2', 'ET': 'None', 'heatindex': '46.603', 'humidex': '48.589000630562424', 'inDewpoint': 'None', 'maxSolarRad': '249.19217896926534', 'outHumidity': '99.0', 'outTemp': '47.5', 'pressure': 'None', 'rain': '0.0', 'rainRate': '0.0', 'usUnits': '1', 'UV': '0.0', 'windchill': '47.5', 'windDir': '7.0', 'windGust': '3.4', 'windrun': 'None', 'windSpeed': '1.7'

Thanks you Robert for this updated file.

Now run the daemon, the database is created but not data's are saved. I will search for this issu !

Had a good end of week end !


Jean-Marie Schneider

unread,
Dec 16, 2024, 2:02:43 PM12/16/24
to weewx-user
Hello,

I did not found where is coming this issue. And surprisingly when I run weewxd, data's are correctly save into the database !
Any help will be appreciated ;) !

Robert Turner

unread,
Dec 18, 2024, 9:02:33 PM12/18/24
to weewx-user
Are you saying that the data is not stored in the database? I was thinking that your post was a little unclear. I'm not too sure I can solve that problem which is strange if the driver is running capturing the data.
Message has been deleted

Jean-Marie Schneider

unread,
Dec 19, 2024, 3:18:50 PM12/19/24
to weewx-user
Sorry to be unclear, between my English and my explantation, even simple situation to explain could come complicated !

Here is screen capture of the recorded data's from Monday : 
Capture d’écran 2024-12-19 210915.jpg
The beginning of the trace correspond to weewxd running. Then I run weewx as daemon, no data recorded in the database,  and no trace. I did this two times (weewxd, weewx, weewxd, weewx) with the same results. Now only weewxd is running without interruption from that third run.

I try to find error in the log's, but I see nothing. But perhaps I have not open the good file !

So the driver is capturing data and stored in the database with weewxd, but not with weewx...

Robert Turner

unread,
Dec 19, 2024, 7:06:49 PM12/19/24
to weewx-user
I think it is normal that weewxd is running. When I installed it the weewxd was automatically setup to run. I believe it would depend on how you installed it. Installing with apt it automatically sets up the daemon to run in the background.

Jean-Marie Schneider

unread,
Dec 23, 2024, 12:00:43 PM12/23/24
to weewx-user
Hello,

My remark was about weewx, which when running was not pulling, or saving the data's. Even if status message seams OK : 
  1. sudo systemctl status weewx
  2. â— weewx.service - WeeWX
  3.      Loaded: loaded (/lib/systemd/system/weewx.service; enabled; preset: enabled)
  4.      Active: active (running) since Mon 2024-12-23 17:49:01 CET; 27s ago
  5.        Docs: https://weewx.com/docs
  6.    Main PID: 48084 (python3)
  7.       Tasks: 1 (limit: 9252)
  8.         CPU: 156ms
  9.      CGroup: /system.slice/weewx.service
  10.              â””─48084 python3 /usr/share/weewx/weewxd.py /etc/weewx/weewx.conf

  11. déc. 23 17:49:02 stationmeteo weewxd[48084]: INFO weewx.restx: PWSweather: Posting not enabled.
  12. déc. 23 17:49:02 stationmeteo weewxd[48084]: INFO weewx.restx: CWOP: Posting not enabled.
  13. déc. 23 17:49:02 stationmeteo weewxd[48084]: INFO weewx.restx: WOW: Posting not enabled.
  14. déc. 23 17:49:02 stationmeteo weewxd[48084]: INFO weewx.restx: AWEKAS: Posting not enabled.
  15. déc. 23 17:49:02 stationmeteo weewxd[48084]: INFO weewx.engine: 'pyephem' detected, extended almanac data is available
  16. déc. 23 17:49:02 stationmeteo weewxd[48084]: INFO __main__: Starting up weewx version 5.1.0
  17. déc. 23 17:49:02 stationmeteo weewxd[48084]: INFO weewx.engine: Using binding 'wx_binding' to database 'weewx'
  18. déc. 23 17:49:02 stationmeteo weewxd[48084]: INFO weewx.manager: Starting backfill of daily summaries
  19. déc. 23 17:49:02 stationmeteo weewxd[48084]: INFO weewx.manager: Daily summaries up to date
  20. déc. 23 17:49:02 stationmeteo weewxd[48084]: INFO weewx.engine: Starting main packet loop.

I erase the system and install Raspberry Pi OS. From this new point, I install weewx and interceptor following this page : https://github.com/weewx/weewx/wiki/gw1000-recipe
I created access point, and then modify weewx.con accordingly.
Again same behavior, with weewxd, data's are recorded. But with the deamon there are not recorded !

Did have some one already see this behavior ?

Thanks you for your help
Jean-Marie

vince

unread,
Dec 23, 2024, 12:57:42 PM12/23/24
to weewx-user
What account are you running  "python3 /usr/share/weewx/weewxd.py /etc/weewx/weewx.conf" under ?

For logs, please read https://github.com/weewx/weewx/wiki/view-logs#journalctl and see if "sudo journalctl -u weewx" shows your logs. It always helps to set debug=1 in your weewx.conf file so please do so if you have not done so already.

Jean-Marie Schneider

unread,
Dec 23, 2024, 3:26:37 PM12/23/24
to weewx-user
Thanks you Vince.

I have an error : déc. 23 17:49:02 stationmeteo weewxd[48084]: ERROR user.interceptor: tcpdump process died: tcpdump: wlan0: You don't have permission to perform this capture on that device
                                              (socket: Operation not permitted)

So error is located. But how can I solve that ? 
Where I have to put that permission ? 

Sorry for this question, I am using Linux rarely !

Robert Turner

unread,
Dec 23, 2024, 3:46:04 PM12/23/24
to weewx-user

Tcpdump needs permission if not running as root. This link gives info on how to give the permission. 

vince

unread,
Dec 23, 2024, 4:19:26 PM12/23/24
to weewx-user
Look at the preferred answer in the link Robert provided.  That’s the answer.

Just for more info run ‘sudo groups weewx’ so we can see which groups the weewx user is in, and also run the groups command for whatever user you used to run weewxd.

This problem happens frequently for certain configurations in v5 which no longer runs as root. Always check your logs. They almost always show why something is not working.

Jean-Marie Schneider

unread,
Dec 25, 2024, 3:42:32 AM12/25/24
to weewx-user
Thanks you for your help !

My station with weewx is operational !

Merry Christmas !
Jean-Marie

Jonathan Emmert

unread,
Jan 4, 2025, 8:01:47 PM1/4/25
to weewx-user
What was the solution? I have a similar issue and am wondering what you did to fix it.

Robert Turner

unread,
Jan 5, 2025, 5:26:08 PM1/5/25
to weewx-user
What specific issue are you having? I think there were several parts in this thread of getting this station working.

Jean-Marie Schneider

unread,
Jan 10, 2025, 4:39:34 AM1/10/25
to weewx-user

Hello Jonathan,

As Robert said I had several issues to solve.

But mainly the solution was to put in place an access point on the Raspberry Pi OS,
Connect the station on this access point
Install weewx with interceptor following this help : https://github.com/weewx/weewx/wiki/gw1000-recipe
Configure interceptor part in weewx.conf following this answer to my question : https://groups.google.com/g/weewx-user/c/AMecZZXf_BM/m/Hatd_041AQAJ 

Tomasz Lewicki

unread,
Mar 15, 2025, 12:47:41 PM3/15/25
to weewx-user
It seems that now is my turn in this thread :) But I have another PWS so started new thread to avoid a mess here.

Please read on an help if you can: https://groups.google.com/g/weewx-user/c/ltOzib4AieM

Reply all
Reply to author
Forward
0 new messages