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
201bb5986f
Don't create an MQTT client connection if there are no topics to subscribe.
...
If we open multiple connections from multiple MQTT-based backends to the
same host, with some of them having no topics subscribed, Paho-MQTT can
mess up which client is supposed to receive which message and we may end
up with lost messages on the platypush_bus_mqt/<host> topic.
2021-02-15 22:02:58 +01:00
51e6d95205
Fixed valueId lookup in Z-Wave filtered values
2021-02-14 22:02:17 +01:00
c78420749b
More Z-Wave UI fixes [WIP]
2021-02-14 21:43:11 +01:00
adbde5a681
Z-Wave UI style fixes [WIP]
2021-02-14 21:08:29 +01:00
80aa9b968d
More Z-Wave UI fixes [WIP]
2021-02-14 19:16:21 +01:00
b922f29bb8
Moar Z-Wave UI style fixes [WIP]
2021-02-14 18:53:59 +01:00
4dd5ea71d6
Style fixes for Z-Wave UI migration [WIP]
2021-02-14 18:07:40 +01:00
297c18e176
Fixed glitches in new Z-Wave panel [WIP]
2021-02-14 16:28:34 +01:00
a1e2bf9b3a
Fixed font size and ratio on new dashboard
2021-02-14 15:31:24 +01:00
c2784c400f
Added dist files for z-wave panel migration
2021-02-14 14:46:02 +01:00
b49865181b
Z-Wave plugin UI migration [WIP]
2021-02-14 02:29:39 +01:00
add1bd05cb
Keep track of the last state of the Zigbee controller so that new messages on the bridge/state
topic won't trigger new events unless the state has actually changed [see #183 ]
2021-02-13 15:54:21 +01:00
8168cd3ab3
Don't default on logging.INFO level if another level is set in the configuration, and apply the same logging level also to the web server [ closes #162 ]
2021-02-13 15:13:07 +01:00
b3c28f6773
Added support for JWT token-based authentication
2021-02-12 22:43:34 +01:00
06ca5be54b
Still support default host/port fallback on mqtt.publish
2021-02-12 02:19:36 +01:00
30d5cdcb00
Generated new dist files for the web app
2021-02-11 23:58:36 +01:00
2427cceb5e
Migration completed for the zigbee.mqtt web panel
2021-02-11 23:53:05 +01:00
3cf91a3f27
Fixed backend.zigbee.mqtt to work with the new zigbee2mqtt API
2021-02-11 23:50:28 +01:00
f9598977db
Refactored backend.mqtt to reuse connections whenever possible, as well as programmatically subscribe/unsubscribe topics at runtime
2021-02-10 22:31:33 +01:00
1a70c6ea0b
Fixed remaining Zigbee groups and binding methods to work with the new zigbee2mqtt API [see #163 ]
2021-02-10 02:00:52 +01:00
db80240209
zigbee2mqtt web panel migration [WIP]
2021-02-09 02:33:56 +01:00
1eedcaf2be
Moved more zigbee2mqtt methods to the new API
2021-02-09 02:33:43 +01:00
86e6ffd18d
Zigbee web panel migration [WIP]
2021-02-08 02:04:59 +01:00
b8979040da
Fixed device_get and device_rename to use the new zigbee2mqtt API
2021-02-08 01:45:21 +01:00
816492d3b2
Fixed MQTT over SSL default version spec in case the parameter is not a string
2021-02-08 01:44:26 +01:00
0bddbb0bca
Merge branch 'master' into vuejs
2021-02-06 14:46:08 +01:00
314c01ef97
Refactored Zigbee backend and remove unused logic for keeping devices up-to-date
2021-02-06 14:45:50 +01:00
4c5a52417e
Support for new zigbee2mqtt API and protocol (see #163 )
2021-02-06 02:19:15 +01:00
23a5cd519a
Merge branch 'master' into vuejs
2021-02-05 23:18:31 +01:00
b57a241f52
Changed base URL to platypush.tech
2021-02-05 23:18:18 +01:00
2abfb2964c
Merge branch 'master' into vuejs
2021-02-04 01:57:36 +01:00
4858dbc060
Back/forward seek changed from 60 to 30
2021-02-04 01:56:28 +01:00
Fabio Manganiello
2834ed2a7c
Refactored and fixed many bugs on the media.omxplayer plugin
2021-02-04 01:44:21 +01:00
Fabio Manganiello
165f85f8dc
Added support for background shell commands
2021-02-04 01:43:51 +01:00
Fabio Manganiello
7f24b82281
Removed deprecated media.ctrl plugin
2021-02-03 22:13:10 +01:00
7e1d232942
Another fix bites the dust
2021-02-03 17:47:33 +01:00
31a7ecee03
Quick fix
2021-02-03 17:46:05 +01:00
346bd9602d
The whole get_plugin/.status() block should be under try/except
2021-02-03 17:44:40 +01:00
673351db51
Don't fail if a media plugin can't be imported
2021-02-03 17:43:26 +01:00
86ebc4fae9
Get the plugin name, not the object
2021-02-03 17:42:20 +01:00
118540db8c
Fixed unreferenced var
2021-02-03 17:41:06 +01:00
a1d6c4fbe4
Added missing Config import
2021-02-03 17:39:55 +01:00
2bb07ae191
Fixed base class name
2021-02-03 17:39:16 +01:00
1920bd80a3
First search among the configured media plugins in media.ctrl plugin
2021-02-03 17:34:33 +01:00
ef63c3769e
Cast request headers to dict before adding them to the event
2021-01-31 00:16:44 +01:00
fddf2006e4
Added headers argument to webhook event
2021-01-31 00:01:58 +01:00
a0bf227573
Fixed trailing column in wss: protocol
2021-01-30 23:21:52 +01:00
8e2d590e62
Merge branch 'master' into vuejs
2021-01-23 15:06:14 +01:00
Fabio Manganiello
31b110a06c
FIX: zigbee2mqtt applies different logic to /<device_name> and /<device_name>/get
2021-01-22 16:24:43 +01:00
Fabio Manganiello
717ad5d88c
Revert "FIX: zigbee2mqtt /get calls require a property field specified on the message"
...
This reverts commit 7ff08a9587
.
2021-01-22 16:13:18 +01:00
Fabio Manganiello
cc839620cf
FIX: zigbee2mqtt /get calls require a property field specified on the message
2021-01-22 01:03:52 +01:00
Fabio Manganiello
cebd79079b
Merge branch 'master' into vuejs
2021-01-22 01:01:22 +01:00
Fabio Manganiello
7a7e00bea2
Migrated music.snapcast UI
2021-01-22 01:00:49 +01:00
Fabio Manganiello
7ff08a9587
FIX: zigbee2mqtt /get calls require a property field specified on the message
2021-01-22 00:45:52 +01:00
Fabio Manganiello
370a7d4c15
Added frontend support for Plex
2021-01-18 01:28:10 +01:00
Fabio Manganiello
85f56cf98c
New media panel [WIP]
2021-01-14 00:15:35 +01:00
Fabio Manganiello
6ae76f1f38
Migrating media plugins [WIP]
2021-01-05 00:50:24 +01:00
Fabio Manganiello
67d3b40772
Finalized new music.mpd web interface
2021-01-02 14:33:01 +01:00