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
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
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
371fd7e46b
Generate a default config.yaml if none is present instead of failing
2022-04-27 13:57:42 +02:00
da73a5f1b9
Replaced deprecated json_output arg in NextCloud client with response.json_data
2022-04-26 19:30:26 +02:00
a80adc996f
[WIP] Default config.yaml in case a configuration file is missing in the default locations
2022-04-25 16:54:26 +02:00
12887b61fe
Don't fail hard if the Linode API doesn't return a list of instances
2022-04-25 14:02:40 +02:00
47f8520f3b
Added support for description/read_only/write_only on entity level
2022-04-24 22:18:29 +02:00
d261b9bb9b
Frontend support for entities deletion
2022-04-24 21:40:10 +02:00
9981cc4746
Backend support for entities deletion
2022-04-24 21:38:45 +02:00
3e4b13d20f
Added standard Vue component for confirm dialogs
2022-04-24 21:34:39 +02:00
321a61d06d
Align .section.right content to the right
2022-04-24 11:30:52 +02:00
b22df768eb
Fixed entity icon alignment on mobile
2022-04-24 01:42:14 +02:00
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
a9751f21f1
entities
should be the default view when the web panel is opened
2022-04-24 01:40:34 +02:00
135965176d
Support for entity icon color change
2022-04-23 17:52:21 +02:00
ef6b57df31
Added entity info modal and (partial) support for renaming entities
2022-04-23 01:01:14 +02:00
7d4bd20df0
Support for individual entity group refresh
2022-04-19 23:56:49 +02:00
e6bfa1c50f
Better dynamic entities discovery
2022-04-13 11:25:14 +02:00
332c91252c
zwave.mqtt.status renamed to controller_status, while status should return the current state of the values
2022-04-12 23:44:14 +02:00
b35c761a43
Fixed entities panel mobile layout
2022-04-12 22:24:19 +02:00
08c0779347
<style> on entity components should be scoped
2022-04-12 16:00:31 +02:00
595ebe49ca
Support for entity scan timeout errors and visual error handling
2022-04-12 15:58:19 +02:00
548d487e73
Publish a switch entity from zigbee.mqtt only if the update includes its state
2022-04-12 14:41:21 +02:00
20530c2b6d
Loading events are now synchronized both ways upon entity action/refresh
2022-04-12 01:10:09 +02:00
9ddcf5eaeb
Implemented entities refresh on the UI
2022-04-12 00:43:22 +02:00
2aa8778078
Do not process EntityUpdateEvents only in case of payload changes
...
The UI relies on these events upon refresh to detect if a device is
still reacheable. Therefore, we shouldn't mask them if we don't detect
any changes with the current entity configuration/state.
2022-04-12 00:41:20 +02:00
72617b4b75
Handle EntityUpdateEvents on the UI
2022-04-11 23:16:29 +02:00
be4d1e8e01
Proper support for native entities in zigbee.mqtt integration
2022-04-11 21:16:45 +02:00
db4ad5825e
Fire an EntityUpdateEvent when the zwave.mqtt backend gets a value changed message
2022-04-11 01:40:49 +02:00
4471001110
smartthings.toggle should properly publish the updated entity
2022-04-11 00:43:31 +02:00
f17245e8c7
Send an EntityUpdateEvent only if an entity has already been persisted
...
If an event comes from an entity that hasn't been persisted yet on the
internal storage then we wait for the entity record to be committed
before firing an event. It's better to wait a couple of seconds for the
database to synchronize rather than dealing with entity events with
incomplete objects.
2022-04-11 00:38:11 +02:00
67ff585f6c
Entities engine improvements
...
- Added cache support to prevent duplicate EntityUpdateEvents
- The cache is smartly pre-populated and kept up-to-date, so it's
possible to trigger events as soon as the entities are published by
the plugin (not only when the records are flushed to the internal db)
2022-04-11 00:01:21 +02:00
17615ff028
Support for multiple entity types/plugins filter on entities.get
2022-04-10 21:23:03 +02:00
532217be12
Support for filtering entities by search string
2022-04-10 17:57:51 +02:00
f301fd7e69
Added standard NoItems component to handle visualization of no-results divs
2022-04-10 14:27:32 +02:00
58861afb1c
Added entities panel
2022-04-10 13:07:36 +02:00
8ec9c8f203
Added standard component for icons
2022-04-10 13:07:01 +02:00
3435f591eb
Support for keep-open-on-item-click and icon URLs on dropdown elements
2022-04-10 01:57:39 +02:00
19223bbbe1
Added SmartThings icon
2022-04-10 01:56:47 +02:00
453652ef76
Updated plugin icons
2022-04-10 01:50:45 +02:00
b2ff66aa62
Added mixins to capitalize/prettify text
2022-04-10 01:50:13 +02:00
655d56f4da
Upgraded font-awesome to 6.x
2022-04-10 01:49:14 +02:00
f52b556219
- icon_class should not be part of the backend model
...
- Interaction with entities should occur through the `entities.action`
method, not by implementing native methods on each of the model
objects
2022-04-08 16:49:47 +02:00
947b50b937
Added meta as a JSON field on the Entity table
...
Metadata attributes can now be defined and overridden on the object
itself, as well as on the database. Note that db settings will always
take priority in case of value conflicts.
2022-04-07 22:11:31 +02:00
db7c2095ea
Implemented meta property for entities (for now it only include icon_class
)
2022-04-07 18:09:25 +02:00
d3dc86a5e2
Added documentation for plugin/entity type registry
2022-04-07 01:47:42 +02:00
28026b0428
Trigger an EntityUpdateEvent when an entity state changes
2022-04-07 01:46:37 +02:00
44707731a8
Normalize UTC timezone on all the entity timestamps
2022-04-07 01:13:29 +02:00
948f37afd4
Filter by configured/enabled plugins when returning the entity/plugin registry
2022-04-07 01:04:06 +02:00
3b4f7d3dad
Added entities plugin to query/action entities
2022-04-07 00:22:54 +02:00
2eeb1d4fea
Entity objects are now JSON-able
2022-04-07 00:21:54 +02:00
26ffc0b0e1
Use Redis instead of an in-process map to store the entity/plugin registry
...
This is particularly useful when we want to access the registry from
another process, like the web server or an external script.
2022-04-07 00:18:11 +02:00
d52ae2fb80
Implemented RunnablePlugin.wait_stop() utility method
2022-04-05 23:33:02 +02:00
061268cdaf
Support for direct actions on native entities [WIP]
2022-04-05 23:22:54 +02:00
91ff47167b
Don't terminate the entities engine thread if a batch of entity records fails
2022-04-05 23:04:57 +02:00
fe0f3202fe
columns should be a property of the Entity object
2022-04-05 23:04:19 +02:00
8a70f1d38e
Replaced deprecated sqlalchemy.ext.declarative with sqlalchemy.orm
2022-04-05 22:47:44 +02:00
4b7eeaa4ed
Smarter merging of entities with the same key before they are committed
2022-04-05 21:17:58 +02:00
b43ed169c7
Added support for switches as native entities to zwave.mqtt plugin
2022-04-05 20:22:47 +02:00
0dac2c0e92
Fixed handling of possible null device definition in zigbee.mqtt
2022-04-05 00:31:04 +02:00
28b3672432
Added native support for switch entities to the zigbee.mqtt plugin.
2022-04-05 00:07:55 +02:00
9f2793118b
black fix
2022-04-04 22:43:04 +02:00
9d9ec1dc59
Added native support for switch entities to the smartthings plugin
2022-04-04 22:41:04 +02:00
b9c78ad913
Added native support for switch entities to switchbot.bluetooth plugin
2022-04-04 21:12:59 +02:00
91ff8d811f
Added native entities support in switchbot plugin
2022-04-04 20:56:28 +02:00
53da19b638
Added entities engine support to WeMo switch plugin
2022-04-04 17:22:55 +02:00
2c4c27855d
Added .exception
action to logger plugin
2022-04-04 17:22:54 +02:00
9c25a131fa
get_bus() should return a default RedisBus() instance if the main bus is not registered
2022-04-04 17:22:54 +02:00
4ee7e4db29
Basic support for entities on the local db and implemented support for switch entities on the tplink plugin
2022-04-04 16:50:17 +02:00
486801653a
Added .exception
action to logger plugin
2022-04-03 00:26:39 +02:00
f7c594cc3f
get_bus() should return a default RedisBus() instance if the main bus is not registered
2022-04-02 22:47:23 +02:00
b1491b8048
Better style for scrollbars
2022-03-30 17:42:09 +02:00
96a2d8bef0
Fixed size for nav icons with static images
2022-03-30 13:53:10 +02:00
e261dcc27a
More UI fixes
2022-03-30 01:43:59 +02:00
d0790aaba3
Better style for toggle switches
2022-03-29 23:45:57 +02:00
bb28617cc9
Refactored slider and range-slider components
2022-03-29 14:36:17 +02:00
e1e6da9307
Fixed icon size for img tags in nav bar
2022-03-28 16:00:18 +02:00
f6ce0d7200
Fixed broken paddings after bulma removal
2022-03-28 13:13:31 +02:00
ed5f7070a2
Removed bulma dependency from frontend
...
The UI is now much faster, the build process completes within one minute
(it used to take >15 minutes), and the size of the bundles has been
reduced by ~70%.
2022-03-28 12:54:36 +02:00
5ee47902f4
Refactored camera stream route
2022-03-28 12:44:04 +02:00
128b45686a
Updated Vue dependencies for the webapp
2022-03-28 01:19:21 +02:00
dependabot[bot]
b72c9a19ae
Bump minimist from 1.2.5 to 1.2.6 in /platypush/backend/http/webapp
...
Bumps [minimist](https://github.com/substack/minimist ) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases )
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6 )
---
updated-dependencies:
- dependency-name: minimist
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-03-27 14:45:19 +00:00
2e33d3b3c5
Bump version: 0.23.1 → 0.23.2
2022-03-27 16:43:36 +02:00
ffd23cf04d
[ #212 ] Support for asynchronous event monitoring on the GPIO plugin
2022-03-27 16:14:30 +02:00
34e1e673e8
CHANGELOG update and LINT fixes
2022-03-12 02:04:07 +01:00
c3934e2a7e
Script API for platform variables [ closes #206 ]
...
Added utility `platypush.context.Variable` class to simplify the
interaction with platform variables in custom Python scripts.
2022-03-12 01:51:18 +01:00
fdf6d8fb4e
Better auto-generated documentation and fixed docstring warnings
2022-03-03 20:26:25 +01:00
7c9e9d284d
Bump version: 0.23.0 → 0.23.1
2022-03-01 12:50:31 +01:00
c0039c3f87
Bump version: 0.22.10 → 0.23.0
2022-03-01 01:33:43 +01:00
0d0797a465
Added Jellyfin integration
2022-03-01 01:32:50 +01:00
dependabot[bot]
0324eb9f6b
Bump url-parse from 1.5.4 to 1.5.7 in /platypush/backend/http/webapp
...
Bumps [url-parse](https://github.com/unshiftio/url-parse ) from 1.5.4 to 1.5.7.
- [Release notes](https://github.com/unshiftio/url-parse/releases )
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.4...1.5.7 )
---
updated-dependencies:
- dependency-name: url-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-02-19 16:39:08 +00:00
e3f67766a3
Proper fix for variable arguments on process_data
2022-02-17 12:43:56 +01:00
1933ec709f
FIX: Proper fix for process_data taking a variable number of arguments
2022-02-17 11:50:04 +01:00
71cb73cf63
FIX: The CN of the organizer may not necessarily be set in calendar.ical
2022-02-17 10:55:35 +01:00
94bb3e0541
Added TOC to readme and more LGTM fixes
2022-02-09 21:06:49 +01:00
29a7eff15a
Fixed/suppressed LGTM warnings
2022-02-08 21:51:37 +01:00
d13e4fc271
Merge pull request #240 from BlackLight/dependabot/npm_and_yarn/platypush/backend/http/webapp/axios-0.21.2
...
Bump axios from 0.21.1 to 0.21.2 in /platypush/backend/http/webapp
2022-02-07 21:41:29 +01:00
6e0c249b7e
Merge pull request #267 from BlackLight/dependabot/npm_and_yarn/platypush/backend/http/webapp/url-parse-1.5.4
...
Bump url-parse from 1.5.1 to 1.5.4 in /platypush/backend/http/webapp
2022-02-07 21:40:24 +01:00
dependabot[bot]
5b666814d5
Bump nanoid from 3.1.23 to 3.2.0 in /platypush/backend/http/webapp
...
Bumps [nanoid](https://github.com/ai/nanoid ) from 3.1.23 to 3.2.0.
- [Release notes](https://github.com/ai/nanoid/releases )
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ai/nanoid/compare/3.1.23...3.2.0 )
---
updated-dependencies:
- dependency-name: nanoid
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 20:38:55 +00:00
dependabot[bot]
21ad599a08
Bump url-parse from 1.5.1 to 1.5.4 in /platypush/backend/http/webapp
...
Bumps [url-parse](https://github.com/unshiftio/url-parse ) from 1.5.1 to 1.5.4.
- [Release notes](https://github.com/unshiftio/url-parse/releases )
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.1...1.5.4 )
---
updated-dependencies:
- dependency-name: url-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 20:37:56 +00:00
dependabot[bot]
1662873e54
Bump follow-redirects in /platypush/backend/http/webapp
...
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects ) from 1.14.1 to 1.14.7.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases )
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.1...v1.14.7 )
---
updated-dependencies:
- dependency-name: follow-redirects
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 15:00:43 +00:00
42ee149b95
Bump version: 0.22.9 → 0.22.10
2022-02-07 15:59:20 +01:00
1038090ffd
LINT fixes
2022-02-07 15:51:12 +01:00
786286eac6
Refactored D-Bus integration
...
- Added ability to listen for signals
- Improved introspection output
- `dbus` plugin and backend have now been merged
- Migrated from `dbus` to `pydbus`
2022-02-07 15:45:43 +01:00
1914322fda
FIX: get_plugin methods should never swallow errors in case of failed initialization
2022-02-07 01:47:38 +01:00
e4eb12fa6d
LINT warning fixes
2022-01-23 14:25:00 +01:00
c534adf31f
varname typo fix
2022-01-17 16:39:40 +01:00
0c423e3809
FIX: SensorDataChangeEvent trigger logic
...
The event should be skipped only if new_data is null or an empty,
list/object, not if it contains
a zero/false-y value.
2022-01-17 16:38:43 +01:00
6656bb4ce5
Revert "Support for SSL flag on MQTT plugins without having to specify other tls_* options"
...
This reverts commit f3be4a50d8
.
2022-01-14 21:53:24 +01:00
f3be4a50d8
Support for SSL flag on MQTT plugins without having to specify other tls_* options
2022-01-14 21:39:16 +01:00
a6b552504e
FIX: Use a separate error handler for the Pushbullet backend that doesn't raise another exception (prevents maximum recursion errors in the logs caused by the interpreter entering an infinite loop of error handlers)
2022-01-08 19:52:41 +01:00
833e1c49be
Bump version: 0.22.8 → 0.22.9
2022-01-06 14:08:55 +01:00
a46ce79f0a
Added guard against null variable names
2022-01-06 00:58:14 +01:00
e9f6d9a8bc
Refactored RSS integration into its own rss
plugin [ closes #199 ]
2022-01-06 00:46:05 +01:00
3e4b91cd6c
Removed pytz dependency
2022-01-05 18:04:32 +01:00
e242dc53bf
FIX: All timestamps should be isoformat strings, otherwise come comparisons may break
2022-01-05 13:39:13 +01:00
ee0b6d237a
FIX: Timestamps on calendar parsed objects should be of type string, not datetime
2022-01-05 13:35:10 +01:00
9ba2c18595
Better logic for timezone handling/conversion in calendar plugin
2022-01-05 13:31:07 +01:00
0a3fd4065a
Proper implementation for filesystem monitor filters
...
The logic Watchdog applies to filter events based
on `ignore_directories`, `ignore_patterns` and
`ignore_regexes` isn't really sophisticated, and
it doesn't check whether a partial directory/file
name is used in one of the `ignore_*` patterns.
The `file.monitor` backend should therefore implement
this logic on its side.
2021-12-20 00:58:41 +01:00
e94d338de5
Proper handling for ignore_directories in file.monitor backend
2021-12-19 02:28:49 +01:00
081da3eb84
Bump version: 0.22.7 → 0.22.8
2021-12-13 21:21:42 +01:00
1569f940c6
FIX: had accidentally removed an on_mqtt_message
usage
2021-12-13 21:21:12 +01:00
6df9cbcf3c
Bump version: 0.22.6 → 0.22.7
2021-12-13 20:47:50 +01:00
fa0f4925ed
New client ID generation logic ( closes #205 )
...
MQTT client IDs are now generated as a function of
`(client_id, host, port, topics, on_message)` to
prevent client ID clashes.
2021-12-13 20:34:06 +01:00
fa708663e1
Replaced command-line uwsgi wrapper in the backend.http docs with gunicorn
...
gunicorn makes it easier to set up a uWSGI wrapper
around the web application, and it's easier to
install and document than handling uwsgi as an
external system dependency.
2021-12-11 22:44:00 +01:00
20fc3d91fc
Updated Chromecast plugin to work with pychromecast >= 10.0
...
pychromecast 10.0 introduced some [breaking changes](https://github.com/home-assistant-libs/pychromecast/pull/556/files )
in the declaration of the Chromecast object -
namely, the `device` attribute has been renamed to
`cast_info`. The code of ChromecastPlugin has been
updated to guarantee compatibility in both cases.
2021-12-11 22:14:47 +01:00
2560bfa03f
Plex searcher extended to include also audio tracks
2021-12-04 00:08:47 +01:00
46d8d575ba
Handle and log media workers search errors
2021-12-03 21:54:41 +01:00
f478e1ff40
Added libcap-dev to build requirements for Ubuntu Docker images
2021-11-28 22:40:04 +01:00
Fabio Manganiello
6023fd3db3
Given the new object-oriented design of the LTR559 library, the sensor object should be initialized in __init__ and read upon get_measurement()
2021-11-28 15:11:20 +01:00
Fabio Manganiello
f6057274a0
Variable name fix
2021-11-28 11:32:03 +01:00
Fabio Manganiello
2d9dff7d4c
Fixed LTR559 integration after a change in the core library interface
2021-11-28 11:25:41 +01:00
f74ca28382
Bump version: 0.22.5 → 0.22.6
2021-11-27 10:56:28 +01:00
e615891bf3
Fixed missed assignment
2021-11-27 02:00:43 +01:00
02b5ec1d38
Fixed regex typo
2021-11-27 01:43:57 +01:00
2914a74b75
Replace relative links in converted markdown
2021-11-27 01:19:55 +01:00
1e1bf46f32
Fixed handling of URLs on Pushbullet notes
2021-11-26 19:07:44 +01:00
848b736d6e
Support for output format type on http.webpage.simplify even when outfile is not specified
2021-11-26 19:07:15 +01:00
f9f9c38a8b
Improved robustness of ICal event parser
2021-11-21 23:50:35 +01:00
518d9f20c6
Added docs for config plugin
2021-11-17 23:59:17 +01:00
40903393df
Removed pydoc of internal plugin methods that were propagated to the docs of all the derived plugins
2021-11-15 01:57:44 +01:00
d5cddc23fa
Fixed autodoc indentation
2021-11-15 01:21:31 +01:00
ea3b49a17f
Use inherited-members: true in autodoc_default_options to ensure documentation of inherited actions
2021-11-15 01:05:53 +01:00
adb9672989
Bump version: 0.22.4 → 0.22.5
2021-11-15 00:12:42 +01:00
b432488876
Prevent null pointer on music.spotify backend stop if the Librespot process has already been terminated
2021-11-15 00:10:40 +01:00
6ba3128ac4
[ #201 ] Added Mailgun integration
2021-11-14 22:40:59 +01:00
d7b273434b
[ #203 ] Added IRC integration
2021-11-14 19:43:19 +01:00
dependabot[bot]
5491682543
Bump axios from 0.21.1 to 0.21.2 in /platypush/backend/http/webapp
...
Bumps [axios](https://github.com/axios/axios ) from 0.21.1 to 0.21.2.
- [Release notes](https://github.com/axios/axios/releases )
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md )
- [Commits](https://github.com/axios/axios/compare/v0.21.1...v0.21.2 )
---
updated-dependencies:
- dependency-name: axios
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-11-07 10:46:07 +00:00
195ae5c488
Create application ngrok tunnel method moved to utils
2021-11-07 11:35:47 +01:00
de25719563
Replaced deprecated arguments in librespot
2021-11-07 01:19:34 +01:00
acdc636b1f
Resolve "Mastodon integration"
2021-11-07 01:00:29 +01:00
6db070db1c
- Fixed switchbot.status
to handle virtual devices
...
- Fixed StrippedString schema field serialize handler
- Fixed rendering of lists in documentation schemas
2021-10-26 00:48:05 +02:00
952a2a9379
- Render nested attributes in schemas
...
- Provide relevant examples for schema fields with no description/examples based on the field type
- Fixed RST warnings in Slack plugin
- Fixed list of events in ngrok plugin
2021-10-24 11:53:38 +02:00
49676fcc7f
Don't fail hard if the Zeroconf service can't be registered
2021-10-24 02:54:20 +02:00
6c0a8bf259
Bump version: 0.22.3 → 0.22.4
2021-10-19 23:30:25 +02:00
1906876969
FIX: Replaced VLC event.u occurrences
...
Newer versions of python-vlc have apparently
removed the `event.u` union object from the
events dispatched by the player, resulting in
player callback failures.
The occurrences of `event.u` have therefore
been replaced with the player methods to
correctly retrieve the current state.
2021-10-17 17:56:57 +02:00
f9ce03919b
FIX: Various omxplayer fixes
...
- Better synchronization with the player upon `play` request - wait until the play started event is received before returning the status
- DBus exceptions should be caught and handled in the status call
2021-10-17 16:54:57 +02:00
c3681e7b2a
FIX: Don't try and set the volume of the omxplayer when the instance may not be ready yet
2021-10-17 16:38:38 +02:00
144700b693
media.mpv should send MediaPlayRequestEvent with player and plugin parameters
2021-10-17 16:17:20 +02:00
4a5bb766af
Fixed some media plugins inconsistencies
...
- Removed replication of logic between media.get_youtube_url (action) and media.get_youtube_video_url (internal method)
- Added differentiation between MediaPlayEvent and MediaResumeEvent
2021-10-17 16:03:57 +02:00
8c339d0d55
Added support for custom YouTube preferred video/audio formats
2021-10-17 02:53:38 +02:00
1962a8c4de
FIX: The response to a request received on the MQTT channel should be dispatched to <base_topic>/responses/<id>, not to <base_topic>
2021-10-17 01:57:47 +02:00
64c402b1c0
[ #115 ] Added google.maps.get_travel_time
method
2021-10-16 22:35:37 +02:00
31ef9515f8
Added support for virtual IR devices in Switchbot plugin
2021-10-02 23:44:13 +02:00
d844890ab2
Bump version: 0.22.2 → 0.22.3
2021-10-01 23:53:05 +02:00
04a5480d19
Resolve "[Feature Request] Gotify Push Intergration"
2021-10-01 23:50:53 +02:00
e3f0219554
Errors should be caught also before a request action is executed (prevents HTTP timeouts when the error is on e.g. get_plugin() level)
2021-10-01 23:40:43 +02:00
fa17011b24
Fixed hierarchy for ngrok events
2021-10-01 23:39:07 +02:00
c12c83b386
Bump version: 0.22.1 → 0.22.2
2021-09-25 12:54:01 +02:00
68831e9e81
[ #196 ] Added ngrok integration
2021-09-25 01:34:45 +02:00
d18245b15f
Fixed Slack plugin docs
2021-09-22 00:38:34 +02:00
cb0638fe19
Bump version: 0.22.0 → 0.22.1
2021-09-22 00:29:03 +02:00
98cb216ba7
Fixed LGTM warning
2021-09-22 00:22:42 +02:00
f147c44a8a
Fixed docs issues
2021-09-22 00:19:14 +02:00
a1cd25fe5a
zigbee.mqtt backend configuration should be fetched from the zigbee.mqtt plugin configuration if not reported
2021-09-17 22:35:01 +02:00
1a314ffd6b
Fixed LGTM errors and warnings
2021-09-17 22:21:29 +02:00
85af031c26
Empty torrent responses can sometimes include the objects as an empty list instead of an empty dict
2021-09-17 10:47:01 +02:00
7b8938cb12
Fixed LGTM errors and warnings
2021-09-17 00:47:33 +02:00
a2f5755496
Bump version: 0.21.4 → 0.22.0
2021-09-16 23:28:39 +02:00
3bfc5b83ef
Moved to manifest files for describing plugins and backends and their dependencies
2021-09-16 17:53:40 +02:00
ac0dd95bcc
Bump version: 0.21.3 → 0.21.4
2021-08-24 23:01:45 +02:00
87b70716c1
Logic for supporting JWT tokens both as bytes and strings [ closes #197 ]
2021-08-24 22:55:42 +02:00
a8064d2add
parse_magnet_uri can return either a metadata object or a dict depending on the libtorrent version
2021-08-05 20:23:54 +02:00
d086da64f6
Bump version: 0.21.2 → 0.21.3
2021-07-28 01:09:27 +02:00
90ec108580
Added Slack integration
2021-07-28 01:09:09 +02:00
286bab7489
typo
2021-07-27 00:11:57 +02:00
0f37102ce4
Close Redis connection upon backend stop
2021-07-26 01:06:35 +02:00
8e2d4d0bce
Make sure that the accept() in backend.tcp does not block the process
2021-07-25 11:33:48 +02:00
550fd3abe9
Don't fail on the Pushbullet close handler
2021-07-25 01:17:25 +02:00
2fc7327788
Missing import
2021-07-24 23:49:23 +02:00
371dd6da0a
Added sun
plugin [ closes #194 ]
2021-07-22 01:02:15 +02:00
47228f2432
Bump version: 0.21.1 → 0.21.2
2021-07-20 01:36:59 +02:00
1483d602f8
Added music.spotify UI integration
2021-07-20 01:35:21 +02:00
00e744e93e
Added type field metadata
2021-07-17 22:28:48 +02:00
35c4a30a63
Added music.spotify plugin and refactored MusicPlugin
2021-07-17 22:14:15 +02:00
db8ea33b68
Removed deprecated setup.py web_build
command from platydock [see #195 ]
2021-07-05 20:07:55 +02:00
03631bcebc
Fixed import error in Adafruit.IO
2021-07-04 23:49:18 +02:00
ade3a7c2cf
Added plugin_name to weather.buienradar events
2021-07-04 18:04:51 +02:00
1f6c7aae60
get_redis() should be a general utility method
2021-06-26 11:14:26 +02:00
a6c7d64511
Removed audio_format option from Spotify Connect backend (not supported by all versions of Librespot)
2021-06-25 23:20:21 +02:00
af7977bcf7
Added music.spotify.connect backend
2021-06-25 22:47:40 +02:00
0762004838
Bump version: 0.21.0 → 0.21.1
2021-06-22 23:40:53 +02:00
Fabio Manganiello
c8bfbae4f0
Prevented an infinite recursion error on the Pushbullet on_error() handler in case close() failed
2021-05-20 02:06:43 +02:00
Fabio Manganiello
d35a9729a4
More robust reconnection logic for Pushbullet backend
2021-05-19 18:44:01 +02:00
a39452124d
Refactored PCA9685 backend
2021-05-17 15:32:43 +02:00
fc1d9ad3e6
Added joystick.linux backend
2021-05-17 14:52:08 +02:00
7ee869ce42
More robust logic for smooth transients on PCA9685
2021-05-16 18:14:02 +02:00
df36a9f811
s/execute/write/
2021-05-16 17:53:22 +02:00
abf793e703
Added get_channels() method to PCA9685 driver
2021-05-16 17:51:51 +02:00
132c659d3c
Reset self._pca to None on deinit()
2021-05-16 17:42:05 +02:00
acc4f1c0e3
Added PCA9685 PWM driver plugin
2021-05-16 17:29:03 +02:00
d7d5bcdd0c
Wait until the joystick device is readable after it appears to prevent race conditions where jstest fails with temporary "permission denied" errors
2021-05-16 00:26:28 +02:00
def8c0dd76
The joystick backend should properly jstest even when the jstest executable fails
2021-05-16 00:16:19 +02:00
6cc28a3c3b
More robust logic in case of joystick device lost while the backend is running
2021-05-16 00:06:20 +02:00
93c3327bcd
Map name typo fix
2021-05-15 23:53:24 +02:00
85d975edc6
Logic typo
2021-05-15 23:50:23 +02:00
d767cafafe
joystick.jstest
should actually run the parent run
method but not extend JoystickBackend
2021-05-15 23:48:17 +02:00
cee8f9f8e0
joystick.jstest
should not execute the parent run
method
2021-05-15 23:43:37 +02:00
b2e2ae9538
Proper initialization for device attribute in parent joystick backend class
2021-05-15 23:34:41 +02:00
f296f4b161
Added generic joystick.jstest
backend
2021-05-15 23:28:24 +02:00
9eab526e47
Specify propertyKey on set_value() if exposed/required by the value payload [see #188 ]
2021-05-13 22:38:04 +02:00
8f6404d0b1
Revert "Support for custom timeout on MQTT message publish" (already implemented in the current logic)
2021-05-13 21:49:24 +02:00
b42c491390
Support for custom timeout on MQTT message publish
2021-05-13 21:33:08 +02:00
18e99c6f12
Added new Google Fit scopes for sleep and heart rate read
2021-05-10 21:21:03 +02:00
664ce4050d
Added Switchbot plugin
2021-05-10 18:43:00 +02:00
69583d2e15
Added support for Marshmallow schemas in responses
2021-05-10 18:42:13 +02:00
2f840200be
Updated UI files
2021-05-10 18:40:35 +02:00
46aef7c8b5
autodoc fixes
2021-05-08 21:38:32 +02:00
5ca15937e3
Bump version: 0.20.10 → 0.21.0
2021-05-06 23:21:11 +02:00
ce882381c0
Fixes to torrent search + SASS library migration
...
- Support for custom PopcornTime API mirror/base URL.
- Full support for TV series search.
- Fixed torrent search (now using a different PopcornTime API mirror).
- Migrated SASS engine from `node-sass` (currently deprecated and broken on Node 16) to `sass`.
- Fixed alignment of Z-Wave UI header on Chrome/Webkit.
2021-05-06 23:18:47 +02:00
snyk-bot
174439a8ed
fix: upgrade core-js from 3.7.0 to 3.10.1
...
Snyk has created this PR to upgrade core-js from 3.7.0 to 3.10.1.
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=upgrade-pr
2021-04-28 22:35:45 +00:00
3a18e9faf4
Upgraded npm dependencies
2021-04-28 23:55:01 +02:00
f8d76fe4eb
Bumped chalk/ssri versions
2021-04-28 23:43:45 +02:00
9fa3385766
Bump version: 0.20.9 → 0.20.10
2021-04-28 23:06:14 +02:00
Fabio Manganiello
4fe5322600
Explicitly case propertyKey to str
2021-04-22 23:23:41 +02:00
2224681e3c
Removed OZW type references altogether to prevent import errors
2021-04-18 02:27:33 +02:00
68c44c0c3c
OZW objects should be imported inside of the ZwavePlugin
class to prevent ImportError
on other Z-Wave plugins that don't depend on OZW
2021-04-18 02:19:53 +02:00
02a22d4a88
The zwave and zwave.mqtt plugins should extend a common abstract class instead of having a zwave.mqtt -> zwave functional dependency that introduces the PyOWZ dependency into zwave.mqtt
2021-04-16 20:54:07 +02:00
b9bc4b5fe0
Bump version: 0.20.8 → 0.20.9
2021-04-12 02:48:30 +02:00
c006c4b368
Added zwave.mqtt plugin and backend [ closes #186 ]
2021-04-12 02:45:59 +02:00
75e1f35523
Merge pull request #173 from BlackLight/snyk-upgrade-13988d07be83d12370897cdf2a722b2a
...
[Snyk] Upgrade @fortawesome/fontawesome-free from 5.15.1 to 5.15.3
2021-04-08 21:18:25 +02:00
snyk-bot
edfa5ed16f
fix: upgrade @fortawesome/fontawesome-free from 5.15.1 to 5.15.3
...
Snyk has created this PR to upgrade @fortawesome/fontawesome-free from 5.15.1 to 5.15.3.
See this package in npm:
https://www.npmjs.com/package/@fortawesome/fontawesome-free
See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=upgrade-pr
2021-04-06 22:36:19 +00:00
snyk-bot
f2628f4f2c
fix: upgrade vue-router from 4.0.0-rc.3 to 4.0.5
...
Snyk has created this PR to upgrade vue-router from 4.0.0-rc.3 to 4.0.5.
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=upgrade-pr
2021-04-06 22:36:16 +00:00
f1faa1141e
More LINT fixes
2021-04-06 21:10:48 +02:00
2a78f81a7b
Major LINT fixes
2021-04-05 00:58:44 +02:00
86761e7088
Bump version: 0.20.7 → 0.20.8
2021-04-04 00:15:11 +02:00
89beab4767
Added controls to music dashboard widgets
2021-04-03 21:16:22 +02:00
8db8f3e6c4
Unparseable context variables should be logged on debug, not warning, level.
2021-04-03 16:12:51 +02:00
ee0685363e
Fixed regression on UI event handler callbacks
2021-04-02 19:48:13 +02:00
99831bf0c7
Fix compatibility with all versions of websocket-client, regardless of the list of arguments required by the callbacks (either ws as a first argument or not)
2021-04-02 19:27:25 +02:00
95625a401d
Skip MQTT message if it has no content [ closes #184 ]
2021-04-01 21:33:44 +02:00
a147a4d37a
Added <Camera> dashboard widget
2021-03-29 21:14:32 +02:00
177c697f83
Added support for custom dashboard components [see #129 ]
2021-03-28 17:34:11 +02:00
eb486df1ee
Bump version: 0.20.6 → 0.20.7
2021-03-26 23:09:33 +01:00
570f1d0cf6
Passing expire_on_commit=False on sessionmaker() [see #181 ]
...
Accessing db objects outside of their session seems to fail on SQLAlchemy >= 1.4
with a `Instance `Instance <x> is not bound to a Session` error.
Setting expire_on_commit=False on the session seems to somehow fix the issue
(see https://stackoverflow.com/questions/3039567/sqlalchemy-detachedinstanceerror-with-regular-attribute-not-a-relation )
2021-03-25 20:30:51 +01:00
Fabio Manganiello
4313b6e883
media.vlc.status should synchronize on _stop_lock, or it may fail in the middle of its execution if the VLC session is being freed
2021-03-24 15:02:05 +01:00
00fabf3853
Reverted MQTT client reconnection logic until I find a more reliable way to identify the errors that caused the disconnections
2021-03-22 02:11:46 +01:00
cad184fc1f
MQTT_ERR_NOMEM should not result in a reconnection
2021-03-22 02:07:53 +01:00
928bb3667a
Reconnection logic for MQTT disconnections caused by temporary errors
2021-03-22 01:52:27 +01:00
782be7794b
More robust logic to deal with broken lines in HTTP logs
2021-03-21 10:12:27 +01:00
40dc739d09
Even more robust logic in case of missing HTTP version on the logged request - if anything is wrong with the format simply default to http_version = 1.0
2021-03-18 14:02:25 +01:00
4821fe086b
More robust logic in case of missing HTTP version on the logged request
2021-03-18 11:30:57 +01:00
1355f7a3f6
[Dashboards] The class value should only apply to the widget wrapper, not to the wrapped widget [see #179 ]
2021-03-18 01:30:29 +01:00
3ce98305f0
Support for on_moved handler on file/log monitor backends
2021-03-17 23:21:52 +01:00
0a4cadba3e
Fixed KeyError
2021-03-17 01:53:10 +01:00
9e46ab0b60
Wait for _on_stop_event in media.vlc.stop before releasing the instance
2021-03-16 22:34:03 +01:00
c74d2fb124
Bump version: 0.20.5 → 0.20.6
2021-03-16 21:33:08 +01:00
ca573cb980
Added possibility to pass id instead of name to the switch mixin toggle method
2021-03-16 21:03:58 +01:00
75deb0393d
Fixed class name typo
2021-03-16 20:56:34 +01:00
14f1c44378
- If a Z-Wave event includes an explicit value update then explicitly set that value on the node, in order to prevent issues with Z-Wave value updates not yet propagated to the node structure
...
- Added Z-Wave switch component
2021-03-16 20:52:30 +01:00
fdd46edb6a
Do not force type cohercion on bool values - !!parseInt(true) = false in JavaScript, for some reason
2021-03-16 20:11:49 +01:00
b9738d88df
Added some temporary debug lines to Z-Wave's Value.vue to investigate setValue issues
2021-03-16 20:00:25 +01:00
f92d19a24e
media.vlc.stop should be synchronized on the _stop_lock and should call _reset_state instead of simply setting self._player = None
2021-03-16 19:42:59 +01:00
ce0ca2e9ee
Explicitly pass the new value on the Z-Wave setValue handler in case of binary toggles, since the target element can't be reliably determined
2021-03-16 19:37:42 +01:00
f8564c19cd
Added log.http backend to monitor HTTP logs [ closes #167 ]
2021-03-16 00:03:32 +01:00
1d3d741212
Fixed Sphinx build warnings
2021-03-14 01:09:01 +01:00
b171cb1012
A click on a Z-Wave binary event should result in the value being toggled, not rewritten [see #176 ]
2021-03-14 01:05:02 +01:00
352d421e61
Added file.monitor backend [ closes #172 ]
...
The file.monitor backend leverages watchdog instead of the Linux-only
inotify API and it replaces the inotify backend.
2021-03-14 00:08:20 +01:00
6f224cbda9
Removed legacy "local" backend and pusher script
2021-03-13 01:52:15 +01:00
adb472da7f
Messages should always be posted to the Redis bus in valid JSON format - no need for ast.literal_eval fallback
2021-03-13 01:52:15 +01:00
Fabio Manganiello
347a4d2555
disable_logging=True for ZwaveNodeGroupEvent
2021-03-12 20:29:26 +01:00
cef310ffd7
Added missing methods docs
2021-03-12 01:53:16 +01:00
96588df83b
Bump version: 0.20.4 → 0.20.5
2021-03-12 01:40:03 +01:00
02f6845e72
- Added weather.openweathermap plugin and backend, as a replacement for Darksky [ closes #177 ]
...
- Added note to the Darksky plugin about the decomissioning of the API by the end of the year
2021-03-12 01:31:26 +01:00
40834f7ce5
The zigbee2mqtt backend should use a suffix for the default client_id to prevent clashes with the default client_id from the MQTT backend [see #175 ]
2021-03-11 19:24:13 +01:00
3d6af00ee6
Disable logging of ZwaveValueEvent objects, as they tend to be very verbose
2021-03-11 17:53:39 +01:00
22dad79dd5
Merge pull request #166 from BlackLight/dependabot/npm_and_yarn/platypush/backend/http/webapp/elliptic-6.5.4
...
Bump elliptic from 6.5.3 to 6.5.4 in /platypush/backend/http/webapp
2021-03-10 11:38:07 +01:00
211025cedb
The redis_queue parameter is not necessarily defined on the app config
2021-03-10 11:15:06 +01:00
dependabot[bot]
da27ed7546
Bump elliptic from 6.5.3 to 6.5.4 in /platypush/backend/http/webapp
...
Bumps [elliptic](https://github.com/indutny/elliptic ) from 6.5.3 to 6.5.4.
- [Release notes](https://github.com/indutny/elliptic/releases )
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.3...v6.5.4 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-03-10 10:00:42 +00:00
775478fff0
Improvement management of Z-Wave value types from the web panel
2021-03-10 10:58:51 +01:00
093bac3a60
- Addressed comments in #174
...
- Replaced active_scan flag with a list of track_devices
2021-03-09 19:03:04 +01:00
4902475caf
Added active_scan mode to bluetooth.scanner backend to actively perform a lookup name on each device discovered at least once [see #174 ]
2021-03-09 11:50:59 +01:00
296458ece3
Cron expressions should follow the machine local time, not UTC [ closes #173 ]
2021-03-09 00:18:33 +01:00
71af6e87e0
Bump version: 0.20.3 → 0.20.4
2021-03-08 01:51:39 +01:00
090e7d6de8
Support for specifying the application Redis queue from the command line or service constructor
2021-03-06 19:22:13 +01:00
73e16fa6b1
Updated web app files
2021-03-05 21:43:16 +01:00
d860d8aef1
Added SmartThings switch web plugin
2021-03-05 21:29:32 +01:00
Fabio Manganiello
36aee6f787
The same applies to procedures - don't dump context as a JSON in case of exceptions
2021-03-05 19:00:26 +01:00
Fabio Manganiello
04ff008800
Context shouldn't be dumped as json in case of exceptions - if some objects are not JSON serializable then we end up with an uncaught exception
2021-03-05 18:52:57 +01:00
Fabio Manganiello
47ba13d985
calendar.ical.get_upcoming_events should fail hard if there was any exception/unsuccessful response
...
The error should not be swallowed and it should be instead propagated up
to calendar.get_upcoming_events, if it's called from that context. And
calendar.get_upcoming_events should be in charge of handling the
exceptions and make sure that failing to retrieve the events for one
calendar doesn't make the whole method fail.
2021-03-05 11:16:14 +01:00
4ada1c663d
Added SmartThings plugin [ #148 ]
2021-03-05 02:23:28 +01:00
210cefc1a4
General improvements on the Zeroconf plugin and backend
2021-03-03 19:20:12 +01:00
66c1e59c61
Bump version: 0.20.2 → 0.20.3
2021-02-28 23:48:34 +01:00
0e3845ef88
The vlc _reset_state logic should be wrapped within a lock context to make sure that two threads don't try to deallocate the context at the same time
2021-02-28 20:56:32 +01:00
833f810d4b
Fixed stop handler for vlc plugin.
...
For some reason, vlc event handlers are not re-entrant (https://github.com/oaubert/python-vlc/issues/44#issuecomment-378520074 ).
This means that the vlc API can't be used from an event handler,
and that an event handler that reacts to stop/end-of-stream by
releasing the player and the vlc instance will likely get stuck
and the app may eventually die with SIGSEGV.
Because of this design limitation on the vlc side, the plugin has
to run another thread in the main app that monitors the stop event
set by the event handler and releases the resources appropriately.
2021-02-28 13:03:10 +01:00
d190560536
Support for media.vlc.play toggling paused state if called with no arguments, and MediaPlayRequestEvent should have player and plugin attributes set
2021-02-28 01:40:29 +01:00
e0e3081eb1
VLC volume should strictly be an integer
2021-02-28 01:31:00 +01:00
d0707b6479
Bump version: 0.20.1 → 0.20.2
2021-02-27 21:27:37 +01:00
66445cb4e4
- Do not parse Zeroconf info at all if not available
...
- Temporarily skip test_procedure until I find a proper way to clean up the status from the previous run and start a fresh platform
2021-02-27 21:11:37 +01:00
f93df2fd49
Avoid the loop on the Zeroconf addresses object if the object is None (e.g. in the context of some tests)
2021-02-27 20:55:38 +01:00
0d806eeb6e
- Removed setUp method from test_event_parse - let the parent setUp run and properly start the daemon
...
- More resilient logic in case some entries in the Zeroconf registry are still loading and the info object is still None
2021-02-27 20:51:48 +01:00
36fdcf6963
- The context should be properly expanded also when calling a Python procedure
...
- Refactored the logic for executing a request and wrapping the response common to procedures, crons and event hook decorators into platypush.common.exec_wrapper
- Added mock getvalue() method to Logger to prevent PyCharm failures in the tests when sys.stdout is redirected to the Logger object
2021-02-27 20:27:36 +01:00
cde5e4e4f9
Bump version: 0.20.0 → 0.20.1
2021-02-27 15:01:38 +01:00
b4f9472fc5
- Proper expansion of the context variables on functional procedure call
...
- Expanded and refactored tests framework
- Added test_procedure
2021-02-27 15:01:25 +01:00
9e00428568
Don't fail silently if there were errors in parsing ${} variables or getting the context
2021-02-26 22:43:54 +01:00
b4258faa29
Fixed broken regular expressions after LINT refactor
2021-02-26 22:33:26 +01:00
9e4daacd74
Aligning flex elements to the right with justify-content: right doesn't work on Chromium-based browsers - use flex-end instead
2021-02-26 21:10:45 +01:00
a5f02c6a30
The /hook route should not require token authentication - authentication is up to the hook implementation
2021-02-24 22:21:01 +01:00
076cc6a63e
Fixed regex format
2021-02-24 01:34:41 +01:00
d0a579cf4b
Fixed old regex sequences to r'' format
2021-02-24 01:28:46 +01:00
571a8ca9d1
Improvements on HTTP integration test. Plus, removed ApplicationStoppedEvent - it's unreliable and it could be delivered when the bus has already been stopped
2021-02-24 00:23:32 +01:00
2800bac3fb
Make sure that all hanging threads, backends and services are stopped and their resources cleaned up when the application stops.
2021-02-23 23:09:26 +01:00
Fabio Manganiello
b27c9ee630
Make sure to always run .quit() on the _player instance on stop/exit event, even if the player is already stopped, otherwise the OMXPlayer session may be hanging in the background and prevent new DBus connections
2021-02-22 14:22:45 +01:00
04a23d555d
Updated README (it hadn't been updated for ages)
2021-02-22 02:53:20 +01:00
67702d3cc8
Rephrased disclaimer for the Google assistant backend
2021-02-22 01:41:54 +01:00
6df336465f
Fixed nested list style in backend.http documentation
2021-02-22 01:35:42 +01:00
ffb7a3e5a3
Extended and updated pieces of documentation on the HTTP server, Zigbee2mqtt and mpd. Also added example dashboard template and event hook script.
2021-02-22 01:20:01 +01:00
10eb0c12aa
Don't fail hard if the web app is initialized without access to a configuration file (e.g. from a ReadTheDocs build environment)
2021-02-21 23:30:05 +01:00
53fb254c57
js dependencies updated
2021-02-21 18:47:26 +01:00
727094467d
Fixed some UI elements for Chrome on mobile
2021-02-21 18:10:22 +01:00
Fabio Manganiello
6f9428487f
Higher priority to gstreamer plugin over omxplayer for tts
2021-02-21 02:44:26 +01:00