Actually, the console tries to post even without a path entered, it just doesn't specify a request-URI in the HTTP POST header causing an error 400 on the server side. I never changed the path setting from when it was working, so it must have been a side effect from a firmware update done during the months my WeeWX was down. Good thing to know for people having the same trouble in the future. I also changed the path from /path? as suggested in the GitHub discussion I found to just / and that works as well. However, in both cases I get the following line in the message log every time the station sends an update:
Aug 3 10:51:33 localhost journal[2825]: weewx[2825] INFO user.interceptor: unrecognized parameter b'PASSKEY=9879… While not interfering with function it clutters up the log making it harder to read. Guess that's a topic for the GitHub issue tracker though. Konrad tisdag 3 augusti 2021 kl. 01:35:43 UTC+2 skrev [email protected]: > By mistake I sent this reply only to the OPer - now forward also to the > group for information and documentation > > It's a common mistake when using the custom server function of a Fine > Offset (clone) console in ecowitt protocol > to leave the path entry in the WSView app empty. > Even though weewx (the interceptor driver) doesn't care about any path, > the console still does. > > If there is no entry at all, the console will not post !!! > > Therefore at least "/" without "" has to be entered into the path field in > the WSView app. > > This is for weewx. > > When posting via custom server function to a web site, the path has to be > meaningful and point to the HTML or www root of the server respectively the > path from there where the posting will be picked up e.g. by some index.php > file. > > The posting in Ecowitt protocol will always look like > > > http://IP-or-URL/path-from-wsview-app/index.php&PASSKEY=xxxxxxxxxxxxxx&stationtype= > > ..... > > the interceptor driver filters out the PASSKEY, stationtype and other not > observation related parts of the posted string and takes only the > observation related portions e.g. windgustmph=5.82 > > > -------- Forwarded Message -------- > Subject: [weewx-user] Re: Pulling my hair - one weird issue after the > other [3] > Date: Mon, 2 Aug 2021 16:05:30 +0200 > From: Rainer Lang <[email protected]> > To: Konrad Skeri Ekblad <[email protected]> > > Did you enter a path in the WSView app ? > There must be at least a "/" - even though weewx doesn't care, the console > does. > If there is no path entered, it doesn't post via the custom server > function. > > On 02.08.2021 14:55, Konrad Skeri Ekblad wrote: > > Running WeeWX directly instead the output in /var/log/messages is this: > > Aug 2 14:36:59 localhost systemd[1]: Starting SYSV: start and stop the > weewx weather system... > Aug 2 14:36:59 localhost journal[2697]: weewx[2697] INFO __main__: > Initializing weewx version 4.5.1 > Aug 2 14:36:59 localhost journal[2697]: weewx[2697] INFO __main__: Using > Python 3.6.8 (default, Mar 19 2021, 05:13:41) #012[GCC 8.4.1 20200928 (Red > Hat 8.4.1-1)] > Aug 2 14:36:59 localhost journal[2697]: weewx[2697] INFO __main__: > Platform Linux-4.18.0-305.10.2.el8_4.x86_64-x86_64-with-centos-8.4.2105 > Aug 2 14:36:59 localhost journal[2697]: weewx[2697] INFO __main__: Locale > is 'sv_SE.UTF-8' > Aug 2 14:36:59 localhost journal[2697]: weewx[2697] INFO __main__: PID > file is /var/run/weewx.pid > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO __main__: Using > configuration file /etc/weewx/weewx.conf > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO __main__: Debug > is 1 > Aug 2 14:36:59 localhost weewx[2688]: Starting weewx: [ OK ] > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO weewx.engine: > Loading station type Interceptor (user.interceptor) > Aug 2 14:36:59 localhost systemd[1]: Started SYSV: start and stop the > weewx weather system. > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO > user.interceptor: driver version is 0.53 > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO > user.interceptor: device type: ecowitt-client > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO > user.interceptor: mode is listen > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO > user.interceptor: listen on :8000 > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO > user.interceptor: sensor map: {'pressure': 'pressure', 'barometer': > 'barometer', 'outHumidity': 'humidity_out', 'inHumidity': 'humidity_in', > 'outTemp': 'temperature_out', 'inTemp': 'temperature_in', 'windSpeed': > 'wind_speed', 'windGust': 'wind_gust', 'windDir': 'wind_dir', > 'windGustDir': 'wind_gust_dir', 'radiation': 'solar_radiation', 'dewpoint': > 'dewpoint', 'windchill': 'windchill', 'rain': 'rain', 'rainRate': > 'rain_rate', 'UV': 'uv', 'txBatteryStatus': 'battery', 'extraTemp1': > 'temperature_1', 'extraTemp2': 'temperature_2', 'extraTemp3': > 'temperature_3', 'extraHumid1': 'humidity_1', 'extraHumid2': 'humidity_2', > 'soilTemp1': 'soil_temperature_1', 'soilTemp2': 'soil_temperature_2', > 'soilMoist1': 'soil_moisture_1', 'soilMoist2': 'soil_moisture_2', > 'soilMoist3': 'soil_moisture_3', 'soilMoist4': 'soil_moisture_4', > 'leafWet1': 'leafwetness_1', 'leafWet2': 'leafwetness_2', 'pm2_5': 'pm2_5', > 'extraTemp4': 'temperature_4', 'extraTemp5': 'temperature_5', 'extraTemp6': > 'temperature_6', 'extraTemp7': 'temperature_7', 'extraTemp8': > 'temperature_8', 'extraHumid3': 'humidity_3', 'extraHumid4': 'humidity_4', > 'extraHumid5': 'humidity_5', 'extraHumid6': 'humidity_6', 'extraHumid7': > 'humidity_7', 'extraHumid8': 'humidity_8', 'soilTemp3': > 'soil_temperature_3', 'soilTemp4': 'soil_temperature_4'} > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO weewx.engine: > StdConvert target unit is 0x1 > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO weewx.engine: > Archive will use data binding wx_binding > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO weewx.engine: > Record generation will be attempted in 'hardware' > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO weewx.engine: > Using archive interval of 300 seconds (specified in weewx configuration) > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO weewx.restx: > StationRegistry: Registration not requested. > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO weewx.restx: > Wunderground: Posting not enabled. > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO weewx.restx: > PWSweather: Posting not enabled. > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO weewx.restx: > CWOP: Posting not enabled. > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO weewx.restx: > WOW: Posting not enabled. > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO weewx.restx: > AWEKAS: Posting not enabled. > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO __main__: > Starting up weewx version 4.5.1 > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO weewx.engine: > Using binding 'wx_binding' to database 'weewx.sdb' > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO weewx.manager: > Starting backfill of daily summaries > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO weewx.manager: > Daily summaries up to date > Aug 2 14:36:59 localhost journal[2701]: weewx[2701] INFO weewx.engine: > Starting main packet loop. > > After that there are no more log entries. Been running about 10 minutes > now. > > systemctr status weewx gives the following info: > ● weewx.service - SYSV: start and stop the weewx weather system > Loaded: loaded (/etc/rc.d/init.d/weewx; generated) > Active: active (running) since Mon 2021-08-02 14:36:59 CEST; 10min ago > Docs: man:systemd-sysv-generator(8) > Process: 2671 ExecStop=/etc/rc.d/init.d/weewx stop (code=exited, > status=0/SUCCESS) > Process: 2688 ExecStart=/etc/rc.d/init.d/weewx start (code=exited, > status=0/SUCCESS) > Tasks: 2 (limit: 11377) > Memory: 13.5M > CGroup: /system.slice/weewx.service > └─2701 python3 /usr/share/weewx/weewxd --daemon > --pidfile=/var/run/weewx.pid /etc/weewx/weewx.conf > > aug 02 14:45:29 localhost.localdomain python3[2701]: weewx[2701] DEBUG > user.interceptor: empty queue > aug 02 14:45:39 localhost.localdomain python3[2701]: weewx[2701] DEBUG > user.interceptor: empty queue > aug 02 14:45:49 localhost.localdomain python3[2701]: weewx[2701] DEBUG > user.interceptor: empty queue > aug 02 14:45:59 localhost.localdomain python3[2701]: weewx[2701] DEBUG > user.interceptor: empty queue > aug 02 14:46:09 localhost.localdomain python3[2701]: weewx[2701] DEBUG > user.interceptor: empty queue > aug 02 14:46:19 localhost.localdomain python3[2701]: weewx[2701] DEBUG > user.interceptor: empty queue > aug 02 14:46:29 localhost.localdomain python3[2701]: weewx[2701] DEBUG > user.interceptor: empty queue > aug 02 14:46:39 localhost.localdomain python3[2701]: weewx[2701] DEBUG > user.interceptor: empty queue > aug 02 14:46:49 localhost.localdomain python3[2701]: weewx[2701] DEBUG > user.interceptor: empty queue > aug 02 14:46:59 localhost.localdomain python3[2701]: weewx[2701] DEBUG > user.interceptor: empty queue > > According to Wireshark the weather station connects to WeeWX every minute, > but receives the 400 error code. > Stopping WeeWX, Wireshark now shows that the weather station instead of > the SYN ACK response to the low level TCP handshake instead receives a RST > ACK, indicating that the port now is closed for communication. > > Konrad > måndag 2 augusti 2021 kl. 13:02:50 UTC+2 skrev gjr80: > >> Have a look in the other log files on your system, it should be there >> somewhere. When running the interceptor driver directly the (WeeWX) logging >> setup is somewhat abbreviated so it could be different to when WeeWX is >> run. >> >> Gary >> >> On Monday, 2 August 2021 at 20:47:01 UTC+10 Konrad Skeri Ekblad wrote: >> >>> If I start WeeXW (still using simulator driver) I get its log messages >>> in /var/log/messages, however, running the interceptor driver directly does >>> not produce any output in this log file. >>> >>> Konrad >>> >>> måndag 2 augusti 2021 kl. 12:22:05 UTC+2 skrev gjr80: >>> >>>> When you just ran the interceptor driver directly there should have >>>> been output to the console as well as log output in the WeeWX log, not >>>> sure >>>> what log file it will be in as I am not a Centos user. Can you please post >>>> the log output exactly as it appears in the log. >>>> >>>> Gary >>>> >>>> On Monday, 2 August 2021 at 19:17:12 UTC+10 Konrad Skeri Ekblad wrote: >>>> >>>>> I did a complete reinstallation of the server with Centos 8. Fresh >>>>> install of WeeWX from repository using yum as described on web page. >>>>> Installed interceptor driver according to set up instructions. >>>>> Running PYTHONPATH=/usr/share/weewx python3 user/interceptor.py >>>>> --debug --port=8000 --device=ecowitt-client for almost an hour only >>>>> gives the following output: >>>>> >>>>> raw data: >>>>> raw packet: {'dateTime': 1627891880, 'usUnits': 1} >>>>> mapped packet: {'dateTime': 1627891880, 'usUnits': 1} >>>>> >>>>> Using Wireshark to monitor the network traffic I notice this: >>>>> Weatherstation to WeeWX server: >>>>> POST HTTP/1.1 >>>>> HOST: 192.168.129.10 >>>>> Connection: Close >>>>> Content-Type: application/x-www-form-urlencoded >>>>> Content-Length: 415 >>>>> >>>>> PASSKEY=**replaced**&stationtype=EasyWeatherV1.6.0&dateutc=2021-08-02+08:11:21&tempinf=77.5&humidityin=42&baromrelin=29.894&baromabsin=29.374&tempf=59.9&humidity=76&winddir=25&windspeedmph=2.7&windgustmph=3.4&maxdailygust=6.9&rainratein=0.000&eventrainin=0.000&hourlyrainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=0.000&totalrainin=53.673&solarradiation=355.26&uv=3&model=WS2900 >>>>> >>>>> Response from WeeWX server: >>>>> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" >>>>> "http://www.w3.org/TR/html4/strict.dtd"> >>>>> <html> >>>>> <head> >>>>> <meta http-equiv="Content-Type" >>>>> content="text/html;charset=utf-8"> >>>>> <title>Error response</title> >>>>> </head> >>>>> <body> >>>>> <h1>Error response</h1> >>>>> <p>Error code: 400</p> >>>>> <p>Message: Bad HTTP/0.9 request type ('POST').</p> >>>>> <p>Error code explanation: HTTPStatus.BAD_REQUEST - Bad >>>>> request syntax or unsupported method.</p> >>>>> </body> >>>>> </html> >>>>> >>>>> According to WireShark there is this communication about once each >>>>> minute, but I have only one entry in the terminal. >>>>> onsdag 28 juli 2021 kl. 02:24:31 UTC+2 skrev gjr80: >>>>> >>>>>> You have changed many things in your setup and even though you appear >>>>>> to have reverted to your original working configuration I would be >>>>>> starting >>>>>> from scratch as per the interceptor drive readme.I would be running the >>>>>> driver directly and then making sure you use the —debug command line >>>>>> option. Post the console output here. Let’s see where that gets us. >>>>>> >>>>>> Gary >>>>>> On Wednesday, 28 July 2021 at 08:20:26 UTC+10 Konrad Skeri Ekblad >>>>>> wrote: >>>>>> >>>>>>> I have been using weewx on a Raspberry Pi for about two years now. >>>>>>> After my old Fine Offset died soon after I moved from pywws I bought a >>>>>>> Eurochron WS2900 which I got running using the interceptor driver, and >>>>>>> that >>>>>>> worked fine until the weather station stopped giving temperature >>>>>>> readings >>>>>>> this winter. I was able to fix that last week (bad connector on the >>>>>>> cable >>>>>>> from the temperature sensor to the circuit board in the sensor array) >>>>>>> but >>>>>>> when I reconnected it to weewx I started to experience various odd >>>>>>> things. >>>>>>> The unit shows correct data on its display and sends data to weewx, and >>>>>>> the >>>>>>> webpages rendered by weewx are correct (e.g. temperature ranging >>>>>>> between >>>>>>> 16°C and 28°C the other day) but the temperatures sent to Windy (and >>>>>>> others) by weewx varies from -2°C to 21°C for the same day. Thinking >>>>>>> that >>>>>>> there might be some API change or something during the half year my >>>>>>> station >>>>>>> was offline, and that I for some time have had thoughts of moving it to >>>>>>> a >>>>>>> virtual server on my ESXi station anyway, I set up a Centos 8 machine >>>>>>> and >>>>>>> installed weewx on it. Simulator works fine, but using the same >>>>>>> interceptor >>>>>>> settings as on my Raspberry Pi I don't get any data (IP updated in the >>>>>>> weather station settings). >>>>>>> >>>>>>> Using >>>>>>> PYTHONPATH=/usr/share/weewx python3 -m user.interceptor --debug >>>>>>> --mode=listen --port=8000 --device=ecowitt-client >>>>>>> I was able to once capture this after listening maybe one hour: >>>>>>> raw data: >>>>>>> raw packet: {'dateTime': 1627416663, 'usUnits': 1} >>>>>>> mapped packet: {'dateTime': 1627416663, 'usUnits': 1} >>>>>>> Yay! A timestamp! >>>>>>> >>>>>>> Trying to connect to port 8000 from another computer in the network >>>>>>> shows that the port is open. >>>>>>> >>>>>>> Thinking there is some problem with the weather station I have >>>>>>> reseted it, but no change. The device is by itself directly uploading >>>>>>> to >>>>>>> Weather Underground and some other sites, and that works. >>>>>>> >>>>>>> Frustrated I one again change the local IP the weather station >>>>>>> should send data to to the Raspberry Pi, but now I don't get any data >>>>>>> there >>>>>>> at all. >>>>>>> >>>>>>> This is the interceptor settings of weewx.conf: >>>>>>> >>>>>>> … >>>>>>> station_type = Interceptor >>>>>>> … >>>>>>> >>>>>>> ############################################################################## >>>>>>> >>>>>>> [Interceptor] >>>>>>> # This section is for the network traffic interceptor driver. >>>>>>> >>>>>>> # The driver to use: >>>>>>> driver = user.interceptor >>>>>>> >>>>>>> # Specify the hardware device to capture. Options include: >>>>>>> # acurite-bridge - acurite internet bridge, smarthub, or access >>>>>>> # observer - fine offset WH2600/HP1000/HP1003, ambient WS2902 >>>>>>> # lw30x - oregon scientific LW301/LW302 >>>>>>> # lacrosse-bridge - lacrosse GW1000U/C84612 internet bridge >>>>>>> # wu-client - any hardware that uses the weather underground >>>>>>> protocol >>>>>>> # device_type = observer >>>>>>> device_type = ecowitt-client >>>>>>> port = 8000 >>>>>>> >>>>>>> >>>>>>> ############################################################################## >>>>>>> >>>>>>> I'm not sure what more is relevant logs to post. >>>>>>> I see no dropped packages originating from the weather station in >>>>>>> the firewall log. >>>>>>> >>>>>>> Does anyone have any idea how I should proceed or what I should try? >>>>>>> >>>>>>> regards >>>>>>> Konrad Skeri Ekblad >>>>>>> >>>>>> -- > 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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/weewx-user/aeab950d-a2c4-4039-8750-b03b9b21fa64n%40googlegroups.com > > <https://groups.google.com/d/msgid/weewx-user/aeab950d-a2c4-4039-8750-b03b9b21fa64n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/fd503c01-014a-4fe9-bd99-db3de185272dn%40googlegroups.com.
