Online docs: https://reactor.toggledbits.com/docs/MQTTController/
Versions >=24049 require Reactor build 24052 or higher.
NOTE: Uses latest mqtt
package, which is version 5.11 as of this writing. You must run npm run deps
in the MQTTController install directory to update the package.
include: shellyplus1pm
) and Shelly 1 Mini Gen3 (use include: shelly1minig3
).query
directive in a device configuration now supports payload construction using the same semantics as that for action payload constructions. Principally, this gives you access to expr
for query payloads, which facilitates more dynamic construction of payload fields where devices or templates need.reactor/:ident/Reaction/:reaction_id/:command
; the command
may be run
, stop
, or query
to run (enqueue), stop (if running), or query the status of the specified global or Ruleset-based Reaction. You cannot run, stop, or query the state of the SET or RESET Reactions in a Rule. The query
command requires Reactor build 25111 or higher for accurate response.uses_template
config directive (deprecated last year); it will be ignored. Use include
instead.stable
release builds (which tend to be older than latest
).capabilities
section at top level of template file).DEPRECATION NOTICE: The uses_template
entity configuration directive is now deprecated; use include
instead (see below). It will remain functional until build 25091 (Q2 2025).
templates
distribution subdirectory.include
directive in entity configuration or a template can be used to include the data of another template. You may name a single template (string value), or an array of template names. This permits common behaviors across devices to be modularized in templates. This directive also now replaces uses_template
, which is deprecated (see above notice).config/mqtt_templates/
) now supports any directory hierarchy the user wishes to maintain within it. It searches for templates in YAML or JSON files in the hierarchy, and will traverse ZIP files as well (so template developers can distribute their products in ZIP archives for easy installation/upgrade).shelly_rgbw2_color
(requires topic
).wifi_status
capability for some devices; more to come. Previously, those devices stored WiFi status info in x_mqtt_device
(extended capability) attributes. Now that a first-class capability is being used, the extended attributes are deprecated and will be removed from a future release.false
. If a device cannot support any action of a capability, the entire default list of actions for the capability can be removed by specifying the capability value as false
in the actions
section of the template. For an example, see the template shelly_rgbw2_color
implementation for capability light_effect
action set_speed
, and the action implementation for the button
capability.x_mqtt_device
. Including an arguments
object in the standard action arguments format allows the template to notify the UI of the arguments required by the action. For an example, see the template shelly_rgbw2_color
action x_mqtt_device.set_white
.shelly_handt3
(requires topic
)version
field in user templates).tasmota_generic_relay
template's toggle.toggle
action.map
in event handling configuration.parameter: name
value form to action payload definition to draw payload value from the named parameter without the need to use an expr
ession (this follows the implementation of action definitions in other Controller instances as well).hsltorgb(h,s,l)
and rgbtohsl(r,g,b)
for conversion between RGB and HSL colors. [doc]topic
local variable. This is the implementation of Feature Request PR 0000348.actionname: false
in its actions
section, declare that the named action is not supported by the device/entity.if_expr
or expr
expressions fail evaluation, also show the payload received with the evaluation error message in the log.x_mqtt_device.online
attribute for templates that have custom LWT event.sys_system.restart
action.x_mqtt_system.publish
action could cause a reaction task to stall.query
configuration key now takes either a string as a simple topic to be sent with no payload and default QoS/retain, or an object that contains a required key topic
(string value) and the optional keys payload
, qos
and retain
. These keys have the same meaning as the array entries of init
(but note that query
is not an array; only a single topic/payload can be defined). [docs]default_qos
and default_retain
establish the top of a hierarchy for setting QoS and retain flags. Refer to the [docs] for details.mqtt_templates
as YAML files (as before) or (new) ZIP archives containing YAML files. The YAML files can define a single template or multiple.config/mqtt_templates
subdirectory. This should improve users' configuration management for community-contributed templates.requires
key in templates to facilitate user-feedback when a template is used but a configuration value required by the template it not provided by the user.NOTE: This version requires Reactor version 22280 or higher.
%flavor:chocolate%
would insert the word chocolate if flavor was not defined in the entity configuration.owntracks_in_region
adds a user
field that can be set if your Owntracks needs it. The Owntracks topic is /owntracks/user/deviceid
, so the user
field should be set in your entity configuration (with topic
and regionName
to whatever is in that user
portion of the topic (e.g. if your Owntracks publishes owntracks/fred/fredsphone
then topic
should be set to fredsphone
and user
should be set to fred
).owntracks_in_region
template.tasmota_sensor_flora
template contribution by @CrilleclientId
can be set in config.options
for the broker conneection.entity_identifier
to be set to id/name
(which is a synonym for combined
), or name/id
, the order of the levels being as indicated.entity_identifier
configuration key (echo
section); please refer to the documentation for details.reactor/<controller-id>/alerts
include_groups
and exclude_groups
filters for echo selection.exclude_capabilities
when not defined will filter out extension capabilities.init
section for device initializations (optional) has been added; refer to the docs.x_mqtt_device.poll
action is now defined for devices with query
configured; refer to the docs.username
and password
in controller config for authentication.