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
3e777bd19f
Media buttons should have no background by default
2021-02-21 02:15:27 +01:00
7922ae4801
Removed old templates/ and static/ web directories
2021-02-21 00:41:40 +01:00
94c35e210e
Migrated /plugin/<pluginName> route
2021-02-21 00:39:06 +01:00
34892e227a
The webapp dist/ folder should actually be under the webapp dir
2021-02-20 23:26:25 +01:00
856eb720b0
Migrated execute panel
2021-02-20 23:12:54 +01:00
94ad14f23f
Migrated Samsung TV web panel
2021-02-20 01:18:05 +01:00
c8fa61cc4f
Fixed navigator scrolling and style
2021-02-19 22:55:31 +01:00
8ab72e8f94
Upgraded axios and bulma
2021-02-19 21:06:58 +01:00
6b5b50d186
Migrated switches plugin
2021-02-19 20:47:29 +01:00
56f8d85feb
Migrated switches web panel and refactored switch plugins to expose a more consistent interface
2021-02-19 02:54:12 +01:00
51de11da25
Finalized migration of camera and sound plugins
2021-02-17 01:02:57 +01:00
ca2fd60950
Migrated camera.android.ipcam UI
2021-02-16 23:56:43 +01:00
e508d453ba
Set better default scaling for camera.ir.mlx90640 UI
2021-02-16 22:57:09 +01:00
12e1c60f6c
Fixed camera.ir.mlx90640 UI panel reference and RSS widget font
2021-02-16 22:42:43 +01:00
8c3ba9f367
Migrated camera.pi and camera.ir.mlx90640 UI panels
2021-02-16 20:14:20 +01:00
41acb02eb0
Migrated camera.cv/camera.ffmpeg/camera.gstreamer UI panels
2021-02-16 01:51:37 +01:00
748609c6f4
Migrated settings panel and logout button
2021-02-15 23:09:27 +01:00