Commit Graph

582 Commits

Author SHA1 Message Date
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