Fabio Manganiello
cda64865f3
Set the correct mimetype on the /execute endpoint
2018-11-09 23:43:47 +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
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
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
6bc976cf89
Fixed SSL support in websocket implementation
2018-11-01 17:28:54 +00: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
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
4c2302a534
Removed title from logging trace in RSS backend
2018-10-23 00:23:47 +02: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
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
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
74d23262b7
Implemented TCP backend
2018-10-11 14:02:29 +00:00
Fabio Manganiello
f79de2e708
Reverted bus post logic for HTTP backend
2018-09-25 00:31:51 +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
badb739a8c
Increased response queue read timeout to 60 seconds
2018-09-20 13:13:36 +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
98d24b061a
Added joystick backend
2018-09-18 18:58:23 +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
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
98a8874084
Added accelerometer sensor backend
2018-09-06 02:31:01 +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
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
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
822e0a1e25
Better fix for broken async variables and attributes after Python 3.7 migration
2018-08-07 22:00:11 +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
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
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
61e211ee07
Added Kafka plugin
2018-07-28 01:55:19 +02:00
Fabio Manganiello
1ec0bd40d9
Updated docstrings
2018-07-23 02:11:16 +02:00
Fabio Manganiello
0b4cfec8e7
More robust HTTP backend in case Redis wasn't configured
2018-07-20 11:13:49 +02:00
Fabio Manganiello
5bc7319933
Optimized serial plugin
2018-07-17 23:47:13 +02:00
Fabio Manganiello
b9c77b15f8
Fixed docstring
2018-07-16 22:12:02 +02:00
Fabio Manganiello
42fa8360f3
Only propagate the values above/below threshold in case of a sensor threshold crossing, excluding the sensors that haven't crossed the threshold
2018-07-15 17:28:17 +02:00
Fabio Manganiello
c81534875a
Get Redis object on each interaction in case the backend wasn't ready before
2018-07-08 22:12:30 +02:00
Fabio Manganiello
e1ead3c25f
s/_token/token/
2018-07-08 22:00:28 +02:00
Fabio Manganiello
2647bd3881
Implemented token verification over HTTP calls.
...
The token can be provided either:
* GET parameter (``?token=abc``)
* JSON payload request (``{..your_request.., "_token":"abc"})
* HTTP header (``X-Token: abc``)
* Basic HTTP auth (any username works, password: token)
2018-07-08 21:36:58 +02:00
Fabio Manganiello
4ebdda80f9
More robust support for Redis configuration in web socket server
2018-07-08 12:24:33 +02:00
Fabio Manganiello
b443df7947
Parametrized the HTTP backend Redis object by using the same configuration used on the Redis backend
2018-07-08 12:13:43 +02:00
Fabio Manganiello
88d9f9d3ac
Stability fixes
2018-07-06 03:38:14 +02:00
Fabio Manganiello
81a81312e3
Basic support for token authentication on request level
2018-07-05 09:15:53 +02:00
Fabio Manganiello
7ad0724f0e
while True loop for recording
2018-07-01 19:35:23 +02:00
Fabio Manganiello
6ba71b52e7
Improved camera.pi logic
2018-06-29 11:25:18 +02:00
Fabio Manganiello
57baa0c64a
Try to decode the message event if it's not a Platypush message
2018-06-29 11:09:28 +02:00
Fabio Manganiello
3872276234
Better way to handle plugins->backends communication through Redis
2018-06-29 10:21:19 +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
94ffaf2099
Commented out optional requirements that break RTD build
2018-06-26 01:06:23 +02:00
Fabio Manganiello
e6fdcaa068
Make sure that the Redis thread gets the stop event propagated when the application terminates
2018-06-26 00:57:26 +02:00
Fabio Manganiello
8e16f31603
fixed regex
2018-06-26 00:46:13 +02:00
Fabio Manganiello
7398107570
Completed documentation for backends
2018-06-26 00:36:01 +02:00
Fabio Manganiello
8a0ca64e4d
Merge branch 'master' into docs
2018-06-26 00:17:28 +02:00
Fabio Manganiello
28862d743d
Adding backends documentation
2018-06-26 00:16:39 +02:00
Fabio Manganiello
0939cdedf8
Added utility to scan for messages on the ZeroBorg infrared sensor
2018-06-26 00:16:04 +02:00
Fabio Manganiello
cb30a0418f
Don't play icon animation to prevent the browser on a tiny RPi to freeze
2018-06-25 20:09:45 +02:00
Fabio Manganiello
49333d892e
Remove and then re-add the skycons icon to make sure that the refresh happens
2018-06-24 14:35:36 +02:00
Fabio Manganiello
fd792cb089
Added support for weather icons on the dashboard
2018-06-23 01:34:46 +02:00
Fabio Manganiello
a4273f5619
Older versions of the assistant SDK don't have the ON_RENDER_RESPONSE event - check if they have it defined before testing the event type
2018-06-21 01:29:04 +02:00
Fabio Manganiello
8708d53236
Show assistant response text on web clients
2018-06-21 00:22:26 +02:00
Fabio Manganiello
f73adc83bc
- Support for assistant response text as a ResponseEvent
...
- Don't trigger a ConversationEndEvent if the assistant needs to follow up on the previous interaction
2018-06-20 19:21:32 +02:00
Fabio Manganiello
5f50b5c4f4
Support for color animations via web interface too
2018-06-19 00:37:33 +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
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
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