Commit Graph

83 Commits

Author SHA1 Message Date
Fabio Manganiello 89d618b35f [WIP] `music.mopidy` refactor, initial backend rewrite. 2024-04-03 23:01:22 +00:00
Fabio Manganiello 6bdc9e77ee
[#349] Refactored/rewritten `telegram` plugin.
continuous-integration/drone/push Build is passing Details
1. `chat.telegram` -> `telegram` plugin.

2. Merged `backend.chat.telegram` logic into `telegram` plugin.

3. Rewritten the architecture of the integration to adapt to the new
   asyncio API introduced in the latest versions of telegram-bot-api.

Closes: #349
2024-03-03 15:39:47 +01:00
Fabio Manganiello 2b595623b3
[#348] Converted `gps` backend into a plugin.
continuous-integration/drone/push Build is passing Details
Closes: #348
2024-02-05 02:16:02 +01:00
Fabio Manganiello 9fa5989e21 [#302] Merged `pushbullet` backend and plugin.
Also, added support for more granular Pushbullet events.

Closes: #302
2024-01-09 23:46:07 +00:00
Fabio Manganiello 91a8fd3b56
[system] A more robust logic to parse cache size from `cpuinfo`.
continuous-integration/drone/push Build is passing Details
2024-01-04 13:55:08 +01:00
Fabio Manganiello 3bb7c02572
[#301] Merged `ping` backend and plugin.
Also, removed `ping` response types.
2023-11-24 02:06:53 +01:00
Fabio Manganiello 71ccffa698
[weather.buienradar] Implemented forecast support. 2023-11-23 01:35:58 +01:00
Fabio Manganiello b969afb1cf
Added support for weather forecast events and entities. 2023-11-23 01:35:58 +01:00
Fabio Manganiello a0d8c522a2
[#308] Finalized `weather` integrations migration.
continuous-integration/drone/push Build was killed Details
- Migrated `weather.buienradar` integration.
- Removed last leftovers of the previous weather backends and responses.

Closes: #308
2023-11-20 03:10:00 +01:00
Fabio Manganiello b8a4b9e4c5
Implemented support for weather entities. 2023-11-20 01:46:01 +01:00
Fabio Manganiello b800899859
[#308] Refactored `weather.openweathermap` plugin. 2023-11-19 00:10:10 +01:00
Fabio Manganiello 1a777c6276
Removed Todoist backend and migrated responses to schemas.
continuous-integration/drone/push Build is passing Details
The Todoist Websocket interface is no longer working properly, and I'm
sick of reverse engineering it.

Closes: #305
2023-11-18 10:16:48 +01:00
Fabio Manganiello c919cf0cd8
[trello] (Almost) complete plugin rewrite.
continuous-integration/drone/push Build is passing Details
- Merged `trello` plugin and backend into a single plugin.

- Removed legacy `Response` objects, replaced with data classes and
  schemas.

- Fixed the Websocket connection flow to reflect the new authentication
  protocol.

Closes: #307
2023-11-17 02:07:04 +01:00
Fabio Manganiello 7bb08bca07
[joystick] Rewritten `joystick` integration as a plugin.
continuous-integration/drone/push Build is passing Details
And removed legacy `joystick*` backends and `inputs` plugin.

Closes: #290
2023-11-16 21:43:56 +01:00
Fabio Manganiello d617443af6
[YouTube] Added subscriptions+channels support.
continuous-integration/drone/push Build is failing Details
Closes: #337
2023-11-15 03:05:58 +01:00
Fabio Manganiello 4853f51c8b
[YouTube] Added (read-only) playlists support. 2023-11-15 03:05:57 +01:00
Fabio Manganiello be28965d84
[`youtube`] Added `youtube.get_feed` action. 2023-11-13 02:40:50 +01:00
Fabio Manganiello 20aeb0b72e
[`system`] Some versions of `cpuinfo` may return cache sizes in human-readable format.
continuous-integration/drone/push Build is passing Details
2023-11-10 21:55:41 +01:00
Fabio Manganiello 9a090d1b46
[`system`] Cache sizes can also be float, not necessarily int.
continuous-integration/drone/push Build is passing Details
2023-11-10 21:30:56 +01:00
Fabio Manganiello e66ca105d7
[`jellyfin`] Added `duration` field to video results. 2023-11-09 02:47:33 +01:00
Fabio Manganiello e7bd61e0d4
Black/LINT for Jellyfin plugin. 2023-11-07 00:45:45 +01:00
Fabio Manganiello dc3392c11d
Disk I/O stats are not always available and should therefore be optional. 2023-04-23 22:25:24 +02:00
Fabio Manganiello 27b1048789
Converted `system.processes` to the new data model. 2023-04-23 02:08:43 +02:00
Fabio Manganiello 387616ea96
Convert `system.connected_users` to the new data model. 2023-04-23 01:12:07 +02:00
Fabio Manganiello a72c32cb00
Added battery entity support to `system` plugin. 2023-04-23 00:41:21 +02:00
Fabio Manganiello b3440ab96b
Added support for fan sensors on the `system` plugin. 2023-04-23 00:08:27 +02:00
Fabio Manganiello 45d5f439be
Added support for system temperature sensor entities. 2023-04-22 22:42:11 +02:00
Fabio Manganiello 374f936c1f
Merged `network_stats` into `NetworkInterface` model. 2023-04-22 17:19:24 +02:00
Fabio Manganiello 977b55dea9
Merged network addresses into `NetworkInterface` model. 2023-04-22 17:19:23 +02:00
Fabio Manganiello ebe79ac29a
Refactored system schema dataclasses.
- `percent_field` should be declared on `platypush.schemas.dataclasses`
  level, since it's not specific to the `system` plugin.
- Added a common `SystemBaseSchema` that takes care of calling
  `_asdict()` if the object is passed as a `psutil` object instead of a
  dict.
2023-04-22 17:19:23 +02:00
Fabio Manganiello b3a0896485
Converted `NetworkConnection` schema/response. 2023-04-22 17:19:22 +02:00
Fabio Manganiello 98a300c4b1
Added `NetworkInterface` entities to `system` plugin.
Plus, `platypush.schemas.system` has now been split into multiple
submodules to avoid a single-file mega-module with all the system
schemas definitions.
2023-04-21 00:45:15 +02:00
Fabio Manganiello 44b8fd4b34
Support for `disk` entities in the `system` integration. 2023-04-20 16:26:51 +02:00
Fabio Manganiello 4ebfbf3851
Added memory stats entities. 2023-04-19 01:31:11 +02:00
Fabio Manganiello 0073239a40
Support for CPU `load_average` entity. 2023-04-18 18:26:02 +02:00
Fabio Manganiello 1cee0459cf
Added `CpuFrequency` entity to `system`. 2023-04-18 01:49:36 +02:00
Fabio Manganiello a5b0a524f6
Added `CpuStats` entity to `system`. 2023-04-18 01:19:06 +02:00
Fabio Manganiello b4fbd3e915
Added `percent` entity to `cpu`. 2023-04-17 02:25:04 +02:00
Fabio Manganiello 6e65783feb
Added schemas for `CpuTimes`. 2023-04-17 02:25:03 +02:00
Fabio Manganiello 3e3c48d779
Defined new entity and schema for CpuInfo. 2023-04-17 02:25:02 +02:00
Fabio Manganiello bc2730c841
Rewritten `linode` integration.
- Support for cloud instances as native entities.
- Using Marshmallow dataclasses+schemas instead of custom `Response`
  objects.
- Merge `linode` backend into `linode` plugin.
2023-03-26 11:23:33 +02:00
Fabio Manganiello 4b9c5a0203
Support for schema `EnumField`. 2023-03-26 03:48:32 +02:00
Fabio Manganiello 026662f6b6
Added base schema for Marshmallow dataclasses. 2023-03-26 03:47:44 +02:00
Fabio Manganiello 06dfd1a152
Added support for more entities in `switchbot` 2023-02-05 15:34:50 +01:00
Fabio Manganiello 2047b9b76c
[WIP] Refactoring `switchbot` plugin as a runnable plugin + entity manager 2023-02-04 22:22:51 +01:00
Fabio Manganiello 2893cb1cc4
Replaced deprecated `missing` marshmallow parameter with `load_default` 2023-01-08 00:15:24 +01:00
Fabio Manganiello c5cf9803ff
Take into account the notify_only_if_changed parameter 2023-01-07 23:09:42 +01:00
Fabio Manganiello a77206800d
Added HID plugin to support interaction with generic HID devices 2023-01-07 22:30:32 +01:00
Fabio Manganiello 152ebdf737
[#236] Added `author` and `tags` attributes to new feed entry event and schema objects. 2022-12-17 00:21:32 +01:00
Fabio Manganiello 1d78c3e753
FIX: Broken docstring 2022-09-30 10:56:08 +02:00