Fabio Manganiello
770a14daae
ntfy plugin migrated to AsyncRunnablePlugin.
...
This commit removes a lot of the loop management boilerplate.
2022-08-15 02:18:29 +02:00
Fabio Manganiello
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
Fabio Manganiello
f4672ce5c3
Refactored concurrency model in ntfy plugin
2022-08-15 02:18:28 +02:00
Fabio Manganiello
9e2b4a0043
Removed references to deprecated websockets attributes
2022-08-15 02:18:28 +02:00
Fabio Manganiello
dc7ba881f1
Merge branch 'master' into matrix-integration
2022-08-12 14:39:13 +02:00
Fabio Manganiello
4e1e6da67e
Added recv action on websocket plugin
2022-08-12 14:16:01 +02:00
Fabio Manganiello
354f3906f9
Changed autojoin_on_invite default value
2022-08-12 00:11:15 +02:00
Fabio Manganiello
7ab02e705d
Removed redundant _action_wrapper decorator
2022-08-05 19:04:43 +02:00
Fabio Manganiello
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
Fabio Manganiello
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
Fabio Manganiello
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
Fabio Manganiello
cbe2e7bbfe
[WIP]
2022-08-04 03:08:54 +02:00
Fabio Manganiello
c17d0080b5
Merge branch 'master' into matrix-integration
2022-08-04 02:14:22 +02:00
Fabio Manganiello
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
Fabio Manganiello
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
Fabio Manganiello
c32142c8b5
Added wait_stop() method to RunnablePlugin
2022-07-23 17:33:23 +02:00
Fabio Manganiello
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
Fabio Manganiello
3edb8352b4
Support sections with empty bodies in the YAML configuration files.
2022-07-16 02:09:22 +02:00
Fabio Manganiello
cc29136db7
[ #2 ] Support for caching rooms info and exposing them in the events
2022-07-15 00:37:21 +02:00
Fabio Manganiello
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
Fabio Manganiello
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
Fabio Manganiello
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
Fabio Manganiello
5966566d54
Fixed LGTM warnings
2022-06-10 20:56:40 +02:00
Fabio Manganiello
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
Fabio Manganiello
1da17fca35
Print invalid rules to help debug broken configurations
2022-06-08 15:34:14 +02:00
Fabio Manganiello
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
Fabio Manganiello
115bed7d8b
Added limit parameter to `lastfm.get_similar_tracks`
2022-06-06 14:12:45 +02:00
Fabio Manganiello
3d22d6b082
Added get_track and get_similar_tracks methods on `lastfm` plugin
2022-06-05 18:49:34 +02:00
Fabio Manganiello
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
Fabio Manganiello
7e31ac6ed8
Added missing web build files
2022-06-02 23:41:50 +02:00
Fabio Manganiello
c9f435a6cb
Added support for ntfy notification on the frontend (just like Pushbullet)
2022-06-02 23:36:43 +02:00
Fabio Manganiello
0d0995d71d
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
2022-06-02 20:58:34 +02:00
Fabio Manganiello
cb7021152f
Added `get_recent_tracks` method to the `lastfm` plugin
2022-06-02 20:57:35 +02:00
Fabio Manganiello
d3f4865395
Fixed variable name conflict
2022-06-02 01:44:38 +02:00
Fabio Manganiello
f080478385
s/click_url/url/g in ntfy message definitions
2022-06-02 00:40:26 +02:00
Fabio Manganiello
2898a33752
s/click_url/url/g in ntfy message definitions
2022-06-02 00:36:14 +02:00
Fabio Manganiello
0919a0055d
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
2022-06-02 00:13:43 +02:00
Fabio Manganiello
b857ce60a7
Bump version: 0.23.2 → 0.23.3
2022-06-01 23:08:32 +02:00
Fabio Manganiello
8be515c17b
[ closes #219 ] Added ntfy integration
2022-06-01 23:01:29 +02:00
Fabio Manganiello
5b3e1317f4
Only refresh entities that are visible on the interface
2022-05-30 09:23:25 +02:00
Fabio Manganiello
1df71cb54a
Proper support for light entities on smartthings
2022-05-30 09:23:05 +02:00
Fabio Manganiello
0689e05e96
Apply the light color to the icon fill instead of the bulb icon itself
2022-05-30 09:18:19 +02:00
Fabio Manganiello
89560e7c38
Only include entities associated to enabled plugins or with no plugins in `entities.get`
2022-05-29 23:59:46 +02:00
Fabio Manganiello
30dfdeecb0
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
2022-05-25 10:11:57 +02:00
Fabio Manganiello
239025290d
--redis-queue argument should be a string
2022-05-25 10:11:29 +02:00
Fabio Manganiello
7a0e39111d
FIX: A feed entry may not necessarily have an `id` attribute
2022-05-06 14:38:25 +02:00
Fabio Manganiello
f57f940d57
Made _is_switch more resilient against rogue Z-Wave values
2022-05-01 22:18:46 +02:00
Fabio Manganiello
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
Fabio Manganiello
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
Fabio Manganiello
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
Fabio Manganiello
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
Fabio Manganiello
e8f4b7c10e
CSS adjustments
2022-05-01 15:44:57 +02:00
Fabio Manganiello
dd12d57552
Added light UI entity component
2022-05-01 15:35:20 +02:00
Fabio Manganiello
5aa3750807
Re-sync the list of entities when the entities component is mounted
2022-05-01 15:34:45 +02:00
Fabio Manganiello
f760d44224
Refactored/simplified UI code for entities management
2022-05-01 15:34:15 +02:00
Fabio Manganiello
8d91fec771
Better implementation for light.hue.set_lights
2022-05-01 15:33:12 +02:00
Fabio Manganiello
c22c17a55d
More flexible implementation for LightPlugin abstract methods
2022-05-01 15:31:45 +02:00
Fabio Manganiello
46df3a6a98
FIX: `reachable` is an attribute of `state`
2022-05-01 01:58:05 +02:00
Fabio Manganiello
8e06b8c727
Fixed range scaling on Slider component
2022-04-30 23:40:14 +02:00
Fabio Manganiello
30a024befb
Manage hue/sat/bri/ct light ranges on the light entity object itself
2022-04-30 19:38:50 +02:00
Fabio Manganiello
b16af0a97f
Include entity `data` attributes in the entity info modal
2022-04-30 16:39:37 +02:00
Fabio Manganiello
c7970842d7
Disable logging by default for entity events (they can be quite spammy)
2022-04-30 02:13:20 +02:00
Fabio Manganiello
7df67aca82
updated_at should have utcnow() onupdate, not now()
2022-04-30 01:48:55 +02:00
Fabio Manganiello
d29b377cf1
Exclude deleted lights/groups/scenes from the returned lists
2022-04-30 01:39:39 +02:00
Fabio Manganiello
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
Fabio Manganiello
975d37c562
Added relevant attributes to `light` entities
2022-04-29 23:29:04 +02:00
Fabio Manganiello
90f067de61
Added `reachable` flag to device entities
2022-04-29 23:27:35 +02:00
Fabio Manganiello
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
Fabio Manganiello
975991ba69
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
2022-04-29 16:53:41 +02:00
Fabio Manganiello
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
Fabio Manganiello
55958c1b57
[ #217 ] Casting `get_next` to `datetime` to prevent DST issues
2022-04-28 23:29:45 +02:00
Fabio Manganiello
d22fbcd9db
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
2022-04-28 01:58:24 +02:00
Fabio Manganiello
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
Fabio Manganiello
ba23eb7280
Small LINT fix
2022-04-28 01:04:30 +02:00
Fabio Manganiello
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
Fabio Manganiello
820a1c8184
Don't raise a pytest warning upon the asyncio "No event loop" warning
2022-04-27 23:25:14 +02:00
dependabot[bot]
5929602c15
Bump async from 2.6.3 to 2.6.4 in /platypush/backend/http/webapp
...
Bumps [async](https://github.com/caolan/async ) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases )
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md )
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4 )
---
updated-dependencies:
- dependency-name: async
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-04-27 12:55:03 +00:00
Fabio Manganiello
fee5fc4ae0
HTTP backend dependencies moved from optional to required
...
If Platypush is supposed to work also without a manually created
`config.yaml`, and the HTTP backend is enabled by default in that
configuration, then Flask and companions should be among the required
dependencies.
2022-04-27 14:52:41 +02:00
Fabio Manganiello
371fd7e46b
Generate a default config.yaml if none is present instead of failing
2022-04-27 13:57:42 +02:00
Fabio Manganiello
da73a5f1b9
Replaced deprecated json_output arg in NextCloud client with response.json_data
2022-04-26 19:30:26 +02:00
Fabio Manganiello
a80adc996f
[WIP] Default config.yaml in case a configuration file is missing in the default locations
2022-04-25 16:54:26 +02:00
Fabio Manganiello
12887b61fe
Don't fail hard if the Linode API doesn't return a list of instances
2022-04-25 14:02:40 +02:00
Fabio Manganiello
47f8520f3b
Added support for description/read_only/write_only on entity level
2022-04-24 22:18:29 +02:00
Fabio Manganiello
d261b9bb9b
Frontend support for entities deletion
2022-04-24 21:40:10 +02:00
Fabio Manganiello
9981cc4746
Backend support for entities deletion
2022-04-24 21:38:45 +02:00
Fabio Manganiello
3e4b13d20f
Added standard Vue component for confirm dialogs
2022-04-24 21:34:39 +02:00
Fabio Manganiello
321a61d06d
Align .section.right content to the right
2022-04-24 11:30:52 +02:00
Fabio Manganiello
b22df768eb
Fixed entity icon alignment on mobile
2022-04-24 01:42:14 +02:00
Fabio Manganiello
8e2154f2b5
Do not overwrite an entity's state from an event if the state was not sampled
2022-04-24 01:41:45 +02:00
Fabio Manganiello
a9751f21f1
`entities` should be the default view when the web panel is opened
2022-04-24 01:40:34 +02:00
Fabio Manganiello
135965176d
Support for entity icon color change
2022-04-23 17:52:21 +02:00
Fabio Manganiello
ef6b57df31
Added entity info modal and (partial) support for renaming entities
2022-04-23 01:01:14 +02:00
Fabio Manganiello
7d4bd20df0
Support for individual entity group refresh
2022-04-19 23:56:49 +02:00
Fabio Manganiello
e6bfa1c50f
Better dynamic entities discovery
2022-04-13 11:25:14 +02:00