Commit graph

979 commits

Author SHA1 Message Date
ffb7a3e5a3 Extended and updated pieces of documentation on the HTTP server, Zigbee2mqtt and mpd. Also added example dashboard template and event hook script. 2021-02-22 01:20:01 +01:00
Fabio Manganiello
6f9428487f Higher priority to gstreamer plugin over omxplayer for tts 2021-02-21 02:44:26 +01:00
6b5b50d186 Migrated switches plugin 2021-02-19 20:47:29 +01:00
56f8d85feb Migrated switches web panel and refactored switch plugins to expose a more consistent interface 2021-02-19 02:54:12 +01:00
748609c6f4 Migrated settings panel and logout button 2021-02-15 23:09:27 +01:00
b3c28f6773 Added support for JWT token-based authentication 2021-02-12 22:43:34 +01:00
06ca5be54b Still support default host/port fallback on mqtt.publish 2021-02-12 02:19:36 +01:00
3cf91a3f27 Fixed backend.zigbee.mqtt to work with the new zigbee2mqtt API 2021-02-11 23:50:28 +01:00
1a70c6ea0b Fixed remaining Zigbee groups and binding methods to work with the new zigbee2mqtt API [see #163] 2021-02-10 02:00:52 +01:00
1eedcaf2be Moved more zigbee2mqtt methods to the new API 2021-02-09 02:33:43 +01:00
b8979040da Fixed device_get and device_rename to use the new zigbee2mqtt API 2021-02-08 01:45:21 +01:00
816492d3b2 Fixed MQTT over SSL default version spec in case the parameter is not a string 2021-02-08 01:44:26 +01:00
0bddbb0bca Merge branch 'master' into vuejs 2021-02-06 14:46:08 +01:00
314c01ef97 Refactored Zigbee backend and remove unused logic for keeping devices up-to-date 2021-02-06 14:45:50 +01:00
4c5a52417e Support for new zigbee2mqtt API and protocol (see #163) 2021-02-06 02:19:15 +01:00
2abfb2964c Merge branch 'master' into vuejs 2021-02-04 01:57:36 +01:00
4858dbc060 Back/forward seek changed from 60 to 30 2021-02-04 01:56:28 +01:00
Fabio Manganiello
2834ed2a7c Refactored and fixed many bugs on the media.omxplayer plugin 2021-02-04 01:44:21 +01:00
Fabio Manganiello
165f85f8dc Added support for background shell commands 2021-02-04 01:43:51 +01:00
Fabio Manganiello
7f24b82281 Removed deprecated media.ctrl plugin 2021-02-03 22:13:10 +01:00
7e1d232942 Another fix bites the dust 2021-02-03 17:47:33 +01:00
31a7ecee03 Quick fix 2021-02-03 17:46:05 +01:00
346bd9602d The whole get_plugin/.status() block should be under try/except 2021-02-03 17:44:40 +01:00
673351db51 Don't fail if a media plugin can't be imported 2021-02-03 17:43:26 +01:00
86ebc4fae9 Get the plugin name, not the object 2021-02-03 17:42:20 +01:00
118540db8c Fixed unreferenced var 2021-02-03 17:41:06 +01:00
a1d6c4fbe4 Added missing Config import 2021-02-03 17:39:55 +01:00
2bb07ae191 Fixed base class name 2021-02-03 17:39:16 +01:00
1920bd80a3 First search among the configured media plugins in media.ctrl plugin 2021-02-03 17:34:33 +01:00
8e2d590e62 Merge branch 'master' into vuejs 2021-01-23 15:06:14 +01:00
Fabio Manganiello
31b110a06c FIX: zigbee2mqtt applies different logic to /<device_name> and /<device_name>/get 2021-01-22 16:24:43 +01:00
Fabio Manganiello
717ad5d88c Revert "FIX: zigbee2mqtt /get calls require a property field specified on the message"
This reverts commit 7ff08a9587.
2021-01-22 16:13:18 +01:00
Fabio Manganiello
cc839620cf FIX: zigbee2mqtt /get calls require a property field specified on the message 2021-01-22 01:03:52 +01:00
Fabio Manganiello
7a7e00bea2 Migrated music.snapcast UI 2021-01-22 01:00:49 +01:00
Fabio Manganiello
7ff08a9587 FIX: zigbee2mqtt /get calls require a property field specified on the message 2021-01-22 00:45:52 +01:00
Fabio Manganiello
370a7d4c15 Added frontend support for Plex 2021-01-18 01:28:10 +01:00
Fabio Manganiello
85f56cf98c New media panel [WIP] 2021-01-14 00:15:35 +01:00
Fabio Manganiello
6ae76f1f38 Migrating media plugins [WIP] 2021-01-05 00:50:24 +01:00
Fabio Manganiello
e127f2597c music.mpd refactor WIP 2020-12-31 01:36:02 +01:00
Fabio Manganiello
b4fc734a15 music.mpd panel migration - WIP 2020-12-26 15:03:12 +01:00
Fabio Manganiello
5d4f4b0378 Support for subscribe-once/unsubscribe frontend events mechanisms 2020-12-15 00:01:28 +01:00
Fabio Manganiello
0db997c6a0 transitiontime is not supported on hue/sat/bri change 2020-12-14 16:31:24 +01:00
Fabio Manganiello
5e7c6c26c9 Migrating lights panel WIP 2020-12-14 02:13:55 +01:00
Fabio Manganiello
2de1e3ebe6 Lights panel migration - WIP 2020-12-09 21:16:07 +01:00
Fabio Manganiello
0cd120f492 New template for index panel 2020-11-30 20:57:00 +01:00
Fabio Manganiello
39abdfe40a New Vue.js template for dashbord WIP 2020-11-21 01:12:08 +01:00
Fabio Manganiello
c7711d75a1 New pychromecast has replaced host/port with uri 2020-11-11 03:07:42 +01:00
Fabio Manganiello
711ea543bb Use youtube-dl to extract the video URL instead of streaming its content to a local sock file 2020-11-11 03:07:23 +01:00
Fabio Manganiello
a07cb6ec3d Explicit cast of possible dict_keys element to list() before copy() 2020-11-10 22:53:12 +01:00
Fabio Manganiello
c5dc9333f0 Extended light plugin status method signature 2020-10-28 23:19:16 +01:00
Fabio Manganiello
77530b4a06 Use a threading Event to synchronize with the Hue animation thread instead of relying on the Redis backend 2020-10-14 00:18:23 +02:00
Fabio Manganiello
37e006d86e Refined Tensorflow train methods 2020-10-12 01:06:32 +02:00
Fabio Manganiello
8d7e790eda More descriptive attribute names for the Tensorflow predict response.
Using `outputs` instead of `values` and `predictions` instead of `labels`.
2020-10-02 01:17:34 +02:00
Fabio Manganiello
daaa0050d1 Squeeze the extra dimensions in a grayscale image and pass the model name to the response objects 2020-10-01 18:50:36 +02:00
Fabio Manganiello
287b6303ae More flexible module loading and better lock management for models in Tensorflow plugin 2020-10-01 17:41:12 +02:00
Fabio Manganiello
9e6c40d393 media.gstreamer added to the list of compatible media plugins 2020-09-29 15:37:46 +02:00
Fabio Manganiello
05b0a7f14d Added GStreamer media plugin [closes #151] 2020-09-29 15:32:40 +02:00
Fabio Manganiello
6ad5397a25 Removed unused import 2020-09-28 22:13:42 +02:00
Fabio Manganiello
0a9c4fc3a7 Added GStreamer camera plugin [relates to #151] 2020-09-28 22:10:56 +02:00
Fabio Manganiello
e9d9ef252f Frames directory should be created in 0o755 mode 2020-09-28 02:33:27 +02:00
Fabio Manganiello
df1e03f0af Added FFmpeg camera plugin [relates to #150] 2020-09-27 12:52:07 +02:00
Fabio Manganiello
c269c62fe6 Refactored logging names 2020-09-27 01:33:38 +02:00
Fabio Manganiello
6e6092e4b2 Do proper decapsulation for PiCamera wrapped object when reinitialized 2020-09-25 18:25:33 +02:00
Fabio Manganiello
ac42f7eba4 Make sure that the PiCamera session is properly closed and re-opened on each stream request 2020-09-25 18:06:27 +02:00
Fabio Manganiello
258a9b57ce release_device should not fail hard if stop_recording or close fail on ConnectionError 2020-09-25 17:42:21 +02:00
Fabio Manganiello
28409b8688 The device should be released after each streaming session 2020-09-25 17:34:53 +02:00
Fabio Manganiello
c12e7bab90 The streaming thread shouldn't fail and exit if it fails closing a client socket 2020-09-25 17:28:25 +02:00
Fabio Manganiello
09f9e974b1 Camera plugins refactor 2020-09-25 17:19:43 +02:00
Fabio Manganiello
c0f7cc0782 Added NextCloud integration [closes #149] 2020-09-10 11:10:26 +02:00
Fabio Manganiello
a650840429 Refactored variable plugin 2020-09-09 02:14:59 +02:00
Fabio Manganiello
4d0d467292 PIL JPEG format name typo fix 2020-09-08 18:14:49 +02:00
Fabio Manganiello
83122becdb Applied degrees -> PIL rotation ID conversion to the output image 2020-09-08 18:03:18 +02:00
Fabio Manganiello
53ddbad7ce Refactored MLX90640 plugin and HTTP route to work with direct BytesIO - it improves performance over using temporary files or base64-encoded responses 2020-09-08 17:51:46 +02:00
Fabio Manganiello
8a1f49a906 Open the source file in read non-binary mode in case of MIMEText 2020-09-05 01:29:43 +02:00
Fabio Manganiello
6dce4c59f6 (Forgot to pass the new arguments to the MIME constructor) 2020-09-05 01:27:08 +02:00
Fabio Manganiello
ce42f5aada MIMEText doesn't accept the Name parameter 2020-09-05 01:25:12 +02:00
Fabio Manganiello
9402e4f65f Removed trailing column 2020-09-03 17:16:35 +02:00
Fabio Manganiello
a4c6028dc4 Fixed wrong code-block syntax 2020-09-03 14:32:51 +02:00
Fabio Manganiello
907bc0f75b Added rtorrent integration [closes #120] 2020-09-03 13:08:42 +02:00
Fabio Manganiello
d7806757c5 Polished mail integration 2020-09-02 01:34:18 +02:00
Fabio Manganiello
ca168828de Added events on IMAP flagged/starred messages and extended IMAP plugin with remaining methods [closes #146] 2020-09-02 00:07:08 +02:00
Fabio Manganiello
6c24783df7 Log full exceptions in case of failures in a procedure 2020-09-01 10:33:56 +02:00
Fabio Manganiello
681e9f1703 Added SMTP plugin [links to #146] 2020-09-01 01:52:22 +02:00
Fabio Manganiello
dc1b54961f Added inspect.get_config() method to get the configuration programmatically 2020-08-31 18:26:08 +02:00
Fabio Manganiello
3c3ee09d90 Fixed auto-generated docs indentation and code blocks 2020-08-31 17:39:42 +02:00
Fabio Manganiello
1681f80728 Added IMAP plugin and generic mail check backend [links to #146] 2020-08-31 15:33:03 +02:00
Fabio Manganiello
f1ab923bfe Option to reuse the MQTT configuration of the plugin if not provided on the backend 2020-08-27 17:39:22 +02:00
Fabio Manganiello
beceb39b0c Added client_id in MQTT integrations 2020-08-27 16:41:51 +02:00
Fabio Manganiello
f7df1d2f6e typo fix 2020-08-27 16:01:51 +02:00
Fabio Manganiello
cd8732dc8f Added tls_insecure flag to MQTT 2020-08-27 15:56:43 +02:00
Fabio Manganiello
b8917de52f TLS version in MQTT configuration parsed from string 2020-08-27 12:44:00 +02:00
Fabio Manganiello
aa631deb88 Fixed docs typo 2020-08-24 01:24:24 +02:00
Fabio Manganiello
2e6388f6f4 ReadTheDocs fixes 2020-08-24 01:14:40 +02:00
Fabio Manganiello
5d2e74eb97 LINT fixes for LCD plugins 2020-08-24 00:42:34 +02:00
Fabio Manganiello
af614480b8 Added LCD display integration (closes #145) 2020-08-23 20:00:08 +01:00
Fabio Manganiello
7a7c065754 Added missing docs 2020-08-23 00:49:51 +02:00
Fabio Manganiello
6bed284e8b Added DHT temperature/humidity sensor integration [closes #113] 2020-08-22 23:46:21 +01:00
Fabio Manganiello
289eebd6a0 Moved definition of workdir inside the constructor, otherwise readthedocs will fail for missing configuration file 2020-08-22 15:33:44 +02:00
Fabio Manganiello
63ad4bfdce Doc fixes 2020-08-20 00:35:06 +02:00
Fabio Manganiello
019bcbf90a Replaced values.unset in Twilio methods signature with None for JSON compatibility 2020-08-20 00:08:10 +02:00
Fabio Manganiello
988601b10e Added Twilio integration [closes #132] 2020-08-19 23:30:26 +02:00
Fabio Manganiello
cbae8132ed Python 3.5 compatibility 2020-08-19 22:20:00 +02:00
Fabio Manganiello
0659996c48 Added DBus integration [closes #141] 2020-08-16 01:57:30 +02:00
Fabio Manganiello
20b095232d Support for extended information in zeroconf.discover_service 2020-08-14 15:52:24 +02:00
Fabio Manganiello
7e8bef40cd Added Zeroconf integration [closes #105] 2020-08-14 00:36:39 +02:00
Fabio Manganiello
6b43a5e592 Added luma.oled display support 2020-08-11 14:48:14 +02:00
Fabio Manganiello
65bac0ccc5 Fix for pychromecast.get_chromecasts new return type.
On newer versions of pychromecast get_chromecasts returns
a tuple (devices, browser_service) instead of a list. The
software should be robust enough with both older and newer
versions of pychromecast.
2020-07-25 01:35:06 +02:00
Fabio Manganiello
590d416682 Google Translate API supports a maximum of 2000 characters per API call.
Therefore it's a good idea to split the input text/html.
2020-07-05 21:04:54 +02:00
Fabio Manganiello
adc94349c7 Missing commas 2020-07-04 00:31:24 +02:00
Fabio Manganiello
b716b1a0c1 More robust URL query for YouTube 2020-07-04 00:25:49 +02:00
Fabio Manganiello
93ac6c8af9 Regex format fix 2020-07-04 00:18:45 +02:00
Fabio Manganiello
03dc524f80 Fixed response type 2020-07-04 00:15:44 +02:00
Fabio Manganiello
c943acb9c2 Smarter logic for parsing YouTube URLs in Kodi 2020-07-04 00:12:16 +02:00
Fabio Manganiello
a4824a4e95 Google Cloud Translate API works through GOOGLE_APPLICATION_CREDENTIALS env variable 2020-07-02 02:24:54 +02:00
Fabio Manganiello
46515020cf Added Google Translate plugin 2020-07-02 02:07:57 +02:00
Fabio Manganiello
3174db5776 Always convert content to string before writing it to a file 2020-06-30 11:41:38 +02:00
Fabio Manganiello
11709641d7 Extended file plugin with more util methods 2020-06-29 23:53:11 +02:00
Fabio Manganiello
d560823887 Replaced deprecated options in PiCamera module 2020-06-27 13:55:18 +02:00
Fabio Manganiello
96716dc872 Support for pre-fetched HTML/Markdown content.
HTML output can be too large for the process called over the command
line. HTML data exchange now happens through an intermediate temporary
file.
2020-06-25 01:37:59 +02:00
Fabio Manganiello
f50ad767e0 Support for more arguments passed to the Mercury parser 2020-06-23 01:54:35 +02:00
Fabio Manganiello
a1c20a52da Defined get_procedures() method on inspect plugin 2020-06-17 22:31:07 +02:00
Fabio Manganiello
fb58c89911 More robust node_to_dict code in case of race conditions where some of the attributes required to generate id_on_network are not available 2020-06-11 14:50:41 +02:00
Fabio Manganiello
a18002dea0 The command class of a Z-Wave value can also be null: prevent the plugin from breaking in such case 2020-06-09 16:14:02 +02:00
Fabio Manganiello
9d6375f381 More robust logic in case of Tplink device not available 2020-06-08 19:43:08 +02:00
Fabio Manganiello
0ced46058a Always set check_same_thread=False in case of SQLite engines.
Platypush is heavily multi-threaded, and it can happen that some
transactions are handled in different threads - and consistency
is managed by the application itself.
2020-06-08 00:27:41 +02:00
Fabio Manganiello
82a9aa1232 Added clipboard backend 2020-05-23 23:11:42 +02:00
Fabio Manganiello
3cdd9e8474 Added SSH plugin [closes #136] 2020-05-23 21:38:22 +02:00
Fabio Manganiello
1b47615100 More robust attribute checking before conversion, as the object can actually be either a ZWaveNode or a ZWaveController 2020-05-22 12:08:17 +02:00
Fabio Manganiello
d595688d55 Use the /total/country/<cc> endpoint instead of /total/dayone/country/<cc> 2020-05-17 16:52:37 +02:00
Fabio Manganiello
80d5a6ad19 Support for multiple torrent sessions 2020-05-07 23:34:56 +02:00
Fabio Manganiello
26f6feebb7 Implemented retry+sleep mechanism in Switchbot plugin in case of errors
This should prevent race conditions in case of command timeout+quick
disconnection and retry that can result in race conditions and double
free corruptions.
2020-05-06 00:25:19 +02:00
Fabio Manganiello
99fee9ce20 Parse countries from the official country list 2020-05-04 13:15:17 +00:00
Fabio Manganiello
d0ccd65214 Added Samsung smart TV web plugin 2020-05-03 17:21:16 +02:00
Fabio Manganiello
2f57ccf412 Added Samsung smart TV plugin 2020-05-03 00:57:13 +02:00
Fabio Manganiello
9d0f43707a Support for list of countries 2020-04-30 22:45:04 +02:00
Fabio Manganiello
3bb4c4434c Added Covid-19 country stats plugin and backend/monitor 2020-04-30 00:44:34 +02:00
Fabio Manganiello
3c209a800b New popcorn time API URLs 2020-04-28 13:49:31 +02:00
Fabio Manganiello
7ce5efaf2e Removed numpy and PIL top-level imports that could break the HTTP server if not installed on the system 2020-03-24 10:25:25 +01:00
Fabio Manganiello
7af8fb581b A more robust logic to check whether the first dimension of the input tensor is None 2020-03-23 23:54:18 +01:00
Fabio Manganiello
30a5f7b297 Fixed docs typo 2020-03-23 01:25:35 +01:00
Fabio Manganiello
375a8376dc Don't use Config.get on __init__, or docs build will fail because of missing config.yaml 2020-03-23 01:14:44 +01:00
Fabio Manganiello
f4dcf688f0 Set default values for metrics for regression and networks 2020-03-23 01:10:59 +01:00
Fabio Manganiello
50e372be36 Implemented extensive support for neural networks, images and directories [closes #121] 2020-03-23 01:00:25 +01:00
Fabio Manganiello
1f1fefca9d Tensorflow plugin implementation WIP [#121]
TODO: Extend neural network implementation to work
also with e.g. input from images, sounds or binary
2020-03-21 19:50:59 +01:00
Fabio Manganiello
d938017bf8 Added support for extra mplayer arguments for TTS plugins 2020-03-16 18:40:17 +01:00
Fabio Manganiello
e7084b5d6f Added CSV plugin 2020-03-13 01:29:43 +01:00
Fabio Manganiello
a130edb74f Made QR-code scan work also on picamera 2020-03-11 01:06:07 +01:00
Fabio Manganiello
2992d5f726 List of dependencies for qrcode plugin should also include numpy 2020-03-10 22:50:33 +01:00
Fabio Manganiello
141275ecdf Support for scanning QR-codes and barcodes through a camera plugin 2020-03-10 22:35:50 +01:00
Fabio Manganiello
c9db887505 Added QR code/barcode integration [closes #119] 2020-03-10 00:07:21 +01:00