Commit Graph

891 Commits

Author SHA1 Message Date
Fabio Manganiello d860d8aef1 Added SmartThings switch web plugin 2021-03-05 21:29:32 +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
Fabio Manganiello 4ada1c663d Added SmartThings plugin [#148] 2021-03-05 02:23:28 +01:00
Fabio Manganiello 210cefc1a4 General improvements on the Zeroconf plugin and backend 2021-03-03 19:20:12 +01:00
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello e0e3081eb1 VLC volume should strictly be an integer 2021-02-28 01:31:00 +01:00
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello 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
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
Fabio Manganiello 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
Fabio Manganiello 6f9428487f Higher priority to gstreamer plugin over omxplayer for tts 2021-02-21 02:44:26 +01:00
Fabio Manganiello 6b5b50d186 Migrated switches plugin 2021-02-19 20:47:29 +01:00
Fabio Manganiello 56f8d85feb Migrated switches web panel and refactored switch plugins to expose a more consistent interface 2021-02-19 02:54:12 +01:00
Fabio Manganiello 748609c6f4 Migrated settings panel and logout button 2021-02-15 23:09:27 +01:00
Fabio Manganiello b3c28f6773 Added support for JWT token-based authentication 2021-02-12 22:43:34 +01:00
Fabio Manganiello 06ca5be54b Still support default host/port fallback on mqtt.publish 2021-02-12 02:19:36 +01:00
Fabio Manganiello 3cf91a3f27 Fixed backend.zigbee.mqtt to work with the new zigbee2mqtt API 2021-02-11 23:50:28 +01:00
Fabio Manganiello 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
Fabio Manganiello 1eedcaf2be Moved more zigbee2mqtt methods to the new API 2021-02-09 02:33:43 +01:00
Fabio Manganiello b8979040da Fixed device_get and device_rename to use the new zigbee2mqtt API 2021-02-08 01:45:21 +01:00
Fabio Manganiello 816492d3b2 Fixed MQTT over SSL default version spec in case the parameter is not a string 2021-02-08 01:44:26 +01:00
Fabio Manganiello 0bddbb0bca Merge branch 'master' into vuejs 2021-02-06 14:46:08 +01:00
Fabio Manganiello 314c01ef97 Refactored Zigbee backend and remove unused logic for keeping devices up-to-date 2021-02-06 14:45:50 +01:00
Fabio Manganiello 4c5a52417e Support for new zigbee2mqtt API and protocol (see #163) 2021-02-06 02:19:15 +01:00
Fabio Manganiello 2abfb2964c Merge branch 'master' into vuejs 2021-02-04 01:57:36 +01:00
Fabio Manganiello 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
Fabio Manganiello 7e1d232942 Another fix bites the dust 2021-02-03 17:47:33 +01:00
Fabio Manganiello 31a7ecee03 Quick fix 2021-02-03 17:46:05 +01:00
Fabio Manganiello 346bd9602d The whole get_plugin/.status() block should be under try/except 2021-02-03 17:44:40 +01:00
Fabio Manganiello 673351db51 Don't fail if a media plugin can't be imported 2021-02-03 17:43:26 +01:00
Fabio Manganiello 86ebc4fae9 Get the plugin name, not the object 2021-02-03 17:42:20 +01:00
Fabio Manganiello 118540db8c Fixed unreferenced var 2021-02-03 17:41:06 +01:00
Fabio Manganiello a1d6c4fbe4 Added missing Config import 2021-02-03 17:39:55 +01:00
Fabio Manganiello 2bb07ae191 Fixed base class name 2021-02-03 17:39:16 +01:00
Fabio Manganiello 1920bd80a3 First search among the configured media plugins in media.ctrl plugin 2021-02-03 17:34:33 +01:00
Fabio Manganiello 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 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