Thanks. I would have gotten there eventually…. but Vince deserves the credit.
re: lightning_last_det_time What are you ‘using’ (skin, application…) to display it? Ideally that would do the formatting… rich On Friday, 21 August 2026 at 17:04:14 UTC-4 Christian Peters wrote: > Rich, > > you nailed it, now it's working. > Here is my working config: > > ## Ecowitt Lighting sensor WH57 via GW1200A MQTT > > [[[ecowitt/gw1000]]] # The topic you are subscribing to > subscribe = True > ignore = True #THIS - we are ignoring everything by default > [[[[message]]]] > type = keyword > keyword_delimiter = & # THIS, which we already fixed > # map MQTT field to WeeWX database field > [[[[lightning]]]] > name = lightning_dist > ignore = False # THIS, we are opting in to this field > [[[[lightning_num]]]] > name = lightning_strike_count > ignore = False # THIS, we are opting in to this field > [[[[lightning_time]]]] > name = lightning_last_det_time > ignore = False # THIS, we are opting in to this field > > Thanks for your help Vince and Rich! > > One additional question: > > "lightning_last_det_time" seems to be unix time!? Is there a way to get > the readable time somehow nicely displayed in my index.html.tmpl file > (e.g. 1787332508,000000 to 21.08.2026 - 19:15:08)...!? > > Regards, > > Christian > > > > > Am 21.08.26 um 22:03 schrieb [email protected]: > > So, that looks like what I expected. We just need to ignore the 'header' > > information. Basically invert your config to ignore everything and then > > specify what you want. > > Vince noted this here, > > https://groups.google.com/g/weewx-user/c/TWhDFldWAYU/m/4I9bPfHVAAAJ > > Which references https://groups.google.com/g/weewx-user/c/eLWbFnfWEfg > > Which has an attachment to start from > > > > Note the important high level points are > > > > [[topics]] > > unit_system = US # NOTE, use your unit system of interest > > [[[GW1200]]] # NOTE, use your topic > > subscribe = True > > ignore = True #THIS - we are ignoring everything by default > > [[[[message]]]] > > type = keyword > > keyword_delimiter = & # THIS, which we already fixed > > > > [[[[tempinf]]]] # NOTE, use your field(s) of interest > > name = inTemp > > ignore = False # THIS, we are opting in to this field > > > > rich > > > > On Friday, 21 August 2026 at 15:50:13 UTC-4 Christian Peters wrote: > > > >> Vince, > >> > >> thanks for the suggestion, but sadly still not working with changed > >> quoting: > >> > >> 2026-08-21T21:41:42.854096+02:00 weewx weewxd[2092923]: DEBUG > >> user.MQTTSubscribe: (Service) MessageCallbackProvider data-> incoming > >> topic: ecowitt/gw1000, QOS: 0, retain: False, payload: b'POST > >> /data/ip_api/ HTTP/1.1\r\nHOST: cdnrtpdate.ecowitt.net\r\nConnection: > >> Close\r\nContent-Type: > >> application/x-www-form-urlencoded\r\nContent-Length: > >> > >> > 353\r\n\r\nPASSKEY=7EDF1C083D41E2564A22B916BBD1979C&stationtype=GW1200A_V1.4.8&runtime=1868641&heap=88084&dateutc=2026-08-21+19%3A41%3A42&dns_err_cnt=2&cdnflg=1&adc=1007,987,987,987,988&freq_volt=758&tempinf=73.40&humidityin=44&baromrelin=29.914&baromabsin=28.443&lightning_num=1&lightning=14&lightning_time=1787332508&wh57batt=5&freq=868M&model=GW1200A&interval=0' > >> 2026-08-21T21:41:42.854498+02:00 weewx weewxd[2092923]: ERROR > >> user.MQTTSubscribe: (Service) MessageCallbackProvider on_message_keyword > >> failed to find separator: & > >> 2026-08-21T21:41:42.854745+02:00 weewx weewxd[2092923]: ERROR > >> user.MQTTSubscribe: (Service) **** MessageCallbackProvider Skipping > >> field=POST /data/ip_api/ HTTP/1.1#015#012HOST: > >> cdnrtpdate.ecowitt.net#015#012Connection > <http://cdnrtpdate.ecowitt.net#015%23012Connection> > >> <http://cdnrtpdate.ecowitt.net#015%23012Connection>: > >> Close#015#012Content-Type: > >> application/x-www-form-urlencoded#015#012Content-Length: > >> 353#015#012#015#012PASSKEY > >> 2026-08-21T21:41:42.854849+02:00 weewx weewxd[2092923]: ERROR > >> user.MQTTSubscribe: (Service) MessageCallbackProvider on_message_keyword > >> failed to find separator: & > >> 2026-08-21T21:41:42.854927+02:00 weewx weewxd[2092923]: ERROR > >> user.MQTTSubscribe: (Service) **** MessageCallbackProvider Skipping > field=0 > >> 2026-08-21T21:41:42.855017+02:00 weewx weewxd[2092923]: ERROR > >> user.MQTTSubscribe: (Service) MessageCallbackProvider on_message_keyword > >> failed to find data in: topic=ecowitt/gw1000 and payload=b'POST > >> /data/ip_api/ HTTP/1.1\r\nHOST: cdnrtpdate.ecowitt.net\r\nConnection: > >> Close\r\nContent-Type: > >> application/x-www-form-urlencoded\r\nContent-Length: > >> > >> > 353\r\n\r\nPASSKEY=7EDF1C083D41E2564A22B916BBD1979C&stationtype=GW1200A_V1.4.8&runtime=1868641&heap=88084&dateutc=2026-08-21+19%3A41%3A42&dns_err_cnt=2&cdnflg=1&adc=1007,987,987,987,988&freq_volt=758&tempinf=73.40&humidityin=44&baromrelin=29.914&baromabsin=28.443&lightning_num=1&lightning=14&lightning_time=1787332508&wh57batt=5&freq=868M&model=GW1200A&interval=0' > >> > >> Am 21.08.26 um 17:53 schrieb Vince Skahan: > >>> Try quoting & so it looks like ‘&’ > >>> > >>> On Thursday, August 20, 2026 at 10:05:00 PM UTC-7 Christian Peters > wrote: > >>> > >>>> Rich, > >>>> > >>>> I changed > >>>> [[[[message]]]] > >>>> type = keyword > >>>> keyword_separator = "&" > >>>> > >>>> but still get this... > >>>> : > >>>> 2026-08-21T06:23:41.504828+02:00 weewx weewxd[1997621]: DEBUG > >>>> user.MQTTSubscribe: (Service) MessageCallbackProvider data-> incoming > >>>> topic: ecowitt/gw1000, QOS: 0, retain: False, payload: b'POST > >>>> /data/ip_api/ HTTP/1.1\r\nHOST: cdnrtpdate.ecowitt.net\r\nConnection: > >>>> Close\r\nContent-Type: > >>>> application/x-www-form-urlencoded\r\nContent-Length: > >>>> > >>>> > >> > 353\r\n\r\nPASSKEY=7EDF1C083D41E2564A22B916BBD1979C&stationtype=GW1200A_V1.4.8&runtime=1813561&heap=88084&dateutc=2026-08-21+04%3A23%3A41&dns_err_cnt=2&cdnflg=1&adc=1007,987,987,987,988&freq_volt=758&tempinf=73.58&humidityin=45&baromrelin=29.831&baromabsin=28.367&lightning_num=0&lightning=34&lightning_time=1787171122&wh57batt=5&freq=868M&model=GW1200A&interval=0' > >>>> 2026-08-21T06:23:41.505265+02:00 weewx weewxd[1997621]: ERROR > >>>> user.MQTTSubscribe: (Service) MessageCallbackProvider > on_message_keyword > >>>> failed with <class 'user.MQTTSubscribe.ConversionError'> and reason > >>>> Failed converting field POST /data/ip_api/ HTTP/1.1#015#012HOST: > >>>> cdnrtpdate.ecowitt.net#015#012Connection > <http://cdnrtpdate.ecowitt.net#015%23012Connection> > >> <http://cdnrtpdate.ecowitt.net#015%23012Connection> > >>>> <http://cdnrtpdate.ecowitt.net#015%23012Connection>: > >>>> Close#015#012Content-Type: > >>>> application/x-www-form-urlencoded#015#012Content-Length: > >>>> 353#015#012#015#012PASSKEY=7EDF1C083D41E2564A22B916BBD1979C with value > >>>> > >> > stationtype=GW1200A_V1.4.8&runtime=1813561&heap=88084&dateutc=2026-08-21+04%3A23%3A41&dns_err_cnt=2&cdnflg=1&adc=1007 > >>>> > >>>> using 'lambda x: to_float(x)' with reason could not convert string to > >>>> float: > >>>> > >>>> > >> > 'stationtype=GW1200A_V1.4.8&runtime=1813561&heap=88084&dateutc=2026-08-21+04%3A23%3A41&dns_err_cnt=2&cdnflg=1&adc=1007'.. > >>>> 2026-08-21T06:23:41.505668+02:00 weewx weewxd[1997621]: ERROR > >>>> user.MQTTSubscribe: (Service) **** MessageCallbackProvider Ignoring > >>>> topic=ecowitt/gw1000 and payload=b'POST /data/ip_api/ > HTTP/1.1\r\nHOST: > >>>> cdnrtpdate.ecowitt.net\r\nConnection: Close\r\nContent-Type: > >>>> application/x-www-form-urlencoded\r\nContent-Length: > >>>> > >>>> > >> > 353\r\n\r\nPASSKEY=7EDF1C083D41E2564A22B916BBD1979C&stationtype=GW1200A_V1.4.8&runtime=1813561&heap=88084&dateutc=2026-08-21+04%3A23%3A41&dns_err_cnt=2&cdnflg=1&adc=1007,987,987,987,988&freq_volt=758&tempinf=73.58&humidityin=45&baromrelin=29.831&baromabsin=28.367&lightning_num=0&lightning=34&lightning_time=1787171122&wh57batt=5&freq=868M&model=GW1200A&interval=0' > >>>> 2026-08-21T06:23:41.508993+02:00 weewx weewxd[1997621]: ERROR > >>>> user.MQTTSubscribe: (Service) **** MessageCallbackProvider Traceback > >>>> (most recent call last):#012 File > >>>> "/etc/weewx/bin/user/MQTTSubscribe.py", line 1441, in > _convert_value#012 > >>>> return conversion_func['compiled'](value)#012 > >>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^#012 File "<string>", line 1, in > >>>> <lambda>#012 File "/usr/share/weewx/weeutil/weeutil.py", line 1585, in > >>>> to_float#012 return float(x) if x is not None else None#012 > >>>> ~~~~~^^^#012ValueError: could not convert string to float: > >>>> > >> > 'stationtype=GW1200A_V1.4.8&runtime=1813561&heap=88084&dateutc=2026-08-21+04%3A23%3A41&dns_err_cnt=2&cdnflg=1&adc=1007'#012#012The > >>>> > >>>> above exception was the direct cause of the following > >>>> exception:#012#012Traceback (most recent call last):#012 File > >>>> "/etc/weewx/bin/user/MQTTSubscribe.py", line 1560, in > >>>> _on_message_keyword#012 (fieldname, value) = self._update_data(key, > >>>> field[eq_index + 1:].strip(), fields, fields_conversion_func, > >>>> unit_system)#012 > >>>> > >> > ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#012 > >>>> > >>>> File "/etc/weewx/bin/user/MQTTSubscribe.py", line 1400, in > >>>> _update_data#012 value = self._convert_value(fields, > >>>> default_field_conversion_func, orig_name, orig_value)#012 File > >>>> "/etc/weewx/bin/user/MQTTSubscribe.py", line 1446, in > _convert_value#012 > >>>> raise ConversionError(#012 f"Failed converting field {field} > >>>> with value {value} using '{conversion_func['source']}' with reason > >>>> {exception}.")\#012 from > >>>> exception#012user.MQTTSubscribe.ConversionError: Failed converting > field > >>>> POST /data/ip_api/ HTTP/1.1#015#012HOST: > >>>> cdnrtpdate.ecowitt.net#015#012Connection > <http://cdnrtpdate.ecowitt.net#015%23012Connection> > >> <http://cdnrtpdate.ecowitt.net#015%23012Connection> > >>>> <http://cdnrtpdate.ecowitt.net#015%23012Connection>: > >>>> Close#015#012Content-Type: > >>>> application/x-www-form-urlencoded#015#012Content-Length: > >>>> 353#015#012#015#012PASSKEY=7EDF1C083D41E2564A22B916BBD1979C with value > >>>> > >> > stationtype=GW1200A_V1.4.8&runtime=1813561&heap=88084&dateutc=2026-08-21+04%3A23%3A41&dns_err_cnt=2&cdnflg=1&adc=1007 > >>>> > >>>> using 'lambda x: to_float(x)' with reason could not convert string to > >>>> float: > >>>> > >>>> > >> > 'stationtype=GW1200A_V1.4.8&runtime=1813561&heap=88084&dateutc=2026-08-21+04%3A23%3A41&dns_err_cnt=2&cdnflg=1&adc=1007'. > >>>> > >>>> My config once more, I think it's quit simialr to tho one Vince posted > >>>> here, but I can't get the header stuff ignored....!? > >>>> > >>>> [[[ecowitt/gw1000]]] # The topic you are subscribing to > >>>> ignore = false > >>>> unit_system = METRICWX > >>>> [[[[message]]]] > >>>> type = keyword > >>>> keyword_separator = "&" > >>>> # map MQTT field to WeeWX database field > >>>> [[[[PASSKEY]]]] > >>>> ignore = True > >>>> [[[[stationtype]]]] > >>>> ignore = True > >>>> [[[[runtime]]]] > >>>> ignore = True > >>>> [[[[heap]]]] > >>>> ignore = True > >>>> [[[[dateutc]]]] > >>>> ignore = True > >>>> [[[[dns_err_cnt]]]] > >>>> ignore = True > >>>> [[[[cdnflg]]]] > >>>> ignore = True > >>>> [[[[adc]]]] > >>>> ignore = True > >>>> [[[[freq_volt]]]] > >>>> ignore = True > >>>> [[[[tempinf]]]] > >>>> ignore = True > >>>> [[[[humidityin]]]] > >>>> ignore = True > >>>> [[[[baromrelin]]]] > >>>> ignore = True > >>>> [[[[baromabsin]]]] > >>>> ignore = True > >>>> [[[[wh57batt]]]] > >>>> ignore = True > >>>> [[[[freq]]]] > >>>> ignore = True > >>>> [[[[model]]]] > >>>> ignore = True > >>>> [[[[interval]]]] > >>>> ignore = True > >>>> [[[[lightning]]]] > >>>> name = lightning_dist > >>>> [[[[lightning_num]]]] > >>>> name = lightning_strike_count > >>>> [[[[lightning_time]]]] > >>>> name = lightning_last_det_time > >>>> > >>>> The problem is I run an VP2pro and want' to use a service to only get > >>>> the lightning data, not inTemp, barometer which are provided too and > >>>> woul normaly map to the values which are reserved by the VP2pro. > >>>> As MQTTsubscribe works great here for 3 other sensors I would prefer > >>>> this way to map only the lightning data into weeewx. > >>>> > >>>> I changeded to posted config of vinve withe ignore = true in the head > of > >>>> the config section, but even no success: > >>>> > >>>> [[[ecowitt/gw1000]]] # The topic you are subscribing to > >>>> ignore = true > >>>> unit_system = METRICWX > >>>> [[[[message]]]] > >>>> type = keyword > >>>> keyword_separator = & > >>>> # map MQTT field to WeeWX database field > >>>> [[[[lightning]]]] > >>>> name = lightning_dist > >>>> [[[[lightning_num]]]] > >>>> name = lightning_strike_count > >>>> [[[[lightning_time]]]] > >>>> name = lightning_last_det_time > >>>> > >>>> but still get: > >>>> > >>>> 2026-08-21T06:48:41.813181+02:00 weewx weewxd[1999785]: DEBUG > >>>> user.MQTTSubscribe: (Service) MessageCallbackProvider data-> incoming > >>>> topic: > >>>> > >> > application/d11a28e3-f97a-4866-949d-e07ab9aad18e/device/a84041dce189f0e9/event/up, > >>>> > >>>> QOS: 0, retain: False, payload: > >>>> > >> > b'{"deduplicationId":"b116d097-fea0-491d-8325-ad34cec1d851","time":"2026-08-21T04:48:33.082033+00:00","deviceInfo":{"tenantId":"52f14cd4-c6f1-4fbd-8f87-4025e1d49242","tenantName":"ChirpStack","applicationId":"d11a28e3-f97a-4866-949d-e07ab9aad18e","applicationName":"temp-hum-app","deviceProfileId":"9f4e5931-3788-474a-b996-29471906dee9","deviceProfileName":"Temperatur+Feuchte","deviceName":"LHT65N-1-Gew\xc3\xa4chshaus","devEui":"a84041dce189f0e9","deviceClassEnabled":"CLASS_A","tags":{}},"devAddr":"012b1ebf","adr":true,"dr":5,"fCnt":39440,"fPort":2,"confirmed":false,"data":"ilgE/AMVAgTXf/8=","object":{"TempC_SHT":12.76,"Hum_SHT":78.9,"TempC_TMP117":12.39,"Bat_status":2.0,"BatV":2.648,"Ext_sensor":"Temperature > >>>> > >>>> > >>>> > >> > Sensor"},"rxInfo":[{"gatewayId":"4a364b5196414b32","uplinkId":46593,"gwTime":"2026-08-21T04:48:33.082033+00:00","nsTime":"2026-08-21T04:48:41.593856062+00:00","rssi":-51,"snr":10.0,"channel":3,"location":{},"context":"M0ilZA==","crcStatus":"CRC_OK"}],"txInfo":{"frequency":867100000,"modulation":{"lora":{"bandwidth":125000,"spreadingFactor":7,"codeRate":"CR_4_5"}}},"regionConfigId":"eu868"}' > >>>> 2026-08-21T06:48:41.813953+02:00 weewx weewxd[1999785]: DEBUG > >>>> user.MQTTSubscribe: (Service) TopicManager data-> incoming > >>>> > >> > application/d11a28e3-f97a-4866-949d-e07ab9aad18e/device/a84041dce189f0e9/event/up: > >>>> > >>>> batteryStatus7: 2.648, extraHumid7: 78.9, extraTemp7: 12.39, > extraTemp8: > >>>> 12.76 > >>>> 2026-08-21T06:48:41.825132+02:00 weewx weewxd[1999785]: DEBUG > >>>> user.MQTTSubscribe: (Service) MessageCallbackProvider data-> incoming > >>>> topic: ecowitt/gw1000, QOS: 0, retain: False, payload: b'POST > >>>> /data/ip_api/ HTTP/1.1\r\nHOST: cdnrtpdate.ecowitt.net\r\nConnection: > >>>> Close\r\nContent-Type: > >>>> application/x-www-form-urlencoded\r\nContent-Length: > >>>> > >>>> > >> > 353\r\n\r\nPASSKEY=7EDF1C083D41E2564A22B916BBD1979C&stationtype=GW1200A_V1.4.8&runtime=1815061&heap=88084&dateutc=2026-08-21+04%3A48%3A41&dns_err_cnt=2&cdnflg=1&adc=1007,987,987,987,988&freq_volt=758&tempinf=73.22&humidityin=44&baromrelin=29.822&baromabsin=28.358&lightning_num=0&lightning=34&lightning_time=1787171122&wh57batt=5&freq=868M&model=GW1200A&interval=0' > >>>> 2026-08-21T06:48:41.825628+02:00 weewx weewxd[1999785]: ERROR > >>>> user.MQTTSubscribe: (Service) MessageCallbackProvider > on_message_keyword > >>>> failed to find separator: & > >>>> 2026-08-21T06:48:41.825854+02:00 weewx weewxd[1999785]: ERROR > >>>> user.MQTTSubscribe: (Service) **** MessageCallbackProvider Skipping > >>>> field=987 > >>>> 2026-08-21T06:48:41.825988+02:00 weewx weewxd[1999785]: ERROR > >>>> user.MQTTSubscribe: (Service) MessageCallbackProvider > on_message_keyword > >>>> failed to find separator: & > >>>> 2026-08-21T06:48:41.826131+02:00 weewx weewxd[1999785]: ERROR > >>>> user.MQTTSubscribe: (Service) **** MessageCallbackProvider Skipping > >>>> field=987 > >>>> 2026-08-21T06:48:41.826233+02:00 weewx weewxd[1999785]: ERROR > >>>> user.MQTTSubscribe: (Service) MessageCallbackProvider > on_message_keyword > >>>> failed to find separator: & > >>>> 2026-08-21T06:48:41.826379+02:00 weewx weewxd[1999785]: ERROR > >>>> user.MQTTSubscribe: (Service) **** MessageCallbackProvider Skipping > >>>> field=987 > >>>> 2026-08-21T06:48:41.826475+02:00 weewx weewxd[1999785]: ERROR > >>>> user.MQTTSubscribe: (Service) MessageCallbackProvider > on_message_keyword > >>>> failed to find data in: topic=ecowitt/gw1000 and payload=b'POST > >>>> /data/ip_api/ HTTP/1.1\r\nHOST: cdnrtpdate.ecowitt.net\r\nConnection: > >>>> Close\r\nContent-Type: > >>>> application/x-www-form-urlencoded\r\nContent-Length: > >>>> > >>>> > >> > 353\r\n\r\nPASSKEY=7EDF1C083D41E2564A22B916BBD1979C&stationtype=GW1200A_V1.4.8&runtime=1815061&heap=88084&dateutc=2026-08-21+04%3A48%3A41&dns_err_cnt=2&cdnflg=1&adc=1007,987,987,987,988&freq_volt=758&tempinf=73.22&humidityin=44&baromrelin=29.822&baromabsin=28.358&lightning_num=0&lightning=34&lightning_time=1787171122&wh57batt=5&freq=868M&model=GW1200A&interval=0' > >>>> > >>>> > >>>> ...with this config: > >>>> > >>>> [[[ecowitt/gw1000]]] # The topic you are subscribing to > >>>> ignore = true > >>>> unit_system = METRICWX > >>>> [[[[message]]]] > >>>> type = keyword > >>>> keyword_delimiter = "=" > >>>> keyword_separator = & # The separator between the > >>>> > >>>> # map MQTT field to WeeWX database field > >>>> [[[[lightning]]]] > >>>> name = lightning_dist > >>>> [[[[lightning_num]]]] > >>>> name = lightning_strike_count > >>>> [[[[lightning_time]]]] > >>>> name = lightning_last_det_time > >>>> > >>>> Debug erreor: > >>>> 2026-08-21T06:59:41.690810+02:00 weewx weewxd[2001268]: DEBUG > >>>> user.MQTTSubscribe: (Service) MessageCallbackProvider data-> incoming > >>>> topic: > >>>> > >> > application/d11a28e3-f97a-4866-949d-e07ab9aad18e/device/a84041dce189f0e9/event/up, > >>>> > >>>> QOS: 0, retain: False, payload: > >>>> > >> > b'{"deduplicationId":"29498f1a-2764-4c2c-9558-e1ea3cce8cdc","time":"2026-08-21T04:59:32.946960+00:00","deviceInfo":{"tenantId":"52f14cd4-c6f1-4fbd-8f87-4025e1d49242","tenantName":"ChirpStack","applicationId":"d11a28e3-f97a-4866-949d-e07ab9aad18e","applicationName":"temp-hum-app","deviceProfileId":"9f4e5931-3788-474a-b996-29471906dee9","deviceProfileName":"Temperatur+Feuchte","deviceName":"LHT65N-1-Gew\xc3\xa4chshaus","devEui":"a84041dce189f0e9","deviceClassEnabled":"CLASS_A","tags":{}},"devAddr":"012b1ebf","adr":true,"dr":5,"fCnt":39451,"fPort":2,"confirmed":false,"data":"ilcE/wMTAgTRf/8=","object":{"TempC_TMP117":12.33,"TempC_SHT":12.79,"BatV":2.647,"Hum_SHT":78.7,"Bat_status":2.0,"Ext_sensor":"Temperature > >>>> > >>>> > >>>> > >> > Sensor"},"rxInfo":[{"gatewayId":"4a364b5196414b32","uplinkId":17921,"gwTime":"2026-08-21T04:59:32.946960+00:00","nsTime":"2026-08-21T04:59:41.471808901+00:00","rssi":-48,"snr":9.0,"channel":7,"location":{},"context":"Wp11DA==","crcStatus":"CRC_OK"}],"txInfo":{"frequency":867900000,"modulation":{"lora":{"bandwidth":125000,"spreadingFactor":7,"codeRate":"CR_4_5"}}},"regionConfigId":"eu868"}' > >>>> 2026-08-21T06:59:41.691374+02:00 weewx weewxd[2001268]: DEBUG > >>>> user.MQTTSubscribe: (Service) TopicManager data-> incoming > >>>> > >> > application/d11a28e3-f97a-4866-949d-e07ab9aad18e/device/a84041dce189f0e9/event/up: > >>>> > >>>> batteryStatus7: 2.647, extraHumid7: 78.7, extraTemp7: 12.33, > extraTemp8: > >>>> 12.79 > >>>> 2026-08-21T06:59:41.825419+02:00 weewx weewxd[2001268]: DEBUG > >>>> user.MQTTSubscribe: (Service) MessageCallbackProvider data-> incoming > >>>> topic: ecowitt/gw1000, QOS: 0, retain: False, payload: b'POST > >>>> /data/ip_api/ HTTP/1.1\r\nHOST: cdnrtpdate.ecowitt.net\r\nConnection: > >>>> Close\r\nContent-Type: > >>>> application/x-www-form-urlencoded\r\nContent-Length: > >>>> > >>>> > >> > 353\r\n\r\nPASSKEY=7EDF1C083D41E2564A22B916BBD1979C&stationtype=GW1200A_V1.4.8&runtime=1815721&heap=88084&dateutc=2026-08-21+04%3A59%3A41&dns_err_cnt=2&cdnflg=1&adc=1007,987,987,987,988&freq_volt=758&tempinf=73.22&humidityin=44&baromrelin=29.831&baromabsin=28.367&lightning_num=0&lightning=34&lightning_time=1787171122&wh57batt=5&freq=868M&model=GW1200A&interval=0' > >>>> 2026-08-21T06:59:41.825799+02:00 weewx weewxd[2001268]: ERROR > >>>> user.MQTTSubscribe: (Service) MessageCallbackProvider > on_message_keyword > >>>> failed to find separator: & > >>>> 2026-08-21T06:59:41.825965+02:00 weewx weewxd[2001268]: ERROR > >>>> user.MQTTSubscribe: (Service) **** MessageCallbackProvider Skipping > >>>> field=POST /data/ip_api/ HTTP/1.1#015#012HOST: > >>>> cdnrtpdate.ecowitt.net#015#012Connection > <http://cdnrtpdate.ecowitt.net#015%23012Connection> > >> <http://cdnrtpdate.ecowitt.net#015%23012Connection> > >>>> <http://cdnrtpdate.ecowitt.net#015%23012Connection>: > >>>> Close#015#012Content-Type: > >>>> application/x-www-form-urlencoded#015#012Content-Length: > >>>> 353#015#012#015#012PASSKEY > >>>> 2026-08-21T06:59:41.826091+02:00 weewx weewxd[2001268]: ERROR > >>>> user.MQTTSubscribe: (Service) MessageCallbackProvider > on_message_keyword > >>>> failed to find separator: & > >>>> 2026-08-21T06:59:41.826200+02:00 weewx weewxd[2001268]: ERROR > >>>> user.MQTTSubscribe: (Service) **** MessageCallbackProvider Skipping > >> field=0 > >>>> 2026-08-21T06:59:41.826344+02:00 weewx weewxd[2001268]: ERROR > >>>> user.MQTTSubscribe: (Service) MessageCallbackProvider > on_message_keyword > >>>> failed to find data in: topic=ecowitt/gw1000 and payload=b'POST > >>>> /data/ip_api/ HTTP/1.1\r\nHOST: cdnrtpdate.ecowitt.net\r\nConnection: > >>>> Close\r\nContent-Type: > >>>> application/x-www-form-urlencoded\r\nContent-Length: > >>>> > >>>> > >> > 353\r\n\r\nPASSKEY=7EDF1C083D41E2564A22B916BBD1979C&stationtype=GW1200A_V1.4.8&runtime=1815721&heap=88084&dateutc=2026-08-21+04%3A59%3A41&dns_err_cnt=2&cdnflg=1&adc=1007,987,987,987,988&freq_volt=758&tempinf=73.22&humidityin=44&baromrelin=29.831&baromabsin=28.367&lightning_num=0&lightning=34&lightning_time=1787171122&wh57batt=5&freq=868M&model=GW1200A&interval=0' > >>>> > >>>> > >>>> > >>>> Regards, > >>>> Christian > >>>> > >>>> Am 21.08.26 um 02:00 schrieb [email protected]: > >>>>> OK, lets start with changing keyword_delimeter = “&” to > >>>> keyword_separator = > >>>>> “&” and see what errors that gives. > >>>>> rich > >>>>> > >>>>> On Thursday, 20 August 2026 at 19:48:55 UTC-4 [email protected] > wrote: > >>>>> > >>>>>> Jeesh, its amazing what ‘people’ will ‘stuff’ into an MQTT message…. > >>>>>> The ‘header information’ (POST, HOST, etc.) is making ‘invalid > >> keyword’ > >>>>>> data for MQTTSubsribe. It’s obviously not json…. > >>>>>> It’s gonna’ take a bit of work to figure out how to best parse this. > >>>>>> rich > >>>>>> > >>>>>> > >>>>>> On Thursday, 20 August 2026 at 17:45:50 UTC-4 Christian Peters > wrote: > >>>>>> > >>>>>>> ...some more form the debug output: > >>>>>>> > >>>>>>> 2026-08-20T23:42:42.285624+02:00 weewx weewxd[1953952]: DEBUG > >>>>>>> user.MQTTSubscribe: (Service) MessageCallbackProvider data-> > incoming > >>>>>>> topic: ecowitt/gw1000, QOS: 0, retain: False, payload: b'POST > >>>> /data/ip_api/ > >>>>>>> HTTP/1.1\r\nHOST: cdnrtpdate.ecowitt.net\r\nConnection: > >>>>>>> Close\r\nContent-Type: > >>>> application/x-www-form-urlencoded\r\nContent-Length: > >>>>>>> > >>>> > >> > 353\r\n\r\nPASSKEY=7EDF1C083D41E2564A22B916BBD1979C&stationtype=GW1200A_V1.4.8&runtime=1789501&heap=88084&dateutc=2026-08-20+21%3A42%3A41&dns_err_cnt=2&cdnflg=1&adc=1007,987,987,987,988&freq_volt=758&tempinf=75.74&humidityin=44&baromrelin=29.849&baromabsin=28.381&lightning_num=0&lightning=34&lightning_time=1787171122&wh57batt=5&freq=868M&model=GW1200A&interval=0' > >>>>>>> 2026-08-20T23:42:42.286317+02:00 weewx weewxd[1953952]: ERROR > >>>>>>> user.MQTTSubscribe: (Service) MessageCallbackProvider > >>>> on_message_keyword > >>>>>>> failed to find separator: & > >>>>>>> 2026-08-20T23:42:42.287209+02:00 weewx weewxd[1953952]: ERROR > >>>>>>> user.MQTTSubscribe: (Service) **** MessageCallbackProvider Skipping > >>>>>>> field=POST /data/ip_api/ HTTP/1.1#015#012HOST: > >>>>>>> cdnrtpdate.ecowitt.net#015#012Connection > <http://cdnrtpdate.ecowitt.net#015%23012Connection> > >> <http://cdnrtpdate.ecowitt.net#015%23012Connection> > >>>> <http://cdnrtpdate.ecowitt.net#015%23012Connection> > >>>>>>> <http://cdnrtpdate.ecowitt.net#015%23012Connection>: > >>>>>>> Close#015#012Content-Type: > >>>>>>> application/x-www-form-urlencoded#015#012Content-Length: > >>>>>>> 353#015#012#015#012PASSKEY > >>>>>>> 2026-08-20T23:42:42.287600+02:00 weewx weewxd[1953952]: ERROR > >>>>>>> user.MQTTSubscribe: (Service) MessageCallbackProvider > >>>> on_message_keyword > >>>>>>> failed with <class 'user.MQTTSubscribe.ConversionError'> and reason > >>>> Failed > >>>>>>> converting field 7EDF1C083D41E2564A22B916BBD1979C with value > >>>> stationtype > >>>>>>> using 'lambda x: to_float(x)' with reason could not convert string > to > >>>>>>> float: 'stationtype'.. > >>>>>>> 2026-08-20T23:42:42.287951+02:00 weewx weewxd[1953952]: ERROR > >>>>>>> user.MQTTSubscribe: (Service) **** MessageCallbackProvider Ignoring > >>>>>>> topic=ecowitt/gw1000 and payload=b'POST /data/ip_api/ > >> HTTP/1.1\r\nHOST: > >>>>>>> cdnrtpdate.ecowitt.net\r\nConnection: Close\r\nContent-Type: > >>>>>>> application/x-www-form-urlencoded\r\nContent-Length: > >>>>>>> > >>>> > >> > 353\r\n\r\nPASSKEY=7EDF1C083D41E2564A22B916BBD1979C&stationtype=GW1200A_V1.4.8&runtime=1789501&heap=88084&dateutc=2026-08-20+21%3A42%3A41&dns_err_cnt=2&cdnflg=1&adc=1007,987,987,987,988&freq_volt=758&tempinf=75.74&humidityin=44&baromrelin=29.849&baromabsin=28.381&lightning_num=0&lightning=34&lightning_time=1787171122&wh57batt=5&freq=868M&model=GW1200A&interval=0' > >>>>>>> 2026-08-20T23:42:42.291204+02:00 weewx weewxd[1953952]: ERROR > >>>>>>> user.MQTTSubscribe: (Service) **** MessageCallbackProvider > Traceback > >>>> (most > >>>>>>> recent call last):#012 File "/etc/weewx/bin/user/MQTTSubscribe.py", > >>>> line > >>>>>>> 1441, in _convert_value#012 return > >>>>>>> conversion_func['compiled'](value)#012 > >>>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^#012 File "<string>", line 1, in > >>>>>>> <lambda>#012 File "/usr/share/weewx/weeutil/weeutil.py", line 1585, > >> in > >>>>>>> to_float#012 return float(x) if x is not None else None#012 > >>>>>>> ~~~~~^^^#012ValueError: could not convert string to float: > >>>>>>> 'stationtype'#012#012The above exception was the direct cause of > the > >>>>>>> following exception:#012#012Traceback (most recent call last):#012 > >> File > >>>>>>> "/etc/weewx/bin/user/MQTTSubscribe.py", line 1560, in > >>>>>>> _on_message_keyword#012 (fieldname, value) = self._update_data(key, > >>>>>>> field[eq_index + 1:].strip(), fields, fields_conversion_func, > >>>>>>> unit_system)#012 > >>>>>>> > >>>> > >> > ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#012 > >>>>>>> File "/etc/weewx/bin/user/MQTTSubscribe.py", line 1400, in > >>>>>>> _update_data#012 value = self._convert_value(fields, > >>>>>>> default_field_conversion_func, orig_name, orig_value)#012 File > >>>>>>> "/etc/weewx/bin/user/MQTTSubscribe.py", line 1446, in > >>>> _convert_value#012 > >>>>>>> raise ConversionError(#012 f"Failed converting field {field} with > >>>>>>> value {value} using '{conversion_func['source']}' with reason > >>>>>>> {exception}.")\#012 from > >>>>>>> exception#012user.MQTTSubscribe.ConversionError: Failed converting > >>>> field > >>>>>>> 7EDF1C083D41E2564A22B916BBD1979C with value stationtype using > 'lambda > >>>> x: > >>>>>>> to_float(x)' with reason could not convert string to float: > >>>> 'stationtype'. > >>>>>>> > >>>>>>> Christian Peters schrieb am Donnerstag, 20. August 2026 um 23:39:14 > >>>> UTC+2: > >>>>>>> > >>>>>>>> Hi all, > >>>>>>>> > >>>>>>>> I just tried to integrate a lightning sensor attached to the > GW1200 > >>>>>>>> Gateway into weewx with MQTTSubscribe > >>>>>>>> < > >>>> > >> > https://github.com/bellrichm/WeeWX-MQTTSubscribe/blob/master/bin/user/MQTTSubscribe.py > >>>>> > >>>>>>>> . > >>>>>>>> I enablede MQTT in the GW1200 but I struggle to get the data > parsed. > >>>>>>>> > >>>>>>>> The problem seems to be this added header in the MQTT message..?! > >>>>>>>> Any chance to get it working I didn't find a solution. > >>>>>>>> > >>>>>>>> The MQTT message from the GW1200: > >>>>>>>> > >>>>>>>> POST /data/ip_api/ HTTP/1.1 > >>>>>>>> HOST: cdnrtpdate.ecowitt.net > >>>>>>>> Connection: Close > >>>>>>>> Content-Type: application/x-www-form-urlencoded > >>>>>>>> Content-Length: 353 > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>> > >> > PASSKEY=7EDF1C083D41E2564A22B916BBD1979C&stationtype=GW1200A_V1.4.8&runtime=1788421&heap=88084&dateutc=2026-08-20+21%3A24%3A41&dns_err_cnt=2&cdnflg=1&adc=1007,987,987,987,988&freq_volt=758&tempinf=75.92&humidityin=44&baromrelin=29.840&baromabsin=28.372&lightning_num=0&lightning=34&lightning_time=1787171122&wh57batt=5&freq=868M&model=GW1200A&interval=0 > >>>>>>>> > >>>>>>>> My config for MQTTSubscribeService VERSION = '3.1.0-rc01', running > >> as > >>>> a > >>>>>>>> service: > >>>>>>>> > >>>>>>>> [[[ecowitt/gw1000]]] # The topic you are subscribing to > >>>>>>>> ignore = false > >>>>>>>> unit_system = METRICWX # Not sure weather you want > >>>>>>>> METRICWX or METRIC. See > http://weewx.com/docs/customizing.htm#units > >>>>>>>> > >>>>>>>> [[[[message]]]] > >>>>>>>> type = keyword > >>>>>>>> keyword_delimiter = "&" > >>>>>>>> # map MQTT field to WeeWX database field > >>>>>>>> > >>>>>>>> [[[[PASSKEY]]]] > >>>>>>>> ignore = True > >>>>>>>> [[[[stationtype]]]] > >>>>>>>> ignore = True > >>>>>>>> [[[[runtime]]]] > >>>>>>>> ignore = True > >>>>>>>> [[[[heap]]]] > >>>>>>>> > >>>>>>>> ignore = True > >>>>>>>> [[[[dateutc]]]] > >>>>>>>> ignore = True > >>>>>>>> [[[[dns_err_cnt]]]] > >>>>>>>> ignore = True > >>>>>>>> [[[[cdnflg]]]] > >>>>>>>> ignore = True > >>>>>>>> [[[[adc]]]] > >>>>>>>> ignore = True > >>>>>>>> [[[[freq_volt]]]] > >>>>>>>> ignore = True > >>>>>>>> [[[[tempinf]]]] > >>>>>>>> ignore = True > >>>>>>>> [[[[humidityin]]]] > >>>>>>>> ignore = True > >>>>>>>> [[[[baromrelin]]]] > >>>>>>>> ignore = True > >>>>>>>> [[[[baromabsin]]]] > >>>>>>>> ignore = True > >>>>>>>> [[[[wh57batt]]]] > >>>>>>>> > >>>>>>>> ignore = True > >>>>>>>> [[[[freq]]]] > >>>>>>>> ignore = True > >>>>>>>> [[[[model]]]] > >>>>>>>> ignore = True > >>>>>>>> [[[[interval]]]] > >>>>>>>> ignore = True > >>>>>>>> > >>>>>>>> [[[[lightning]]]] > >>>>>>>> name = lightning_dist > >>>>>>>> [[[[lightning_num]]]] > >>>>>>>> name = lightning_strike_count > >>>>>>>> [[[[lightning_time]]]] > >>>>>>>> name = lightning_last_det_time > >>>>>>>> > >>>>>>>> My error/debug output form weewx: > >>>>>>>> > >>>>>>>> 2026-08-20T23:11:41.607918+02:00 weewx weewxd[1953952]: DEBUG > >>>>>>>> user.MQTTSubscribe: (Service) MessageCallbackProvider data-> > >> incoming > >>>>>>>> topic: ecowitt/gw1000, QOS: 0, retain: False, payload: b'POST > >>>> /data/ip_api/ > >>>>>>>> HTTP/1.1\r\nHOST: cdnrtpdate.ecowitt.net\r\nConnection: > >>>>>>>> Close\r\nContent-Type: > >>>> application/x-www-form-urlencoded\r\nContent-Length: > >>>>>>>> > >>>> > >> > 353\r\n\r\nPASSKEY=7EDF1C083D41E2564A22B916BBD1979C&stationtype=GW1200A_V1.4.8&runtime=1787641&heap=88084&dateutc=2026-08-20+21%3A11%3A41&dns_err_cnt=2&cdnflg=1&adc=1007,987,987,987,988&freq_volt=758&tempinf=76.10&humidityin=44&baromrelin=29.843&baromabsin=28.375&lightning_num=0&lightning=34&lightning_time=1787171122&wh57batt=5&freq=868M&model=GW1200A&interval=0' > >>>>>>>> 2026-08-20T23:11:41.608973+02:00 weewx weewxd[1953952]: ERROR > >>>>>>>> user.MQTTSubscribe: (Service) **** MessageCallbackProvider > Ignoring > >>>>>>>> topic=ecowitt/gw1000 and payload=b'POST /data/ip_api/ > >>>> HTTP/1.1\r\nHOST: > >>>>>>>> cdnrtpdate.ecowitt.net\r\nConnection: Close\r\nContent-Type: > >>>>>>>> application/x-www-form-urlencoded\r\nContent-Length: > >>>>>>>> > >>>> > >> > 353\r\n\r\nPASSKEY=7EDF1C083D41E2564A22B916BBD1979C&stationtype=GW1200A_V1.4.8&runtime=1787641&heap=88084&dateutc=2026-08-20+21%3A11%3A41&dns_err_cnt=2&cdnflg=1&adc=1007,987,987,987,988&freq_volt=758&tempinf=76.10&humidityin=44&baromrelin=29.843&baromabsin=28.375&lightning_num=0&lightning=34&lightning_time=1787171122&wh57batt=5&freq=868M&model=GW1200A&interval=0' > >>>>>>>> > >>>>>>>> Any help would be appreciated. > >>>>>>>> Maybe bellrichm could give some hints to get it working...!? > >>>>>>>> > >>>>>>>> Thanks in advance! > >>>>>>>> > >>>>>>>> Christian > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> vince schrieb am Freitag, 10. Oktober 2025 um 00:08:29 UTC+2: > >>>>>>>> > >>>>>>>>> Just a quick update - the GW1200 with latest V1.4.0 firmware now > >>>>>>>>> supports posting to MQTT too. > >>>>>>>>> > >>>>>>>>> I enabled it for a quick test and poked around a little with > >>>>>>>>> mosquitto_sub to look at what it sends and it looks like the same > >>>> data > >>>>>>>>> elements that I'm getting for Gary's legacy GW1000 driver plus > one > >>>>>>>>> additional element "srain_piezo" which we neglected to make known > >> to > >>>> his > >>>>>>>>> driver last year when I was working with him to support the WS85. > >> My > >>>> best > >>>>>>>>> guess is that it means "state of raining (or not) on the piezo > >>>> sensor" > >>>>>>>>> where 0 = not raining, 1 = raining. > >>>>>>>>> > >>>>>>>>> Upside is you can set MQTT to send data as frequently as every 10 > >>>>>>>>> seconds. Downside is the sensors don't send data that often so > >> kinda > >>>> why > >>>>>>>>> bother running faster than maybe every 30 seconds. > >>>>>>>>> > >>>>>>>>> Re: the use of & my guess is this is WU protocol. If you > subscribe > >> to > >>>>>>>>> topic_name/# you see a header ala: > >>>>>>>>> > >>>>>>>>> POST /data/ip_api/ HTTP/1.1 > >>>>>>>>> HOST: cdnrtpdate.ecowitt.net > >>>>>>>>> Connection: Close > >>>>>>>>> Content-Type: application/x-www-form-urlencoded > >>>>>>>>> Content-Length: 925 > >>>>>>>>> > >>>>>>>>> I have never configured my gateway to talk to ecowitt, so I don't > >>>> know > >>>>>>>>> if it's actually trying to post data to ecowitt's servers (or > not), > >>>> but it > >>>>>>>>> sure looks fishy to me. > >>>>>>>>> > >>>>>>>>> On Friday, August 22, 2025 at 6:24:24 AM UTC-7 Paul R Anderson > >> wrote: > >>>>>>>>> > >>>>>>>>> That sounds like a great "work around" for some who use WeeWX. > But > >> I > >>>>>>>>> really wish the underlying issue of using a non standard > separator, > >>>>>>>>> which does not comply with the published MQTT standard.could be > >>>> addressed > >>>>>>>>> and fixed.* Design a device that offers to publish to a MQTT > >> server, > >>>>>>>>> make it standard compliant* , so that it will be easy to > subscribe > >> to > >>>>>>>>> that topic on a wide range of MQTT clients. > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>> > >>>>> > >>>> > >>>> > >>> > >> > >> > > > > -- 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 visit https://groups.google.com/d/msgid/weewx-user/855d8121-fa8e-400e-8b5b-f37a680861c6n%40googlegroups.com.
