Thanks for sharing! Any interest in adding it to the examples repository 
at, https://github.com/bellrichm/WeeWX-MQTTSubscribe/tree/master/exampleConfigs?
rich

On Tuesday, 12 August 2025 at 01:08:20 UTC-4 Ian Millard wrote:

> Just in case this is useful for anyone.
>
> This is an example [MQTTSubscribeDriver] stanza to use in conjunction with 
> Ecowitt MQTT weather service protocol which is now included in GW2000 and 
> GW3000 gateway devices.
>
>
> ##############################################################################
>
> [MQTTSubscribeDriver]
>     driver = user.MQTTSubscribe
>     host = broker.mqtt.cool
>     port = 1883
>     keepalive = 60
>     username = None
>     password = None
>     binding = loop
>     
>     [[topics]]
>         unit_system = US
>         [[[ecowitt/1C6920E3A8F3]]]
>            subscribe = True
>            ignore = False
>             [[[[message]]]]
>                 type = keyword
>                 keyword_delimiter = "&"
>             [[[[PASSKEY]]]]
>                 ignore = True
>             [[[[stationtype]]]]
>                 ignore = True
>             [[[[runtime]]]]
>                 ignore = True
>             [[[[dns_err_cnt]]]]
>                 ignore = True
>             [[[[cdnflg]]]]
>                 ignore = True
>             [[[[dateutc]]]]
>                 ignore = True
>             [[[[freq]]]]
>                 ignore = True
>             [[[[model]]]]
>                 ignore = True
>             [[[[baromrelin]]]]
>                 name = barometer
>             [[[[baromabsin]]]]
>                 name = pressure
>             [[[[dailyrainin]]]]
>                 name = dayRain
>             [[[[drain_piezo]]]]
>                 name = p_dayRain
>             [[[[erain_piezo]]]]
>                 name = p_stormRain
>             [[[[eventrainin]]]]
>                 name = stormRain
>             [[[[hourlyrainin]]]]
>                 name = hourRain
>             [[[[hrain_piezo]]]]
>                 name = p_hourRain
>             [[[[humidityin]]]]
>                 name = inHumidity
>             [[[[humidity]]]]
>                 name = outHumidity
>             [[[[last24hrain_piezo]]]]
>                 name = p_24Rain
>             [[[[last24hrainin]]]]
>                 name = 24Rain
>             [[[[lightning]]]]
>                 name = lightning_dist
>             [[[[lightning_num]]]]
>                 name = lightning_strike_count
>             [[[[lightning_time]]]]
>                 name = lightning_last_det_time
>             [[[[monthlyrainin]]]]
>                 name = monthRain
>             [[[[mrain_piezo]]]]
>                 name = p_monthRain
>             [[[[rainratein]]]]
>                 name = rainRate
>             [[[[rrain_piezo]]]]
>                 name = p_rainRate
>             [[[[solarradiation]]]]
>                name = radiation
>             [[[[srain_piezo]]]]
>                 name = isRaining
>             [[[[tempf]]]]
>                 name = outTemp
>             [[[[tempinf]]]]
>                name = inTemp
>             [[[[uv]]]]
>                 name = UV
>             [[[[weeklyrainin]]]]
>                 name = weekRain
>             [[[[wrain_piezo]]]]
>                 name = p_weekRain
>             [[[[winddir]]]]
>                 name = windDir
>             [[[[windgustmph]]]]
>                 name = windGust
>             [[[[windspeedmph]]]]
>                name = windSpeed
>             [[[[yearlyrainin]]]]
>                 name = yearRain
>             [[[[yrain_piezo]]]]
>                 name = p_yearRain
>
>
> ##############################################################################
>
>
> On 11 Aug 2025, at 23:57, 'Ian Millard' via weewx-user <
> [email protected]> wrote:
>
> Vince,
> Bingo, you nailed it in one. It worked perfectly.
> As always, thanks very much for your help.
> Ian
>
> On 11 Aug 2025, at 23:39, vince <[email protected]> wrote:
>
> I’m sure Rich will chime in but my first impression is you should ignore 
> the elements within the reply that cannot be mapped to weewx db elements, 
> so ignore everything to the left of tempinf in the payload
> On Monday, August 11, 2025 at 3:21:03 PM UTC-7 Ian Millard wrote:
>
>> Vince,
>> Sorry for the delay, I missed your post on my phone whilst away from home.
>>
>> Status as follows: -
>>
>> The new Ecowitt MQTT protocol is publishing to broker with no problem and 
>> I can see the data arriving in the broker browser.
>>
>> In weewx.conf I have this: -
>>
>> [MQTTSubscribeDriver]
>>     driver = user.MQTTSubscribe
>>     host = broker.mqtt.cool
>>     port = 1883
>>     keepalive = 60
>>     username = None
>>     password = None
>>     binding = loop
>>     
>>     [[topics]]
>>         unit_system = US
>>         [[[ecowitt/1C6920E3A8F3]]]
>>            subscribe = True
>>            ignore = False
>>             [[[[message]]]]
>>                 type = keyword
>>                 keyword_delimiter = "&"
>>
>> Then, extract from journal log: -
>>
>> Aug 11 23:18:27 dvm weewxd[764736]: INFO __main__: Starting up weewx 
>> version 5.1.0
>> Aug 11 23:18:27 dvm weewxd[764736]: DEBUG weewx.engine: Station does not 
>> support reading the time
>> Aug 11 23:18:27 dvm weewxd[764736]: INFO weewx.engine: Using binding 
>> 'wx_binding' to database 'weewx.sdb'
>> Aug 11 23:18:27 dvm weewxd[764736]: INFO weewx.manager: Starting backfill 
>> of daily summaries
>> Aug 11 23:18:27 dvm weewxd[764736]: INFO weewx.manager: Daily summaries 
>> up to date
>> Aug 11 23:18:27 dvm weewxd[764736]: DEBUG user.MQTTSubscribe: (Driver) 
>> No archive topic configured.
>> Aug 11 23:18:27 dvm weewxd[764736]: INFO weewx.engine: Starting main 
>> packet loop.
>> Aug 11 23:18:27 dvm weewxd[764736]: DEBUG user.MQTTSubscribe: (Driver) 
>> TopicManager starting queue ecowitt/1C6920E3A8F3 size is: 0
>> Aug 11 23:18:27 dvm weewxd[764736]: DEBUG user.MQTTSubscribe: (Driver) 
>> TopicManager starting queue 
>> 1754950706.041299-windGust-windGustDir-windDir-windSpeed size is: 0
>> Aug 11 23:18:27 dvm weewxd[764736]: DEBUG user.MQTTSubscribe: (Driver) 
>> Queues are empty.
>> Aug 11 23:18:29 dvm weewxd[764736]: DEBUG user.MQTTSubscribe: (Driver) 
>> TopicManager starting queue ecowitt/1C6920E3A8F3 size is: 0
>> Aug 11 23:18:29 dvm weewxd[764736]: DEBUG user.MQTTSubscribe: (Driver) 
>> TopicManager starting queue 
>> 1754950706.041299-windGust-windGustDir-windDir-windSpeed size is: 0
>> Aug 11 23:18:29 dvm weewxd[764736]: DEBUG user.MQTTSubscribe: (Driver) 
>> Queues are empty.
>> Aug 11 23:18:29 dvm weewxd[764736]: DEBUG user.MQTTSubscribe: (Driver) 
>> MessageCallbackProvider data-> incoming topic: ecowitt/1C6920E3A8F3, QOS: 
>> 0, retain: False, payload: 
>> b'PASSKEY=ED62ACE35A6D1A6CBFFC085BAADF1F1A&stationtype=GW3000A_V1.1.0&runtime=638367&heap=73048&dateutc=2025-08-11%2022%3A18%3A29&dns_err_cnt=0&cdnflg=42&tempinf=79.16&humidityin=51&baromrelin=30.064&baromabsin=29.763&tempf=71.78&humidity=60&vpd=0.314&winddir=169&winddir_avg10m=150&windspeedmph=4.25&windgustmph=6.26&maxdailygust=13.20&solarradiation=0.00&uv=0&rainratein=0.000&eventrainin=0.000&hourlyrainin=0.000&last24hrainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=0.240&yearlyrainin=6.583&rrain_piezo=0.000&erain_piezo=0.000&hrain_piezo=0.000&last24hrain_piezo=0.000&drain_piezo=0.000&wrain_piezo=0.000&mrain_piezo=0.173&yrain_piezo=11.531&srain_piezo=0&ws90cap_volt=5.4&ws90_ver=143&lightning_num=0&lightning=24&lightning_time=1753979889&wh40batt=1.7&wh57batt=3&wh90batt=3.28&freq=868M&model=GW3000A&interval=60'
>> Aug 11 23:18:29 dvm weewxd[764736]: *ERROR user.MQTTSubscribe: (Driver) 
>> MessageCallbackProvider on_message_keyword failed with <class 
>> 'user.MQTTSubscribe.ConversionError'> and reason Failed converting field 
>> PASSKEY with value ED62ACE35A6D1A6CBFFC085BAADF1F1A using 'lambda x: 
>> to_float(x)' with reason could not convert string to float: 
>> 'ED62ACE35A6D1A6CBFFC085BAADF1F1A'..*
>> Aug 11 23:18:29 dvm weewxd[764736]: *ERROR user.MQTTSubscribe: (Driver) 
>> **** MessageCallbackProvider Ignoring topic=ecowitt/1C6920E3A8F3 and 
>> payload=b'PASSKEY=ED62ACE35A6D1A6CBFFC085BAADF1F1A&stationtype=GW3000A_V1.1.0&runtime=638367&heap=73048&dateutc=2025-08-11%2022%3A18%3A29&dns_err_cnt=0&cdnflg=42&tempinf=79.16&humidityin=51&baromrelin=30.064&baromabsin=29.763&tempf=71.78&humidity=60&vpd=0.314&winddir=169&winddir_avg10m=150&windspeedmph=4.25&windgustmph=6.26&maxdailygust=13.20&solarradiation=0.00&uv=0&rainratein=0.000&eventrainin=0.000&hourlyrainin=0.000&last24hrainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=0.240&yearlyrainin=6.583&rrain_piezo=0.000&erain_piezo=0.000&hrain_piezo=0.000&last24hrain_piezo=0.000&drain_piezo=0.000&wrain_piezo=0.000&mrain_piezo=0.173&yrain_piezo=11.531&srain_piezo=0&ws90cap_volt=5.4&ws90_ver=143&lightning_num=0&lightning=24&lightning_time=1753979889&wh40batt=1.7&wh57batt=3&wh90batt=3.28&freq=868M&model=GW3000A&interval=60'*
>> Aug 11 23:18:29 dvm weewxd[764736]: *ERROR user.MQTTSubscribe: (Driver) 
>> **** MessageCallbackProvider Traceback (most recent call last):*
>>                                     *  File 
>> "/home/dvm/weewx-data/bin/user/MQTTSubscribe.py", line 1441, in 
>> _convert_value*
>>                                     *    return 
>> conversion_func['compiled'](value)*
>>                                     *         
>>   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
>>                                     *  File "<string>", line 1, in 
>> <lambda>*
>>                                     *  File 
>> "/home/dvm/weewx-venv/lib/python3.11/site-packages/weeutil/weeutil.py", 
>> line 1584, in to_float*
>>                                     *    return float(x) if x is not 
>> None else None*
>>                                     *           ^^^^^^^^*
>>                                     *ValueError: could not convert 
>> string to float: 'ED62ACE35A6D1A6CBFFC085BAADF1F1A'*
>>                                     
>>                                     *The above exception was the direct 
>> cause of the following exception:*
>>                                     
>>                                     *Traceback (most recent call last):*
>>                                     *  File 
>> "/home/dvm/weewx-data/bin/user/MQTTSubscribe.py", line 1560, in 
>> _on_message_keyword*
>>                                     *    (fieldname, value) = 
>> self._update_data(key, field[eq_index + 1:].strip(), fields, 
>> fields_conversion_func, unit_system)*
>>                                     *                       
>>   
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
>>                                     *  File 
>> "/home/dvm/weewx-data/bin/user/MQTTSubscribe.py", line 1400, in 
>> _update_data*
>>                                     *    value = 
>> self._convert_value(fields, default_field_conversion_func, orig_name, 
>> orig_value)*
>>                                     *          
>>   
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
>>                                     *  File 
>> "/home/dvm/weewx-data/bin/user/MQTTSubscribe.py", line 1446, in 
>> _convert_value*
>>                                     *    raise ConversionError(*
>>                                     *user.MQTTSubscribe.ConversionError: 
>> Failed converting field PASSKEY with value ED62ACE35A6D1A6CBFFC085BAADF1F1A 
>> using 'lambda x: to_float(x)' with reason could not convert string to 
>> float: 'ED62ACE35A6D1A6CBFFC085BAADF1F1A'.*
>> Aug 11 23:18:31 dvm weewxd[764736]: DEBUG user.MQTTSubscribe: (Driver) 
>> TopicManager starting queue ecowitt/1C6920E3A8F3 size is: 0
>> Aug 11 23:18:31 dvm weewxd[764736]: DEBUG user.MQTTSubscribe: (Driver) 
>> TopicManager starting queue 
>> 1754950706.041299-windGust-windGustDir-windDir-windSpeed size is: 0
>> Aug 11 23:18:31 dvm weewxd[764736]: DEBUG user.MQTTSubscribe: (Driver) 
>> Queues are empty.
>>
>>
>>
>>
>>
>>
>>
>> On 7 Aug 2025, at 17:44, vince <[email protected]> wrote:
>>
>> What problems are you running into ?
>>
>> Does my MQTT subscribe example not work ? I’ve been subscribing to MQTT 
>> ecowitt data for years that way.
>>
>> On Thursday, August 7, 2025 at 12:15:47 AM UTC-7 steepleian wrote:
>>
>> @james
>> Could you share your subscribe configuration please. I have the GW3000 
>> publishing directly to a local broker which works fine. I am having 
>> problems with getting the settings right for Rich’s MQTTSubscribe. I 
>> usually manage to muddle my way through solutions but this one is evading 
>> me.
>> Many thanks in advance.
>> Ian
>>
>>
>> -- 
>> 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/ad201cea-1c12-428f-acd5-2ab88a38bc24n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/weewx-user/ad201cea-1c12-428f-acd5-2ab88a38bc24n%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 visit 
> https://groups.google.com/d/msgid/weewx-user/70e21a4c-c324-40d7-b86f-c8a52eb0a3b0n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/weewx-user/70e21a4c-c324-40d7-b86f-c8a52eb0a3b0n%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 visit 
> https://groups.google.com/d/msgid/weewx-user/F5B4409D-F63E-46B3-A623-D6CCE4079215%40btinternet.com
>  
> <https://groups.google.com/d/msgid/weewx-user/F5B4409D-F63E-46B3-A623-D6CCE4079215%40btinternet.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 visit 
https://groups.google.com/d/msgid/weewx-user/f9ebf899-2fad-43ea-a642-0132fffd054cn%40googlegroups.com.

Reply via email to