Commit Graph

3485 Commits

Author SHA1 Message Date
Fabio Manganiello 3e8d6bb01e Removed `typing-extensions` dependency.
continuous-integration/drone/push Build is failing Details
The package isn't present on older versions of Debian.
2023-09-18 14:05:39 +02:00
Fabio Manganiello 10bf617261 main/ should have a trailing slash.
continuous-integration/drone/push Build is passing Details
2023-09-18 13:40:17 +02:00
Fabio Manganiello ed9548a476 Release .deb packages both for stable and oldstable.
continuous-integration/drone/push Build is passing Details
2023-09-18 13:36:59 +02:00
Fabio Manganiello 9702612fd5 Added s3 region settings and changed destination bucket.
continuous-integration/drone/push Build is passing Details
2023-09-18 13:20:14 +02:00
Fabio Manganiello bfb4b78172
The target deb name has `_all.deb` prefix.
continuous-integration/drone/push Build is failing Details
2023-09-18 12:05:27 +02:00
Fabio Manganiello 85febac2ae
Fixed the location of the target .deb file in the Drone CI script.
continuous-integration/drone/push Build is failing Details
2023-09-18 12:03:16 +02:00
Fabio Manganiello 868bec8ba5
One more fix for variable names in Drone CI script.
continuous-integration/drone/push Build is failing Details
2023-09-18 11:59:03 +02:00
Fabio Manganiello 82e3f317bc
Drone CI doesn't support `${}` syntax for bash variables.
continuous-integration/drone/push Build is failing Details
2023-09-18 11:54:32 +02:00
Fabio Manganiello 83ffa9f4a8
Added missing AWS_SECRET_ACCESS_KEY configuration secret.
continuous-integration/drone/push Build is failing Details
2023-09-18 11:47:36 +02:00
Fabio Manganiello b955a1490d
"Depends" requires the dependencies to be comma-separated.
continuous-integration/drone/push Build is failing Details
2023-09-18 11:44:59 +02:00
Fabio Manganiello 73609c7f0b
Make sure that the __all/DEBIAN directory exists.
continuous-integration/drone/push Build is failing Details
2023-09-18 11:39:34 +02:00
Fabio Manganiello 295e202fc9
dpkg wants the control file under the `__all` directory.
continuous-integration/drone/push Build is failing Details
2023-09-18 11:37:39 +02:00
Fabio Manganiello bc519d4b09
EOF required in the cat command.
continuous-integration/drone/push Build is failing Details
2023-09-18 11:34:57 +02:00
Fabio Manganiello 949e5de070
Need to add `.` to pip install.
continuous-integration/drone/push Build was killed Details
2023-09-18 11:34:00 +02:00
Fabio Manganiello 9bcadcb3c9
Use pip install --prefix to prepare the Debian package.
continuous-integration/drone/push Build is failing Details
2023-09-18 11:32:21 +02:00
Fabio Manganiello 2c74868315
[#323] Added logic to create deb package
continuous-integration/drone/push Build is failing Details
2023-09-18 11:00:46 +02:00
Fabio Manganiello 07c88c9530
Added logic to prevent socket leakage from paho-mqtt upon client stop.
continuous-integration/drone/push Build is passing Details
2023-09-17 23:43:56 +02:00
Fabio Manganiello 3f4168eb69
Support for new `Quality` enumeration constants on `tidalapi`.
continuous-integration/drone/push Build is passing Details
2023-09-17 22:40:26 +02:00
Fabio Manganiello c6cda86b1c
LINT/regex fix for ESP plugin. 2023-09-17 17:10:40 +02:00
Fabio Manganiello ecba2e49ac
Do not remove the existing webapp's dist folder in build-ui.
continuous-integration/drone/push Build is passing Details
2023-09-17 12:56:54 +02:00
Fabio Manganiello 4c4a33dc7c
Added Bluetooth example configuration to sample config.yaml.
continuous-integration/drone/push Build is passing Details
2023-09-17 03:25:21 +02:00
Fabio Manganiello 9e7b95583b Merge pull request 'Merge `mqtt` backend and plugin' (#320) from 315/merge-mqtt-backend-and-plugin into master
continuous-integration/drone/push Build is failing Details
Reviewed-on: #320
2023-09-17 02:51:47 +02:00
Fabio Manganiello c4352660a4
Documentation update.
continuous-integration/drone/push Build is passing Details
Removed references to the legacy zwave plugin and backend.
2023-09-17 02:47:04 +02:00
Fabio Manganiello 46167a6c2a
Removed legacy zwave backend. 2023-09-17 02:46:24 +02:00
Fabio Manganiello 190cfa21b5
Fixed documentation references to some non-existing events. 2023-09-17 02:41:55 +02:00
Fabio Manganiello 0421325b26
Support to register/unregister custom handlers on the bus. 2023-09-17 02:29:11 +02:00
Fabio Manganiello 2e004c1a1e
`get_all_plugins` should use `Message.Encoder` for encoding the response.
continuous-integration/drone/push Build is passing Details
Some plugin information may include enums, tuples and other types that
aren't serializable by the default JSON serializer.
2023-09-17 02:11:52 +02:00
Fabio Manganiello fa2b84a269
Updated example configuration for mqtt and mqtt-based plugins.
continuous-integration/drone/push Build is passing Details
2023-09-16 15:26:07 +02:00
Fabio Manganiello 2fcd623c51
Migrated zwave.mqtt integration.
continuous-integration/drone/push Build is passing Details
Merged the zwave.mqtt plugin with the listener and removed the
leftovers of the legacy zwave plugin.
2023-09-16 03:58:19 +02:00
Fabio Manganiello 52cb1afb4b
Don't break words in entity value frames. 2023-09-16 02:58:17 +02:00
Fabio Manganiello e947cb1e67
Updated web dist files 2023-09-15 16:22:40 +02:00
Fabio Manganiello 4223576016
We should always update the entities cache on addEntity.
continuous-integration/drone/push Build is passing Details
Updating the entity cache only when we receive an event from a root
entity means that we lose events sent by individual child entities.
2023-09-15 00:45:38 +02:00
Fabio Manganiello 1020b63da7
All EntityMixin components should be allowed to emit `loading` events. 2023-09-15 00:34:29 +02:00
Fabio Manganiello 2c93049ee5
Catch all the exceptions in a plugin action wrapper.
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.
2023-09-14 23:08:23 +02:00
Fabio Manganiello ac72b2f7a8
Fixed management of state on `zigbee.mqtt`.
Before the merge of the plugin and the listener those components
used to have their own separate state, which led to inconsistencies.
2023-09-14 23:05:27 +02:00
Fabio Manganiello 5a514fdcce
Only support the `run_topic` logic on the MQTT plugin.
Plugins that extend `MqttPlugin` shouldn't run messages as
requests, even if the parent MQTT plugin is configured to
do so.
2023-09-14 01:09:03 +02:00
Fabio Manganiello 4cb5aa7acb
Prepend the class name to the string used to generate the MQTT client_id hash.
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.
2023-09-14 01:06:53 +02:00
Fabio Manganiello 3104a59f44
Better processing of configuration file parameters.
- 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.
2023-09-14 00:24:52 +02:00
Fabio Manganiello ddd8f1afdc
`base_topic` param in `zigbee.mqtt` renamed to `topic_prefix`.
This is for sake of consistency with other integrations (like
`zwave.mqtt`) that also use the same parameter name for the MQTT topic
prefix.
2023-09-07 21:32:56 +02:00
Fabio Manganiello 8ab7b6bebc
Removed deprecated `zigbee.mqtt` backend.
continuous-integration/drone/push Build is passing Details
Closes: #322
2023-09-06 02:54:48 +02:00
Fabio Manganiello 3de510da68
Migrated `zigbee.mqtt` integration.
continuous-integration/drone/push Build is passing Details
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.
2023-09-06 02:44:56 +02:00
Fabio Manganiello 33a1ef39e4
Refactored and merged `backend.mqtt` logic into `mqtt` plugin. 2023-09-06 02:43:45 +02:00
Fabio Manganiello b746d0b402
Moved `get_message_response` to `platypush.utils`.
continuous-integration/drone/push Build is passing Details
It is general-purpose enough to be used by all the integrations, not
only by the HTTP backend.
2023-09-05 13:03:30 +02:00
Fabio Manganiello f1acff00e9
Put the join back on `CommandStream.__exit__`.
continuous-integration/drone/push Build is passing Details
We want to give the process a bit of slack between the terminate and the
close, or we'll be guaranteed to get race conditions upon close.
2023-09-04 11:01:34 +02:00
Fabio Manganiello 6ee064cb89
Always rebase on pull in .drone.yml.
continuous-integration/drone/push Build is passing Details
2023-09-04 02:53:20 +02:00
Fabio Manganiello 82ef928d5b Merge pull request 'Better Docker support' (#277) from 276/better-docker into master
continuous-integration/drone/push Build is failing Details
Reviewed-on: #277
2023-09-04 02:49:14 +02:00
Fabio Manganiello b3c82fe0d1
More resilient termination logic for `CommandStream`.
continuous-integration/drone/push Build is passing Details
2023-09-04 02:47:18 +02:00
Fabio Manganiello c69f97c0a5
Updated default config.yaml.
continuous-integration/drone/push Build is passing Details
The new configuration:

- Enables `backend.http` by default
- Removes the extra `config.auto.yaml` dependency
- Includes many more examples, lots of updates for existing examples,
  and extensive comments.
2023-09-04 02:22:46 +02:00
Fabio Manganiello 07c2eee890
Changed (fixed) default location for config dir if not existing.
Following some common UNIX conventions, if no configuration file is
specified and none exists under the default locations, then a new
configuration directory should be created under:

```
- if root: /etc/platypush
- else:
  - if XDG_CONFIG_HOME:
    - $XDG_CONFIG_HOME/platypush
  - else:
    - ~/.config/platypush
```
2023-09-04 02:19:13 +02:00
Fabio Manganiello b6c0ff799b
Rewritten the `http.webpage` plugin. 2023-09-03 17:33:25 +02:00