Skip to content
Rich Bell edited this page Mar 12, 2024 · 19 revisions
Why do I have to initialize MQTTSubscribe’s runtime?

WeeWX has 3 installation methods, ‘package’, pip, and ‘git’. Each of these methods puts WeeWX files in different locations. WeeWX does not provide a mechanism to programmatically determine the location of files, so it falls to the end user to provide this information. Instead of writing 3 versions of instructions, 1 for each installation method, environment variables are set with location of the files. This makes writing and supporting the documentation easier. Hopefully it also makes reading the documentation easier.

Why does support for WeeWX 4.x start at WeeWX 4.6.1 and not 4.6.0 (or even 4.0.0)?

At 4.6.1 WeeWX fixed 737. In prior versions if there was no data a 0 was returned. Now None is returned.

This resulted MQTTSubscribe having different test results for WeeWX 4.6.1 and later. To keep things simple, the MQTTSubscribe tests were updated to work against 4.6.1 and later. Since MQTTSubscribe is not tested against earlier versions, these are not supported. But, if one is OK with the results WeeWX versions earlier than 4.6.1 returns, MQTTSubscribe should work.

Why does support for WeeWX 5.x start at WeeWX 5.0.1 and not 5.0.0?

At 5.0.1 WeeWX was updated to run as the weewx user and not as root. All of MQTTSubscribe’s documentation has been updated to reflect this change. See, https://groups.google.com/g/weewx-user/c/GR8Tmi8ud9g/m/ev6q2qOEAwAJ for additional information.

Note, it is not a good idea to be running WeeWX 5.0.0. See, https://groups.google.com/g/weewx-user/c/fa2y3wTr-AE for additional information.

Getting Started

    Prerequisites
    Required MQTT information
    Required WeeWX information
    Installing MQTTSubscribe
    Configuring MQTTSubscribe
    Running MQTTSubscribe with WeeWX
    Debugging

Common Options

    Main section
    The [[topics]] section
    The [[[message]]] section
    The [[[topic-name]]] section
    The [[[[field-name]]]] section

Additional Options

    Main section
    The [[tls]] section
    The [[topics]] section
    The [[[topic-name]]] section
    The [[[[field-name]]]] section

Date/Time Processing Options

Experimental Options

Configurator Mode

    Environment setup
    Invocation
    Options

Simulator Mode

    Environment setup
    Invocation
    driver simulation options
    service simulation options

Parser Mode

    Environment setup
    Invocation
    Options

Example individual Configuration

Example json Configuration

    Simple json message
    'Nested' json message
    json message with array

Example keyword Configuration

Example Configuration with multiple types

Example unit and unit group customization

FAQ

Debugging
Understanding The log

    Initialization
    MQTT Initialization
    MQTTSubscribeDriver secondary thread processing
    MQTTSubscribeDriver primary thread processing
    MQTTSubscribeService secondary thread processing
    MQTTSubscribeService primary thread processing

Supporting Additional message types
Development Environment
Deprecated Documentation

     Configuring pre 1.6.0
     Options Removed In 2.0.0
     Using test_mqtt.py To Check MQTT
     Running As A driver In Standalone Mode
     Running As A service In Standalone Mode

Clone this wiki locally