Commit graph

486 commits

Author SHA1 Message Date
Fabio Manganiello 544979e7ff - Added position argument to music.mpd.add
- Added RSS feed parser plugin
2019-01-09 18:43:13 +01:00
Fabio Manganiello 3c385a601f Exposing backend hosts and ports as both lists and JSON on Snapcast plugin 2019-01-08 18:24:59 +01:00
Fabio Manganiello 80bd5b684c Added support for setting/changing group streams on Snapcast 2019-01-08 17:43:20 +01:00
Fabio Manganiello 19eab381ae Weird Jinja bug broke the web panel load when using JSON parse, had to refactor it a bit to fix it 2019-01-08 13:53:21 +01:00
Fabio Manganiello d91e494940 Added group and host modals and settings to Snapcast UI 2019-01-08 12:54:33 +01:00
Fabio Manganiello 004868f526 Added skeleton UI for Snapcast plugin on web panel 2019-01-07 15:34:31 +01:00
Fabio Manganiello bbc3a9e82a Fixed Snapcast status method 2019-01-06 23:46:52 +01:00
Fabio Manganiello 461362f792 mset signature now compatible both with redis-py < 3.0 and >= 3.0 2019-01-06 23:46:18 +01:00
Fabio Manganiello efad5a2bd7 Added Snapcast backend 2019-01-06 19:19:30 +01:00
Fabio Manganiello 2fba3109b3 Wrapped sample response in codeblock 2019-01-06 12:56:30 +01:00
Fabio Manganiello e97ce5d676 Added Snapcast plugin 2019-01-06 02:19:56 +01:00
Fabio Manganiello 240abb627d Fix old Spotify playlists URI format 2019-01-03 10:37:16 +01:00
Fabio Manganiello 699fa92c5e Added HomeSeer plugin 2018-12-28 09:55:09 +01:00
Fabio Manganiello f9f43964a2 Support for stream names 2018-12-28 00:30:25 +01:00
Fabio Manganiello fae45d8ca3 Returning only the real part of the FFT 2018-12-27 22:47:44 +01:00
Fabio Manganiello 54c3381ae3 - Added frames throttling support on Leap Motion backend
- Moved the Leap listener to another process to prevent it from hanging the other backends
- Added support for sound and mix frequency analysis
2018-12-27 20:24:51 +01:00
Fabio Manganiello 2e82651dbf Expressed triangular wave as a function of the associated sawtooth-shape wave 2018-12-27 17:33:05 +01:00
Fabio Manganiello debf9a017b Sound plugin moved back to __init__ for sake of better readthedocs generation 2018-12-27 17:26:16 +01:00
Fabio Manganiello cff4563dae Rewritten Pushbullet backend using pushbullet.py for better stability 2018-12-27 02:29:44 +01:00
Fabio Manganiello 56ff58d06b Better sound release logic 2018-12-27 01:10:45 +01:00
Fabio Manganiello c445763979 - Support for sound "release" (removal from active stream)
- Added `query_ports` method to MIDI plugin
2018-12-27 00:09:05 +01:00
Fabio Manganiello f2d2315610 Extended Sound class docstring 2018-12-26 23:16:37 +01:00
Fabio Manganiello 3598d7fcd5 Support for multiple sound waves (triangular, square and sawtooth) 2018-12-26 23:14:52 +01:00
Fabio Manganiello 3b681bbf57 Added played files/notes in stream in query_streams 2018-12-26 16:58:41 +01:00
Fabio Manganiello 3554968468 Support for multiple sounds on the same stream 2018-12-26 16:10:14 +01:00
Fabio Manganiello c2544524e1 Added missing docstring line 2018-12-25 19:26:59 +01:00
Fabio Manganiello 2fb5e5abc6 Support for mixes of multiple sounds 2018-12-25 19:26:08 +01:00
Fabio Manganiello d89184358a Support for playback control for individual sound streams 2018-12-25 17:31:20 +01:00
Fabio Manganiello 3baf0b1589 Initial support for playing multiple sounds to the same stream 2018-12-24 18:58:44 +01:00
Fabio Manganiello 3d2636b09c Further split between sound and core modules 2018-12-24 17:15:29 +01:00
Fabio Manganiello 65465e3a18 - Refactored the class sound out of the plugin module
- More robust stream naming and index assignment logic
2018-12-24 17:12:11 +01:00
Fabio Manganiello 755df6284a Added missing reference to completed_callback_event 2018-12-23 23:43:12 +01:00
Fabio Manganiello c2cf0b5f74 Support for polyphonic synthetic sounds in sound plugin 2018-12-23 23:29:52 +01:00
Fabio Manganiello 7a5657778e Basic support for synth sounds in sound plugin 2018-12-22 01:47:52 +01:00
Fabio Manganiello 00dacc456c A more robust logic for getting the default sound devices 2018-12-21 16:52:52 +01:00
Fabio Manganiello e2f7213697 Don't fail hard if it was not possible to get the ical content 2018-12-20 16:47:07 +01:00
Fabio Manganiello b3ffb29726 Don't extend calendar events will null values 2018-12-20 16:40:14 +01:00
Fabio Manganiello 8d497b0be7 Fixed reference to libtorrent dependency as the pip URL is broken 2018-12-20 01:04:50 +01:00
Fabio Manganiello a226aad669 Added python-dateutil requirement 2018-12-19 00:09:21 +01:00
Fabio Manganiello c8f7eb30aa Made Redis backend and plugin more robust.
- Redis arguments read either from the backend or the plugin
configuration as a fallback in case of partial conf

- send_message now falls back on the default Redis connection
configuration if *args and **kwargs are missing
2018-12-18 15:51:37 +01:00
Fabio Manganiello 7586412ded Serial plugin extended with a general purpose read() method - to communicate for e.g. Espruino and compatible devices 2018-12-16 23:14:34 +01:00
Fabio Manganiello 28223cab30 Only import sounddevice when needed 2018-12-16 17:29:45 +01:00
Fabio Manganiello abd88d0a71 recplay default blocksize should be the configured/default output blocksize 2018-12-16 17:23:26 +01:00
Fabio Manganiello c054d04f2d Added configurable input and output device blocksize to sound device plugin 2018-12-16 17:11:05 +01:00
Fabio Manganiello e049d5483e Added blocksize to sound.record 2018-12-16 16:58:33 +01:00
Fabio Manganiello be43c3ac21 Changed default sound device to index 0 as 'default' is not present on all the systems 2018-12-16 16:34:40 +01:00
Fabio Manganiello 20a779bd8f Replaced if not references with if <var> is not None 2018-12-16 16:24:45 +01:00
Fabio Manganiello f7576dcb7f Added support for audio pass-through to sound plugin 2018-12-16 16:15:45 +01:00
Fabio Manganiello be98dcde6a Added sound device plugin 2018-12-15 01:18:48 +01:00
BlackLight e89046f12a Added max_results to YouTube search 2018-12-12 23:03:17 +01:00
BlackLight 9b0a72269a typo 2018-12-12 22:52:51 +01:00
BlackLight b7603ba166 Mapping YouTube API responses to the internal simpler format recognized by OMXPlayer plugin 2018-12-12 22:46:32 +01:00
BlackLight 679cad53b5 Added YouTube plugin that leverages the YouTube API; Replaced OMXPlayer search references to the old HTML parser withe new YouTube plugin 2018-12-12 22:33:41 +01:00
Fabio Manganiello 383a075f39 Handling Wiimote timeout on Wiimote backend 2018-12-01 18:43:18 +01:00
Fabio Manganiello 2b03276159 #46: Added Wiimote support 2018-12-01 17:56:31 +01:00
Fabio Manganiello 6603f64757 Enforced cast to string for any object posted to the Redis bus 2018-11-20 14:24:14 +00:00
Fabio Manganiello c2be1cf6e8 Enforced cast to string for any object posted to the Redis bus 2018-11-20 14:18:58 +00:00
Fabio Manganiello bb966f123f Added back and forward methods to Chromecast plugin 2018-11-13 23:23:14 +01:00
Fabio Manganiello 025309cae8 Fixed Chromecast media_controller methods 2018-11-13 23:17:51 +01:00
Fabio Manganiello 632da318b1 Expanded Chromecast plugin 2018-11-13 23:09:19 +01:00
Fabio Manganiello 6fcc3a2397 Support for YouTube media in Chromecast plugin 2018-11-13 20:20:55 +01:00
Fabio Manganiello 26f3842724 Added support for Plex to Chromecast 2018-11-13 01:29:24 +01:00
Fabio Manganiello 42053dcf3b Expanded Plex plugin 2018-11-12 23:23:21 +01:00
Fabio Manganiello 1459630661 Added Plex and Chromecast plugins 2018-11-12 16:50:20 +01:00
Fabio Manganiello fc3f53f32b Retry logic for getting mpd status 2018-11-07 18:04:37 +01:00
Fabio Manganiello cbfcb76c21 volup/voldown fix for mpd plugin 2018-11-04 01:35:33 +01:00
Fabio Manganiello 56b87f3436 Support for default broker server configuration in MQTT plugin 2018-11-02 15:32:12 +00:00
Fabio Manganiello 788a2652c8 Support for TLS/SSL and user authentication on MQTT 2018-11-02 15:15:48 +00:00
Fabio Manganiello e2ff62f15d Refactored file plugin 2018-11-02 13:57:24 +00:00
Fabio Manganiello 38a8cac9c6 Refactored SSL context logic as utils methods 2018-11-01 23:34:14 +01:00
Fabio Manganiello bf52304758 Fixed ReadTheDocs 2018-11-01 19:42:43 +01:00
Fabio Manganiello 6bc976cf89 Fixed SSL support in websocket implementation 2018-11-01 17:28:54 +00:00
Fabio Manganiello 484d282a26 Updated wiki 2018-10-28 23:48:26 +01:00
Fabio Manganiello 92a3759721 Added websocket backend and plugin 2018-10-26 21:55:49 +02:00
Fabio Manganiello 284e0638f8 Always define msg so the function doesn't fail on exception
Reverted the previous retry logic for backend - it didn't really work

This reverts commit 4e0e4863a0.
This reverts commit 964c7b5cf0.
This reverts commit 6ce348365f.
2018-10-25 20:46:34 +02:00
Fabio Manganiello 4e0e4863a0 Don't modify Redis args directly when initializing the object in another plugin 2018-10-25 20:14:50 +02:00
Fabio Manganiello 276ee8fee9 Round download progress to two decimals 2018-10-22 19:14:41 +02:00
Fabio Manganiello 76b40c0c37 Managing torrent stop and remove as well 2018-10-22 19:12:06 +02:00
Fabio Manganiello ab51c1d1bc Extended torrents plugin 2018-10-22 18:51:00 +02:00
Fabio Manganiello 7375fb74fc OMXPlayer to delegate torrent search and download to the torrent plugin 2018-10-22 18:26:11 +02:00
Fabio Manganiello ce6baa453c Keeping track of multiple downloads in torrent plugin 2018-10-22 15:24:09 +00:00
Fabio Manganiello 9974583038 Added torrent plugin 2018-10-22 14:52:32 +00:00
Fabio Manganiello 4d592fff17 Support for multiple devices in AutoRemote plugin 2018-10-22 09:36:30 +00:00
Fabio Manganiello 7adfb67c12 Fixed Kodi plugin 2018-10-20 19:27:15 +02:00
Fabio Manganiello db4330eeed Support for (output, errors) as a tuple returned from plugin actions 2018-10-20 18:07:00 +02:00
Fabio Manganiello 2dac094aea player_id should be optional in media.kodi.stop 2018-10-20 18:00:53 +02:00
Fabio Manganiello fc7fa37010 ignore_errors parameter supported in shell plugin 2018-10-20 17:56:36 +02:00
Fabio Manganiello 4fce1dd2e1 More features on the Kodi plugin 2018-10-20 17:17:29 +02:00
Fabio Manganiello 5b5fdd0933 Kodi player plugin improved 2018-10-20 16:59:47 +02:00
Fabio Manganiello e16b444b0b player_id selection implemented in Kodi 2018-10-20 16:40:12 +02:00
Fabio Manganiello 4f3c7f715f Expanded Kodi actions 2018-10-18 16:24:22 +02:00
Fabio Manganiello b6a4432528 Added Kodi plugin 2018-10-18 16:14:39 +02:00
Fabio Manganiello 3458fb8a23 Added append action to file plugin 2018-10-17 09:02:22 +02:00
Fabio Manganiello 4d3d8ddd34 File utils moved to new file plugin 2018-10-16 09:01:22 +02:00
Fabio Manganiello b14bb44c10 Added utils actions to handle files 2018-10-16 08:49:55 +02:00
Fabio Manganiello b6fcdf75f4 Make sure that we set the credential files environment variable 2018-10-14 10:45:25 +02:00
Fabio Manganiello c640093139 Added Google-based TTS plugin 2018-10-14 10:29:02 +02:00
Fabio Manganiello db89c39ed8 Made AutoRemote notification text optional 2018-10-12 00:41:23 +02:00
Fabio Manganiello eab2ba2075 Added send_notification to AutoRemote 2018-10-11 23:35:29 +02:00
Fabio Manganiello 2d7040225c Added AutoRemote plugin 2018-10-11 14:52:28 +00:00
Fabio Manganiello 15b65c4896 Added utils plugin 2018-10-10 01:00:30 +02:00
Fabio Manganiello c10e882dd0 Make decode safe against null values 2018-10-06 23:37:26 +02:00
Fabio Manganiello 8497cd3863 More consistent naming 2018-10-06 23:30:11 +02:00
Fabio Manganiello 1404d59865 Fixed response encoding 2018-10-04 10:22:23 +02:00
Fabio Manganiello fbce006772 Fixed send_note pushbullet method 2018-10-01 15:06:26 +02:00
Fabio Manganiello b88f7fcecc Added play_if_paused_or_stopped method to mpd plugin 2018-09-25 19:40:00 +02:00
Fabio Manganiello 38f61298f8 Support for bulk mpd add 2018-09-25 09:42:46 +02:00
Fabio Manganiello 88d2fbd366 Response can't be null 2018-09-25 00:26:06 +02:00
Fabio Manganiello d78e66df7c Don't return status() over video stop, as the process should already be dead and playback status call will fail 2018-09-25 00:19:53 +02:00
Fabio Manganiello 59d84c4fcb - Calling on_message on Redis backend to trigger the right logic
instead of `self.bus.post` directly

- For consistency `mset` now returns back the map of the set variables

- Redis backend enabled on tests
2018-09-24 22:07:13 +02:00
Fabio Manganiello 6449504e26 Switched the bus to a Redis bus 2018-09-20 10:49:57 +00:00
Fabio Manganiello 5762c51019 Added support for Redis-stored variables in variables plugin 2018-09-06 09:31:31 +02:00
Fabio Manganiello cccb48c533 Implemented mget and mset actions for Redis plugin 2018-09-06 03:38:10 +02:00
Fabio Manganiello 5d1fd3a02f Precision parameter added to accelerometer plugin 2018-09-06 02:47:47 +02:00
Fabio Manganiello 98a8874084 Added accelerometer sensor backend 2018-09-06 02:31:01 +02:00
Fabio Manganiello 692d33a071 Added empty __init__.py to lib module 2018-09-06 02:23:54 +02:00
Fabio Manganiello 96157a31bf Return the accelerometer position in degrees between -90 and 90 2018-09-06 02:18:08 +02:00
Fabio Manganiello b3f20ca0de Added accelerometer sensors plugin 2018-09-06 02:11:41 +02:00
Fabio Manganiello 5cfbd75250 Prevent RuntimeError on lock release if lock acquisition failed 2018-09-05 02:26:55 +02:00
Fabio Manganiello 3b8c580611 Revert "serial.write should have a blocking wait if the serial port is busy"
This reverts commit 0537d1fcac.
2018-09-05 02:04:10 +02:00
Fabio Manganiello 0537d1fcac serial.write should have a blocking wait if the serial port is busy 2018-09-05 01:59:55 +02:00
Fabio Manganiello 938526d521 Added write action to the serial plugin 2018-09-04 22:54:14 +02:00
Fabio Manganiello 335d3e3cd7 Typo 2018-08-22 19:20:24 +02:00
Fabio Manganiello ba1eca29fc Reversed pin configuration/mapping as name->number instead of number->name 2018-08-22 19:12:26 +02:00
Fabio Manganiello 133dd4570e Added PIN mappings to gpio plugin, support for read/write by PIN name and read_all method 2018-08-22 19:09:17 +02:00
Fabio Manganiello 105d5bb2fc Lock to prevent race conditions where multiple initializations of a plugin can occur 2018-08-22 02:04:16 +02:00
Fabio Manganiello e5d67c9393 Being more robust against multiple concurrent plugin initializations with a lock 2018-08-21 09:11:01 +02:00
Fabio Manganiello fc1e15504d Implemented Hue lights toggle command 2018-08-16 19:24:20 +02:00
Fabio Manganiello f2d077354c Typo fix 2018-08-16 01:26:10 +02:00
Fabio Manganiello 0e2ead6826 Default to configured lights if no lights/groups args are passed to Hue delta actions 2018-08-16 01:23:22 +02:00
Fabio Manganiello a41e804ff9 Implemented delta_bri, delta_sat and delta_hue methods to change light
properties by deltas (from -100% to +100%)
2018-08-16 01:13:43 +02:00
Fabio Manganiello bbdf11b9ce Added shuffle method to music.mpd 2018-08-06 22:44:02 +02:00
Fabio Manganiello 6ebab5de25 Animation thread wrapped in a try-except to prevent the thread from exiting in case of temporary errors 2018-07-28 14:05:19 +02:00
Fabio Manganiello 61e211ee07 Added Kafka plugin 2018-07-28 01:55:19 +02:00
Fabio Manganiello d0fea0c9c6 All the arguments to send_location_data are actually required 2018-07-25 12:34:16 +00:00
Fabio Manganiello e4fce17b7b Added elevation parameter to the Adafruit send_location_data method 2018-07-25 12:31:50 +00:00
Fabio Manganiello 8846af6a94 Added send_location_data method to Adafruit IO plugin 2018-07-25 12:08:49 +00:00
Fabio Manganiello 0dafa16958 Added get_elevation_from_latlng method to Google Maps plugin 2018-07-25 12:01:27 +00:00
Fabio Manganiello 423fc492cf Guard the start of the data throttler thread with a lock to prevent multiple launches 2018-07-25 03:04:00 +02:00
Fabio Manganiello cd52128e44 Reverted batch instead of mean value 2018-07-25 02:30:58 +02:00
Fabio Manganiello 5d8cc403dc Handling Adafruit throttling exceptions with a sleep before retrying 2018-07-25 02:26:11 +02:00
Fabio Manganiello b777bbcfa8 Reset the timer as soon as you start processing the batch 2018-07-25 02:21:38 +02:00
Fabio Manganiello 6dc86635a4 Send the whole batch of values in the throttler thread instead of getting the mean 2018-07-25 02:18:20 +02:00
Fabio Manganiello db98e6e05a Added throttle support to Adafruit IO plugin 2018-07-25 01:53:56 +02:00
Fabio Manganiello 3ab77e32f4 Doc fixes 2018-07-24 15:01:01 +00:00
Fabio Manganiello 79834a43a5 Added __init__.py for Adafruit folder 2018-07-24 09:17:09 +02:00
Fabio Manganiello 826e0c7204 Added Adafruit IO plugin 2018-07-24 09:06:05 +02:00
Fabio Manganiello d95b07f09b Added plugin to manage system clipboard 2018-07-24 00:35:28 +02:00
Fabio Manganiello 32838efa36 Added IFTTT plugin 2018-07-23 02:49:53 +02:00
Fabio Manganiello 3775327aea Updated variable plugin documentation 2018-07-20 19:19:59 +02:00
Fabio Manganiello 26a57c9d6f Preventing inconsistent reads from the serial port by making sure that only one reader can read at the time 2018-07-20 15:54:31 +02:00
Fabio Manganiello bc895dd984 If the http.request plugin gets a proper JSON message as a response, then extract the Platypush message out of the original response 2018-07-19 20:07:15 +02:00
Fabio Manganiello 72543c26a9 Added logger plugin 2018-07-19 00:03:19 +02:00
Fabio Manganiello 6508ef29a1 Don't overwrite the output variable 2018-07-18 20:23:15 +02:00
Fabio Manganiello c4d3e6b467 Graceful sleep between failed serial read attempts 2018-07-17 23:51:30 +02:00
Fabio Manganiello 5bc7319933 Optimized serial plugin 2018-07-17 23:47:13 +02:00
Fabio Manganiello 95d86829aa Plugin action decorators can now be inherited from parent classes 2018-07-17 01:23:12 +02:00
Fabio Manganiello 35c5e2d8f7 Serial plugin now extends the general sensor plugin class 2018-07-17 00:59:02 +02:00
Fabio Manganiello 86754534ae Fixed omxplayer plugin doc 2018-07-16 23:17:00 +02:00
Fabio Manganiello 72d490456f Fixed docstring 2018-07-16 22:58:56 +02:00
Fabio Manganiello 2888cb3a4b Propagate the docstring of the wrapped function when using an @action annotation 2018-07-16 22:56:07 +02:00
Fabio Manganiello cba40744fb No need to commit without opening a transaction first 2018-07-15 20:33:09 +02:00
Fabio Manganiello 2fda066e39 - Support for Platypush main configuration db, where plugins and backends can store their data
- Support for permanent cross-process storage of session variables through SQLite db
- Support for db.select with table+filter instead of raw SQL query
2018-07-15 20:12:23 +02:00
Fabio Manganiello 7114d8bcaa Implemented update and delete method for the db plugin and ON DUPLICATE UPDATE logic for insert 2018-07-15 19:31:11 +02:00
Fabio Manganiello b3e3621c5a Removed unneeded imports 2018-07-15 17:28:17 +02:00
Fabio Manganiello a2898f63c3 - Unwrap the response in the decorator if we got a Response object from the decorated plugin
- No need for @action wrappers around omxplayer event handlers
2018-07-15 02:03:24 +02:00
Fabio Manganiello 88d9f9d3ac Stability fixes 2018-07-06 03:38:14 +02:00
Fabio Manganiello 85cdd8e5af Removed old Response reference 2018-07-06 03:35:47 +02:00
Fabio Manganiello 6cf0f39a03 Added call to parent constructor in db plugin 2018-07-06 03:03:09 +02:00
Fabio Manganiello cfda6e019c Don't wrap events in a Response object twice 2018-07-06 02:55:36 +02:00
Fabio Manganiello b8665b7fbb Added another @action decorator 2018-07-06 02:41:43 +02:00
Fabio Manganiello c0b1b70e4e Added call to parent constructor in the remaining plugins 2018-07-06 02:37:47 +02:00
Fabio Manganiello eb229a6fbe Added call to parent constructor in media.ctrl 2018-07-06 02:37:47 +02:00
Fabio Manganiello d0e7b96ed4 Fixed missed self on some of the new constructors 2018-07-06 02:34:12 +02:00
Fabio Manganiello a4c7b06e4c Forgot an @action annotation 2018-07-06 02:27:44 +02:00
Fabio Manganiello b5fb6ecf93 Added call to parent constructor in lastfm plugin 2018-07-06 02:21:38 +02:00
Fabio Manganiello 66d78c8615 [#61] Plugins actions refactoring
- Using `@action` annotation to indicate methods that are allowed to be
executed as actions

- The output and errors of an action are automatically wrapped into a
`Response` object without any response build required on the plugin side
2018-07-06 02:08:38 +02:00
Fabio Manganiello 81a81312e3 Basic support for token authentication on request level 2018-07-05 09:15:53 +02:00
Fabio Manganiello 3872276234 Better way to handle plugins->backends communication through Redis 2018-06-29 10:21:19 +02:00
Fabio Manganiello f3bdeaf418 Fixed Spotify URIs conversion 2018-06-27 08:56:25 +02:00
Fabio Manganiello b55c070e46 Fixed missed dependencies for RTD build 2018-06-26 23:19:35 +02:00
Fabio Manganiello 4163a414bf Caching switch.tplink devices and supporting lookup by alias 2018-06-26 22:59:33 +02:00
Fabio Manganiello 65f9610cce Added switch.tplink web widget 2018-06-26 22:14:11 +02:00
Fabio Manganiello 0f3895ad41 Added plugin to control a TP-Link HS100 and similar smart plugs/switches 2018-06-26 19:10:53 +02:00
Fabio Manganiello 7398107570 Completed documentation for backends 2018-06-26 00:36:01 +02:00
Fabio Manganiello b876f17f81 Completed documentation for plugins 2018-06-25 19:57:43 +02:00
Fabio Manganiello ad1c87b2be Adding more plugins documentation 2018-06-25 00:49:45 +02:00
Fabio Manganiello 54dcb2cba3 Documentation v0.1 2018-06-23 01:00:43 +02:00
Fabio Manganiello e70eb8bb42 typos 2018-06-19 20:32:19 +02:00
Fabio Manganiello 98c88ff8e5 Made serial.plugin more robust. It can now read a JSON even if it's not all on one line and if it comes with some bogus bytes at the beginning or the end 2018-06-19 20:05:24 +02:00
Fabio Manganiello 5f50b5c4f4 Support for color animations via web interface too 2018-06-19 00:37:33 +02:00
Fabio Manganiello dde0b579b2 typo 2018-06-16 04:54:27 +02:00
Fabio Manganiello 9fd86977c7 Don't pass stuff to set_light and set_group that we don't have to 2018-06-16 04:48:09 +02:00
Fabio Manganiello 31a2aa67e2 Always stop any running animation before resetting the lights to a static configuration 2018-06-16 04:20:13 +02:00
Fabio Manganiello 803aa68f11 Support for animation (so far color transition and blink) on Philips Hue plugin 2018-06-16 04:10:59 +02:00
Fabio Manganiello 2d6994c057 send_message over Redis for OMXPlayer plugin 2018-06-14 21:13:01 +02:00
Fabio Manganiello bd18d1cbc1 Using Redis backend as a fallback for send_message if a backend does not implement its own send_message 2018-06-14 20:42:57 +02:00
Fabio Manganiello d9b51c94c0 Added Pushbullet plugin to send pushes and files 2018-06-14 15:35:19 +00:00
Fabio Manganiello 81d29928b0 Pi Camera backend version 1.0, now properly controllable 2018-06-14 12:37:14 +02:00
Fabio Manganiello 2b73f71803 Improved logging traces names for backends and plugins 2018-06-14 02:19:55 +02:00