Commit graph

138 commits

Author SHA1 Message Date
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
Fabio Manganiello
29a5cfa9c2 Refactored camera.pi backend. Support for start/stop recording control via plugin action. Introduced support for taking pictures too 2018-06-14 00:34:30 +02:00
Fabio Manganiello
f9c0d83f79 Made variable.set less verbose and more flexible. Replace the syntax like {"action":"variable.set", "args": {"name":"foo", "value":"bar"}} with a more compact {"action":"variable.set", "args":{"foo":"bar"}} 2018-06-13 23:20:21 +02:00
Fabio Manganiello
9113ac0530 variable.set now returns output in the form name:value so the newly set variable is already available in the context of the task 2018-06-13 22:19:17 +02:00
Fabio Manganiello
7fd375da66 Added plugin for handling general-purpose session variables across tasks.
Supported methods: variable.get, variable.set, variable.unset
2018-06-13 22:09:28 +02:00
Fabio Manganiello
ab02d7e79c Calendar events can also be all day - in such a case parse the 'date' field instead of 'dateTime' 2018-06-13 00:54:59 +02:00
Fabio Manganiello
464ff1ff57 A more robust way to handle JSON serialization/deserialization on MQTT backend 2018-06-12 10:33:30 +02:00
Fabio Manganiello
bdf862e6d2 get_data alias for get_measuremnt 2018-06-12 00:46:51 +02:00
Fabio Manganiello
f8506d6d25 Added comment to explain the reasons for sudo in the switchbot plugin 2018-06-11 22:41:23 +02:00
Fabio Manganiello
1bc4c47df7 Imported ZeroBorg library with scope constructor as global import fails for some reason 2018-06-08 17:10:49 +02:00
Fabio Manganiello
bb21595678 Called parent constructor in ZeroBorg plugin to make sure that the logger instance is initialized 2018-06-07 09:31:12 +02:00
Fabio Manganiello
4da74b1096 Refactored logging submodule 2018-06-06 20:09:23 +02:00
Fabio Manganiello
4c1cb9ae6b Added mkv to the supported media extensions 2018-06-02 21:56:46 +02:00
Fabio Manganiello
bc3e100217 New general-purpose plugin for managing multiple calendar + support for ICal format 2018-05-30 15:59:10 +02:00
Fabio Manganiello
3fe70dd184 Implemented MQTT backend and plugin, see issue #56 2018-05-27 12:21:41 +02:00
Fabio Manganiello
96e3acb20f Added MPD play_if_paused and pause_if_playing methods 2018-05-25 18:04:37 +02:00
Fabio Manganiello
27b97e584f Added support for MIDI real-time events 2018-05-23 19:49:54 +02:00
Fabio Manganiello
a8015addbf Only take the first component of formatted_address 2018-05-23 08:06:52 +00:00
Fabio Manganiello
3ce6cf8b41 Just use formatted_address from the Google geocode response instead of considering all the cases of address formatting 2018-05-22 21:43:21 +00:00
Fabio Manganiello
2c7880874d Logging geocode response 2018-05-22 21:34:06 +00:00
Fabio Manganiello
f4da6ebb1b Redis plugin added and Redis backend made more robust to work also with single-quoted JSON-like strings returned by the Redis lib 2018-05-22 14:44:17 +00:00
Fabio Manganiello
9923742e74 Prevent plugins from breaking in case of concatenations with None elements 2018-05-14 19:06:11 +02:00
Fabio Manganiello
21ac8d7899 Build the address as street + street_number if they are both available 2018-05-13 20:15:25 +00:00
Fabio Manganiello
6c0dc9a4dc Added GMaps geocode plugin and geo update event 2018-05-13 21:42:26 +02:00
Fabio Manganiello
d0ca6b8e93 Replaced the YouTube search results parsing logic that relied on BeautifulSoup with a simpler logic that only uses regexes to parse video results. It greatly improves the performance of YouTube video search and removes the dependency on BeautifulSoul and lxml 2018-05-13 14:29:31 +02:00
Fabio Manganiello
d75326bbe8 Added Switchbot web plugin 2018-05-08 17:07:01 +02:00
Fabio Manganiello
598c917eda Added Switchbot plugin 2018-05-08 15:51:47 +02:00
Fabio Manganiello
b94764436d Added WeMo switch plugin for web panel 2018-05-08 09:59:43 +02:00
Fabio Manganiello
36c9437172 Added method to get WeMo available devices 2018-05-08 09:14:02 +02:00
Fabio Manganiello
27d5f674c5 Added __init__.py 2018-05-06 00:17:18 +02:00
Fabio Manganiello
e1e4d824ad - Added web widget for Google Calendar integration
- UX improvements on the dashboard
2018-05-05 00:57:41 +02:00
Fabio Manganiello
f6306c6015 Added Google Calendar plugin 2018-05-04 19:20:23 +02:00
Fabio Manganiello
2f8c74c8e3 - Added Pushbullet JS logic to show mirror notifications on web FE
- Added JS and CSS files for dashboard and widgets
2018-05-04 17:25:12 +02:00
Fabio Manganiello
d83c2c903f - Added support for /dashboard page with customizable widgets under the web server
- Introduced Redis to pass messages between the Flask process and the
main application. It now syncs messages with the bus and connected websockets
- Added support to programmatically modify dashboard widgets through POST request like Dashing
- Added weather forecast plugin
2018-05-04 03:24:35 +02:00
Fabio Manganiello
ef75339fef Fixed missing output= argument 2018-04-29 16:38:05 +02:00
Fabio Manganiello
cfe78dfa23 Fixed name clash 2018-04-29 16:19:26 +02:00
Fabio Manganiello
4462f9590f Forgot an import 2018-04-29 16:18:27 +02:00
Fabio Manganiello
a907c9ad63 Refactored serial, the entry point for querying serial devices should be the serial plugin, the backend should only be a client. Also, if the serial output is a JSON, parse it 2018-04-29 16:14:46 +02:00
Fabio Manganiello
e9425236a9 Removed additional file_name parameter 2018-04-26 15:54:40 +02:00
Fabio Manganiello
7fb0a5bb55 Set download_dir only if specified 2018-04-25 12:03:15 +02:00
Fabio Manganiello
efe4f32409 Implemented torrent search, download and streaming in OMXPlayer plugin 2018-04-25 11:29:03 +02:00
Fabio Manganiello
acd06c2193 Implemented OMXPlayer file search and unified all searches under one method 2018-04-25 00:13:17 +02:00
Fabio Manganiello
77da94769e Implemented file search method in OMXPlayer plugin 2018-04-24 21:28:42 +02:00
Fabio Manganiello
e5e1270380 Exposed a global context.get_bus() method to allow plugins to send events to the main bus 2018-04-24 20:07:16 +02:00
Fabio Manganiello
9052e18f9c Commented OMXPlayer handlers initialization part as the plugin object has no access to the bus 2018-04-24 14:56:31 +02:00
Fabio Manganiello
9492243fd5 Transform a [0,100] volume range in the volume range expected by the OMXPlayer API 2018-04-24 14:54:01 +02:00
Fabio Manganiello
dd254b65cb Implemented YouTube videos search and controls web FE 2018-04-24 14:36:05 +02:00
Fabio Manganiello
c4401b25be Reload logic on media.ctrl in case the connection with the media plugin has been reset 2018-04-22 23:39:23 +02:00
Fabio Manganiello
60c9c7476e Fixed a missing parenthesis 2018-04-20 15:20:23 +02:00