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>: > 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>: > 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>: > 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>: > >>> 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/87ffb7bc-628e-4535-8f59-d35bd18e525dn%40googlegroups.com.
