Thank you!

It seems that the attempt to convert string to float still happens. I will 
attach snippets from log and config here. The field name which is causing 
trouble is "phenomenon".

[MQTTSubscribeDriver]
    # This section is for the MQTTSubscribe driver.

    # The driver to use:
    driver = user.MQTTSubscribe

    # The MQTT server.
    # Default is localhost.
    host = localhost

    # The port to connect to.
    # Default is 1883.
    port = 1883

    # Maximum period in seconds allowed between communications with the 
broker.
    # Default is 60.
    keepalive = 60

    # username for broker authentication.
    # Default is None.
    username = rtl

    # password for broker authentication.
    # Default is None.
    password = xx

    # Configuration for the message callback.
    [[message_callback]]
        type = individual

    # The topics to subscribe to.
    [[topics]]
        unit_system = METRIC
        use_topic_as_fieldname = true
        use_server_datetime = true

        [[[rtl_433/lab/devices/Solight-TE44/1/4/temperature_C]]]
            name = outTemp
        [[[emhi/26038/uvindex]]]
            name = UV
        [[[emhi/26038/airpressure]]]
            name = pressure
        [[[emhi/26038/precipitations]]]
            name = rain
            contains_total = true
        [[[emhi/26038/relativehumidity]]]
            name = outHumidity
        [[[emhi/26038/winddirection]]]
            name = windDir
        [[[emhi/26038/windspeed]]]
            name = windSpeed
            units = meter_per_second
        [[[emhi/26038/windspeedmax]]]
            name = windGust
            units = meter_per_second
        [[[emhi/26038/phenomenon]]]
            conversion_type = None

[Accumulator]
    [[phenomenon]]
        accumulator = firstlast
        extractor = last





Feb  8 11:21:38 pi3 systemd[1]: Starting LSB: weewx weather system...
Feb  8 11:21:39 pi3 weewx[26841] INFO __main__: Initializing weewx version 
4.4.0
Feb  8 11:21:39 pi3 weewx[26841] INFO __main__: Using Python 3.5.3 
(default, Nov 18 2020, 21:09:16) #012[GCC 6.3.0 20170516]
Feb  8 11:21:39 pi3 weewx[26841] INFO __main__: Platform 
Linux-4.19.66-v7+-armv7l-with-debian-9.13
Feb  8 11:21:39 pi3 weewx[26841] INFO __main__: Locale is 'en_GB.UTF-8'
Feb  8 11:21:39 pi3 weewx[26841] INFO __main__: PID file is 
/var/run/weewx.pid
Feb  8 11:21:39 pi3 weewx[26845] INFO __main__: Using configuration file 
/home/weewx/weewx.conf
Feb  8 11:21:39 pi3 weewx[26845] INFO __main__: Debug is 0
Feb  8 11:21:39 pi3 weewx[26845] INFO weewx.engine: Loading station type 
MQTTSubscribeDriver (user.MQTTSubscribe)
Feb  8 11:21:39 pi3 weewx[26830]: Starting weewx weather system: weewx.
Feb  8 11:21:39 pi3 systemd[1]: Started LSB: weewx weather system.
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) Version 
is 1.6.2
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) Log 
level: 0
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) Log 
debug setting: 0
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) Log 
console: False
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) Log 
file: None
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) overlap 
is 0.0
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) 
message_callback_provider_name is user.MQTTSubscribe.MessageCallbackProvider
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) clientid 
is MQTTSubscribe-9835
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) 
client_session is True
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) host is 
localhost
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) port is 
1883
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) 
keepalive is 60
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) username 
is rtl
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) password 
is set
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) Archive 
topic is None
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) Wait 
before retry is 2
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) 
Connected with result code 0
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) 
Connected flags {'session present': 0}
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) 
Subscribed to mid: 1 is size 1 has a QOS of 0
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) 
Subscribed to mid: 2 is size 1 has a QOS of 0
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) 
Subscribed to mid: 3 is size 1 has a QOS of 0
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) 
Subscribed to mid: 4 is size 1 has a QOS of 0
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) 
Subscribed to mid: 5 is size 1 has a QOS of 0
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) 
Subscribed to mid: 6 is size 1 has a QOS of 0
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) 
Subscribed to mid: 7 is size 1 has a QOS of 0
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) 
Subscribed to mid: 8 is size 1 has a QOS of 0
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) 
Subscribed to mid: 9 is size 1 has a QOS of 0
Feb  8 11:21:39 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) 
Subscribed to mid: 10 is size 1 has a QOS of 0
Feb  8 11:21:40 pi3 weewx[26845] INFO weewx.engine: StdConvert target unit 
is 0x1
Feb  8 11:21:40 pi3 weewx[26845] INFO weewx.engine: Archive will use data 
binding wx_binding
Feb  8 11:21:40 pi3 weewx[26845] INFO weewx.engine: Record generation will 
be attempted in 'hardware'
Feb  8 11:21:40 pi3 weewx[26845] INFO weewx.engine: Using archive interval 
of 300 seconds (specified in weewx configuration)
Feb  8 11:21:40 pi3 weewx[26845] INFO weewx.restx: StationRegistry: Station 
will be registered.
Feb  8 11:21:40 pi3 weewx[26845] INFO user.mqtt: service version is 0.22
Feb  8 11:21:40 pi3 weewx[26845] INFO user.mqtt: binding to loop
Feb  8 11:21:40 pi3 weewx[26845] INFO user.mqtt: topic is weather
Feb  8 11:21:40 pi3 weewx[26845] INFO user.mqtt: desired unit system is 
METRIC
Feb  8 11:21:40 pi3 weewx[26845] INFO user.mqtt: data will be uploaded to 
mqtt://ilm:xxx@localhost:1883/
Feb  8 11:21:40 pi3 weewx[26845] INFO weewx.restx: Wunderground-PWS: Data 
for station IHARJUMA19 will be posted
Feb  8 11:21:40 pi3 weewx[26845] INFO user.windy: version is 0.7
Feb  8 11:21:40 pi3 weewx[26845] INFO user.windy: Data will be uploaded to 
https://stations.windy.com/pws/update
Feb  8 11:21:40 pi3 weewx[26845] INFO __main__: Starting up weewx version 
4.4.0
Feb  8 11:21:40 pi3 weewx[26845] INFO weewx.engine: Using binding 
'wx_binding' to database 'weewx.sdb'
Feb  8 11:21:40 pi3 weewx[26845] INFO weewx.manager: Starting backfill of 
daily summaries
Feb  8 11:21:40 pi3 weewx[26845] INFO weewx.manager: Daily summaries up to 
date
Feb  8 11:21:40 pi3 weewx[26845] INFO weewx.engine: Starting main packet 
loop.
Feb  8 11:21:40 pi3 weewx[26845] INFO weewx.engine: Main loop exiting. 
Shutting engine down.
Feb  8 11:21:40 pi3 weewx[26845] INFO user.MQTTSubscribe: (Driver) 
Disconnected with result code 0
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__: Caught unrecoverable 
exception:
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****  could not 
convert string to float: 'Light snowfall'
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****  Traceback 
(most recent call last):
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****    File 
"/home/weewx/bin/weewxd", line 157, in main
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****      
engine.run()
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****    File 
"/home/weewx/bin/weewx/engine.py", line 210, in run
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****      
self.dispatchEvent(weewx.Event(weewx.NEW_LOOP_PACKET, packet=packet))
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****    File 
"/home/weewx/bin/weewx/engine.py", line 245, in dispatchEvent
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****      
callback(event)
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****    File 
"/home/weewx/bin/weewx/engine.py", line 594, in new_loop_packet
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****      
self.accumulator.addRecord(event.packet, add_hilo=self.loop_hilo)
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****    File 
"/home/weewx/bin/weewx/accum.py", line 436, in addRecord
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****      
func(self, record, obs_type, add_hilo, weight)
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****    File 
"/home/weewx/bin/weewx/accum.py", line 495, in add_value
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****      
self[obs_type].addHiLo(val, record['dateTime'])
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****    File 
"/home/weewx/bin/weewx/accum.py", line 168, in addHiLo
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****      val = 
to_float(val)
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****    File 
"/home/weewx/bin/weeutil/weeutil.py", line 1250, in to_float
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****      return 
float(x) if x is not None else None
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****  ValueError: 
could not convert string to float: 'Light snowfall'
Feb  8 11:21:40 pi3 weewx[26845] CRITICAL __main__:     ****  Exiting.
On Monday, February 8, 2021 at 3:19:36 AM UTC+2 [email protected] wrote:

> It should be doable. I do something similar with a few temperature 
> sensors/fields. The fact that you are dealing with string data does add 
> some complexity.
> First, for the field configuration you will need to set the 
> conversion_type = None. Although it is not documented on the wiki, see 
> https://github.com/bellrichm/WeeWX-MQTTSubscribe/wiki/Configuring#conversion_type
>  
> This will stop MQTTSubscribe from trying to convert the incoming data.
>
> Next, you will need to configure the accumulator for this field/type. 
>  See, https://github.com/weewx/weewx/wiki/Accumulators. It looks like for 
> this field/type you want to set accumulator = firstlast and extractor = 
> last.
>
> Now you should be able to access it via $current. field/type name.
>
> If you get this working, I’d like to ‘steal’ the details/steps for a wiki 
> page.
> -rich
>
> On Sunday, 7 February 2021 at 17:05:51 UTC-5 Tarmo wrote:
>
>> Can I do it? I have a text in MQTT like "Cloudy with clear spells" which 
>> I would like to display on my website. Although, there is no need to store 
>> it in the weewx database. I would like to just to update it at every 
>> archive interval.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/c163329f-7d6a-4be6-a309-a666dea07been%40googlegroups.com.

Reply via email to