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
42c5bbe0e4
Fixed LINT warnings and changed MPD filter format (from list to dict)
2020-03-08 13:04:00 +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
e66c02f3de
Added documentation for response objects as well
2020-03-05 17:41:26 +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
87a51b391c
Support for custom TTS engine for rendering assistant response (see #86 )
2020-02-24 20:23:22 +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
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
Fabio Manganiello
a0ceb560b4
Implemented alarm/timer plugin ( closes #111 )
2020-02-17 19:37:22 +01:00
Fabio Manganiello
8248b5353f
Added status action to MediaPlugin interface
2020-02-17 18:12:40 +01:00
Fabio Manganiello
fcef7af6a4
Adding Z-Wave web panel ( #123 ) [WIP]
2020-02-10 00:39:32 +01:00
Fabio Manganiello
02246a48ae
Added Z-Wave integration ( closes #76 )
2020-02-05 22:26:52 +01:00
Fabio Manganiello
8255f9af28
Added zigbee2mqtt integration (see #76 )
2020-01-22 18:34:28 +01:00
Fabio Manganiello
f91fd00067
Removed old comment note for esp.file_download
2020-01-20 15:41:24 +01:00
Fabio Manganiello
b484fcf9ed
- New implementation of esp.file_get that also works with binary files
...
- New communication protocol for downloaded chunks based on queues
instead of events.
2020-01-20 15:39:23 +01:00
Fabio Manganiello
4b56431e2a
Added proper support for ESP file upload/download ( closes #110 )
2020-01-20 11:47:10 +01:00
Fabio Manganiello
b7d9917d1d
Cleaned up unused variables
2020-01-20 08:54:59 +01:00
Fabio Manganiello
f38121d176
Always pause/resume speech detection on backend level
2020-01-19 16:32:41 +01:00
Fabio Manganiello
6c797b0ad9
Implemented support for assistant pause/resume conversation ( closes #109 )
2020-01-19 16:21:29 +01:00
Fabio Manganiello
5ae57e3aaf
Added action to retrieve temperature and pressure from a DHT11/DHT22 sensor on ESP plugin
2020-01-18 20:15:31 +01:00
Fabio Manganiello
4e45c1d0bc
Removed font-awesome full submodule clone. Use the CDN-provided all.css file instead.
...
It won't work if the webapp runs on a device not connected to the internet,
but it saves a lot of installation space.
2020-01-18 19:59:02 +01:00
Fabio Manganiello
2598e2fb30
Replace the \r\n sequence with \n in the processed response
2020-01-18 18:26:23 +01:00
Fabio Manganiello
2f63a861cb
Fixed ESP plugin extra args formatting
2020-01-18 18:11:35 +01:00
Fabio Manganiello
c3c88b23fe
Added ESP8266/ESP32 integration ( closes #108 )
2020-01-17 21:16:14 +01:00
Fabio Manganiello
b920927dab
Added Travis-Ci integration ( closes #104 )
2020-01-12 13:53:46 +01:00
Fabio Manganiello
f5b010c15c
Added nmap integration ( closes #99 )
2020-01-11 18:51:54 +01:00
Fabio Manganiello
b0a5f1e272
Added Foursquare integration - closes #94
2020-01-10 22:51:07 +01:00
Fabio Manganiello
ddbe76646b
Throw an assert error (no reload/retry mechanism) instead of a runtime error when a method is called outside of the registered plugin actions
2020-01-10 00:07:40 +01:00
Fabio Manganiello
4c3140c9b5
Fixed docs
2020-01-09 23:40:59 +01:00
Fabio Manganiello
f2de1015a8
Fixed doc URL
2020-01-09 22:24:15 +01:00
Fabio Manganiello
e709908d7e
Added Google Drive plugin - closes #91
2020-01-09 22:07:03 +01:00
Fabio Manganiello
35cefcc9f5
Improved consistency and robustness of sensors backend
2020-01-08 22:58:24 +01:00
Fabio Manganiello
9d592fe370
Added battery sensor backend
2020-01-08 14:55:58 +01:00
Fabio Manganiello
6738ff832a
get_data/get_measurement/close should be implemented in a base SensorPlugin
...
class, not specifically in GpioSensorPlugin
2020-01-08 00:20:00 +01:00
Fabio Manganiello
aa6bf5379a
Added process management actions
2020-01-08 00:07:15 +01:00
Fabio Manganiello
c53dfab246
Added pid_exists action
2020-01-07 23:03:30 +01:00
Fabio Manganiello
8fe34d541b
Added system monitor integration - closes #98
2020-01-07 22:44:59 +01:00
Fabio Manganiello
3271759fba
Added Pi-hole integration - closes #100
2020-01-06 19:22:04 +01:00
Fabio Manganiello
e880f00498
Added Graphite integration - closes #96
2020-01-06 15:24:52 +01:00
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
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
de429a5b7d
Extended Telegram integration
2020-01-01 20:59:22 +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
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
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
29789461d7
Added Todoist integration
2019-12-25 20:33:26 +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
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
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
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
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
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
f8a709fe98
Improved Pushbullet plugin
2019-12-09 11:00:31 +00: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
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
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
d38746d278
Moved imports for extra dependencies inside the methods where they are actually used
2019-12-01 23:35:05 +01:00
Fabio Manganiello
f537a7785a
typo
2019-12-01 18:23:50 +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
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
Fabio Manganiello
f2bd309478
Regex fix
2019-02-28 18:30:52 +01:00
Fabio Manganiello
12fd582d70
typo
2019-02-28 18:22:50 +01:00
Fabio Manganiello
1b9094a36b
Some hysterical guy has Spotify has decided to change the playlists URI
...
format again in the last couple of months with no notice nor
back-compatibility plan. Normalizing playlist URIs in the new (or
old-old?) format while innerly cursing at the incompetency of Spotify
2019-02-28 16:36:11 +01:00
Fabio Manganiello
65d6e5a5f6
Support for video_type in camera plugin
2019-02-28 01:55:12 +01:00
Fabio Manganiello
a9fb6a38dd
New API for firing events and registering/unregistering event handlers
...
both for plugins and backends
2019-02-28 01:21:25 +01:00
Fabio Manganiello
29b8d0827b
Added basic support for camera events in the camera plugin
2019-02-27 20:12:40 +01:00
Fabio Manganiello
17367f5b3e
Added camera plugin over cv2
2019-02-26 23:50:48 +01:00
Fabio Manganiello
749436c452
Clean up running VLC instance on stop and new media play
2019-02-21 19:24:47 +01:00
Fabio Manganiello
6222747730
typo
2019-02-21 01:49:43 +01:00
Fabio Manganiello
8b08f146a0
Typo on method name
2019-02-21 01:34:09 +01:00
Fabio Manganiello
f9765b4fed
Support for extra arguments passed to VLC
2019-02-21 01:28:51 +01:00
Fabio Manganiello
9e7f84644b
Support for default fullscreen and default volume in VLC
2019-02-21 00:09:02 +01:00
Fabio Manganiello
c4cd93a6da
Added VLC plugin
2019-02-20 17:17:30 +01:00
Fabio Manganiello
b5315032c3
Leverage youtube-dl standard media plugin instead of the mpv internal one
2019-02-19 13:40:18 +01:00
Fabio Manganiello
185aff6be3
Fixed support for subtitles in torrent files and better synchronization between mpv and torrent
2019-02-19 13:13:17 +01:00
Fabio Manganiello
377c963994
Better to react only on mpv shutdown not end_of_file
2019-02-19 11:12:57 +01:00
Fabio Manganiello
dcec3329d4
Trying to fix nasty race condition SHUTDOWN->START_FILE that triggers a spurious MediaStopEvent
2019-02-19 11:09:22 +01:00
Fabio Manganiello
10fa7c1ab1
Trying to fix nasty race condition SHUTDOWN->START_FILE that triggers a spurious MediaStopEvent
2019-02-19 11:08:57 +01:00
Fabio Manganiello
47b92480ff
Trying to fix nasty race condition SHUTDOWN->START_FILE that triggers a spurious MediaStopEvent
2019-02-19 11:06:02 +01:00
Fabio Manganiello
c0513cade9
Handle quick playback 'rebounces' in mpv
2019-02-19 10:56:05 +01:00
Fabio Manganiello
0336427386
mpv received events logged on info instead of debug
2019-02-19 10:47:10 +01:00
Fabio Manganiello
bcb60ed218
Minimum torrent download size before streaming: 10->15 MB
2019-02-19 10:42:51 +01:00
Fabio Manganiello
bc81f9bed6
Only propagate MediaStopEvent on mpv shutdown, not end-of-file
2019-02-19 10:41:40 +01:00
Fabio Manganiello
f71e534860
Added mpv to the supported media plugins on media.webtorrent
2019-02-19 10:31:17 +01:00