Commit graph

427 commits

Author SHA1 Message Date
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
b7181085f3 Cover both the cases where the Redis backend is not configured and where it's None 2018-06-14 20:44:06 +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
061b676fbc If the string assignment didn't work either, give up without failing (also in Request) 2018-06-14 19:12:16 +02:00
Fabio Manganiello
4d48506cb2 If the string assignment didn't work either, give up without failing 2018-06-14 19:07:33 +02:00
Fabio Manganiello
37f952fc41 Be a bit more robust with string assignment in procedure context 2018-06-14 19:02:01 +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
Fabio Manganiello
793b4df12d Pi Camera backend version 0.something 2018-06-14 02:14:08 +02:00
Fabio Manganiello
85512424ae Better events orchestration on camera.pi backend 2018-06-14 00:44:50 +02:00
Fabio Manganiello
bb43facee5 typo #2 2018-06-14 00:37:38 +02:00
Fabio Manganiello
e9fc35b39d typo 2018-06-14 00:36:07 +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
2e08be2886 Clean up the iframe src on timeout expire 2018-06-13 20:44:24 +02:00
Fabio Manganiello
5a1e77c174 Added iframe modal on dashboard with support for dynamic events to temporarily/permanently display a custom web page on the connected browsers 2018-06-13 20:40:49 +02:00
Fabio Manganiello
d89b03a697 Optional 'zoom' parameter added to the map page to override Google Maps auto-zoom (needed if the page is embedded in an iframe) 2018-06-13 18:10:58 +00: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
e0ff431894 (Forgot to fix humidity sensor reads) 2018-06-12 20:31:58 +02:00
Fabio Manganiello
64ee7e3e59 Fixed the way the FE widget parses the sensor changes after the structural change to SensorDataChangeEvent 2018-06-12 20:30:23 +02:00
Fabio Manganiello
e216eb4792 Added maps page 2018-06-12 15:33:04 +00: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
b329580ff0 json decode msg 2018-06-12 09:28:15 +02:00
Fabio Manganiello
8c208c0028 Use the Redis backend to dispatch messages to the core bus if available 2018-06-12 09:20:22 +02:00
Fabio Manganiello
7ab85b4cfa Symlinked serial sensor web interface to MCP3008 sensor template 2018-06-12 01:03:29 +02:00
Fabio Manganiello
bdf862e6d2 get_data alias for get_measuremnt 2018-06-12 00:46:51 +02:00
Fabio Manganiello
77d954f14e Simplified MCP3008 sensor backend by letting it extend SensorBackend 2018-06-12 00:36:43 +02:00
Fabio Manganiello
c410bd8926 s/sensors/data/g 2018-06-12 00:23:47 +02:00
Fabio Manganiello
f137595ba0 Removed the serial backend, as it's now being replaced by the more specific (and reusable) sensor.serial backend 2018-06-12 00:01:18 +02:00
Fabio Manganiello
0e3873eaf3 Removed light sensor backend. As most of them are analog sensors, they can't communicate directly with the Raspberry - instead a plugin like serial (e.g. Arduino) or MCP3008 should act as a proxy 2018-06-12 00:00:15 +02:00
Fabio Manganiello
33a507f047 Simplified SensorBackend implementations 2018-06-11 23:49:37 +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
933940c695 Attribute name fix 2018-06-11 22:12:25 +02:00
Fabio Manganiello
0905981c58 Refactoring sensor backend and added SensorSerialBackend 2018-06-11 21:07:54 +02:00
Fabio Manganiello
40293a3d30 calendar-next-event-container width 50% -> 70% 2018-06-10 17:20:05 +02:00
Fabio Manganiello
c6054f4ac9 Typos 2018-06-08 17:17:12 +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
6247488450 Fixed other logging issues 2018-06-08 17:10:11 +02:00
Fabio Manganiello
d7bc17778e Forgot import logging 2018-06-08 16:55:06 +02:00
Fabio Manganiello
2bb6ed6867 Declared logger attribute in HttpRequest as it won't be available to the subclasses otherwise 2018-06-08 16:54:15 +02:00
Fabio Manganiello
f0bb2a20b0 Typo 2018-06-08 16:41:31 +02:00
Fabio Manganiello
0756da3861 Fixed logger references 2018-06-08 16:37:59 +02:00
Fabio Manganiello
f67b737a54 Best effort in context expansion 2018-06-07 09:33:26 +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
9a43b6cf51 Fixed logger references 2018-06-07 09:08:32 +02:00
Fabio Manganiello
4da74b1096 Refactored logging submodule 2018-06-06 20:09:23 +02:00
Fabio Manganiello
c867a21104 If the value is a platypush Message, then converting it into a string would result in a JSON dumps that might break the interpreter (e.g. 'null' is a valid JSON keyword but it's not recognized by Python). Therefore first parse the variable from JSON 2018-06-06 18:50:09 +02:00
Fabio Manganiello
850a4f2146 A less convoluted and robust way to expand the context as variables 2018-06-06 17:14:44 +02:00
Fabio Manganiello
9984b75895 Added midi backend to support events from MIDI sources 2018-06-06 02:26:28 +02:00
Fabio Manganiello
8534a738d2 Refresh calendar each 15 minutes 2018-06-04 01:01:27 +00: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
cb0a9f5c63 Fixed logging level setting in pusher 2018-05-29 16:43:16 +00:00
Fabio Manganiello
3fe70dd184 Implemented MQTT backend and plugin, see issue #56 2018-05-27 12:21:41 +02:00
Fabio Manganiello
c73905d35d More robust handling of card removed events 2018-05-27 11:47:57 +02:00
Fabio Manganiello
b04a355cc0 Pass also ATR and reader to SmartCardRemovedEvent 2018-05-27 11:25:29 +02:00
Fabio Manganiello
9801fe26fc Generating SmartCardRemoveEvent as well when a scard is removed 2018-05-27 11:21:47 +02:00
Fabio Manganiello
8a6dcdbf5f Generating SmartCardRemoveEvent as well when a scard is removed 2018-05-27 11:11:05 +02:00
Fabio Manganiello
755eb83093 Added support for smart card events 2018-05-27 10:47:58 +02:00
Fabio Manganiello
c1caa182be Handling assistant no_response events 2018-05-25 18:26:02 +02:00
Fabio Manganiello
4f75b765b1 Added assistant conversation timeout event 2018-05-25 18:18:16 +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
306faff4af Default tolerance for hand palm motion on Leap should be zero 2018-05-23 19:48:59 +02:00
Fabio Manganiello
57722fce2a Added support for Leap Motion device events 2018-05-23 17:07:15 +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
18efdb1c70 Make sure the summary is always there 2018-05-21 09:47:50 +02:00
Fabio Manganiello
0accbfa66e Logging traces on RSS parse 2018-05-21 09:27:13 +02:00
Fabio Manganiello
4643c10e11 Added Redis backend, issue #55 2018-05-14 20:09:25 +02: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
0878e5a3d1 Time to give Platypush a version bump 2018-05-13 14:32:25 +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
01c5bbadcd Type should actually always be there 2018-05-13 11:49:42 +02:00
Fabio Manganiello
5e3b41c3ad Made the Pushbullet backend more resilient in case of rogue messages with no type specified 2018-05-13 11:39:59 +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
bd761d420e RSS digests are now optional 2018-05-07 19:44:34 +02:00
Fabio Manganiello
a3b83e8c57 Fixed sensors position 2018-05-07 19:21:58 +02:00
Fabio Manganiello
44596a6cfb Improved style for temp/humidity sensors on the widget 2018-05-07 19:16:25 +02:00
Fabio Manganiello
20a9224ab5 Included support for temperature/humidity display on weather widget from sensor events 2018-05-07 18:55:50 +02:00
Fabio Manganiello
e4269a8d5d Skip RSS items if published_parsed is not defined 2018-05-07 18:33:44 +02:00
Fabio Manganiello
f322f71447 - News widget max items is now configurable
- Update the news list whenever the loop over the current list is done
2018-05-07 18:16:30 +02:00
Fabio Manganiello
1b1016fba2 Added background blurred image if width < height 2018-05-07 17:18:01 +02:00
Fabio Manganiello
37c6e25ac3 Finally got a proper scaling for carousel widget pictures 2018-05-07 14:50:08 +02:00
Fabio Manganiello
e671a1294c Reset min-width when cloning the element 2018-05-07 09:57:35 +02:00
Fabio Manganiello
19268f66a8 border-radius fix 2018-05-07 09:56:31 +02:00
Fabio Manganiello
af11358a76 Image carousel widget improvements 2018-05-07 09:54:30 +02:00
Fabio Manganiello
2483c6d612 Simplified websockets keep-alive logic. Just wait on recv() and clean up the websocket in case of a ConnectionClosed exception 2018-05-06 11:38:24 +02:00
Fabio Manganiello
177a359e4a Only do article fade-in without fade-out+fade-in dance 2018-05-06 00:42:46 +02:00