Commit graph

1409 commits

Author SHA1 Message Date
Fabio Manganiello
d73df1454e Added TCP and UDP plugins - closes #106 2020-01-05 20:52:42 +01:00
Fabio Manganiello
bcd05ecf4a Added CUPS plugin - closes #93 2020-01-05 19:25:20 +01:00
Fabio Manganiello
a9fdbe7812 Fixed code-block format 2020-01-05 13:11:44 +01:00
Fabio Manganiello
084b5ba807 Stop also board iterators on close 2020-01-05 13:02:41 +01:00
Fabio Manganiello
d8a7c9c6e0 Added Arduino over Firmata integration - closes #92 2020-01-05 00:46:46 +01:00
Fabio Manganiello
cc424c6e7a Bump version: 0.11.2 → 0.11.3 2020-01-03 16:31:00 +01:00
Fabio Manganiello
8aadd5569e Added Trello backend: closes #90 2020-01-03 16:28:49 +01:00
Fabio Manganiello
1de3296c85 Support for group events and lists of authorized chat_ids 2020-01-01 23:28:21 +01:00
Fabio Manganiello
846d5ff2eb Support for underscores and minuses in Telegram command names 2020-01-01 22:33:57 +01:00
Fabio Manganiello
77ff88360b music.mpd.play should add the resource at the beginning of the
current tracklist and play it, not clear the whole tracklist.
2020-01-01 21:16:27 +01:00
Fabio Manganiello
135cfc606c Added the right handler for location events 2020-01-01 21:06:51 +01:00
Fabio Manganiello
de429a5b7d Extended Telegram integration 2020-01-01 20:59:22 +01:00
Fabio Manganiello
fd5abc748f Added missing docs 2020-01-01 17:55:19 +01:00
Fabio Manganiello
753694a865 Added Telegram integration 2020-01-01 15:40:42 +01:00
Fabio Manganiello
49a7ee643e - Added Buienradar integration
- Refactored weather plugin/backend as Darksky plugin/backend
2019-12-31 08:51:19 +01:00
Fabio Manganiello
9eed1014eb Added keyboard/mouse plugin 2019-12-30 21:39:56 +01:00
Fabio Manganiello
dc2b3689a2 Fixes 2019-12-30 19:04:13 +01:00
Fabio Manganiello
952a8f2faf Added generation for events docs 2019-12-30 18:50:01 +01:00
Fabio Manganiello
9d961a265f Generated missing docs 2019-12-30 10:16:55 +01:00
Fabio Manganiello
bc7c248f72 Added Google Pub/Sub integration 2019-12-30 09:33:26 +01:00
Fabio Manganiello
8f2eb1c4e0 Reimplemented workers as threads instead of processes 2019-12-29 23:18:58 +01:00
Fabio Manganiello
931ab9d673 Removed debug print 2019-12-29 16:55:50 +01:00
Fabio Manganiello
ba6c890a42 Refactored and improved camera plugin 2019-12-29 16:28:07 +01:00
Fabio Manganiello
663be43f06 Added ping plugin and backend 2019-12-27 23:26:39 +01:00
Fabio Manganiello
ce2b3ae849 LINT fixes 2019-12-27 19:22:48 +01:00
Fabio Manganiello
5ba18ea7d5 Added Trello integration 2019-12-27 19:18:56 +01:00
Fabio Manganiello
f0999c7375 Added is_streaming method to camera.pi 2019-12-27 17:10:36 +01:00
Fabio Manganiello
fb2ff7d1d6 Improved management of PiCamera start/stop streaming events 2019-12-27 16:56:07 +01:00
Fabio Manganiello
b880a02ef6 Fixed websocket on_error handler signature 2019-12-25 20:43:20 +01:00
Fabio Manganiello
29789461d7 Added Todoist integration 2019-12-25 20:33:26 +01:00
Fabio Manganiello
7ecb27463c Added missing '@' 2019-12-24 14:04:23 +01:00
Fabio Manganiello
ba31d4f4c9 Fixed parameter access 2019-12-24 14:00:06 +01:00
Fabio Manganiello
2edb3f0944 Added button for refreshing available cameras 2019-12-24 13:52:14 +01:00
Fabio Manganiello
ef58cc9e32 Support for username/password in camera URLs if authentication is required 2019-12-24 13:52:14 +01:00
Fabio Manganiello
5d5e8b54ae Other typing adjustments for dumb Python 3.5 compatibility 2019-12-23 21:49:16 +01:00
Fabio Manganiello
36835a1706 Fixed Python 3.5 compatibility for Zeroborg plugin 2019-12-23 21:40:30 +01:00
Fabio Manganiello
ff9e1c71a7 Prevent race condition on self._drive_thread = None 2019-12-23 18:48:01 +01:00
Fabio Manganiello
7f440a9160 s/or/and/ 2019-12-23 18:43:59 +01:00
Fabio Manganiello
d5c2ae961a Reset the mode if GPIO.getmode() returns None for any reason 2019-12-23 18:40:39 +01:00
Fabio Manganiello
9ffa04c666 Removed auto mode from Zeroborg plugin 2019-12-23 17:57:35 +01:00
Fabio Manganiello
50a7746bf0 Refactored ZeroBorg plugin 2019-12-23 00:36:53 +01:00
Fabio Manganiello
7a7acbe6b9 Support for Zeroborg events 2019-12-22 23:54:45 +01:00
Fabio Manganiello
b36a8095ab Sleep for (default: 0.1 seconds) between reads when distance sensor runs in
continuous mode to prevent excessive CPU load
2019-12-22 19:56:43 +01:00
Fabio Manganiello
17d233b55d Fixed __exit__ arguments list in GpioSensorDistance 2019-12-22 19:40:41 +01:00
Fabio Manganiello
470f4a8fc9 Added disable_web_clients_notification on Event for events
generated with high throughput that shouldn't be propagated
to the connected websockets.
2019-12-22 19:38:01 +01:00
Fabio Manganiello
d6515ed991 Added support for continuous checks on distance sensor and DistanceSensorEvent 2019-12-22 19:09:02 +01:00
Fabio Manganiello
9c4f917b53 LINT fixes 2019-12-22 18:18:41 +01:00
Fabio Manganiello
55d3f379d4 LINT fixes 2019-12-22 18:14:42 +01:00
Fabio Manganiello
a23f5446da Added GPIO web panel 2019-12-22 18:10:30 +01:00
Fabio Manganiello
d33494419a Added cleanup action on GPIO plugin 2019-12-21 23:36:09 +01:00
Fabio Manganiello
bdfe48fe32 Refactored integration between ZeroBorg and distance sensor plugin 2019-12-21 13:09:44 +01:00
Fabio Manganiello
58b0b48393 Added gpio.cleanup at the end of get_measurement in distance sensor plugin 2019-12-20 21:40:57 +01:00
Fabio Manganiello
4090570278 GpioSensorDistancePlugin should extend GpioPlugin 2019-12-20 21:24:52 +01:00
Fabio Manganiello
f0751cb37d Fixed typo 2019-12-20 18:56:00 +01:00
Fabio Manganiello
1077dbcf71 Added mode (BOARD/BCM) parameter to GPIO plugins 2019-12-20 18:27:52 +01:00
Fabio Manganiello
93a3c72d4e Added camera.android.ipcam web panel 2019-12-18 01:00:56 +01:00
Fabio Manganiello
416c9ceb93 Fixed picamera mjpeg stream 2019-12-17 22:44:15 +01:00
Fabio Manganiello
634aeec58d Refactored camera.pi endpoints 2019-12-17 21:51:55 +01:00
Fabio Manganiello
17af488b32 Using an io memory buffer to write the streamed images instead of a
physical file to improve streaming performance
2019-12-17 21:32:56 +01:00
Fabio Manganiello
60d5e7a0f6 Response cast fix 2019-12-17 20:00:08 +01:00
Fabio Manganiello
fb744dbc74 Added picamera streaming route and web panel tab 2019-12-17 19:54:38 +01:00
Fabio Manganiello
bce4c7c51e Support for static list of devices in switch.tplink plugin to reduce scanning time and prevent stupid "communication protocol errors" on scan 2019-12-17 10:56:00 +01:00
Fabio Manganiello
66d00ee428 Added Android IPCam support 2019-12-17 00:56:28 +01:00
Fabio Manganiello
0cef9c6070 No need to explicitly specify request_queue and response_queue on Worker derived classes 2019-12-15 19:55:14 +01:00
Fabio Manganiello
d1ea69262a Prevent active wait on the list of workers 2019-12-15 19:50:47 +01:00
Fabio Manganiello
6082eb62d5 - Added support for device scanning in switch.wemo plugin
- Added generic interface for workers to run jobs in parallel
2019-12-15 19:42:48 +01:00
Fabio Manganiello
5481990834 Using scan_timeout value in switch.switchbot plugin when discovering a device characteristics 2019-12-14 15:57:00 +01:00
Fabio Manganiello
4d361b59a3 Bump version: 0.11.1 → 0.11.2 2019-12-13 09:35:43 +00:00
Fabio Manganiello
af24f36519 - Added bluetooth LTE plugin
- Switchbot plugin rewritten as an implementation of bluetooth BLE

see #89
2019-12-13 02:08:43 +01:00
Fabio Manganiello
e1ed7f681c Added bluetooth OBEX file browser service (see #89) 2019-12-12 00:11:27 +01:00
Fabio Manganiello
5d2d7d55af Added bluetooth OBEX file receiver service (see #89) 2019-12-11 22:22:56 +01:00
Fabio Manganiello
8c41110145 Added bluetooth plugin (see #89) 2019-12-11 18:05:17 +01:00
Fabio Manganiello
2c8993e67d LINT fixes 2019-12-09 19:22:38 +01:00
Fabio Manganiello
f8a709fe98 Improved Pushbullet plugin 2019-12-09 11:00:31 +00:00
Fabio Manganiello
09caa66317 Return immediately in _parse_records if tag.ndef is null 2019-12-08 21:25:39 +01:00
Fabio Manganiello
d498c21518 Implemented Node-RED backend, solves #88 2019-12-08 19:02:08 +01:00
Fabio Manganiello
a6488e15fe Don't treat the execute tab as a special tab in the web panel,
otherwise configurations with enabled_plugins/disabled_plugins
won't work with it
2019-12-08 17:33:21 +01:00
Fabio Manganiello
be5c5d365c Added execute tab to webpanel 2019-12-08 16:25:03 +01:00
Fabio Manganiello
f378fa8832 MPV.Event.IDLE should also be treated as a player stop event 2019-12-07 17:16:48 +01:00
Fabio Manganiello
d6f251989c Added missing __init__.py 2019-12-05 00:46:05 +01:00
Fabio Manganiello
e3d44b56dd Added Join plugin to control remote Android devices 2019-12-05 00:42:29 +01:00
Fabio Manganiello
0f0f8f8a94 LINT fixes 2019-12-05 00:42:29 +01:00
Fabio Manganiello
08119add97 Optimized WeMo plugin 2019-12-05 00:42:29 +01:00
Fabio Manganiello
fc360e3e43 Bump version: 0.11.0 → 0.11.1 2019-12-04 12:28:01 +00:00
Fabio Manganiello
50168e00c5 Bump version: 0.10.9 → 0.11.0 2019-12-04 12:17:17 +00:00
Fabio Manganiello
c34c8586f4 Fixed KeyError 2019-12-04 09:32:56 +01:00
Fabio Manganiello
10ab1751d8 Return only the first element, not in an array, if status() was called with only one device 2019-12-04 09:29:29 +01:00
Fabio Manganiello
25894d3c00 Only return the first element of status() 2019-12-04 09:28:08 +01:00
Fabio Manganiello
69e702ed0c Let switch.wemo on/off/toggle methods always call status() for returned value for consistency with the frontend and other switch plugins 2019-12-04 09:24:34 +01:00
Fabio Manganiello
675b690929 switches should not be considered as a special token in the Config object 2019-12-04 02:58:45 +01:00
Fabio Manganiello
fea39b1306 Added id to switch.wemo.status for compatibility with the frontend 2019-12-04 02:50:22 +01:00
Fabio Manganiello
b4dbb0c5a6 Overridden status method in switch.wemo 2019-12-04 02:39:11 +01:00
Fabio Manganiello
2e4e847857 Migrated WeMo Switch plugin to raw HTTP requests. ouimeaux was heavy and broken 2019-12-04 02:09:49 +01:00
Fabio Manganiello
55dd7b0d53 Don't generate a startup script in docker - instead add /app to PYTHONPATH 2019-12-02 09:17:04 +01:00
Fabio Manganiello
5f54eaa108 Only python setup.py web_build is needed in Docker 2019-12-02 01:18:17 +01:00
Fabio Manganiello
a1f3ff3ae5 Forgotten newlines 2019-12-02 01:13:57 +01:00
Fabio Manganiello
e9df6768f9 Use a startup script to launch platypush from the /app folder in docker 2019-12-02 01:12:10 +01:00
Fabio Manganiello
93a5ffc755 git clone in Dockerfile must be recursive 2019-12-02 01:03:33 +01:00
Fabio Manganiello
93bb71bef7 Fixed extra newline 2019-12-02 00:59:25 +01:00
Fabio Manganiello
e751325886 libffi-dev, libjpeg-turbo-dev and zlib-dev are also required to build some of the recommended dependencies 2019-12-02 00:56:22 +01:00
Fabio Manganiello
f08be1f3c1 The generated command should all be on one line 2019-12-02 00:51:56 +01:00
Fabio Manganiello
3a347496d3 Fixed git clone && cd dance in generated Dockerfile 2019-12-02 00:49:19 +01:00
Fabio Manganiello
909695e070 git clones to /app/platypush 2019-12-02 00:43:37 +01:00
Fabio Manganiello
47f7a36e6e Prevent pending continuation line in generated Dockerfile 2019-12-02 00:41:48 +01:00
Fabio Manganiello
de3bb48493 mkdir -p /app in generated Dockerfile 2019-12-02 00:37:34 +01:00
Fabio Manganiello
3ac9ecbd8f Do git clone and explicit pip install -r requirements.txt in platydock to make sure that all the recommended dependencies are installed 2019-12-02 00:34:32 +01:00
Fabio Manganiello
fbe4f9494c No need to run pip install pyScss in setup.py if it's not available 2019-12-02 00:24:28 +01:00
Fabio Manganiello
346b1be924 Filter out in get_plugins the special configuration fields not associated with plugins 2019-12-01 23:53:14 +01:00
Fabio Manganiello
d38746d278 Moved imports for extra dependencies inside the methods where they are actually used 2019-12-01 23:35:05 +01:00
Fabio Manganiello
f8d3ea5197 Refactored platydock and platyvenv 2019-12-01 22:27:54 +01:00
Fabio Manganiello
c5284c7183 Bump version: 0.10.8 → 0.10.9 2019-12-01 19:55:10 +01:00
Fabio Manganiello
f537a7785a typo 2019-12-01 18:23:50 +01:00
Fabio Manganiello
e3476ee634 Bump version: 0.10.7 → 0.10.8 2019-12-01 17:47:53 +01:00
Fabio Manganiello
92533c8303 Added special utils.get_context action to get current context 2019-12-01 17:43:10 +01:00
Fabio Manganiello
a18452ab2e Made procedure.[sync|async].name second argument optional
A procedure will be sync if [sync|async] is not specified
2019-12-01 16:48:57 +01:00
Fabio Manganiello
f281411b2e Set the light property before the any_on/all_on check on the group 2019-12-01 16:33:48 +01:00
Fabio Manganiello
3bbb6cf053 Include dev version of vue.js if available in the HTTP static/js
folder, otherwise include the minified version
2019-12-01 16:33:48 +01:00
Fabio Manganiello
abbfe517de Don't override matches_condition in ResponseEvent to run stop_conversation. Use the flag play_response=False on plugin level to bypass the response instead 2019-11-26 15:52:30 +01:00
Fabio Manganiello
2b8ba2b956 Support for specifying external audio player on Alexa plugin 2019-11-26 11:19:15 +01:00
Fabio Manganiello
d5f0d476c0 #86: Support for play_response flag on Google pushtotalk plugin 2019-11-26 00:32:27 +01:00
Fabio Manganiello
9b04570e49 Assistant event refactor: always explicitly pass the assistant object.
Also added match_condition override for ResponseEvent to capture the
assistant response text, when available, and prevent the default
response - it should solve #86.
2019-11-26 00:16:32 +01:00
Fabio Manganiello
0ddfce3dce PEP fixes 2019-11-26 00:04:17 +01:00
Fabio Manganiello
75c6abf249 Pass the assistant object on the Alexa events 2019-11-25 23:16:33 +01:00
Fabio Manganiello
077d787d42 Added input audio device support to Alexa plugin 2019-11-25 23:05:01 +01:00
Fabio Manganiello
2cf9bf654d Removed unused imports from Snowboy backend 2019-11-25 20:27:52 +01:00
Fabio Manganiello
1661428417 #80: kwargs on start_conversation for extra parameters 2019-11-25 00:06:48 +01:00
Fabio Manganiello
ef8fd044fd #80: Extended Alexa/Echo plugin 2019-11-24 23:57:32 +01:00
Fabio Manganiello
deb28cf005 #80: Support for Alexa/Echo assistant 2019-11-24 23:46:14 +01:00
Fabio Manganiello
f98a440200 Support for explicit enabled_plugins/disabled_plugins on webpanel index 2019-11-22 00:00:14 +01:00
Fabio Manganiello
f04f42caef Refactored and simplified Snapcast backend. Moreover the "grace sleep"
should happen in any case of errors, not only on disconnect errors,
to prevent a tight loop of retries.
2019-11-05 18:11:04 +01:00
Fabio Manganiello
6aa13a10cb Initialize the animation groups map only if groups was specified 2019-11-03 14:45:03 +01:00
Fabio Manganiello
c4f4d61851 Bump version: 0.10.6 → 0.10.7 2019-10-21 01:30:57 +02:00
Fabio Manganiello
9914d4ef0b Handling CSS and fonts properly in RSSUpdates digests 2019-10-13 12:43:18 +02:00
Fabio Manganiello
4c72646759 typo 2019-10-08 10:24:48 +00:00
Fabio Manganiello
ca41f6b8cf Torrent download from web panel should be asynchronous 2019-10-08 10:14:45 +00:00
Fabio Manganiello
99d17b666c Only set up listen ports for libtorrent if it's a new session 2019-10-08 10:06:33 +00:00
Fabio Manganiello
f23afa3c53 Better management for font styles in http.webpage.simplify 2019-10-05 23:54:26 +02:00
Fabio Manganiello
89c2555753 Improved font in http.webpage.simplify for HTML and PDF output 2019-10-05 22:48:07 +02:00
Fabio Manganiello
09991b2e8a Use a filesystem FIFO for YouTube media content instead of playing the *.googlevideo.com URL directly
Google Video URLs now return 403 if played directly. Let youtube-dl
handle the heavylifting and use a FIFO to stream the media
2019-09-30 18:06:30 +02:00
Fabio Manganiello
f69a7e422b [#84] Completed Dropbox support 2019-09-30 00:04:48 +02:00
Fabio Manganiello
313a195831 Support for torrent direct download through magnet link in web panel 2019-09-29 17:48:30 +02:00
Fabio Manganiello
fd10b2260c Changed PopcornTime endpoints 2019-09-29 10:31:00 +02:00
Fabio Manganiello
faa55daccf Smarter cron management with croniter 2019-09-28 01:34:27 +02:00
Fabio Manganiello
bcb47909c9 Reverted seconds support in cronjobs 2019-09-27 15:00:00 +02:00
Fabio Manganiello
87d14134f8 Increased cron check frequency to support seconds granularity 2019-09-27 14:51:53 +02:00
Fabio Manganiello
bcd3bf7911 Support for seconds in cron expressions 2019-09-27 14:47:27 +02:00
Fabio Manganiello
48e4aeb3dc Added machine learning plugin based on OpenCV cv2.dnn module 2019-09-27 11:46:50 +02:00
Fabio Manganiello
6aa52f0522 typo 2019-09-27 10:35:16 +02:00
Fabio Manganiello
a17dba3ec6 LINT warnings fix 2019-09-26 19:23:38 +02:00
Fabio Manganiello
168b1b0e5a Finalized camera.ir.mlx90640 web interface 2019-09-26 18:33:44 +02:00