MQTT-based station not showing any datapoints

102 views
Skip to first unread message

Andrew McGinnis

unread,
Nov 18, 2023, 11:18:59 AM11/18/23
to weewx-user
I'm new in trying to get weewx set up to use as a replacement for my acurite display on the wall.  I have a server running rtl_433 that is outputting my weather sensor in mqtt form (ExecStart=/usr/bin/rtl_433 -C si -F mqtt) which for my other mqtt-based weather plugins, works fine.  For weewx, I'm trying to use github.com/bellrichm/WeeWX-MQTTSubscribe.  I have the driver installed for weewx, and the weewx.conf section for it is thus:

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

    # The driver to use:
    driver = user.MQTTSubscribe

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

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

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

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

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

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

    # The topics to subscribe to.
    [[topics]]
        unit_system = METRICWX
        [[[rtl_433/pi4b8/devices/Acurite-5n1/A/3030/humidity]]]
        [[[rtl_433/pi4b8/devices/Acurite-5n1/A/3030/rain_mm]]]
        [[[rtl_433/pi4b8/devices/Acurite-5n1/A/3030/temperature_C]]]
        [[[rtl_433/pi4b8/devices/Acurite-5n1/A/3030/wind_avg_km_h]]]
        [[[rtl_433/pi4b8/devices/Acurite-5n1/A/3030/wind_dir_deg]]]

These topics (and more) work for the mqtt plugin in homebridge, but looking at the /var/www/html/weewx/index.html file that weewx is generating, I only get 

Screen Shot 2023-11-18 at 11.13.36 AM 1.png


Can someone point me in the right direction to get this working?

Andrew McGinnis

unread,
Nov 18, 2023, 11:20:56 AM11/18/23
to weewx-user
journal logs:

root@weewx:~# journalctl -u weewx.service -f
Nov 18 11:10:32 weewx python3[848]: weewx[848] INFO weewx.manager: Added record 2023-11-18 11:10:00 EST (1700323800) to database 'weewx.sdb'
Nov 18 11:10:32 weewx python3[848]: weewx[848] INFO weewx.manager: Added record 2023-11-18 11:10:00 EST (1700323800) to daily summary in 'weewx.sdb'
Nov 18 11:10:33 weewx python3[848]: weewx[848] INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 0.26 seconds
Nov 18 11:10:33 weewx python3[848]: weewx[848] INFO weewx.imagegenerator: Generated 0 images for report SeasonsReport in 0.23 seconds
Nov 18 11:10:33 weewx python3[848]: weewx[848] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx
Nov 18 11:15:23 weewx python3[848]: weewx[848] INFO weewx.manager: Added record 2023-11-18 11:15:00 EST (1700324100) to database 'weewx.sdb'
Nov 18 11:15:23 weewx python3[848]: weewx[848] INFO weewx.manager: Added record 2023-11-18 11:15:00 EST (1700324100) to daily summary in 'weewx.sdb'
Nov 18 11:15:23 weewx python3[848]: weewx[848] INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 0.27 seconds
Nov 18 11:15:24 weewx python3[848]: weewx[848] INFO weewx.imagegenerator: Generated 0 images for report SeasonsReport in 0.22 seconds
Nov 18 11:15:24 weewx python3[848]: weewx[848] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx
Nov 18 11:20:15 weewx python3[848]: weewx[848] INFO weewx.manager: Added record 2023-11-18 11:20:00 EST (1700324400) to database 'weewx.sdb'
Nov 18 11:20:16 weewx python3[848]: weewx[848] INFO weewx.manager: Added record 2023-11-18 11:20:00 EST (1700324400) to daily summary in 'weewx.sdb'
Nov 18 11:20:16 weewx python3[848]: weewx[848] INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 0.27 seconds
Nov 18 11:20:16 weewx python3[848]: weewx[848] INFO weewx.imagegenerator: Generated 0 images for report SeasonsReport in 0.26 seconds
Nov 18 11:20:16 weewx python3[848]: weewx[848] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx

michael.k...@gmx.at

unread,
Nov 18, 2023, 11:31:45 AM11/18/23
to weewx-user
I think you need something like this, to map the values to obs_types:

# The topics to subscribe to.
    [[topics]]
        unit_system = METRICWX
        [[[rtl_433/pi4b8/devices/Acurite-5n1/A/3030/humidity]]]
                name = outHumidity
        [[[rtl_433/pi4b8/devices/Acurite-5n1/A/3030/rain_mm]]]
                name = rain
                #units = mm #if the unit differs from unit_system
        [[[rtl_433/pi4b8/devices/Acurite-5n1/A/3030/temperature_C]]]
                name = outTemp
        [[[rtl_433/pi4b8/devices/Acurite-5n1/A/3030/wind_avg_km_h]]]
                name = windSpeed
        [[[rtl_433/pi4b8/devices/Acurite-5n1/A/3030/wind_dir_deg]]]
                name = windDir


Depending on the payload type (JSON, key/value, individual). You should find more information here: https://github.com/bellrichm/WeeWX-MQTTSubscribe/blob/master/bin/user/MQTTSubscribe.py

Andrew McGinnis

unread,
Nov 18, 2023, 11:54:19 AM11/18/23
to weewx-user
That did it.  Thank you.
Screen Shot 2023-11-18 at 11.52.42 AM.png

michael.k...@gmx.at

unread,
Nov 18, 2023, 11:57:26 AM11/18/23
to weewx-user
Assuming you didn't want to pm me:

>  I'll go through and tag names to them.  I tried with making "name = Wind", etc. in a prior attempt, but apparently I can't be arbitrary with FieldName?

You need to map the individual value to an existing database column, depending on the schema you use they are to be found in https://github.com/weewx/weewx/blob/master/bin/schemas/wview_extended.py or https://github.com/weewx/weewx/blob/master/bin/schemas/wview_small.py or https://github.com/weewx/weewx/blob/master/bin/schemas/wview.py or whatever schema you use.

Reply all
Reply to author
Forward
0 new messages