cf9d34d38e
A more robust logic to parse zwave.mqtt
value attributes.
2022-12-10 16:21:29 +01:00
c4f649a0d5
autoflush
should be passed as an option to db.get_session
.
2022-12-10 16:20:14 +01:00
6a2a3100f8
LINT fixes for zwave.mqtt
backend
2022-12-10 16:16:23 +01:00
5a47308516
Merge branch 'master' into 29-generic-entities-support
2022-12-10 15:57:28 +01:00
4c8190ac14
Bump version: 0.24.1 → 0.24.2
2022-12-10 15:37:49 +01:00
6713bf6994
Fixed backend.zwave
event logic dispatch for recent versions of ZWaveJS.
...
ZWaveJS has broken back-compatibility with zwavejs2mqtt when it comes to
events format.
Only a partial representation of the node and value objects is
forwarded, and that's often not sufficient to infer the full state of
the node with its values.
The `_dispatch_event` logic has therefore been modified to accommodate
both the implementation.
This means that we have to go conservative in order to preserve
back-compatibility and not over-complicate things, even if it (slightly)
comes at the expense of performance.
2022-12-10 15:35:09 +01:00
313105f014
Fixed backend.zwave
event logic dispatch for recent versions of ZWaveJS.
...
ZWaveJS has broken back-compatibility with zwavejs2mqtt when it comes to
events format.
Only a partial representation of the node and value objects is
forwarded, and that's often not sufficient to infer the full state of
the node with its values.
The `_dispatch_event` logic has therefore been modified to accommodate
both the implementation.
This means that we have to go conservative in order to preserve
back-compatibility and not over-complicate things, even if it (slightly)
comes at the expense of performance.
2022-12-10 14:52:10 +01:00
219a0a99ca
main.db
should use the configured workdir
when not specified.
...
Closes : #234
Reviewed-On: platypush/platypush#234
2022-12-09 23:37:10 +01:00
3b1147eaae
Bump version: 0.24.0 → 0.24.1
2022-12-08 12:33:34 +01:00
5ba3fa1b5b
FIX: Parenthesized context managers are only available in Python >= 3.10
...
Since Parenthesized context managers are only supported on very recent
versions of Python (thanks black for breaking back-compatibility), we
should still use the old multiline syntax - it's not worth breaking
compatibility with Python >= 3.6 and < 3.10 just to avoid typing a
backslash.
2022-12-08 12:28:36 +01:00
00fca6b187
Merge branch 'master' into 29-generic-entities-support
2022-12-04 20:58:06 +01:00
00a918dd20
Support for the new way of reporting events on ZWaveJS-UI.
...
The most recent versions of ZwaveJS-UI don't send the `hexId` of the
node on node change events. We have therefore to infer it from the
reported `dbLink`.
2022-12-04 20:56:52 +01:00
3a92bf59ca
Support for the new way of reporting events on ZWaveJS-UI.
...
The most recent versions of ZwaveJS-UI don't send the `hexId` of the
node on node change events. We have therefore to infer it from the
reported `dbLink`.
2022-12-04 20:48:42 +01:00
ecba72935f
Check for table metadata existance in Base.metadata
instead of having a separate entity registry
2022-12-04 16:28:46 +01:00
1ab85f99d9
Support for illuminance sensor entities on zigbee.mqtt
2022-11-30 02:16:56 +01:00
09d70e2ff1
The zwavejs2mqtt
project has been renamed zwave-js-ui
...
Change the documentation accordingly
2022-11-30 02:04:48 +01:00
b6370b51da
Extended humidity sensors detection for zigbee.mqtt
2022-11-30 01:24:35 +01:00
16c24d799d
Removed custom formatting for child zigbee/zwave entity names
...
The parent->child relationship is now modelled on the database itself,
so we no longer need value names specifically formatted as
`[DeviceName] ValueName` - the UI will take care of it.
2022-11-30 01:02:25 +01:00
080b21ab70
Added support for reachable flag on zwave.mqtt child entities
2022-11-30 01:01:45 +01:00
2b532c1947
Implemented parent/child support for zigbee.mqtt entities
2022-11-30 00:55:04 +01:00
abaeabea22
Implemented recursive merges of parent/child relationships in entities
2022-11-30 00:50:53 +01:00
cc156a53a1
Support for parent/children relationships on zwave.mqtt
entities
2022-11-28 21:42:11 +01:00
0edd73690b
Modelling of parent/children relationships on entity level
2022-11-28 21:36:00 +01:00
0e0c90f0f2
zwave.mqtt additions
...
- Infer entity types on the basis of their semantic type (bool, decimal,
list) and read-only attribute (read-only bool is `BinarySensor`,
read-write bool is `Switch`, read-only decimal is `NumericSensor`,
read-write decimal is `Dimmer`, etc.) instead of trying to infer it
from the command class. Only a small set of command classes (like
configurations, vendor-specific or internal values) will be excluded.
This should greatly increase the number of supported values.
- Added support for `EnumSwitch` entities.
- Added inference for illuminance and humidity sensors.
2022-11-27 22:53:53 +01:00
78c59f437a
Added support for illuminance sensor entities
2022-11-27 22:38:58 +01:00
03d1c554ea
Updated webapp dist files
2022-11-27 14:23:30 +01:00
b1a7a7d915
Fixed little overlap between the entities' header and the navigator
2022-11-27 12:56:39 +01:00
b5653e070e
Style improvements for the main navigator
2022-11-27 12:56:17 +01:00
681f307d04
A more self-explanatory icon for entity grouping selections
2022-11-27 00:56:47 +01:00
bba582875a
The data
attribute on EntityUpdateEvent
shouldn't be taken into account for flashing updates
2022-11-27 00:56:23 +01:00
e8d6717fcb
Added input box for <Dimmer> entities
2022-11-27 00:56:01 +01:00
bd59a5eefd
Support for range labels on <Slider>
2022-11-27 00:55:19 +01:00
f8aaab20f5
Updated webapp dist files
2022-11-27 00:53:58 +01:00
faa8295469
White background for main nav
2022-11-26 01:52:42 +01:00
d29723ea41
Keep the main menu items vertically aligned to the center also on tablets
2022-11-26 01:28:20 +01:00
d0c8a8edf9
A bit of padding for LightHue on mobile
2022-11-26 01:19:52 +01:00
37254cad1a
Mobile UI improvements
2022-11-26 01:16:07 +01:00
f28f08dd1a
Keep the main menu open on page load by default on >= desktop
2022-11-26 01:15:03 +01:00
fecd96f64c
Solved issue with main menu shrinking a bit when the main panel has too much wide content
2022-11-26 00:32:11 +01:00
33cc055249
Switched expanded main menu to light colors
2022-11-26 00:31:36 +01:00
a57e67b96f
Better style for the settings' users and token panels
2022-11-25 23:16:16 +01:00
21c1c96f2e
Use Dropdown for the settings menu
2022-11-25 23:15:41 +01:00
292ed2abff
Better style for dropdown items.
...
- Larger icon div to prevent text overlapping with icons
- Support for `selected` class
2022-11-25 23:14:28 +01:00
73f6712f7a
Bump version: 0.23.6 → 0.24.0
2022-11-22 00:12:25 +01:00
c0dd91838b
Merge branch 'master' into 29-generic-entities-support
2022-11-21 22:13:47 +01:00
d95baac74e
Add user credentials on the encrypted JWT token.
...
Adding the credentials ensures that tokens associated to non-existing
users, or users with an invalid password, won't be accepted, even if
they were correctly encrypted using the host's keypair.
This adds an additional layer of security in case the host's keypair
gets compromised.
2022-11-21 13:16:09 +01:00
98d7c95aa7
Removed two unrequired return
statements
2022-11-21 13:04:48 +01:00
ba1681fc22
Merge branch 'master' into 29-generic-entities-support
2022-11-21 12:36:01 +01:00
a2c8e27bd8
Removed PyJWT dependency.
...
PyJWT is a very brittle and cumbersome dependency that expects several
cryptography libraries to be already installed on the system, and it can
lead to hard-to-debug errors when ported to different systems.
Moreover, it installs the whole `cryptography` package, which is several
MBs in size, takes time to compile, and it requires a Rust compiler to
be present on the target machine.
Platypush will now use the Python-native `rsa` module to handle JWT
tokens.
2022-11-21 12:30:38 +01:00
02f89258b8
FIX: Task.set_name only works on Python >= 3.8
2022-11-21 09:49:57 +01:00
ae17a12c12
FIX: UserManager.get_users
...
`UserManager.get_users` should not return a reference to the query
object, since the query object will be invalidated as soon as the
connection is closed.
Instead, it should return directly the list of `User` objects.
2022-11-21 00:57:00 +01:00
e579fb3417
Don't display sensors with null value
2022-11-21 00:05:19 +01:00
b9e6614b04
Added support for EnumSensor
entities
2022-11-21 00:04:07 +01:00
d171000a0e
Initial support for sensor entities in zwave.mqtt
2022-11-14 22:08:15 +01:00
a7bc4f443c
Imports order
2022-11-14 21:30:43 +01:00
45d0e4445b
Sorted entity type names
2022-11-14 00:46:58 +01:00
96ce4729f9
Updated webapp dist files
2022-11-14 00:46:40 +01:00
b7757d17cc
Updated webapp dist files
2022-11-14 00:06:41 +01:00
7fac5392b8
Blink entities only if their values have actually changed
2022-11-13 23:52:21 +01:00
211372e472
Added support for dimmers on zigbee.mqtt
2022-11-13 18:48:36 +01:00
833d908a32
Blink entities body upon update
2022-11-13 01:39:40 +01:00
24f5a8283c
Added PRAGMA foreign_keys = ON
before deleting entities on SQLite
...
SQLite doesn't enable foreign keys cascade on delete by default.
2022-11-13 01:18:45 +01:00
f90d84a3d4
Don't wait for UI updates for entities that are not queriable
2022-11-13 00:54:37 +01:00
fb594cb8b1
Updated webapp dist files
2022-11-12 16:31:35 +01:00
69e097707d
Don't lock read session from the main database
2022-11-12 16:10:57 +01:00
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
bfeb0a08c4
Encapsulate _get_session
in EntityManager
2022-11-12 15:14:10 +01:00
8450129858
LINT fixes
2022-11-12 11:39:12 +01:00
8a894d0989
user_manager
should be a global object instead of being initialized on-demand
2022-11-12 11:38:40 +01:00
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
3fc94181b7
LINT fixes
2022-11-11 22:02:36 +01:00
26f869b6e4
LINT fixes
2022-11-11 21:49:38 +01:00
02a4c9f667
Added is_query_disabled attribute to entities
2022-11-11 20:40:36 +01:00
84bb77bd5b
Replaced ambiguous logger variable name
2022-11-11 20:37:39 +01:00
00a43dd1f8
Implemented EnumSwitch
entity type
...
Done for `zigbee.mqtt`, other plugins will follow
2022-11-11 01:46:38 +01:00
801ed05684
Added support for binary sensors (in zigbee.mqtt for now)
2022-11-05 01:47:50 +01:00
6454f9d018
Propert snake case -> camel case conversion for backend entities -> frontend components
2022-11-04 22:53:24 +01:00
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
5ca3c06f96
Normalize device names in set_lights
2022-11-02 23:32:21 +01:00
d5f8d55b4b
Fixed zigbee.mqtt light entity conversion
2022-11-02 23:07:12 +01:00
636d1ced3a
A more robust way of splitting devices provided in the <ieee_address:value> format
2022-11-02 22:49:19 +01:00
7db84acd34
Notify of entity scan timeouts on the console instead of creating tons of notifications
2022-11-02 22:24:06 +01:00
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
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
440cd60d6e
A (slightly) smarter way to infer the plural spelling of singular entity names
2022-11-02 16:35:20 +01:00
3d1a08f7af
Changed default entity grouping on the frontend.
...
Changed from `type` to `category`, which is basically the `name_plural`
attribute of the associated entity type metadata.
This allows us to define distinct entity metadata entries that we still
want to share the same grouping - for instance, `temperature_sensor`,
`humidity_sensor` and `battery` should all be grouped under `Sensors` on
the frontend.
2022-11-02 16:33:12 +01:00
68dd09e8ae
Removed unused expanded
data attribute
2022-11-02 16:31:50 +01:00
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
a1cf671334
Added support for link_quality entities to zigbee.mqtt
2022-10-30 11:03:22 +01:00
78dc8416fb
Snake case -> camel case for backend -> frontend entity types conversion
2022-10-30 11:01:46 +01:00
691d109fb7
Expunge entities after session commit to ensure that the ORM objects can be reused
2022-10-30 11:00:09 +01:00
71ccf6d04a
Support for battery sensors on zigbee.mqtt
2022-10-29 18:16:38 +02:00
42651e937b
LINT fixes on zigbee.mqtt plugin
2022-10-29 14:09:44 +02:00
d61b053f72
Support for battery entities
2022-10-29 13:38:42 +02:00
cdacf50fc7
Support for decimal.Decimal type JSON serialization
2022-10-29 13:35:52 +02:00
b8215d2736
A more robust cron start logic
...
If may happen (usually because of a race condition) that a cronjob has
already been started, but it hasn't yet changed its status from IDLE to
RUNNING when the scheduler checks it.
This fix guards the application against such events. If they occur, we
should just report them and move on, not terminate the whole scheduler.
2022-10-27 10:45:59 +02:00
486cd66885
More LINTs
2022-10-23 21:23:19 +02:00
72c7444a45
LINT
2022-10-23 18:23:20 +02:00
951950c864
Added dimmer entities
2022-10-23 00:30:32 +02:00
d7278857e5
Ensure that no records with duplicate key exist within an SQLAlchemy session before flushing
2022-10-23 00:28:42 +02:00
3e6ebdd23b
Don't store/show the state of write-only toggle switches
2022-10-23 00:28:01 +02:00
8cd5cb3338
The Slider should only react to @input events
2022-10-23 00:26:59 +02:00
1af7ece881
Added deprecation notice for zwave
plugin and backend (use zwave.mqtt
instead)
2022-10-22 19:17:58 +02:00
5c68365188
Better management for entity error icons
2022-10-14 23:37:36 +02:00
7f575bacaa
Implemented the new zwavejs2mqtt features for adding and removing nodes
2022-10-14 23:28:02 +02:00
5995d045e1
Merge branch 'master' into 29-generic-entities-support
2022-10-14 20:57:13 +02:00
a5db599268
FIX: Skip empty lines on config.include
2022-10-14 20:56:18 +02:00
c89ed24f4b
Updated webapp dist files
2022-10-12 03:07:17 +02:00
1b791156bd
Proper support for color zigbee lights
2022-10-12 03:00:42 +02:00
e617fc75d4
Fixed slider ranges and label
2022-10-12 02:59:50 +02:00
041f64c80f
Dirty workaround to prevent redefinition of SQLAlchemy ORM model classes
2022-10-10 01:38:15 +02:00
aa5b52db2f
FIX: Still redirect to /register by default if no users have been created
2022-10-10 01:36:28 +02:00
5f09d449f4
extend_existing=True
for entity tables
2022-10-09 23:15:50 +02:00
6ec8a991df
Fixed tests
2022-10-08 15:18:26 +02:00
958ef6b987
Better entity modal padding
2022-10-07 11:12:30 +02:00
16c55b45f6
updated dist files
2022-10-07 11:12:13 +02:00
b9b7404230
Web panel improvements.
...
- Don't return a redirect to the login page if an authentication failed
over a JSON endpoint - instead, return a JSON payload with the error.
- Added support for additional fonts.
- Re-designed the login/registration page.
- Updated caniuse database.
2022-10-07 02:24:29 +02:00
c0ffea681f
updated dist files
2022-10-07 02:23:12 +02:00
2cc80e7f16
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
2022-10-07 00:05:54 +02:00
b88983f055
Added qos
argument to mqtt.publish
.
2022-10-05 01:13:47 +02:00
fed7c2c6ff
Fixed typo in schema path
2022-09-30 11:30:57 +02:00
1d78c3e753
FIX: Broken docstring
2022-09-30 10:56:08 +02:00
ae226a5b01
Added tts.mimic3
integration.
...
Closes : #226
2022-09-30 10:51:17 +02:00
fef7aff245
LINT fixes for mpv plugin
2022-09-30 10:41:56 +02:00
82ab7face2
A more robust logic to detect the webserver local bind address
2022-09-30 03:10:37 +02:00
4bab9d2607
[ #224 ] Implemented Wallabag integration
2022-09-29 10:51:16 +02:00
deb25196d2
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
2022-09-28 02:17:10 +02:00
a0575ed6de
Bump version: 0.23.5 → 0.23.6
2022-09-19 20:41:02 +02:00
09baceab4b
Include album_id and the list of tracks in music.tidal.get_album
2022-09-19 20:39:21 +02:00
c2a3f2f4f3
Bump version: 0.23.4 → 0.23.5
2022-09-18 19:55:05 +02:00
36dd645209
Use session.playlist instead of session.user.playlist to query playlists
2022-09-18 06:04:53 +02:00
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
7c610adc84
FIX: Apply expanduser to the credentials_file setting in music.tidal
2022-09-17 06:30:20 +02:00
a9ebb4805a
Fixed doc warnings
2022-09-17 06:25:28 +02:00
e1aa214bad
tidal-integration ( #223 )
...
Reviewed-on: platypush/platypush#223
2022-09-16 21:48:09 +02:00
41acf4b253
Generate event ID as true random strings, not MD5 hashes of UUIDs
2022-09-05 03:08:39 +02:00
c77746e278
If the output of a hook is null, make sure to normalize it an empty string before pushing it to Redis
2022-09-04 16:16:02 +02:00
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
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
a90aa2cb2e
Make sure that a webhook function never returns a null response
2022-09-04 00:52:41 +02:00
1ea53a6f50
Support for query placeholders in db.select
2022-09-04 00:28:08 +02:00
61c96612bc
Merge branch 'master' into 219-opml-import-export
2022-09-02 00:23:57 +02:00
6c6e68b512
Added support for OPML import and export in the RSS plugin.
...
[closes #219 ]
2022-09-02 00:21:40 +02:00
a286cf5000
Updated PopcornTime base URL
2022-09-01 11:13:16 +02:00
c5b12403d0
Implemented support for returning richer HTTP responses on webhooks.
...
A `WebhookEvent` hook can now return a tuple in the format `(data,
http_code, headers)` in order to customize the HTTP status code and the
headers of a response.
2022-09-01 01:37:18 +02:00
96b2ad148c
A smarter way of building and matching the event condition
2022-08-31 02:19:21 +02:00
67413c02cd
Handle the case where the condition is a serialized dictionary
2022-08-31 01:55:21 +02:00
db45d7ecbf
FIX: More robust logic against section configurations that may not be maps
2022-08-31 01:27:53 +02:00
a675fe6a92
Updated CHANGELOG
2022-08-31 00:49:08 +02:00
c3fa3315f5
Implemented synchronization with webhook responses.
...
When a client triggers a `WebhookEvent` by calling a configured webhook
over `/hook/<hook_name>`, the server will now wait for the configured
`@hook` function to complete and it will return the returned response
back to the client.
This makes webhooks much more powerful, as they can be used to proxy
HTTP calls or other services, and in general return something to the
client instead of just executing actions.
2022-08-30 23:35:19 +02:00
1880a99052
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
2022-08-29 01:41:47 +02:00
e08947a3b7
Merge pull request #311 from BlackLight/dependabot/npm_and_yarn/platypush/backend/http/webapp/terser-5.14.2
...
Bump terser from 5.12.1 to 5.14.2 in /platypush/backend/http/webapp
2022-08-29 00:59:55 +02:00
6d63d2fc74
Merge pull request #305 from BlackLight/dependabot/npm_and_yarn/platypush/backend/http/webapp/shell-quote-1.7.3
...
Bump shell-quote from 1.7.2 to 1.7.3 in /platypush/backend/http/webapp
2022-08-29 00:59:19 +02:00
540a7d469e
- Fixed documentation errors and warnings
...
- Split Matrix integration into `plugin` and `client` files.
2022-08-29 00:55:46 +02:00
b11a0e8bbb
Bump version: 0.23.3 → 0.23.4
2022-08-28 15:27:54 +02:00
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
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
0e3cabc5f6
Support attribute
parameter on Function
schema fields.
2022-08-28 11:55:30 +02:00
d890b6cbe8
Added create_room action
2022-08-27 23:26:42 +02:00
912168626c
Added join_room, leave_room and invite_to_room and extended handling on invitation events
2022-08-27 21:50:48 +02:00
513195b396
Implemented support for file upload
2022-08-27 15:12:50 +02:00
48ec6ef68b
Implemented proper support for encrypted media and added download method
2022-08-26 23:48:29 +02:00
e4eb4cd7dc
More granular control over trusted devices, and added global synchronization event
2022-08-25 00:34:01 +02:00
550f026e13
Cleaner logging for assertion errors in plugin actions
2022-08-25 00:30:53 +02:00
c89c712928
Fixed device trust process
2022-08-24 01:49:43 +02:00
05908e1a77
Fixing key verification process
2022-08-17 10:28:31 +02:00
c04bc8d2bc
The matrix plugin joins the AsyncRunnablePlugin family too
2022-08-15 02:18:29 +02:00
2797ffbe53
The websocket plugin now extends AsyncRunnablePlugin too
2022-08-15 02:18:29 +02:00
770a14daae
ntfy plugin migrated to AsyncRunnablePlugin.
...
This commit removes a lot of the loop management boilerplate.
2022-08-15 02:18:29 +02:00
dba03d3e33
Added AsyncRunnablePlugin class.
...
This class handles runnable plugins that have their own asyncio event
loop, without the pain usually caused by the management of multiple
threads + asyncio loops.
2022-08-15 02:18:28 +02:00
f4672ce5c3
Refactored concurrency model in ntfy plugin
2022-08-15 02:18:28 +02:00
9e2b4a0043
Removed references to deprecated websockets attributes
2022-08-15 02:18:28 +02:00
dc7ba881f1
Merge branch 'master' into matrix-integration
2022-08-12 14:39:13 +02:00
4e1e6da67e
Added recv action on websocket plugin
2022-08-12 14:16:01 +02:00
354f3906f9
Changed autojoin_on_invite default value
2022-08-12 00:11:15 +02:00
7ab02e705d
Removed redundant _action_wrapper decorator
2022-08-05 19:04:43 +02:00
99de5318ff
Merge pull request #313 from BlackLight/snyk-upgrade-58f5a7acf019c661bec911d06f0bf10a
...
[Snyk] Upgrade core-js from 3.21.1 to 3.23.4
2022-08-05 13:26:25 +02:00
b3bab9b1d8
Merge pull request #314 from BlackLight/snyk-upgrade-9823d0f9eee2d94f4547598322ba6a48
...
[Snyk] Upgrade vue-router from 4.0.14 to 4.1.2
2022-08-05 13:26:07 +02:00
55602cc282
Merge branch 'master' into snyk-upgrade-30cde2b595c9da96da481c691c0964d5
2022-08-05 13:05:25 +02:00
snyk-bot
3d5fc9a10b
fix: upgrade sass-loader from 10.2.1 to 10.3.1
...
Snyk has created this PR to upgrade sass-loader from 10.2.1 to 10.3.1.
See this package in npm:
https://www.npmjs.com/package/sass-loader
See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-08-04 20:31:51 +00:00
snyk-bot
be4dd48d76
fix: upgrade sass from 1.49.9 to 1.53.0
...
Snyk has created this PR to upgrade sass from 1.49.9 to 1.53.0.
See this package in npm:
https://www.npmjs.com/package/sass
See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-08-04 20:31:45 +00:00
snyk-bot
bd21779a17
fix: upgrade vue-router from 4.0.14 to 4.1.2
...
Snyk has created this PR to upgrade vue-router from 4.0.14 to 4.1.2.
See this package in npm:
https://www.npmjs.com/package/vue-router
See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-08-04 20:31:33 +00:00
snyk-bot
58afc1090c
fix: upgrade core-js from 3.21.1 to 3.23.4
...
Snyk has created this PR to upgrade core-js from 3.21.1 to 3.23.4.
See this package in npm:
https://www.npmjs.com/package/core-js
See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-08-04 20:31:28 +00:00
cbe2e7bbfe
[WIP]
2022-08-04 03:08:54 +02:00
c17d0080b5
Merge branch 'master' into matrix-integration
2022-08-04 02:14:22 +02:00
7c87238fec
match_condition should return immediately (no score-based fuzzy search) if an event condition is an exact match
2022-08-04 01:04:00 +02:00
55671f4aff
If a request on a RunnablePlugin throws an exception then we should also restart the plugin upon reload
...
Plus some Black/LINT chores
2022-07-25 00:41:08 +02:00
c32142c8b5
Added wait_stop() method to RunnablePlugin
2022-07-23 17:33:23 +02:00
32be4df11c
More robust way to retrieve an object's attribute on schemas
2022-07-23 17:32:14 +02:00
dependabot[bot]
c7927a3d2f
Bump terser from 5.12.1 to 5.14.2 in /platypush/backend/http/webapp
...
Bumps [terser](https://github.com/terser/terser ) from 5.12.1 to 5.14.2.
- [Release notes](https://github.com/terser/terser/releases )
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md )
- [Commits](https://github.com/terser/terser/commits )
---
updated-dependencies:
- dependency-name: terser
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-21 00:35:29 +00:00
3edb8352b4
Support sections with empty bodies in the YAML configuration files.
2022-07-16 02:09:22 +02:00
cc29136db7
[ #2 ] Support for caching rooms info and exposing them in the events
2022-07-15 00:37:21 +02:00
719bd4fddf
[ #217 WIP] Initial plugin implementation.
...
- Added initial synchronization and users cache.
- Added loop to poll for new events (TODO: use websocket after the first sync)
- Added login, sync and join actions
2022-07-14 01:50:46 +02:00
3513ee3e1c
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
2022-07-08 23:13:36 +02:00
dependabot[bot]
06168d4ebd
Bump shell-quote from 1.7.2 to 1.7.3 in /platypush/backend/http/webapp
...
Bumps [shell-quote](https://github.com/substack/node-shell-quote ) from 1.7.2 to 1.7.3.
- [Release notes](https://github.com/substack/node-shell-quote/releases )
- [Changelog](https://github.com/substack/node-shell-quote/blob/master/CHANGELOG.md )
- [Commits](https://github.com/substack/node-shell-quote/compare/v1.7.2...1.7.3 )
---
updated-dependencies:
- dependency-name: shell-quote
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-23 11:29:13 +00:00
c6c7128099
Wrapped clipboard management logic in a try-except block to prevent the clipboard plugin from failing hard
2022-06-14 16:47:52 +02:00
5966566d54
Fixed LGTM warnings
2022-06-10 20:56:40 +02:00
8d26c8634d
Keep the ntfy process in stop_wait state even when the plugin is configured with no subscriptions
2022-06-09 11:59:29 +02:00
1da17fca35
Print invalid rules to help debug broken configurations
2022-06-08 15:34:14 +02:00
35cb72f5aa
Do a lazy plugin initialization in the Variable class
...
This is useful for two reason:
1. Slightly faster variable initialization times.
2. The cached variable object won't fail on the next `.get()`/`.set()`
if the `db` or `redis` plugins have failed for some reason.
2022-06-07 00:04:29 +02:00
115bed7d8b
Added limit parameter to lastfm.get_similar_tracks
2022-06-06 14:12:45 +02:00
3d22d6b082
Added get_track and get_similar_tracks methods on lastfm
plugin
2022-06-05 18:49:34 +02:00
5971ec32c8
Removed clipboard
backend.
...
The relevant clipboard monitoring logic has been moved to the
`clipboard` plugin. Thus, enabling the plugin should provide all the
feature, with no need for an additional backend.
2022-06-04 12:32:02 +02:00
7e31ac6ed8
Added missing web build files
2022-06-02 23:41:50 +02:00
c9f435a6cb
Added support for ntfy notification on the frontend (just like Pushbullet)
2022-06-02 23:36:43 +02:00
0d0995d71d
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
2022-06-02 20:58:34 +02:00
cb7021152f
Added get_recent_tracks
method to the lastfm
plugin
2022-06-02 20:57:35 +02:00
d3f4865395
Fixed variable name conflict
2022-06-02 01:44:38 +02:00
f080478385
s/click_url/url/g in ntfy message definitions
2022-06-02 00:40:26 +02:00
2898a33752
s/click_url/url/g in ntfy message definitions
2022-06-02 00:36:14 +02:00
0919a0055d
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
2022-06-02 00:13:43 +02:00
b857ce60a7
Bump version: 0.23.2 → 0.23.3
2022-06-01 23:08:32 +02:00
8be515c17b
[ closes #219 ] Added ntfy integration
2022-06-01 23:01:29 +02:00
5b3e1317f4
Only refresh entities that are visible on the interface
2022-05-30 09:23:25 +02:00
1df71cb54a
Proper support for light entities on smartthings
2022-05-30 09:23:05 +02:00
0689e05e96
Apply the light color to the icon fill instead of the bulb icon itself
2022-05-30 09:18:19 +02:00
89560e7c38
Only include entities associated to enabled plugins or with no plugins in entities.get
2022-05-29 23:59:46 +02:00
30dfdeecb0
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
2022-05-25 10:11:57 +02:00
239025290d
--redis-queue argument should be a string
2022-05-25 10:11:29 +02:00
7a0e39111d
FIX: A feed entry may not necessarily have an id
attribute
2022-05-06 14:38:25 +02:00
f57f940d57
Made _is_switch more resilient against rogue Z-Wave values
2022-05-01 22:18:46 +02:00
117f92e5b4
Deprecated the light.hue
backend
...
The polling logic has been moved to the `light.hue` plugin itself
instead, so it's no longer required to have both a plugin and a backend
enabled in order to fully manage a Hue bridge.
2022-05-01 21:55:35 +02:00
a5541c33b0
Added support for light entities in zigbee.mqtt
...
TODO: Support for colors (I don't have a color Zigbee bulb to test it on yet)
2022-05-01 21:10:54 +02:00
b23f45f45e
Process a zigbee entity update event with all the properties, not only the ones that have been changed
2022-05-01 21:09:13 +02:00
088cf23958
Do not emit input event from the light component upon update
...
It may be an incomplete update that breaks the UI, and it will be
overwritten by the backend event anyway
2022-05-01 21:08:02 +02:00
e8f4b7c10e
CSS adjustments
2022-05-01 15:44:57 +02:00
dd12d57552
Added light UI entity component
2022-05-01 15:35:20 +02:00
5aa3750807
Re-sync the list of entities when the entities component is mounted
2022-05-01 15:34:45 +02:00
f760d44224
Refactored/simplified UI code for entities management
2022-05-01 15:34:15 +02:00
8d91fec771
Better implementation for light.hue.set_lights
2022-05-01 15:33:12 +02:00
c22c17a55d
More flexible implementation for LightPlugin abstract methods
2022-05-01 15:31:45 +02:00
46df3a6a98
FIX: reachable
is an attribute of state
2022-05-01 01:58:05 +02:00
8e06b8c727
Fixed range scaling on Slider component
2022-04-30 23:40:14 +02:00
30a024befb
Manage hue/sat/bri/ct light ranges on the light entity object itself
2022-04-30 19:38:50 +02:00
b16af0a97f
Include entity data
attributes in the entity info modal
2022-04-30 16:39:37 +02:00
c7970842d7
Disable logging by default for entity events (they can be quite spammy)
2022-04-30 02:13:20 +02:00
7df67aca82
updated_at should have utcnow() onupdate, not now()
2022-04-30 01:48:55 +02:00
d29b377cf1
Exclude deleted lights/groups/scenes from the returned lists
2022-04-30 01:39:39 +02:00
8d57cf06c2
Major refactor for the light.hue
plugin.
...
- Added support for lights as native platform entities.
- Improved performance by using the JSON API objects whenever possible
to interact with the bridge instead of the native Python objects,
which perform a bunch of lazy API calls under the hood resulting in
degraded performance.
- Fixed lights animation attributes by setting only the ones actually
supported by a light.
- Several LINT fixes.
2022-04-30 01:07:00 +02:00
975d37c562
Added relevant attributes to light
entities
2022-04-29 23:29:04 +02:00
90f067de61
Added reachable
flag to device entities
2022-04-29 23:27:35 +02:00
f45df5d4d3
Explictly cast entity IDs to strings when coalescing entity updates
...
Some plugins may represent entity IDs as integers, while the database
maps external IDs to strings. This may result in entities being
incorrectly mapped during merging. Casting to string prevents these
type-related ambiguities.
2022-04-29 23:24:28 +02:00
975991ba69
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
2022-04-29 16:53:41 +02:00
2cd7ae9513
Merge pull request #288 from BlackLight/dependabot/npm_and_yarn/platypush/backend/http/webapp/async-2.6.4
...
Bump async from 2.6.3 to 2.6.4 in /platypush/backend/http/webapp
2022-04-29 16:52:07 +02:00
55958c1b57
[ #217 ] Casting get_next
to datetime
to prevent DST issues
2022-04-28 23:29:45 +02:00
d22fbcd9db
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
2022-04-28 01:58:24 +02:00
e9454b0c0f
Merge branch '217-cron-decorated-function-are-off-after-dst-change' into 'master'
...
Resolve "@cron decorated function are off after DST change"
Closes #217
See merge request platypush/platypush!13
2022-04-28 01:14:18 +02:00
ba23eb7280
Small LINT fix
2022-04-28 01:04:30 +02:00
41d0725ebf
Fix for #217
...
The cron scheduler has been made more robust against changes in the
system clock (caused by e.g. DST changes, NTP syncs or manual setting).
A more granular management for cronjob events has been introduced, now
supporting a `TIME_SYNC` event besides the usual `STOP`. When the cron
scheduler detects a system clock drift (i.e. the timestamp offset before
and after a blocking wait is >1 sec) then all the cronjobs are notified
and forced to refresh their state.
2022-04-28 00:57:49 +02:00
820a1c8184
Don't raise a pytest warning upon the asyncio "No event loop" warning
2022-04-27 23:25:14 +02:00