@Tomasz, you stated above that ' I installed both interceptor and HP1000 drivers by weectl. " Can you provide some insight into how you did this? I have a fresh install of 5.0.1 and when I run 'weectl extension install weewx-interceptor.zip (fresh download) I get an error stack below. I am posting here just in case I am missing something obvious, if not I will start a new thread.
Thanks, Chris :~$ weectl extension install weewx-interceptor.zip Using configuration file /etc/weewx/weewx.conf Install extension 'weewx-interceptor.zip' (y/n)? y Extracting from zip archive weewx-interceptor.zip Traceback (most recent call last): File "/usr/share/weewx/weectl.py", line 74, in <module> main() File "/usr/share/weewx/weectl.py", line 66, in main namespace.func(namespace) File "/usr/share/weewx/weectllib/__init__.py", line 121, in dispatch namespace.action_func(config_dict, namespace) File "/usr/share/weewx/weectllib/extension_cmd.py", line 116, in install_extension ext.install_extension(namespace.source, no_confirm=namespace.yes) File "/usr/share/weewx/weecfg/extension.py", line 138, in install_extension extension_name = self._install_from_file(extension_path, filetype) File "/usr/share/weewx/weecfg/extension.py", line 168, in _install_from_file extension_name = self.install_from_dir(extension_dir) File "/usr/share/weewx/weecfg/extension.py", line 185, in install_from_dir self._install_files(installer['files'], extension_dir) File "/usr/share/weewx/weecfg/extension.py", line 269, in _install_files shutil.copy(source_path, destination_path) File "/usr/lib/python3.8/shutil.py", line 418, in copy copyfile(src, dst, follow_symlinks=follow_symlinks) File "/usr/lib/python3.8/shutil.py", line 264, in copyfile with open(src, 'rb') as fsrc, open(dst, 'wb') as fdst: FileNotFoundError: [Errno 2] No such file or directory: '/bin/user/interceptor.py' On Thursday, January 25, 2024 at 1:27:34 AM UTC-7 Tomasz Lewicki wrote: > Mystery solved. > > But answering to vince question, my system is rather typical - Raspbian on > Raspberry Pi, only WLAN interface is active. Weewx was unwillingly updated > from 4.10.2 to 5.0.0. I checked all point of failure: Python version, > permissions (thank you Gary!), network traffic. As I wrote before, > rtupdate.wunderground.com was hijacked - local DNS redirected it to > Weewx. So I deleted this bypass, allowing console to send data to real WU > server. But still I couldn't see any traffic on my router. Total silence. > It was abnormal (and it explains why PCAP file captured by Tshark was empty > on port 80). But I didn't check WU settings in WiFi console. Station ID was > empty, password was obfuscated by asterisks. I don't use WU website at all, > I just needed credentials for conversation between console and Weewx. I > entered ID and password - and then console started send data to real WU. So > I redirected network traffic on my DNS again, and Weewx started to receive > data from WiFi console via interceptor driver :) > > Thank you to everyone who patiently read my writings and tried to help. > > środa, 24 stycznia 2024 o 22:54:46 UTC+1 vince napisał(a): > >> Difficult to answer with no info from you on exactly 'what' command you >> ran for wireshark and whether your listening computer is wifi, ethernet, or >> both. What kind of computer are you running on ? What os ? What version >> ? Which interfaces ? What was your 'exact' wireshark command ? >> >> But I see nothing basically in that 6-second pcap. If running a sniffer >> on your computer sees no traffic being redirected from the station, then >> there is nothing for interceptor to intercept on the weewx computer. >> >> Again, when you say "*But I hijacked DNS on my router*" that (to me) >> does not cause any traffic from your station to wunderground to be >> redirected to your weewx system unless I'm not understanding what you're >> saying. Perhaps you should tell everybody what your system config is so >> those who do interceptor can try to help more. >> >> On Wednesday, January 24, 2024 at 1:38:25 PM UTC-8 Tomasz Lewicki wrote: >> >>> I attach PCAP file with packets captured for 120 seconds. TCP/80 only. >>> Weewx was shut down. No traffic on this port until I manually have done the >>> operation described in one of me previous posts (browser query): >>> https://groups.google.com/g/weewx-user/c/O8DTjzeeQcg/m/psrDaMHoAAAJ >>> >>> środa, 24 stycznia 2024 o 22:22:37 UTC+1 vince napisał(a): >>> >>>> Stop weewx. Just run the packet capture and post the .pcap file so >>>> others can take a look please. Be sure to capture only tcp/80. Compress >>>> the pcap file if it's large or post it someplace online where others can >>>> download it. >>>> >>>> The gui version of wireshark is much easier to understand. >>>> >>>> On Wednesday, January 24, 2024 at 1:16:50 PM UTC-8 Tomasz Lewicki wrote: >>>> >>>>> My mistake. These packets were captured when Weewx was running with >>>>> HP1000 driver. When I changed the driver to interceptor, I didn't >>>>> captured >>>>> *any* packets from WiFi console. I don't understand it... >>>>> środa, 24 stycznia 2024 o 21:06:53 UTC+1 vince napisał(a): >>>>> >>>>>> You need something to send traffic to intercept. Run wireshark on >>>>>> your weewx computer and listen on port 80 and see if your computer is >>>>>> hearing anything (and what). If it's http the payload should be >>>>>> decipherable. >>>>>> >>>>>> >>>>>> >>>>>> On Wednesday, January 24, 2024 at 12:01:31 PM UTC-8 Tomasz Lewicki >>>>>> wrote: >>>>>> >>>>>>> By hardware do you mean WiFi console from my weather station? If >>>>>>> yes, it has very simple (almost none) configuration. It sends weather >>>>>>> data >>>>>>> to WU only. But I hijacked DNS on my router: >>>>>>> >>>>>>> pi@meteo:~ $ rtupdate.wunderground.com >>>>>>> PING rtupdate.wunderground.com (192.168.0.106) 56(84) bytes of data. >>>>>>> 64 bytes from rtupdate.wunderground.com (192.168.0.106): icmp_seq=1 >>>>>>> ttl=64 time=0.130 ms >>>>>>> 64 bytes from rtupdate.wunderground.com (192.168.0.106): icmp_seq=2 >>>>>>> ttl=64 time=0.128 ms >>>>>>> >>>>>>> pi@meteo:~ $ dig rtupdate.wunderground.com >>>>>>> >>>>>>> ; <<>> DiG 9.11.5-P4-5.1+deb10u9-Raspbian <<>> >>>>>>> rtupdate.wunderground.com >>>>>>> ;; global options: +cmd >>>>>>> ;; Got answer: >>>>>>> ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48940 >>>>>>> ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, >>>>>>> ADDITIONAL: 1 >>>>>>> >>>>>>> ;; OPT PSEUDOSECTION: >>>>>>> ; EDNS: version: 0, flags:; udp: 1232 >>>>>>> ;; QUESTION SECTION: >>>>>>> ;rtupdate.wunderground.com. IN A >>>>>>> >>>>>>> ;; ANSWER SECTION: >>>>>>> rtupdate.wunderground.com. 0 IN A 192.168.0.106 >>>>>>> >>>>>>> ;; Query time: 170 msec >>>>>>> ;; SERVER: 192.168.0.10#53(192.168.0.10) >>>>>>> ;; WHEN: śro sty 24 20:59:32 CET 2024 >>>>>>> ;; MSG SIZE rcvd: 70 >>>>>>> >>>>>>> I even updated console's firmware to the latest available version >>>>>>> from Ambient Weather website. In server.ini file I see only this: >>>>>>> >>>>>>> [Menu] >>>>>>> default=www.wunderground.com >>>>>>> web=1 >>>>>>> web1=www.wunderground.com >>>>>>> >>>>>>> [www.wunderground.com] >>>>>>> Server=rtupdate.wunderground.com >>>>>>> ServerType=php >>>>>>> ServerPort=80 >>>>>>> UploadType=Customize >>>>>>> ReadOnly=true >>>>>>> środa, 24 stycznia 2024 o 20:48:31 UTC+1 vince napisał(a): >>>>>>> >>>>>>>> Just a thought, but interceptor is 'listening' on port 80. Don't >>>>>>>> you need to configure your hardware to 'send' to port 80 on your weewx >>>>>>>> computer ? >>>>>>>> >>>>>>>> On Wednesday, January 24, 2024 at 11:39:31 AM UTC-8 Tomasz Lewicki >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Previously I had strange problems with Python but finally I >>>>>>>>> realized that I have Python2 and Python3 installed. When I called >>>>>>>>> commands >>>>>>>>> begining with 'python', v2 was started. But 'sudo update-alternatives >>>>>>>>> --install /usr/bin/python python /usr/bin/python3 10' has made the >>>>>>>>> trick: >>>>>>>>> >>>>>>>>> pi@meteo:~ $ python --version >>>>>>>>> Python 3.7.3 >>>>>>>>> >>>>>>>>> >>>>>>>>> środa, 24 stycznia 2024 o 20:36:46 UTC+1 Tomasz Lewicki napisał(a): >>>>>>>>> >>>>>>>>>> Here it comes: >>>>>>>>>> >>>>>>>>>> # systemd service configuration file for WeeWX >>>>>>>>>> >>>>>>>>>> [Unit] >>>>>>>>>> Description=WeeWX >>>>>>>>>> Documentation=https://weewx.com/docs >>>>>>>>>> Requires=time-sync.target >>>>>>>>>> After=time-sync.target >>>>>>>>>> >>>>>>>>>> [Service] >>>>>>>>>> ExecStart=weewxd /etc/weewx/weewx.conf >>>>>>>>>> StandardOutput=null >>>>>>>>>> StandardError=journal+console >>>>>>>>>> RuntimeDirectory=weewx >>>>>>>>>> RuntimeDirectoryMode=775 >>>>>>>>>> User=root >>>>>>>>>> Group=root >>>>>>>>>> >>>>>>>>>> [Install] >>>>>>>>>> WantedBy=multi-user.target >>>>>>>>>> >>>>>>>>>> środa, 24 stycznia 2024 o 20:33:17 UTC+1 vince napisał(a): >>>>>>>>>> >>>>>>>>>>> Lets see your systemd service file..... >>>>>>>>>>> >>>>>>>>>>> On Wednesday, January 24, 2024 at 9:46:50 AM UTC-8 Tomasz >>>>>>>>>>> Lewicki wrote: >>>>>>>>>>> >>>>>>>>>>>> OK, I changed user and group to root >>>>>>>>>>>> in /etc/weewx/systemd/weewx.service, weewx now starts with port 80 >>>>>>>>>>>> and >>>>>>>>>>>> interceptor driver. But nevermind which option I use - observer >>>>>>>>>>>> or >>>>>>>>>>>> wu-client - I always get: >>>>>>>>>>>> >>>>>>>>>>>> weewxd[27966]: DEBUG user.interceptor: empty queue >>>>>>>>>>>> >>>>>>>>>>>> But I found this wiki article -> >>>>>>>>>>>> https://github.com/weewx/weewx/wiki/gw1000-recipe and started >>>>>>>>>>>> interceptor driver from command line: >>>>>>>>>>>> >>>>>>>>>>>> sudo PYTHONPATH=/usr/share/weewx python >>>>>>>>>>>> /etc/weewx/bin/user/interceptor.py --port=80 --debug >>>>>>>>>>>> --device=observer >>>>>>>>>>>> --mode=listen >>>>>>>>>>>> >>>>>>>>>>>> Then - exactly as this part of article says -> >>>>>>>>>>>> https://github.com/weewx/weewx/wiki/gw1000-recipe#verify-that-the-interceptor-can-receive-data >>>>>>>>>>>> >>>>>>>>>>>> I pasted to browser such query: >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> http://192.168.0.106/data/report?PASSKEY=XXX&stationtype=GW1000B_V1.5.5&dateutc=2019-12-29+16:27:27&tempinf=67.1&humidityin=39&baromrelin=30.138&baromabsin=30.138&freq=915M&model=GW1000 >>>>>>>>>>>> >>>>>>>>>>>> And I got an answer in terminal: >>>>>>>>>>>> >>>>>>>>>>>> raw data: >>>>>>>>>>>> PASSKEY=XXXX&stationtype=GW1000B_V1.5.5&dateutc=2019-12-29+16:27:27&tempinf=67.1&humidityin=39&baromrelin=30.138&baromabsin=30.138&freq=915M&model=GW1000 >>>>>>>>>>>> raw packet: {'dateTime': 1577636847, 'usUnits': 1} >>>>>>>>>>>> mapped packet: {'dateTime': 1577636847, 'usUnits': 1} >>>>>>>>>>>> raw data: >>>>>>>>>>>> raw packet: {'dateTime': 1706118216, 'usUnits': 1} >>>>>>>>>>>> mapped packet: {'dateTime': 1706118216, 'usUnits': 1} >>>>>>>>>>>> >>>>>>>>>>>> So it seems that driver is working when called explicitly from >>>>>>>>>>>> command line. So why I got "empty queue" when started by 'sudo >>>>>>>>>>>> systemctl >>>>>>>>>>>> start weewx'? >>>>>>>>>>>> wtorek, 23 stycznia 2024 o 15:46:08 UTC+1 gary....@gmail.com >>>>>>>>>>>> napisał(a): >>>>>>>>>>>> >>>>>>>>>>>>> sudo only issues the command as root. >>>>>>>>>>>>> What is in the service file for user and group? >>>>>>>>>>>>> That is who weewx is running as. >>>>>>>>>>>>> >>>>>>>>>>>>> On Monday, January 22, 2024 at 11:43:48 AM UTC-5 Tomasz >>>>>>>>>>>>> Lewicki wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> I run weewx as root: >>>>>>>>>>>>>> >>>>>>>>>>>>>> sudo systemctl start weewx >>>>>>>>>>>>>> >>>>>>>>>>>>>> If I set higher port (8080), weewx starts but I have empty >>>>>>>>>>>>>> queue for interceptor. >>>>>>>>>>>>>> >>>>>>>>>>>>>> niedziela, 21 stycznia 2024 o 18:49:48 UTC+1 matthew wall >>>>>>>>>>>>>> napisał(a): >>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Sunday, January 21, 2024 at 12:23:34 PM UTC-5 Tomasz >>>>>>>>>>>>>>> Lewicki wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Jan 21 18:14:17 FR24 weewxd[14285]: INFO weewx.engine: >>>>>>>>>>>>>>> Loading station type Interceptor (user.interceptor) >>>>>>>>>>>>>>> Jan 21 18:14:17 FR24 weewxd[14285]: INFO user.interceptor: >>>>>>>>>>>>>>> driver version is 0.60 >>>>>>>>>>>>>>> Jan 21 18:14:17 FR24 weewxd[14285]: INFO user.interceptor: >>>>>>>>>>>>>>> device type: observer >>>>>>>>>>>>>>> Jan 21 18:14:17 FR24 weewxd[14285]: INFO user.interceptor: >>>>>>>>>>>>>>> hardware name: weatherstation via interceptor >>>>>>>>>>>>>>> Jan 21 18:14:17 FR24 weewxd[14285]: INFO user.interceptor: >>>>>>>>>>>>>>> mode is listen >>>>>>>>>>>>>>> Jan 21 18:14:17 FR24 weewxd[14285]: INFO user.interceptor: >>>>>>>>>>>>>>> listen on :80 >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> if you listen on port 80, then the process must run as root >>>>>>>>>>>>>>> (only root can listen on lower ports). >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> so either run weewxd as root, or configure interceptor (and >>>>>>>>>>>>>>> the station) to communicate on a higher port. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/902dbb1c-51ed-4397-a713-f2e28f11acdan%40googlegroups.com.