Skip to content

Upgrade Guide

Rich Bell edited this page Dec 30, 2024 · 6 revisions

Upgrade Guide

When a version upgrade requires specific steps, it will be documented below.

Upgrading to v3+ from v2

The release can be found here

Breaking Changes

Python 3.7 or higher is now required. Active support ended June 2020 and security updates stopped in June 2023.

WeeWX 4 or higher is required. Support for Python 3 was introduced in WeeWX 4 in April 2020.

MQTTSubscribe now validates the MQTTSubscribe configuration on startup. The default behavior is to log any errors and continue, allowing WeeWX to startup. Ideally errors would stop WeeWX from starting. But to make V3 more backward compatible, it was decided to just log the errors by default. Note, some of these errors were silently ignored in previous versions. Note, new installs will have the stop_on_validation_errors=true

Upgrade Steps

While one could use weectl (or even just copy the new MQTTSubscribe.py), it is recommended that these steps be followed. Following the steps include running MQTTSubscribe in configuration mode to validate the configuration prior to restarting WeeWX. If any errors are found, they can be corrected or stop_on_validation_errors can be set to false.

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