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.

Reply via email to