Merge mqtt backend and plugin #320

Merged
blacklight merged 21 commits from 315/merge-mqtt-backend-and-plugin into master 2023-09-17 02:51:48 +02:00
Owner

Closes: #315, #310

Closes: #315, #310
Moved get_message_response to platypush.utils.
All checks were successful
continuous-integration/drone/push Build is passing
b746d0b402
It is general-purpose enough to be used by all the integrations, not
only by the HTTP backend.
Migrated zigbee.mqtt integration.
All checks were successful
continuous-integration/drone/push Build is passing
3de510da68
The plugin has been migrated to the new `mqtt` API and the legacy
listener that extended `MqttBackend` has been removed and merged into
the plugin.
Removed deprecated zigbee.mqtt backend.
All checks were successful
continuous-integration/drone/push Build is passing
8ab7b6bebc
Closes: #322
This is for sake of consistency with other integrations (like
`zwave.mqtt`) that also use the same parameter name for the MQTT topic
prefix.
- Do `abspath`+`expanduser` on the configuration file path before
  checking if it exists.

- If the path doesn't exist, but the user explicitly passed a
  configuration file, then copy/create the default configuration
  under the specified directory.
If we include the class name by default then we won't have to
explicitly modify the client_id in the implementation classes
in order to prevent clashes.
Plugins that extend `MqttPlugin` shouldn't run messages as
requests, even if the parent MQTT plugin is configured to
do so.
Before the merge of the plugin and the listener those components
used to have their own separate state, which led to inconsistencies.
The @action decorator should capture all the exceptions,
log them and return them on `Response.errors`.

This ensures that uncaught exceptions from plugin
actions won't unwind out of control, and also that they
are logged and treated consistently across all the
integrations.
We should always update the entities cache on addEntity.
All checks were successful
continuous-integration/drone/push Build is passing
4223576016
Updating the entity cache only when we receive an event from a root
entity means that we lose events sent by individual child entities.
Migrated zwave.mqtt integration.
All checks were successful
continuous-integration/drone/push Build is passing
2fcd623c51
Merged the zwave.mqtt plugin with the listener and removed the
leftovers of the legacy zwave plugin.
Updated example configuration for mqtt and mqtt-based plugins.
All checks were successful
continuous-integration/drone/push Build is passing
fa2b84a269
get_all_plugins should use Message.Encoder for encoding the response.
All checks were successful
continuous-integration/drone/push Build is passing
2e004c1a1e
Some plugin information may include enums, tuples and other types that
aren't serializable by the default JSON serializer.
blacklight changed title from WIP: Merge mqtt backend and plugin to Merge mqtt backend and plugin 2023-09-17 02:51:24 +02:00
blacklight deleted branch 315/merge-mqtt-backend-and-plugin 2023-09-17 02:51:48 +02:00
Sign in to join this conversation.
No description provided.