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: 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: 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: 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>:
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/ec770fcd-03a3-4382-9d52-fdf3363a6329%40googlemail.com.

Reply via email to