Commit Graph

716 Commits

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