These may change or go away.
The [MQTTSubscribeDriver]/[MQTTSubscribeSection] section
This configures the MQTT connection and any necessary WeeWX options.
archive_topic
Payload in this topic is processed like an archive record. This means that MQTTSubscribe is running in ‘hardware generation’ mode. The default is None. This is only used by the driver.
console
In addition to any WeeWX logging setup, MQTTSubscribe will also log to the console. The default is None.
logging_filename
In addition to any WeeWX logging setup, MQTTSubscribe will also log to the specified filename. The default is None.
logging_level
Overrides the WeeWX ‘debug’ setting. Valid values are Python’s logging levels, CRITICAL, ERROR, WARNING, INFO, DEBUG, and NOTSET. An additional value TRACE is also supported. This logs even more detail than DEBUG. The default value is NOTSET. But in this case NOTSET means to use the WeeWX ‘debug’ setting.
max_loop_interval
Coming soon.
When no loop packet has been generated in max_loop_interval, MQTTSubscribeDriver will generate an ‘empty’ packet. This can be useful to ensure that archive processing regulary happens when the MQTT payload arrives very irregularly. Only used by the driver. The default is 0 (off).
message_callback_provider
Experimental option to specify different message parsers.
The [[topics]] section
collect_observations = False
With the exception of wind data, by default a packet is created for every MQTT message received. When this is true, MQTTSubscribe attempts to collect observations across messages into a packet. Default is False.
collect_wind_across_loops = True
By default wind data is collected together across generation of loop packets. Setting to false results in the data only being collected together within a loop packet. Default is True.
single_queue = False
With the exception of wind data, by default a queue is created for every MQTT topic. When this is true, MQTTSubsribe uses a single queue for all non wind data. This is useful when ‘collect_observations = True’. Default is False.
The [[[topic-name]]] sections
topic_tail_is_fieldname = False
When true, the last segment of the topic is used as the fieldname. Only used for individual payloads. Default is False.
The [[logging]] section
The [[[throttle]]] section
Coming soon.
The configuration to control throttling the logging. Throttling uses a fixed window rate limit algorithm. But, every ‘max’ messages in a ‘window’ will always be logged.
Throttling logging may result in important log messages being missed. This may make it hard, to impossible, to debug problems.
EXPERIMENTAL and should be used at your own risk.
The [[[[category]]]] section
The [[[[[ALL]]]]] category section
Configuration data for ‘every’ message that is logged. This can be overriden for specific logging levels and/or specific messages.
max
The maximum number of messages to be logged in the specified interval.
duration
The time interval in seconds for which the logged messages will be limited.
The [[[[[ERROR]]]]] category section
Configuration data for error level messages. This can be overriden for specific messages.
max
The maximum number of messages to be logged in the specified interval.
duration
The time interval in seconds for which the logged messages will be limited.
The [[[[[INFO]]]]] category section
Configuration data for informational level messages. This can be overriden for specific messages.
max
The maximum number of messages to be logged in the specified interval.
duration
The time interval in seconds for which the logged messages will be limited.
The [[[[[DEBUG]]]]] category section
Configuration data for debug level messages. This can be overriden for specific messages.
max
The maximum number of messages to be logged in the specified interval.
duration
The time interval in seconds for which the logged messages will be limited.
The [[[[[TRACE]]]]] category section
Configuration data for trace level messages. This can be overriden for specific messages.
max
The maximum number of messages to be logged in the specified interval.
duration
The time interval in seconds for which the logged messages will be limited.
The [[[[messages]]]] section
Configuration data for specific messages. Each subsection is a specific message or list of messages.
The `[[[[[message-id]]]]] section
max
The maximum number of messages to be logged in the specified interval.
duration
The time interval in seconds for which the logged messages will be limited.
messages
Optional list of messages for which this section is for If omitted, the section name is used as the message id.
The [[weewx]] section
Used to configure additional observations and units for WeeWX to use. See, https://weewx.com/docs/5.0/custom/units/#creating-a-new-unit-group This assumes a good knowledge of customizing WeeWX. An example can be found here.
The [[[observations]]] section
observation-name
Used to designate the unit_group the observation belongs to. For example, observation-name = unit-group-name
The [[[units]]] section
For each [[[[unit-name]]]] section
format
The formatting for this unit.
group
The unit group this unit belongs to.
label
The label for this unit.
unit_system
The unit system this unit belongs to.
[[[[[conversion]]]]] section
to-unit-name
The formula to use to convert to this unit. For example, to-unit-name = function to convert from unit to to-unit