29a5cfa9c2Refactored camera.pi backend. Support for start/stop recording control via plugin action. Introduced support for taking pictures too
Fabio Manganiello
2018-06-14 00:34:30 +0200
f9c0d83f79Made 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"}}
Fabio Manganiello
2018-06-13 23:20:21 +0200
9113ac0530variable.set now returns output in the form name:value so the newly set variable is already available in the context of the task
Fabio Manganiello
2018-06-13 22:19:17 +0200
7fd375da66Added plugin for handling general-purpose session variables across tasks.
Fabio Manganiello
2018-06-13 22:09:28 +0200
2e08be2886Clean up the iframe src on timeout expire
Fabio Manganiello
2018-06-13 20:44:24 +0200
5a1e77c174Added iframe modal on dashboard with support for dynamic events to temporarily/permanently display a custom web page on the connected browsers
Fabio Manganiello
2018-06-13 20:40:45 +0200
d89b03a697Optional 'zoom' parameter added to the map page to override Google Maps auto-zoom (needed if the page is embedded in an iframe)
Fabio Manganiello
2018-06-13 18:10:55 +0000
ab02d7e79cCalendar events can also be all day - in such a case parse the 'date' field instead of 'dateTime'
Fabio Manganiello
2018-06-13 00:54:59 +0200
64ee7e3e59Fixed the way the FE widget parses the sensor changes after the structural change to SensorDataChangeEvent
Fabio Manganiello
2018-06-12 20:30:19 +0200
f137595ba0Removed the serial backend, as it's now being replaced by the more specific (and reusable) sensor.serial backend
Fabio Manganiello
2018-06-12 00:01:18 +0200
0e3873eaf3Removed 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
Fabio Manganiello
2018-06-12 00:00:15 +0200
f67b737a54Best effort in context expansion
Fabio Manganiello
2018-06-07 09:33:26 +0200
bb21595678Called parent constructor in ZeroBorg plugin to make sure that the logger instance is initialized
Fabio Manganiello
2018-06-07 09:31:12 +0200
c867a21104If 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
Fabio Manganiello
2018-06-06 18:50:09 +0200
850a4f2146A less convoluted and robust way to expand the context as variables
Fabio Manganiello
2018-06-06 17:14:44 +0200
9984b75895Added midi backend to support events from MIDI sources
Fabio Manganiello
2018-06-06 02:26:24 +0200
8534a738d2Refresh calendar each 15 minutes
Fabio Manganiello
2018-06-04 01:01:27 +0000
4c1cb9ae6bAdded mkv to the supported media extensions
Fabio Manganiello
2018-06-02 21:56:46 +0200
bc3e100217New general-purpose plugin for managing multiple calendar + support for ICal format
Fabio Manganiello
2018-05-30 15:59:07 +0200
27b97e584fAdded support for MIDI real-time events
Fabio Manganiello
2018-05-23 19:49:54 +0200
306faff4afDefault tolerance for hand palm motion on Leap should be zero
Fabio Manganiello
2018-05-23 19:48:59 +0200
57722fce2aAdded support for Leap Motion device events
Fabio Manganiello
2018-05-23 17:07:06 +0200
a8015addbfOnly take the first component of formatted_address
Fabio Manganiello
2018-05-23 08:06:52 +0000
3ce6cf8b41Just use formatted_address from the Google geocode response instead of considering all the cases of address formatting
Fabio Manganiello
2018-05-22 21:43:21 +0000
f4da6ebb1bRedis plugin added and Redis backend made more robust to work also with single-quoted JSON-like strings returned by the Redis lib
Fabio Manganiello
2018-05-22 14:44:17 +0000
18efdb1c70Make sure the summary is always there
Fabio Manganiello
2018-05-21 09:47:50 +0200
0accbfa66eLogging traces on RSS parse
Fabio Manganiello
2018-05-21 09:27:13 +0200
0878e5a3d1Time to give Platypush a version bump
Fabio Manganiello
2018-05-13 14:32:25 +0200
d0ca6b8e93Replaced 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
Fabio Manganiello
2018-05-13 14:29:27 +0200
01c5bbadcdType should actually always be there
Fabio Manganiello
2018-05-13 11:49:42 +0200
5e3b41c3adMade the Pushbullet backend more resilient in case of rogue messages with no type specified
Fabio Manganiello
2018-05-13 11:39:55 +0200
d75326bbe8Added Switchbot web plugin
Fabio Manganiello
2018-05-08 17:07:01 +0200
b94764436dAdded WeMo switch plugin for web panel
Fabio Manganiello
2018-05-08 09:59:43 +0200
36c9437172Added method to get WeMo available devices
Fabio Manganiello
2018-05-08 09:14:02 +0200
bd761d420eRSS digests are now optional
Fabio Manganiello
2018-05-07 19:44:34 +0200
a3b83e8c57Fixed sensors position
Fabio Manganiello
2018-05-07 19:21:58 +0200
44596a6cfbImproved style for temp/humidity sensors on the widget
Fabio Manganiello
2018-05-07 19:16:25 +0200
20a9224ab5Included support for temperature/humidity display on weather widget from sensor events
Fabio Manganiello
2018-05-07 18:55:50 +0200
e4269a8d5dSkip RSS items if published_parsed is not defined
Fabio Manganiello
2018-05-07 18:33:44 +0200
f322f71447- News widget max items is now configurable - Update the news list whenever the loop over the current list is done
Fabio Manganiello
2018-05-07 18:16:30 +0200
2483c6d612Simplified websockets keep-alive logic. Just wait on recv() and clean up the websocket in case of a ConnectionClosed exception
Fabio Manganiello
2018-05-06 11:38:24 +0200
177a359e4aOnly do article fade-in without fade-out+fade-in dance
Fabio Manganiello
2018-05-06 00:42:42 +0200