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
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
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
6aa13a10cb
Initialize the animation groups map only if groups was specified
2019-11-03 14:45:03 +01: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
fd10b2260c
Changed PopcornTime endpoints
2019-09-29 10:31:00 +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
Fabio Manganiello
d7dc74beed
Added web plugin for mlx90640 infrared camera
2019-09-26 11:15:18 +02:00
Fabio Manganiello
c6384b3b65
Expand rawrgb_path to support relative paths and user prefix
2019-09-25 16:02:35 +02:00
Fabio Manganiello
755c8b52ec
Extended features of MLX90640 infrared camera plugin
2019-09-25 15:36:56 +02:00
Fabio Manganiello
d1d842ae95
Added MLX90640 infrared camera plugin
2019-09-25 10:40:57 +02:00
Fabio Manganiello
d96a218c56
LINT warnings fix
2019-09-24 23:21:19 +02:00
Fabio Manganiello
876a07d2c8
Keep measurements in a loop until we get a valid data point
2019-09-24 10:00:56 +02:00
Fabio Manganiello
0fe255436e
Don't fail hard if the seconds key is not in the map
2019-09-24 01:20:14 +02:00
Fabio Manganiello
d21fd64100
Added motion_events_per_sec measurement
2019-09-24 01:17:13 +02:00
Fabio Manganiello
ff1fe3058b
Don't fail hard in case of temporary sensor glitches
2019-09-24 01:01:06 +02:00
Fabio Manganiello
d6de1189e5
Simplified motion sensor interface by removing unneeded absolute vector
2019-09-24 00:13:02 +02:00
Fabio Manganiello
63d222d2ee
Slot enum mapping fix
2019-09-23 23:48:26 +02:00
Fabio Manganiello
7e92f59d44
Added PWM3901 optical motion/flow sensor plugin
2019-09-23 23:28:33 +02:00
Fabio Manganiello
a580cc93eb
Added draft for Dropbox plugin
2019-09-13 10:18:54 +00:00
Fabio Manganiello
a43508a743
Do not import cv2 in camera.__init__ unless we specify a video_type that needs to be expanded. Otherwise we introduce the OpenCV dependency also for the camera.pi plugin
2019-09-10 00:21:11 +02:00
Fabio Manganiello
e9c7104242
Keep track of the newly inserted token records in media.local.search, or we can experience UniqueConstraint violations upon session commit because of duplicate records
2019-09-02 23:05:16 +02:00
Fabio Manganiello
1dca11c0be
HTTP headers should always be an argument of the Request object
2019-09-02 01:17:52 +02:00
Fabio Manganiello
e673b3e0c7
search_* methods can't be static
2019-09-02 01:12:43 +02:00
Fabio Manganiello
86d38b421a
Added headers in torrent API requests
2019-09-02 01:10:22 +02:00
Fabio Manganiello
7bf4284f7b
Typo in keyword name
2019-09-02 01:00:38 +02:00
Fabio Manganiello
7bbaaba767
Refactored torrents plugin
2019-09-02 00:53:09 +02:00
Fabio Manganiello
b9360cf2c5
camera.close() should be in a finally block to make sure that we don't
...
run out of resources because of failed camera initializations
2019-08-25 16:51:10 +02:00
Fabio Manganiello
69a03fa025
Do wait_recording until the client disconnects
2019-08-17 00:27:19 +02:00
Fabio Manganiello
b599c622c4
_get_camera should first verify both that camera is not null and not
...
closed before returning the cached object
2019-08-16 19:15:00 +02:00
Fabio Manganiello
3c675b296f
Don't propagate the exception if stop_preview failed
2019-08-16 18:49:15 +02:00
Fabio Manganiello
6465a6f282
Added start/stop preview camera actions
2019-08-16 18:38:04 +02:00
Fabio Manganiello
c93af07333
Close camera preview after taking a picture or a sequence
2019-08-16 18:30:49 +02:00
Fabio Manganiello
284ec129d9
Lint fixes
2019-08-16 18:18:55 +02:00
Fabio Manganiello
7fd5f5c4f8
Proper synchronization with client connections and stop_streaming condition in the streaming thread
2019-08-16 17:49:15 +02:00
Fabio Manganiello
190ab15a76
Fixed camera.pi plugin
2019-08-16 12:24:42 +02:00
Fabio Manganiello
b153d212e3
New picamera plugin
2019-08-16 11:11:45 +02:00
Fabio Manganiello
59d976d681
Start ranging only with one setting (to get more accurate measurements once the sensor has warmed up) and configure it only at sensor startup
2019-08-15 15:20:49 +02:00
Fabio Manganiello
dccd3fd3d4
Don't open the device and leave it open on each measurement, or the backend will fail with 'Too many open files' at some point
2019-08-15 13:06:31 +02:00
Fabio Manganiello
8396c82d56
Typo in import name
2019-08-15 00:35:17 +02:00
Fabio Manganiello
b15dff0a24
Class name typo
2019-08-15 00:30:42 +02:00
Fabio Manganiello
e60660b0e6
Added plugin and backend for VL53L1X laser ranger/distance sensor
2019-08-15 00:26:25 +02:00
Fabio Manganiello
e7448d90d6
Trigger a ConversationStartedEvent before initializing the assistant object
2019-08-14 21:46:31 +02:00
Fabio Manganiello
19dc96ff1c
Added LTR559 sensor plugin and backend
2019-08-14 21:27:25 +02:00
Fabio Manganiello
80f969cfce
The BME280 sensor also supports altitude
2019-08-14 21:03:27 +02:00
Fabio Manganiello
8bf5076334
FIX we should return device from _get_device
2019-08-14 20:52:27 +02:00
Fabio Manganiello
693b38ef51
Cache the BME280 object instead of initializing it on each get_measurement call
...
The BME280 needs some warmup time before picking up the results.
2019-08-14 20:50:14 +02:00
Fabio Manganiello
757e0ff9bf
Refactored SensorBackend and derived classes and added BME280 sensor
...
plugin and backend
2019-08-14 19:49:19 +02:00
Fabio Manganiello
228e656da8
Only import cv2 in the methods that require it (prevents camera.pi
...
and other camera derived plugins from failing if OpenCV is not installed)
2019-08-07 09:43:40 +02:00
Fabio Manganiello
fa9b816d06
Return the parsed raw YouTube URL only if available, otherwise the original URL
2019-08-04 17:36:06 +02:00
Fabio Manganiello
aebeadbcf7
args can be either a list or a tuple - treat accordingly
2019-08-04 17:17:09 +02:00
Fabio Manganiello
3a5a731bd2
pause and then play omxplayer in the play handler to make sure that all the proper events are generated upon play
2019-08-04 16:50:38 +02:00
Fabio Manganiello
f06a851b61
Accelerometer and magnometer reads should be dict not set
2019-08-01 23:23:19 +02:00
Fabio Manganiello
bdadd2061c
Added EnviropHAT support
2019-08-01 22:40:41 +02:00
Fabio Manganiello
dcb4a36959
Replaced os.environ['HOME'] with os.path.expanduser('~') (Windows compatibility)
...
Solves #74
2019-07-29 00:03:01 +02:00
Fabio Manganiello
0ab70cdbae
Kodi Application.SetVolume() expects an integer or a string, not a float
2019-07-25 23:54:32 +02:00
Fabio Manganiello
1f2f293778
Redirect mercury-parser.js stderr to stdout. Moreover, if an error occurs while parsing a link from an RSS feed we should report the link that raised the error, not the URL of the parent feed
2019-07-25 16:34:00 +00:00
Fabio Manganiello
83db3f770c
Don't generate HTML/CSS wrapper for the content unless the output is a
...
destination file (HTML/PDF).
2019-07-25 18:08:30 +02:00
Fabio Manganiello
beef06fad2
Log exception and parser output if it returns invalid JSON
2019-07-24 23:31:27 +00:00
Fabio Manganiello
5293f5b203
#73 : Implemented wrapper plugin for the new Node.js mercury-parser.
...
As the Mercury reader web API is deprecated, and the only available
implementation is the open source mercury-parser, node, npm and
@postlight/mercury-parser have to be added as dependencies for the
http.webpage plugin (or at least for the `simplify` action).
2019-07-24 19:02:53 +02:00
Fabio Manganiello
43ca3a6f94
Added support for streaming audio from an input source over HTTP
2019-07-23 18:22:00 +02:00
Fabio Manganiello
5c3d32d05d
Fixed undefined reference
2019-07-19 13:50:01 +02:00
Fabio Manganiello
f86e2eb5a7
Implemented settings page and finalized multi-user support
2019-07-19 00:50:52 +02:00
Fabio Manganiello
ca030b06e0
Added support (not working yet) for custom Google device actions and events
2019-07-17 14:56:04 +02:00
Fabio Manganiello
008fce70fa
Replaced references to in pydoc with format, as doesn't seem to work in RTD
2019-07-16 23:00:20 +02:00
Fabio Manganiello
cc61032bec
Fixes for readthedocs build
2019-07-16 22:38:42 +02:00
Fabio Manganiello
95b5820783
Fixes for readthedocs build
2019-07-16 22:29:23 +02:00
Fabio Manganiello
9c4646bed5
Fixed documentation and added missing docs to the index
2019-07-16 20:28:00 +02:00
Fabio Manganiello
4e8235a649
More robust logic to handle temporary database connection errors through retry mechanism
2019-07-16 16:40:56 +02:00
Fabio Manganiello
1c1ecc18df
Support for multi-users and authentication for HTTP pages
2019-07-15 14:12:00 +02:00
Fabio Manganiello
674c164fc1
Fixed pylint warnings
2019-07-13 22:36:45 +02:00
Fabio Manganiello
55cd937a51
Made OMXPlayer plugin more resiliant in the case where the player has already terminated
2019-07-13 22:12:56 +02:00
Fabio Manganiello
0b05d7d8de
pylint warnings fixed
2019-07-13 18:25:42 +02:00
Fabio Manganiello
8b2c6d333e
Lint warnings fixed
2019-07-13 14:22:43 +02:00
Fabio Manganiello
654c61ec51
Standardized omxplayer returned attributes and volume management
2019-07-12 20:12:59 +02:00
Fabio Manganiello
50313580fd
Catch PortAudio exception in case of race conditions on closed streams and re-initialize the assistant object when they occur
2019-07-12 18:19:32 +02:00
Fabio Manganiello
bb3a39acb9
Better synchronization mechanism between push-to-talk and platypush when an event is matched and no assistant playback should follow up
2019-07-12 18:11:14 +02:00
Fabio Manganiello
8d660f27d4
Support for multiple hotwords, configurations and assistant languages in Snowboy backend
2019-07-12 14:53:12 +02:00
Fabio Manganiello
6769707580
Stop assistant interaction if a phrase match is found
2019-07-12 09:37:37 +02:00
Fabio Manganiello
402baee48e
typo
2019-07-12 00:56:18 +02:00
Fabio Manganiello
5766367402
Rewritten snowboy and Google push-to-talk plugins to make them a better replacement for the deprecated google-assistant-library
2019-07-11 22:54:33 +02:00
Fabio Manganiello
09165ca0ff
Dashboard rewritten in vue.js
2019-07-07 20:11:32 +02:00
Fabio Manganiello
1eae45805d
Added new sensors plugin to webpanel
2019-07-02 14:04:25 +02:00
Fabio Manganiello
b932df1c12
Added switch tab to the new web panel
2019-07-02 12:02:28 +02:00
Fabio Manganiello
26ee3fc75c
Changed nav bar text to icons
2019-07-01 22:26:04 +02:00
Fabio Manganiello
277d6ec271
Added torrent support in new webplayer
2019-07-01 19:32:22 +02:00
Fabio Manganiello
c78789e644
Added Kodi support to new media webplayer
2019-06-29 00:06:03 +02:00
Fabio Manganiello
f86eeef549
New media webplugin WIP
2019-06-27 23:52:40 +02:00
Fabio Manganiello
70bba5fc96
Support for browser webplayer and subtitles in new webplugin
2019-06-26 11:05:16 +02:00
Fabio Manganiello
e55735f409
Added YouTube support to new media webplugin
2019-06-25 22:46:25 +02:00
Fabio Manganiello
cf23e2fc72
Support for subtitles in new media webplugin - WIP
2019-06-25 00:48:00 +02:00
Fabio Manganiello
17de2a194c
Removed comment
2019-06-24 01:04:52 +02:00
Fabio Manganiello
9305f86d0c
New media webplugin WIP
2019-06-24 01:01:08 +02:00
Fabio Manganiello
ba800ef8e2
Normalized all local players so that they handle events and return statuses in the same format
2019-06-23 02:16:20 +02:00
Fabio Manganiello
482f6f0765
New media webplugin WIP
2019-06-22 00:15:32 +02:00
Fabio Manganiello
4cd2e6949f
New media webplugin WIP
2019-06-21 02:13:14 +02:00
Fabio Manganiello
9805ed0479
Merge branch 'master' into vuejs
2019-06-18 18:31:11 +02:00
Fabio Manganiello
f108157a8a
Fixed inconsistencies/warnings in calendar plugins
2019-06-18 18:30:43 +02:00
Fabio Manganiello
ecd41a1f41
New media webplugin WIP
2019-06-18 18:14:48 +02:00
Fabio Manganiello
e5d7334662
New media webplugin WIP
2019-06-16 21:45:21 +02:00
Fabio Manganiello
076d766745
New TTS webpanel plugins
2019-06-11 11:53:15 +02:00
Fabio Manganiello
b7a625097d
Added playlist editor in music.mpd web panel
2019-06-07 23:07:36 +02:00
Fabio Manganiello
1ad72a2695
Implemented support for adding tracks to playlists
2019-06-07 17:17:58 +02:00
Fabio Manganiello
611a137ff6
music.mpd vue.js refactoring WIP: Implemented playlist track move feature
2019-06-04 15:59:07 +02:00
Fabio Manganiello
85bdd54f7e
music.mpd vue.js refactoring WIP
2019-06-03 23:37:19 +02:00
Fabio Manganiello
e1ddf7bb3b
music.mpd vue.js refactoring WIP
2019-06-02 00:54:49 +02:00
Fabio Manganiello
7a74b83c76
music.mpd plugin vue.js refactoring - WIP
2019-05-30 02:07:28 +02:00
Fabio Manganiello
01b111f436
Webpanel refactoring in progress
2019-05-28 19:16:55 +02:00
Fabio Manganiello
5041d8bec2
whiteline PEP fix
2019-05-28 19:16:55 +02:00
Fabio Manganiello
f053aa455d
PEP fixes for light.hue plugin and new methods xy and ct added
2019-05-28 19:16:55 +02:00
Fabio Manganiello
7ea65cf90e
One more url fix
2019-04-24 23:57:11 +02:00
Fabio Manganiello
5ed4b10de3
Fixed torrent search URLs
2019-04-24 23:53:20 +02:00
Fabio Manganiello
d2f4ec44c3
Support for searching all the torrent categories in parallel if no categories is provided
2019-04-24 23:45:57 +02:00
Fabio Manganiello
2bcc22e0fc
Refactored torrent search
2019-04-24 23:25:25 +02:00
Fabio Manganiello
9f3f6c9caa
Log URL being parsed
2019-04-13 08:17:45 +00:00
Fabio Manganiello
3dd47260d6
Raise runtime error if mercury API responds with empty response
2019-04-13 08:15:08 +00:00
Fabio Manganiello
8553a8eeb5
typo
2019-04-13 08:10:35 +00:00
Fabio Manganiello
72f179cb7e
typo
2019-04-13 08:08:20 +00:00
Fabio Manganiello
1ea6041dfa
Log response from Mercury API
2019-04-13 08:06:40 +00:00
Fabio Manganiello
611e5f2160
Set default title with timestamp if no title is provided by the Instapaper API
2019-04-13 08:03:42 +00:00
Fabio Manganiello
c55deab6cb
Support for authentication in HTTP plugin methods
2019-04-11 16:21:39 +02:00
Fabio Manganiello
12fefaa220
Improved generated pdf font size and family
2019-03-30 14:08:04 +01:00
Fabio Manganiello
24ec35e5b3
Increased font size in generated pdf
2019-03-30 12:41:02 +01:00
Fabio Manganiello
3ca6e75634
Added font style to generated pdf
2019-03-30 12:25:19 +01:00
Fabio Manganiello
b8e9adadbe
Added plugin to parse web pages
2019-03-29 03:57:19 +01:00
Fabio Manganiello
20b0c09a0c
Removed workaround that doesn't work
2019-03-20 18:37:49 +01:00
Fabio Manganiello
eb40024c53
Only initalize credentials map in Google plugins if some scopes are required
2019-03-18 01:06:10 +01:00
Fabio Manganiello
8b89166e30
Fixed typo in SSL variable name
2019-03-18 00:16:54 +01:00
Fabio Manganiello
cbe4d8cd78
Delete recording thread item from map only if the thread has actually stopped
2019-03-17 22:55:36 +01:00
Fabio Manganiello
81a200bd4e
Make sure that device_id is in _is_recording and hasn't been removed by another thread before checking it
2019-03-17 02:16:43 +01:00
Fabio Manganiello
f95f52df19
Few fixes in camera plugin
2019-03-17 02:06:47 +01:00
Fabio Manganiello
9ed4ad6d85
Set workaround environment variable before importing OpenCV
2019-03-17 01:56:05 +01:00
Fabio Manganiello
3af30075e3
Temporarily workaround for OpenCV >= 3.4.2 bug that doesn't properly release the video device
2019-03-17 01:26:06 +01:00
Fabio Manganiello
5942a7cd84
Removed unused imports
2019-03-17 00:56:32 +01:00
Fabio Manganiello
87d63d7cb3
Added Google Fit backend
2019-03-16 01:22:42 +01:00
Fabio Manganiello
55c0896b31
Refactored Google plugins with support multiple scopes and a simpler API and added Google Fit plugin
2019-03-14 01:12:39 +01:00
Fabio Manganiello
0596d77403
Support for camera snapshot and stream endpoints and for disabling logging on response and event messages
2019-03-06 02:01:17 +01:00
Fabio Manganiello
dcb0555571
Returing the best option for torrents based on max peers/seeds and
...
returning more metadata info on torrent.search
2019-03-05 00:10:06 +01:00
Fabio Manganiello
771da4528b
Reverted the revert
2019-02-28 18:57:22 +01:00