Commit Graph

814 Commits

Author SHA1 Message Date
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 a1f640ce0a Added support for config include files to Docker images too 2018-12-20 01:04:28 +01:00
Fabio Manganiello 725b3dd672 Included reference to the included files in Config 2018-12-19 23:39:41 +01:00
Fabio Manganiello eec20ee109 Missed cast to str upon pidfile write 2018-12-19 21:24:39 +01:00
Fabio Manganiello fb75dc323e Added pidfile option to the main 2018-12-19 21:15:06 +01:00
Fabio Manganiello 44d24b42d1 Force python3 on the Dockerfile CMD 2018-12-18 22:31:24 +01:00
Fabio Manganiello 186ade8f18 Refactored Pushbullet backend to remove the dependency from websocket-client and rely only on websockets 2018-12-18 19:01:51 +01:00
Fabio Manganiello 6a9ddb9e53 Made config relative paths and include files expansion more robust 2018-12-19 09:19:58 +01:00
Fabio Manganiello 949d9cd619 Fixed platydock rm command 2018-12-19 02:22:10 +01:00
Fabio Manganiello 01f020c203 Version bump 0.9.2 -> 0.9.3 2018-12-19 02:08:57 +01:00
Fabio Manganiello 73d7441d26 Added platydock, a helper to manage Platypush instances as Docker containers 2018-12-19 02:08:13 +01:00
Fabio Manganiello a226aad669 Added python-dateutil requirement 2018-12-19 00:09:21 +01:00
Fabio Manganiello f9b23afbb6 Fixed typo on main.db 2018-12-18 22:20:33 +01:00
Fabio Manganiello 56b48a81b7 Reverted the new config file path expansion logic as it breaks include directives 2018-12-18 22:16:15 +01:00
Fabio Manganiello 12557702dd - cfgfile should expand the home directory ~
- Don't fail hard if failed to create logs directory
2018-12-18 18:46:07 +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 8fe4d77e3d Made requests parsing more robust against messages with target not set (e.g. messages received over HTTP API) 2018-12-18 14:59:10 +01:00
Fabio Manganiello 13463420d9 Made Redis bus/local bus choice more flexible 2018-12-18 12:21:55 +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 eb439d227a Wrapped HTTP requests loop in a try-except block to prevent it from breaking in case of temporary failures 2018-12-05 15:55:19 +00:00
Fabio Manganiello 791c36f5df More tolerance on json.loads() in case the parsed value from the request context is not a string 2018-12-03 23:04:23 +01:00
Fabio Manganiello 4a148971b4 Allow non-string values to be passed through a request context as well 2018-12-03 22:52:25 +01:00
Fabio Manganiello 9421602e81 Removed duplicate log trace 2018-12-02 23:47:49 +01:00
Fabio Manganiello 7cd1efe2c6 Option to pair a specific device to the Wiimote backend 2018-12-02 23:44:17 +01:00
Fabio Manganiello f6dcd00848 Version bump 0.9.1 -> 0.9.2 2018-12-01 19:44:41 +01:00
Fabio Manganiello f677c79f54 Made inactivity timeout on Wiimote configurable 2018-12-01 19:38:43 +01:00
Fabio Manganiello 199e9fdba1 Better management of inactivity timeout on Wiimote 2018-12-01 19:22:10 +01:00
Fabio Manganiello 66b6f0bc8b Added Wiimote support docs; Added Wiimote connection/disconnection events 2018-12-01 18:55:13 +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 abbd8409ca Run event hook actions in another thread 2018-11-28 01:01:16 +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 68dcdf8ccd Enforced cast to string for any object posted to the Redis bus 2018-11-20 14:14:59 +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 9a88f85cda Expanded config example 2018-11-11 12:17:14 +01:00
Fabio Manganiello 2d8078b8bb Don't propagate the message from MQTT nor wait for a response if the message is null or its handler threw an exception 2018-11-10 01:16:32 +01:00
Fabio Manganiello cda64865f3 Set the correct mimetype on the /execute endpoint 2018-11-09 23:43:47 +01:00
Fabio Manganiello fc3f53f32b Retry logic for getting mpd status 2018-11-07 18:04:37 +01:00
Fabio Manganiello 26ec213098 Make sure that the shitty MQTT backend doesn't break for no reason 2018-11-06 11:40:01 +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 c05fc9ee3f Added logic to propagate events to the websockets backend 2018-11-02 10:14:06 +00:00
Fabio Manganiello cd3aea5cd6 typo 2018-11-02 00:07:42 +01:00
Fabio Manganiello f1e1ee92d3 bool compatibility fix 2018-11-02 00:06:39 +01:00
Fabio Manganiello 51440d43fd Propagate SSL flag to the templates 2018-11-02 00:04:49 +01:00
Fabio Manganiello e571d8ea41 Typo 2018-11-02 00:03:10 +01:00
Fabio Manganiello a77a9c04b7 Missed SSL flag 2018-11-02 00:02:11 +01:00
Fabio Manganiello 3eed774d50 Added SSL to websockets js code as well 2018-11-02 00:00:10 +01:00
Fabio Manganiello 727b604bb4 Added SSL to HTTP backend websockets as well 2018-11-01 23:57:50 +01:00
Fabio Manganiello a253e5f49e Removed old line of code 2018-11-01 23:48:25 +01:00
Fabio Manganiello 667d5e8a45 HTTPS support on the web server 2018-11-01 23:43:02 +01: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 b365e7d126 Keep-alive logic implemented for websocket backend 2018-10-27 01:09:09 +02:00
Fabio Manganiello 92a3759721 Added websocket backend and plugin 2018-10-26 21:55:49 +02:00
Fabio Manganiello 8635ed8268 Added support for MQTT backend to process responses on a topic named platypush_bus_mq/<device>/responses/<msg_id> 2018-10-26 13:33:23 +00: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 964c7b5cf0 Making sure that Redis constructor only initializes the attributes without creating the object and performing a connection 2018-10-25 20:06:29 +02:00
Fabio Manganiello 6ce348365f Refactored backends to be more robust by wrapping the core logic into a try-except logic with sleep and retry 2018-10-25 19:46:13 +02:00
Fabio Manganiello 0a7722d858 Wrap self.on_message in a try/except block 2018-10-23 14:20:29 +00:00
Fabio Manganiello 4c2302a534 Removed title from logging trace in RSS backend 2018-10-23 00:23:47 +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 fec684210c Wrapped MPD plugin reload logic to prevent the backend from crashing if the second initialization fails as well 2018-10-21 14:50:58 +02:00
Fabio Manganiello ae7cd120d2 Wrapped the RSS parsing loop in a try-except block to prevent the backend from continuously crashing if there are encoding issues on the RSS titles 2018-10-21 14:47:52 +02: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 7490529ca2 Reverted bugged title decode 2018-10-20 14:49:21 +02:00
Fabio Manganiello 2fd7ba003b Decoding title from RSS feeds 2018-10-19 23:48:04 +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 2eccd41420 Message skip message logged in debug mode to prevent log pollution 2018-10-16 10:26:15 +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 475f6d3f6f Version bump 0.9 -> 0.9.1 2018-10-15 22:12:30 +02:00
Fabio Manganiello af00ac6c68 Fixed attribute name 2018-10-14 17:36:06 +02:00
Fabio Manganiello a4e2db184d Added tts.google web plugin 2018-10-14 17:17:19 +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 74d23262b7 Implemented TCP backend 2018-10-11 14:02:29 +00:00
Fabio Manganiello 15b65c4896 Added utils plugin 2018-10-10 01:00:30 +02:00
Fabio Manganiello 68aaf9cd61 Message timestamp refactored 2018-10-08 13:30:00 +00:00
Fabio Manganiello 948f3dc37d Implemented timestamp mark on messages to trigger message expiration logic in case something stays on the bus for longer than a minute 2018-10-08 10:35:59 +00: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 0b053bb46d Expanding procedure arguments from context 2018-10-05 09:38:38 +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 d419419487 Fix for if statements 2018-09-27 02:20:25 +02:00
Fabio Manganiello 570ef6f109 Replaced EventAction with Procedure to allow more flexibility in event hooks and cronjobs 2018-09-27 01:52:35 +02:00
Fabio Manganiello 38fdb8be08 Implemented support for else statements in if(s) 2018-09-27 01:09:00 +02:00
Fabio Manganiello 7ec6221a7f Implemented nested if(s), solves #53 2018-09-26 22:31:27 +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 13c1895295 Support for runtime arguments on procedures 2018-09-25 19:20:34 +02:00
Fabio Manganiello 38f61298f8 Support for bulk mpd add 2018-09-25 09:42:46 +02:00
Fabio Manganiello f79de2e708 Reverted bus post logic for HTTP backend 2018-09-25 00:31:51 +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 65ec2458d8 MQTT backend should call on_message instead of posting directly to the bus 2018-09-24 23:21:02 +02:00
Fabio Manganiello d215410a6a More consistent flow for messages received by a backend 2018-09-24 23:13:44 +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 a4f075a4c1 Added support for ApplicationStartedEvent and ApplicationStoppedEvent 2018-09-24 09:18:46 +00:00
Fabio Manganiello badb739a8c Increased response queue read timeout to 60 seconds 2018-09-20 13:13:36 +00:00
Fabio Manganiello 44962dd919 Removed timeout from get_plugin lock; Added Redis server to tests configuration 2018-09-20 10:59:18 +00:00
Fabio Manganiello 6449504e26 Switched the bus to a Redis bus 2018-09-20 10:49:57 +00:00
Fabio Manganiello 661563d1f1 Added Redis bus 2018-09-20 09:41:27 +02:00
Fabio Manganiello 6bbae19d39 Lock timeout and reset in case a plugin takes too long to initialize or the lock is incorrectly marked as locked in multiprocess context 2018-09-18 20:25:31 +02:00
Fabio Manganiello db5d3e6e3f Prevent the plugin from being initialized again within the lock scope if another thread had it initialized in the meantime 2018-09-18 19:19:41 +02:00
Fabio Manganiello 98d24b061a Added joystick backend 2018-09-18 18:58:23 +02:00
Fabio Manganiello 1d50e91b27 Removed unneeded lock acquire 2018-09-16 23:45:25 +02:00
Fabio Manganiello 2ee54b5220 Replaced fadeIn with show to make transitions less CPU heavy on RPi 2018-09-15 18:25:58 +02: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 63890f7670 Return of get_measurement should always be a dict 2018-09-06 03:14:11 +02:00
Fabio Manganiello 5b5e861f94 Implemented distance sensors backend 2018-09-06 03:02:16 +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 53ba5f6628 Wrap camera stop and connection close in two distinct try-catch blocks 2018-09-05 15:29:14 +00: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 6e867e9fb2 Support for multiple thresholds for the same sensor 2018-08-25 12:29:20 +02:00
Fabio Manganiello 2df9c5a890 Fixed gpio css 2018-08-22 21:01:37 +02:00
Fabio Manganiello a9b4c1b8bf Fixed gpio ui 2018-08-22 20:22:34 +02:00
Fabio Manganiello 2c369cb86d Added web interface for gpio plugin 2018-08-22 19:50:30 +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 a6339de159 Assigning plugins[plugin_name] inside of the synchronized block 2018-08-22 02:32:53 +02:00
Fabio Manganiello 4c6b38a6e2 Double lock check to make get_plugin thread-safe 2018-08-22 02:11:51 +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 09d7d98ae3 Retry logic for Mercury API 2018-08-19 21:52:01 +00:00
Fabio Manganiello d2bd49b364 Sync changes on playback volume or state with events and web UI 2018-08-18 01:11:14 +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 822e0a1e25 Better fix for broken async variables and attributes after Python 3.7 migration 2018-08-07 22:00:11 +00:00
Fabio Manganiello ee5e4dff92 Revert "In Python 3.7 async is a strict language keyword that can't be used for variables names - replaces occurrences with _async"
This reverts commit f0577733b6.
2018-08-07 21:52:07 +00:00
Fabio Manganiello b023618950 Revert "In Python 3.7 async is a strict language keyword that can't be used for variables names - replaces occurrences with _async"
This reverts commit e625861edf.
2018-08-07 21:52:02 +00:00
Fabio Manganiello f0577733b6 In Python 3.7 async is a strict language keyword that can't be used for variables names - replaces occurrences with _async 2018-08-07 21:28:06 +00:00
Fabio Manganiello e625861edf In Python 3.7 async is a strict language keyword that can't be used for variables names - replaces occurrences with _async 2018-08-07 21:26:57 +00:00
Fabio Manganiello bbdf11b9ce Added shuffle method to music.mpd 2018-08-06 22:44:02 +02:00
Fabio Manganiello ec38ecbaf3 More pylint fixes 2018-07-30 23:18:01 +02:00
Fabio Manganiello 81803a364d Fixed some pylint warnings 2018-07-30 22:08:06 +02:00
Fabio Manganiello a0ac30e9b6 Version bump 0.8 -> 0.9 2018-07-29 14:35:52 +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