Fabio Manganiello
86edd70d93
Fixed session/concurrency management on the main SQLite db
...
- The `declarative_base` instance should be shared
- Database `session_locks` should be stored at module, not instance
level
- Better isolation of scoped sessions
- Enclapsulated `get_session` method in `UserManager`
2022-11-12 15:36:17 +01:00
Fabio Manganiello
6b7933cd33
Using a different SQLite database for entities
...
This prevents multiprocessing/concurrency issues when modifying the same
database file both from the main process and from the web server process
2022-11-12 02:00:55 +01:00
Fabio Manganiello
02a4c9f667
Added is_query_disabled attribute to entities
2022-11-11 20:40:36 +01:00
Fabio Manganiello
00a43dd1f8
Implemented `EnumSwitch` entity type
...
Done for `zigbee.mqtt`, other plugins will follow
2022-11-11 01:46:38 +01:00
Fabio Manganiello
801ed05684
Added support for binary sensors (in zigbee.mqtt for now)
2022-11-05 01:47:50 +01:00
Fabio Manganiello
0f19104512
Improved zigbee.mqtt node property queries.
...
Now handling cases of nodes with values having multiple levels (> 1) of
nested properties.
2022-11-04 22:51:40 +01:00
Fabio Manganiello
5ca3c06f96
Normalize device names in set_lights
2022-11-02 23:32:21 +01:00
Fabio Manganiello
d5f8d55b4b
Fixed zigbee.mqtt light entity conversion
2022-11-02 23:07:12 +01:00
Fabio Manganiello
636d1ced3a
A more robust way of splitting devices provided in the <ieee_address:value> format
2022-11-02 22:49:19 +01:00
Fabio Manganiello
02abef71e3
Fixes for zigbee devices polling
...
- Don't publish a `get` request if the device has no exposed queriable
attributes.
- Perform the recursive build of the `get` request payload before
checking for the `access` attribute.
2022-11-02 21:54:47 +01:00
Fabio Manganiello
64513be6b8
Initial implementation of sensor entities.
...
Implemented (at least in `zigbee.mqtt`, for now):
- `TemperatureSensor`
- `HumiditySensor`
- `VoltageSensor`
- `CurrentSensor`
- `EnergySensor`
- `PowerSensor`
- `NumericSensor` (generic fallback 1)
- `RawSensor` (generic fallback 2)
- `Sensor` (root class)
2022-11-02 16:38:17 +01:00
Fabio Manganiello
d7214c4c83
Fix for `No converter available` warnings on zigbee2mqtt
...
Only include readable (not state-only) properties on the payload sent to
to `zigbee2mqtt/<device>/get`.
2022-10-31 00:51:26 +01:00
Fabio Manganiello
a1cf671334
Added support for link_quality entities to `zigbee.mqtt`
2022-10-30 11:03:22 +01:00
Fabio Manganiello
71ccf6d04a
Support for battery sensors on zigbee.mqtt
2022-10-29 18:16:38 +02:00
Fabio Manganiello
42651e937b
LINT fixes on zigbee.mqtt plugin
2022-10-29 14:09:44 +02:00
Fabio Manganiello
d61b053f72
Support for battery entities
2022-10-29 13:38:42 +02:00
Fabio Manganiello
486cd66885
More LINTs
2022-10-23 21:23:19 +02:00
Fabio Manganiello
72c7444a45
LINT
2022-10-23 18:23:20 +02:00
Fabio Manganiello
951950c864
Added dimmer entities
2022-10-23 00:30:32 +02:00
Fabio Manganiello
1af7ece881
Added deprecation notice for `zwave` plugin and backend (use `zwave.mqtt` instead)
2022-10-22 19:17:58 +02:00
Fabio Manganiello
7f575bacaa
Implemented the new zwavejs2mqtt features for adding and removing nodes
2022-10-14 23:28:02 +02:00
Fabio Manganiello
1b791156bd
Proper support for color zigbee lights
2022-10-12 03:00:42 +02:00
Fabio Manganiello
2cc80e7f16
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
2022-10-07 00:05:54 +02:00
Fabio Manganiello
b88983f055
Added `qos` argument to `mqtt.publish`.
2022-10-05 01:13:47 +02:00
Fabio Manganiello
fed7c2c6ff
Fixed typo in schema path
2022-09-30 11:30:57 +02:00
Fabio Manganiello
1d78c3e753
FIX: Broken docstring
2022-09-30 10:56:08 +02:00
Fabio Manganiello
ae226a5b01
Added `tts.mimic3` integration.
...
Closes : #226
2022-09-30 10:51:17 +02:00
Fabio Manganiello
fef7aff245
LINT fixes for mpv plugin
2022-09-30 10:41:56 +02:00
Fabio Manganiello
4bab9d2607
[ #224 ] Implemented Wallabag integration
2022-09-29 10:51:16 +02:00
Fabio Manganiello
deb25196d2
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
2022-09-28 02:17:10 +02:00
Fabio Manganiello
09baceab4b
Include album_id and the list of tracks in music.tidal.get_album
2022-09-19 20:39:21 +02:00
Fabio Manganiello
36dd645209
Use session.playlist instead of session.user.playlist to query playlists
2022-09-18 06:04:53 +02:00
Fabio Manganiello
61cda60751
Proper implementation for Tidal's add_to_playlist and remove_from_playlist methods
...
- Using tidalapi's `UserPlaylist.add` and `UserPlaylist.delete` methods
instead of defining my own through `_api_request`, so we won't have to
deal with the logic to set the ETag header.
- Added `remove_from_playlist` method.
2022-09-18 05:22:12 +02:00
Fabio Manganiello
7c610adc84
FIX: Apply expanduser to the credentials_file setting in music.tidal
2022-09-17 06:30:20 +02:00
Fabio Manganiello
a9ebb4805a
Fixed doc warnings
2022-09-17 06:25:28 +02:00
Fabio Manganiello
e1aa214bad
tidal-integration ( #223 )
...
Reviewed-on: #223
2022-09-16 21:48:09 +02:00
Fabio Manganiello
4682fb4210
Throw an assertion error when on_duplicate_update is specified on db.insert with no key_columns
2022-09-04 16:02:37 +02:00
Fabio Manganiello
0143dac216
Improved support for bulk database statements
...
- Wrapped insert/update/delete operations in transactions
- Proper (and much more efficient) bulk logic
- Better upsert logic
- Return inserted/updated records if the engine supports it
2022-09-04 13:30:35 +02:00
Fabio Manganiello
1ea53a6f50
Support for query placeholders in `db.select`
2022-09-04 00:28:08 +02:00
Fabio Manganiello
61c96612bc
Merge branch 'master' into 219-opml-import-export
2022-09-02 00:23:57 +02:00
Fabio Manganiello
6c6e68b512
Added support for OPML import and export in the RSS plugin.
...
[closes #219 ]
2022-09-02 00:21:40 +02:00
Fabio Manganiello
a286cf5000
Updated PopcornTime base URL
2022-09-01 11:13:16 +02:00
Fabio Manganiello
1880a99052
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
2022-08-29 01:41:47 +02:00
Fabio Manganiello
540a7d469e
- Fixed documentation errors and warnings
...
- Split Matrix integration into `plugin` and `client` files.
2022-08-29 00:55:46 +02:00
Fabio Manganiello
c417d2f692
Implemented last Matrix integration features.
...
- Added presence, typing and seen receipt events.
- Added set display_name and avatar methods.
2022-08-28 15:17:11 +02:00
Fabio Manganiello
e479ca7e3e
Completing the Matrix plugin integration
...
Newly implemented actions:
- `get_messages`
- `get_room_members`
- `update_device`
- `delete_devices`
- `room_alias_to_id`
- `add_room_alias`
- `delete_room_alias`
- `kick`
- `ban`
- `unban`
- `forget`
2022-08-28 12:26:27 +02:00
Fabio Manganiello
d890b6cbe8
Added create_room action
2022-08-27 23:26:42 +02:00
Fabio Manganiello
912168626c
Added join_room, leave_room and invite_to_room and extended handling on invitation events
2022-08-27 21:50:48 +02:00
Fabio Manganiello
513195b396
Implemented support for file upload
2022-08-27 15:12:50 +02:00
Fabio Manganiello
48ec6ef68b
Implemented proper support for encrypted media and added download method
2022-08-26 23:48:29 +02:00