Commit Graph

2017 Commits

Author SHA1 Message Date
Fabio Manganiello 7922ae4801 Removed old templates/ and static/ web directories 2021-02-21 00:41:40 +01:00
Fabio Manganiello 94c35e210e Migrated /plugin/<pluginName> route 2021-02-21 00:39:06 +01:00
Fabio Manganiello 34892e227a The webapp dist/ folder should actually be under the webapp dir 2021-02-20 23:26:25 +01:00
Fabio Manganiello 856eb720b0 Migrated execute panel 2021-02-20 23:12:54 +01:00
Fabio Manganiello 94ad14f23f Migrated Samsung TV web panel 2021-02-20 01:18:05 +01:00
Fabio Manganiello c8fa61cc4f Fixed navigator scrolling and style 2021-02-19 22:55:31 +01:00
Fabio Manganiello 8ab72e8f94 Upgraded axios and bulma 2021-02-19 21:06:58 +01:00
Fabio Manganiello 6b5b50d186 Migrated switches plugin 2021-02-19 20:47:29 +01:00
Fabio Manganiello 56f8d85feb Migrated switches web panel and refactored switch plugins to expose a more consistent interface 2021-02-19 02:54:12 +01:00
Fabio Manganiello 51de11da25 Finalized migration of camera and sound plugins 2021-02-17 01:02:57 +01:00
Fabio Manganiello ca2fd60950 Migrated camera.android.ipcam UI 2021-02-16 23:56:43 +01:00
Fabio Manganiello e508d453ba Set better default scaling for camera.ir.mlx90640 UI 2021-02-16 22:57:09 +01:00
Fabio Manganiello 12e1c60f6c Fixed camera.ir.mlx90640 UI panel reference and RSS widget font 2021-02-16 22:42:43 +01:00
Fabio Manganiello 8c3ba9f367 Migrated camera.pi and camera.ir.mlx90640 UI panels 2021-02-16 20:14:20 +01:00
Fabio Manganiello 41acb02eb0 Migrated camera.cv/camera.ffmpeg/camera.gstreamer UI panels 2021-02-16 01:51:37 +01:00
Fabio Manganiello 748609c6f4 Migrated settings panel and logout button 2021-02-15 23:09:27 +01:00
Fabio Manganiello 201bb5986f Don't create an MQTT client connection if there are no topics to subscribe.
If we open multiple connections from multiple MQTT-based backends to the
same host, with some of them having no topics subscribed, Paho-MQTT can
mess up which client is supposed to receive which message and we may end
up with lost messages on the platypush_bus_mqt/<host> topic.
2021-02-15 22:02:58 +01:00
Fabio Manganiello 51e6d95205 Fixed valueId lookup in Z-Wave filtered values 2021-02-14 22:02:17 +01:00
Fabio Manganiello c78420749b More Z-Wave UI fixes [WIP] 2021-02-14 21:43:11 +01:00
Fabio Manganiello adbde5a681 Z-Wave UI style fixes [WIP] 2021-02-14 21:08:29 +01:00
Fabio Manganiello 80aa9b968d More Z-Wave UI fixes [WIP] 2021-02-14 19:16:21 +01:00
Fabio Manganiello b922f29bb8 Moar Z-Wave UI style fixes [WIP] 2021-02-14 18:53:59 +01:00
Fabio Manganiello 4dd5ea71d6 Style fixes for Z-Wave UI migration [WIP] 2021-02-14 18:07:40 +01:00
Fabio Manganiello 297c18e176 Fixed glitches in new Z-Wave panel [WIP] 2021-02-14 16:28:34 +01:00
Fabio Manganiello a1e2bf9b3a Fixed font size and ratio on new dashboard 2021-02-14 15:31:24 +01:00
Fabio Manganiello c2784c400f Added dist files for z-wave panel migration 2021-02-14 14:46:02 +01:00
Fabio Manganiello b49865181b Z-Wave plugin UI migration [WIP] 2021-02-14 02:29:39 +01:00
Fabio Manganiello add1bd05cb Keep track of the last state of the Zigbee controller so that new messages on the `bridge/state` topic won't trigger new events unless the state has actually changed [see #183] 2021-02-13 15:54:21 +01:00
Fabio Manganiello 8168cd3ab3 Don't default on logging.INFO level if another level is set in the configuration, and apply the same logging level also to the web server [closes #162] 2021-02-13 15:13:07 +01:00
Fabio Manganiello b3c28f6773 Added support for JWT token-based authentication 2021-02-12 22:43:34 +01:00
Fabio Manganiello 06ca5be54b Still support default host/port fallback on mqtt.publish 2021-02-12 02:19:36 +01:00
Fabio Manganiello 30d5cdcb00 Generated new dist files for the web app 2021-02-11 23:58:36 +01:00
Fabio Manganiello 2427cceb5e Migration completed for the zigbee.mqtt web panel 2021-02-11 23:53:05 +01:00
Fabio Manganiello 3cf91a3f27 Fixed backend.zigbee.mqtt to work with the new zigbee2mqtt API 2021-02-11 23:50:28 +01:00
Fabio Manganiello f9598977db Refactored backend.mqtt to reuse connections whenever possible, as well as programmatically subscribe/unsubscribe topics at runtime 2021-02-10 22:31:33 +01:00
Fabio Manganiello 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
Fabio Manganiello db80240209 zigbee2mqtt web panel migration [WIP] 2021-02-09 02:33:56 +01:00
Fabio Manganiello 1eedcaf2be Moved more zigbee2mqtt methods to the new API 2021-02-09 02:33:43 +01:00
Fabio Manganiello 86e6ffd18d Zigbee web panel migration [WIP] 2021-02-08 02:04:59 +01:00
Fabio Manganiello b8979040da Fixed device_get and device_rename to use the new zigbee2mqtt API 2021-02-08 01:45:21 +01:00
Fabio Manganiello 816492d3b2 Fixed MQTT over SSL default version spec in case the parameter is not a string 2021-02-08 01:44:26 +01:00
Fabio Manganiello 0bddbb0bca Merge branch 'master' into vuejs 2021-02-06 14:46:08 +01:00
Fabio Manganiello 314c01ef97 Refactored Zigbee backend and remove unused logic for keeping devices up-to-date 2021-02-06 14:45:50 +01:00
Fabio Manganiello 4c5a52417e Support for new zigbee2mqtt API and protocol (see #163) 2021-02-06 02:19:15 +01:00
Fabio Manganiello 23a5cd519a Merge branch 'master' into vuejs 2021-02-05 23:18:31 +01:00
Fabio Manganiello b57a241f52 Changed base URL to platypush.tech 2021-02-05 23:18:18 +01:00
Fabio Manganiello 2abfb2964c Merge branch 'master' into vuejs 2021-02-04 01:57:36 +01:00
Fabio Manganiello 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
Fabio Manganiello 7e1d232942 Another fix bites the dust 2021-02-03 17:47:33 +01:00
Fabio Manganiello 31a7ecee03 Quick fix 2021-02-03 17:46:05 +01:00
Fabio Manganiello 346bd9602d The whole get_plugin/.status() block should be under try/except 2021-02-03 17:44:40 +01:00
Fabio Manganiello 673351db51 Don't fail if a media plugin can't be imported 2021-02-03 17:43:26 +01:00
Fabio Manganiello 86ebc4fae9 Get the plugin name, not the object 2021-02-03 17:42:20 +01:00
Fabio Manganiello 118540db8c Fixed unreferenced var 2021-02-03 17:41:06 +01:00
Fabio Manganiello a1d6c4fbe4 Added missing Config import 2021-02-03 17:39:55 +01:00
Fabio Manganiello 2bb07ae191 Fixed base class name 2021-02-03 17:39:16 +01:00
Fabio Manganiello 1920bd80a3 First search among the configured media plugins in media.ctrl plugin 2021-02-03 17:34:33 +01:00
Fabio Manganiello ef63c3769e Cast request headers to dict before adding them to the event 2021-01-31 00:16:44 +01:00
Fabio Manganiello fddf2006e4 Added headers argument to webhook event 2021-01-31 00:01:58 +01:00
Fabio Manganiello a0bf227573 Fixed trailing column in wss: protocol 2021-01-30 23:21:52 +01:00
Fabio Manganiello 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 cebd79079b Merge branch 'master' into vuejs 2021-01-22 01:01:22 +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 67d3b40772 Finalized new music.mpd web interface 2021-01-02 14:33:01 +01:00
Fabio Manganiello d2887b7454 Implemented search in music.mpd 2021-01-01 15:58:56 +01:00
fabio-eiq d10649e1f1 Support for token over Authorization: Bearer header 2020-12-31 15:36:48 +01:00
Fabio Manganiello e127f2597c music.mpd refactor WIP 2020-12-31 01:36:02 +01:00
Fabio Manganiello 1777ebb051 Retry logic in case of Pushbullet listener error 2020-12-30 19:44:30 +01:00
Fabio Manganiello 3eb7f01d38 Updated dist files 2020-12-26 17:43:00 +01:00
Fabio Manganiello 57304e8d7e Music buttons should have no background 2020-12-26 17:41:12 +01:00
Fabio Manganiello b4fc734a15 music.mpd panel migration - WIP 2020-12-26 15:03:12 +01:00
Fabio Manganiello bc3e0b8634 Support for plugin panels embedded into dashboards 2020-12-17 02:09:23 +01:00
Fabio Manganiello 1726cbd96a Optimized panel size for tablet 2020-12-16 22:31:04 +01:00
Fabio Manganiello e5c8adfc1b Fixed and expanded integration tests to deal with HTTP user authentication 2020-12-16 02:10:37 +01:00
Fabio Manganiello 049a48e156 Fixed modified property Vue warning 2020-12-15 21:32:39 +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 79179746a7 Fixed websocket reconnection logic 2020-12-09 20:40:22 +01:00
Fabio Manganiello fc718c907a Migrating light.hue panel WIP 2020-12-03 00:59:35 +01:00
Fabio Manganiello 0cd120f492 New template for index panel 2020-11-30 20:57:00 +01:00
Fabio Manganiello c3f01c198f Keep track of the user authentication state 2020-11-28 15:32:07 +01:00
Fabio Manganiello 229b2de566 The /execute endpoint should require authentication as well 2020-11-28 15:28:09 +01:00
Fabio Manganiello dea547a491 Migrated Pushbullet component 2020-11-28 01:12:54 +01:00
Fabio Manganiello 1036358b28 Use a $watch-based system to register subscribe handlers when the events component is not yet ready instead of relying on setTimeout hacks 2020-11-28 00:29:22 +01:00
Fabio Manganiello 8f477fa335 Migrated voice assistant component 2020-11-27 23:12:10 +01:00
Fabio Manganiello 3c6f3c5a21 Migrated login and register components 2020-11-26 23:43:16 +01:00
Fabio Manganiello 0902099855 Migrated RSS news widget 2020-11-26 17:11:03 +01:00
Fabio Manganiello 3c9a633907 Fixed carousel style 2020-11-26 12:53:34 +01:00
Fabio Manganiello 1e193f8346 Added new static files 2020-11-26 12:41:56 +01:00
Fabio Manganiello 9af02ba886 Carousel default font increased 2020-11-26 12:27:42 +01:00
Fabio Manganiello 221bcc058b Need static/js and static/css as well 2020-11-26 12:02:41 +01:00
Fabio Manganiello 04cb2324aa Removed dashboard configuration from HttpBackend, removed old HTTP
static files and replaced them with Vue app target dist/ directory.
2020-11-26 11:54:28 +01:00
Fabio Manganiello 887a0e5e88 Webapp dist files 2020-11-26 11:44:08 +01:00
Fabio Manganiello cc3e52c69d Migrated ImageCarousel widget 2020-11-26 00:26:10 +01:00
Fabio Manganiello 243e56b194 Added support for rows on dashboard and music widget 2020-11-23 00:44:31 +01:00
Fabio Manganiello ecf6a844dd Added support for refreshSeconds on dashboard level 2020-11-22 14:26:25 +01:00
Fabio Manganiello 62b651789a Migrated DateTimeWeather and Calendar widgets 2020-11-22 12:57:28 +01:00
Fabio Manganiello ba8e5ef6a0 Fixed croniter timezone offset logic mismatch 2020-11-21 01:38:07 +01:00
Fabio Manganiello 9dacd2d3c9 Fixed croniter timezone offset logic mismatch 2020-11-21 01:36:37 +01:00
Fabio Manganiello 39abdfe40a New Vue.js template for dashbord WIP 2020-11-21 01:12:08 +01:00
Fabio Manganiello 0c0e7411f7 Bump version: 0.13.8 → 0.13.9 2020-11-11 22:31:47 +01:00
Fabio Manganiello 9179f35a82 Support for row height for dashboard widgets 2020-11-11 22:28:43 +01:00
Fabio Manganiello 470bd62af7 Parse actions in cron also from list 2020-11-11 17:09:36 +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 43f71ed47b Bump version: 0.13.7 → 0.13.8 2020-11-10 22:55:03 +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 45d998130b Event import fixed 2020-10-28 23:29:34 +01:00
Fabio Manganiello cc36325ca6 Added support for custom user events 2020-10-28 23:28:41 +01:00
Fabio Manganiello c5dc9333f0 Extended light plugin status method signature 2020-10-28 23:19:16 +01:00
Fabio Manganiello 8a7f783032 Support for list args type in requests 2020-10-28 23:18:55 +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 8279f22940 Bump version: 0.13.6 → 0.13.7 2020-10-13 23:26:13 +02:00
Fabio Manganiello 1c84659e34 Support for Python cronjobs in scripts folder - closes #156 2020-10-13 23:25:27 +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 9b23ab7015 Only stop the loop if it is set 2020-09-30 13:53:32 +02:00
Fabio Manganiello 7947c1031d More robust frontend reaction in case of race conditions on player state events 2020-09-29 15:58:23 +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 f3a9dc4ef5 Added navigator icon for media.gstreamer plugin 2020-09-29 15:35:29 +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 f2a654bdec Reset camera.android.ipcam stylesheet 2020-09-27 19:47:21 +02:00
Fabio Manganiello d92e630314 Bump version: 0.13.5 → 0.13.6 2020-09-27 17:20:51 +02:00
Fabio Manganiello 07336d3272 Fixed login redirect page [closes #154] 2020-09-27 17:20:14 +02:00
Fabio Manganiello 959cc8b75b Added navigator icon for ffmpeg camera 2020-09-27 17:09:52 +02:00
Fabio Manganiello df1e03f0af Added FFmpeg camera plugin [relates to #150] 2020-09-27 12:52:07 +02:00
Fabio Manganiello b21193dc74 Added camera.ffmpeg plugin web panel 2020-09-27 03:09:14 +02:00
Fabio Manganiello 9ad6188b5d New js file for camera.pi plugin 2020-09-27 02:52:20 +02:00
Fabio Manganiello 31f2c5152c New template file for camera.pi 2020-09-27 02:47:38 +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 0af326fa11 Refactored inotify backend 2020-09-09 02:16:13 +02:00
Fabio Manganiello beeb7dca7c Removed unneeded import 2020-09-09 02:15:52 +02:00
Fabio Manganiello 1e972ded99 More robust logic on the bus in case the message failed to parse (prevents the application from crashing) 2020-09-09 02:15:35 +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 9623752e19 Fixed module name typo 2020-09-08 17:57: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 ac02becba8 Switched RSS HTML digests style to inline CSS for better client cross-compatibility and added docstring to RssUpdates 2020-09-05 16:54:08 +02:00
Fabio Manganiello 13642cc42e Possibility to customize the CSS in the generated RSS digests 2020-09-05 01:48:28 +02:00
Fabio Manganiello d6f653d834 Using named arguments for formatting the parsed content of a feed 2020-09-05 01:43:33 +02:00
Fabio Manganiello dc254d6474 Also include the link in an RSS feed digest 2020-09-05 01:39:16 +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 e9d4ed3911 Added more source fields to the RSS NewFeedEvent 2020-09-05 00:50:04 +02:00
Fabio Manganiello 2ceb3511b3 More robust websocket retry handler for Todoist 2020-09-04 22:59:23 +02:00
Fabio Manganiello d27b23ec5a Bump version: 0.13.4 → 0.13.5 2020-09-03 17:17:47 +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 737c135996 More robust logic to pass procedures to the index.html template 2020-08-31 21:32:00 +02:00
Fabio Manganiello edd2235cbc Removed old reference to __plugins__ in kodi.js - using `inspect.get_config` endpoint instead. 2020-08-31 18:31:15 +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 d7c3ad64f5 Use default MQTT settings for MQTT listeners if not provided 2020-08-27 17:16:33 +02:00
Fabio Manganiello ca0c4e3089 Don't overwrite the client variable within the same scope 2020-08-27 16:59:35 +02:00
Fabio Manganiello beceb39b0c Added client_id in MQTT integrations 2020-08-27 16:41:51 +02:00
Fabio Manganiello 9f1128e2c0 typo fix 2020-08-27 16:30:18 +02:00
Fabio Manganiello e77e5bb3d8 Only expand paths if set 2020-08-27 16:29:21 +02:00
Fabio Manganiello 0d182820e8 expanduser for TLS files in MQTT listeners 2020-08-27 16:25:52 +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 43ef4bccdf LINT fixes 2020-08-22 14:31:00 +02:00
Fabio Manganiello fa0a5805be LINT fixes 2020-08-22 14:25:31 +02:00
Fabio Manganiello bf92d66be1 Bump version: 0.13.3 → 0.13.4 2020-08-22 14:08:14 +02:00
Fabio Manganiello a9509fc959 Pass the repo reference to the Github event 2020-08-22 12:25:55 +02:00
Fabio Manganiello 2dc8fe9437 Added Github backend [closes #95] 2020-08-22 12:09:24 +02:00
Fabio Manganiello a0d97c0f18 service_type and service_name are actually needed even if empty 2020-08-20 00:48:01 +02:00
Fabio Manganiello d8f7b15111 Post ZeroconfServiceRemovedEvent also if the zeroconf_info object has already been deallocated 2020-08-20 00:40:02 +02:00
Fabio Manganiello ddedcd647c The Zeroconf object might already be closed after unregister_service 2020-08-20 00:37:39 +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 403076e6ab Fixed method name 2020-08-19 23:56:23 +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 5302d3143e Better reconnection logic for mopidy backend 2020-08-19 20:23:33 +02:00
Fabio Manganiello 4b86b8ef54 Fixed ndef submodules import 2020-08-17 17:16:53 +02:00
Fabio Manganiello 62e5d03931 Matching new ndef naming conventions 2020-08-17 17:10:28 +02:00
Fabio Manganiello 9c52d96c08 Bump version: 0.13.2 → 0.13.3 2020-08-16 02:01:41 +02:00
Fabio Manganiello 0659996c48 Added DBus integration [closes #141] 2020-08-16 01:57:30 +02:00
Fabio Manganiello af2dbf899d Importing Zeroconf inside of the method to prevent Travic-CI from breaking because of module not found 2020-08-14 20:53:20 +02:00
Fabio Manganiello 20b095232d Support for extended information in zeroconf.discover_service 2020-08-14 15:52:24 +02:00
Fabio Manganiello f35bacaae5 Bump version: 0.13.1 → 0.13.2 2020-08-14 02:02:29 +02:00
Fabio Manganiello c057cd13fd python-zeroconf has introduced too many breaking changes - giving up. 2020-08-14 02:01:31 +02:00
Fabio Manganiello b79fd4e25d Bump version: 0.13.0 → 0.13.1 2020-08-14 00:37:39 +02:00
Fabio Manganiello 7e8bef40cd Added Zeroconf integration [closes #105] 2020-08-14 00:36:39 +02:00
Fabio Manganiello dc5afebd27 Bump version: 0.12.10 → 0.13.0 2020-08-12 00:59:04 +02:00
Fabio Manganiello 6b43a5e592 Added luma.oled display support 2020-08-11 14:48:14 +02:00
Fabio Manganiello d3e52ba944 Backends should be started with daemon=True 2020-08-01 17:20:46 +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 20e67ffc93 Bump version: 0.12.9 → 0.12.10 2020-07-20 00:20:19 +02:00
Fabio Manganiello a6730d5252 Added generated CSS folder (prevents pyScss dependencies for binary builds) 2020-07-19 22:41:37 +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 1e15bb5606 Changed favicon 2020-07-01 01:08:31 +02:00
Fabio Manganiello b32232b46e Prevent a tight loop in HttpPoll if one of the requests fails 2020-07-01 00:53:23 +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 526bca847b Bump version: 0.12.8 → 0.12.9 2020-06-08 00:38:04 +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 6ba92e7fdd Added missing doc line 2020-05-23 23:12:45 +02:00
Fabio Manganiello 82a9aa1232 Added clipboard backend 2020-05-23 23:11:42 +02:00
Fabio Manganiello b5f0e2b4df Bump version: 0.12.7 → 0.12.8 2020-05-23 21:39:26 +02:00
Fabio Manganiello 3cdd9e8474 Added SSH plugin [closes #136] 2020-05-23 21:38:22 +02:00
Fabio Manganiello f20cb4df5b No need to override background-color in main for dashboard 2020-05-23 12:26:45 +02:00
Fabio Manganiello 97343e97de background-image for dashboard CSS 2020-05-23 12:22:56 +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 98ced4b4e4 Don't push a ZwaveNetworkStoppedEvent directly to the event_queue - the object type is incompatible 2020-05-22 11:54:19 +02:00
Fabio Manganiello d6b509e98a Replaced fullscreen auto logic with button toggle 2020-05-20 16:15:08 +02:00
Fabio Manganiello 82162c3c5e Apply fullscreen to document.documentElement instead of getting the body 2020-05-20 15:58:28 +02:00
Fabio Manganiello 7e0a91d839 Portable implementation of fullscreen JS methods 2020-05-20 15:47:17 +02:00
Fabio Manganiello e44dfbc169 Added fullscreen support in webpanel and dashboard 2020-05-20 15:29:49 +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 0c10825d2e Bump version: 0.12.6 → 0.12.7 2020-05-17 12:56:36 +02:00
Fabio Manganiello 51f99026ac The network object isn't always available on a ZWave event 2020-05-17 12:56:01 +02:00
Fabio Manganiello aa66b81b7b Fixed webhook event management 2020-05-09 01:47:12 +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 07299e49e7 Bump version: 0.12.5 → 0.12.6 2020-05-03 18:10:25 +02: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 1cf93199d0 Adaptive dashboard widget height 2020-05-01 15:03:13 +02:00
Fabio Manganiello 1d24c878e6 Use both country and country_code on the event 2020-05-01 00:03:55 +02:00
Fabio Manganiello a387b84623 Don't swallow the exception if something goes wrong in a Python hook 2020-04-30 23:55:28 +02:00
Fabio Manganiello 9d0f43707a Support for list of countries 2020-04-30 22:45:04 +02:00
Fabio Manganiello 77e302cd4b Using session.merge instead of session.add to handle insert/update logic 2020-04-30 00:59:33 +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 42d29ca1f6 LINT fixes 2020-04-23 18:33:57 +02:00
Fabio Manganiello 8440320031 Don't swallow the stack trace in backend.http.request if a request fails 2020-04-22 23:46:05 +00:00
Fabio Manganiello 01ce9284a1 Bump version: 0.12.4 → 0.12.5 2020-04-12 22:56:33 +02:00
Fabio Manganiello f7d644c32d get_procedures() can now return Python function objects as well.
This means that the JSON encoder must act accordingly and parse
the function object into an encodable string.
2020-04-12 22:56:12 +02:00
Fabio Manganiello 124269776d Support for procedure imports from scripts base module 2020-04-10 20:59:32 +02:00
Fabio Manganiello 25ea0ea77c Included scripts_dir parent dir on sys.path so scripts can import members through the "scripts" package 2020-04-10 00:40:46 +02:00
Fabio Manganiello 0cd28f7499 If the response contains errors in run() then raise a RuntimeError, otherwise return the output instead of the Response object 2020-04-10 00:06:36 +02:00
Fabio Manganiello 7b79e4b669 Support for multiple positional arguments on utils.run() 2020-04-09 23:50:08 +02:00
Fabio Manganiello ca718d0748 Bump version: 0.12.3 → 0.12.4 2020-04-09 00:15:08 +02:00
Fabio Manganiello d46385687f Support for event filter on functional hook 2020-04-09 00:09:36 +02:00
Fabio Manganiello 0dae03551f Implemented interface for custom Python scripts, procedures and hooks [closes #131] 2020-04-08 23:22:54 +02:00
Fabio Manganiello b490344632 Fixed missing static_folder issue on settings page and JS document race condition 2020-03-29 13:47:22 +02:00
Fabio Manganiello 13c25f94d5 Better fix for the calendar widget font size 2020-03-24 17:23:48 +01:00
Fabio Manganiello 9e32f1fb42 Tweaked font-size for upcoming event and other events in calendar widget 2020-03-24 17:14:13 +01:00
Fabio Manganiello a388e8dd83 Reduced font-size for calendar events to prevent overflow on smaller screens 2020-03-24 17:06:14 +01:00
Fabio Manganiello 03968928e7 Don't do QRcode plugin base imports, or the web app may fail if the dependencies are not installed 2020-03-24 10:29:22 +01: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 4ece49bfe7 Added missing string format parameter 2020-03-24 09:11:07 +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 41ccf3e5dc Bump version: 0.12.2 → 0.12.3 2020-03-23 01:19:49 +01:00
Fabio Manganiello 0f099158cc Bump version: 0.12.1 → 0.12.2 2020-03-23 01:15:54 +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 f2b3000922 Handle numpy types in the JSON message encoder 2020-03-14 18:35:45 +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
Fabio Manganiello c26d456109 Added Linode integration [closes #116] 2020-03-09 21:34:06 +01:00
Fabio Manganiello 096f84c865 Added OTP integration [closes #118] 2020-03-09 01:11:23 +01:00
Fabio Manganiello fc7982378a The bluetooth BLE plugin must also implement get_measurement to work with the scanner backend 2020-03-08 23:50:23 +01:00
Fabio Manganiello 59e3f81202 Added bluetooth scanner backends [closes #112] 2020-03-08 23:37:57 +01:00
Fabio Manganiello 535b2ec083 Changed mpd filter to dict on the frontend as well 2020-03-08 13:07:35 +01:00
Fabio Manganiello 42c5bbe0e4 Fixed LINT warnings and changed MPD filter format (from list to dict) 2020-03-08 13:04:00 +01:00
Fabio Manganiello ed02505dce Bump version: 0.12.0 → 0.12.1 2020-03-07 20:37:41 +01:00
Fabio Manganiello 642d5117a1 Added note about the license for PicoVoice Cheetah 2020-03-07 20:28:42 +01:00
Fabio Manganiello ce0f3227ec Implemented PicoVoice speech-to-text integration [closes #130] 2020-03-07 20:21:32 +01:00
Fabio Manganiello a5c08ed3e4 Added PicoVoice plugin with support for hotwords [see #130] 2020-03-07 02:00:35 +01:00
Fabio Manganiello e04c6fb921 Extracted common logic for speech-to-text integrations into abstract STT plugin 2020-03-06 23:11:19 +01:00
Fabio Manganiello 7ed847b646 Removed __future__ annotations (it breaks readthedocs build) 2020-03-06 00:53:24 +01:00
Fabio Manganiello b0339754b2 Implemented Mozilla DeepSpeech speech-to-text integration [closes #126] 2020-03-06 00:38:24 +01:00
Fabio Manganiello fc949ed9f1 Skip base Response type 2020-03-05 23:19:26 +01:00
Fabio Manganiello 27f847eac6 Support for is_muted/toggle_muted on Google assistant 2020-03-05 18:13:44 +01:00
Fabio Manganiello 124d2e356d Support for mic muted/unmuted event in Google assistant 2020-03-05 18:03:05 +01:00
Fabio Manganiello e66c02f3de Added documentation for response objects as well 2020-03-05 17:41:26 +01:00
Fabio Manganiello 5504048c22 Don't iterate on data if data is None 2020-02-26 11:33:50 +01:00
Fabio Manganiello 6e93c03438 Set success=True when we're able to retrieve data from the sensor 2020-02-26 11:27:34 +01:00
Fabio Manganiello cb0dd900ab Don't overwrite the original byte read from serial 2020-02-26 11:22:52 +01:00
Fabio Manganiello a9cb834499 Be more robust in case we receive non-Unicode characters on the serial port 2020-02-26 11:19:59 +01:00
Fabio Manganiello 52a13f0511 Implemented retry mechanism in sensor backend 2020-02-26 11:12:46 +01:00
Fabio Manganiello 76800e00b1 Use the right handlers for Zigbee network online/offline events 2020-02-25 18:38:44 +01:00
Fabio Manganiello f74c44c7fb There can be many Zigbee property set events; don't trigger a full refresh on all of them and only update the impacted devices instead 2020-02-25 18:13:11 +01:00
Fabio Manganiello 87a51b391c Support for custom TTS engine for rendering assistant response (see #86) 2020-02-24 20:23:22 +01:00
Fabio Manganiello 40a29a8214 fire_event could also be called by an external web server or service with no access to the bus. Therefore don't fail hard if the bus is not available 2020-02-24 17:17:36 +01:00
Fabio Manganiello ce66e0c855 Bump version: 0.11.5 → 0.12.0 2020-02-23 23:33:32 +01:00
Fabio Manganiello fb17aafe53 Support for custom audio volume for alarms 2020-02-23 23:09:40 +01:00
Fabio Manganiello 2d3c61173d Added Zigbee web panel (closes #123) 2020-02-23 22:54:50 +01:00
Fabio Manganiello 0643b7fade Support for intervals in seconds on alarm add/set 2020-02-22 16:18:56 +01:00
Fabio Manganiello f8f3d2e310 Show default node number instead of empty string if name is not set 2020-02-22 01:10:36 +01:00
Fabio Manganiello 424077fdbc Completed ZWave web panel (see #123) 2020-02-22 01:00:52 +01:00
Fabio Manganiello a9dbda455f Support for default media player volume 2020-02-21 18:40:46 +01:00
Fabio Manganiello 70fe2459de _event_callbacks is a protected attribute of mpv.MPV 2020-02-21 18:29:40 +01:00
Fabio Manganiello 9ee81d7999 Removed header from documentation - pydoc can't handle headers in methods 2020-02-21 18:20:38 +01:00
Fabio Manganiello 98727c4f31 Added support for values in Z-Wave web panel (see #123) 2020-02-20 02:34:35 +01:00