Fabio Manganiello
3ce6cf8b41
Just use formatted_address from the Google geocode response instead of considering all the cases of address formatting
2018-05-22 21:43:21 +00:00
Fabio Manganiello
2c7880874d
Logging geocode response
2018-05-22 21:34:06 +00:00
Fabio Manganiello
f4da6ebb1b
Redis plugin added and Redis backend made more robust to work also with single-quoted JSON-like strings returned by the Redis lib
2018-05-22 14:44:17 +00:00
Fabio Manganiello
9923742e74
Prevent plugins from breaking in case of concatenations with None elements
2018-05-14 19:06:11 +02:00
Fabio Manganiello
21ac8d7899
Build the address as street + street_number if they are both available
2018-05-13 20:15:25 +00:00
Fabio Manganiello
6c0dc9a4dc
Added GMaps geocode plugin and geo update event
2018-05-13 21:42:26 +02:00
Fabio Manganiello
d0ca6b8e93
Replaced the YouTube search results parsing logic that relied on BeautifulSoup with a simpler logic that only uses regexes to parse video results. It greatly improves the performance of YouTube video search and removes the dependency on BeautifulSoul and lxml
2018-05-13 14:29:31 +02:00
Fabio Manganiello
d75326bbe8
Added Switchbot web plugin
2018-05-08 17:07:01 +02:00
Fabio Manganiello
598c917eda
Added Switchbot plugin
2018-05-08 15:51:47 +02:00
Fabio Manganiello
b94764436d
Added WeMo switch plugin for web panel
2018-05-08 09:59:43 +02:00
Fabio Manganiello
36c9437172
Added method to get WeMo available devices
2018-05-08 09:14:02 +02:00
Fabio Manganiello
27d5f674c5
Added __init__.py
2018-05-06 00:17:18 +02:00
Fabio Manganiello
e1e4d824ad
- Added web widget for Google Calendar integration
...
- UX improvements on the dashboard
2018-05-05 00:57:41 +02:00
Fabio Manganiello
f6306c6015
Added Google Calendar plugin
2018-05-04 19:20:23 +02:00
Fabio Manganiello
2f8c74c8e3
- Added Pushbullet JS logic to show mirror notifications on web FE
...
- Added JS and CSS files for dashboard and widgets
2018-05-04 17:25:12 +02:00
Fabio Manganiello
d83c2c903f
- Added support for /dashboard page with customizable widgets under the web server
...
- Introduced Redis to pass messages between the Flask process and the
main application. It now syncs messages with the bus and connected websockets
- Added support to programmatically modify dashboard widgets through POST request like Dashing
- Added weather forecast plugin
2018-05-04 03:24:35 +02:00
Fabio Manganiello
ef75339fef
Fixed missing output= argument
2018-04-29 16:38:05 +02:00
Fabio Manganiello
cfe78dfa23
Fixed name clash
2018-04-29 16:19:26 +02:00
Fabio Manganiello
4462f9590f
Forgot an import
2018-04-29 16:18:27 +02:00
Fabio Manganiello
a907c9ad63
Refactored serial, the entry point for querying serial devices should be the serial plugin, the backend should only be a client. Also, if the serial output is a JSON, parse it
2018-04-29 16:14:46 +02:00
Fabio Manganiello
e9425236a9
Removed additional file_name parameter
2018-04-26 15:54:40 +02:00
Fabio Manganiello
7fb0a5bb55
Set download_dir only if specified
2018-04-25 12:03:15 +02:00
Fabio Manganiello
efe4f32409
Implemented torrent search, download and streaming in OMXPlayer plugin
2018-04-25 11:29:03 +02:00
Fabio Manganiello
acd06c2193
Implemented OMXPlayer file search and unified all searches under one method
2018-04-25 00:13:17 +02:00
Fabio Manganiello
77da94769e
Implemented file search method in OMXPlayer plugin
2018-04-24 21:28:42 +02:00
Fabio Manganiello
e5e1270380
Exposed a global context.get_bus() method to allow plugins to send events to the main bus
2018-04-24 20:07:16 +02:00
Fabio Manganiello
9052e18f9c
Commented OMXPlayer handlers initialization part as the plugin object has no access to the bus
2018-04-24 14:56:31 +02:00
Fabio Manganiello
9492243fd5
Transform a [0,100] volume range in the volume range expected by the OMXPlayer API
2018-04-24 14:54:01 +02:00
Fabio Manganiello
dd254b65cb
Implemented YouTube videos search and controls web FE
2018-04-24 14:36:05 +02:00
Fabio Manganiello
c4401b25be
Reload logic on media.ctrl in case the connection with the media plugin has been reset
2018-04-22 23:39:23 +02:00
Fabio Manganiello
60c9c7476e
Fixed a missing parenthesis
2018-04-20 15:20:23 +02:00
Fabio Manganiello
a783efd0d7
Added status method to media.ctrl plugin
2018-04-20 15:18:20 +02:00
Fabio Manganiello
ded4ac3b95
- Introduced a more consistent Enum for managing playing states across different players
...
- media.ctrl can now spot which player is playing and control only the right one
- Extended video.omxplayer plugin methods
2018-04-20 12:17:27 +02:00
Fabio Manganiello
cc506b3340
Final (?) regex fix
2018-04-20 10:04:29 +02:00
Fabio Manganiello
eaec9ac51f
Final (?) regex fix
2018-04-20 10:00:01 +02:00
Fabio Manganiello
8e5a27d74c
Regex fix
2018-04-20 09:52:55 +02:00
Fabio Manganiello
2459506964
Regex typo
2018-04-20 09:41:52 +02:00
Fabio Manganiello
7e119654f9
Retry with the next YouTube video until some of the ones from the search can be played without errors
2018-04-20 09:38:04 +02:00
Fabio Manganiello
4db2f62c17
typo #2
2018-04-20 09:30:19 +02:00
Fabio Manganiello
3f3ec08af2
typo
2018-04-20 09:27:57 +02:00
Fabio Manganiello
6135089d60
Encoding POST data as bytes
2018-04-19 23:46:47 +02:00
Fabio Manganiello
02f6e163bf
Variable typo
2018-04-19 23:42:10 +02:00
Fabio Manganiello
51d6bec51c
Forgot an import
2018-04-19 23:40:49 +02:00
Fabio Manganiello
14aa4f6454
Implemented torrent search
2018-04-19 23:35:19 +02:00
Fabio Manganiello
2fdb8c50da
Added support for video events
2018-04-19 22:42:28 +02:00
Fabio Manganiello
84ab37e44e
Added YouTube search only method
2018-04-19 10:18:46 +02:00
Fabio Manganiello
23095bc18d
Log the YT videos being played/searched
2018-04-19 00:39:59 +02:00
Fabio Manganiello
61e851dd8e
Fixes
2018-04-19 00:32:20 +02:00
Fabio Manganiello
12295f2f77
youtube_search_and_play moved back to video.omxplayer
2018-04-19 00:30:43 +02:00
Fabio Manganiello
d2b881fee7
YouTube search and play code moved to media.ctrl plugin
2018-04-18 00:50:19 +02:00
Fabio Manganiello
ab19e258bb
Implemented YouTube videos search and play with support for queuse
2018-04-18 00:23:12 +02:00
Fabio Manganiello
2186336bbc
Added plugin for supporting MCP3008 ADC for analog sensors
2018-04-17 01:03:02 +02:00
Fabio Manganiello
f717315136
Added music.mpd.searchaddplaylist method
2018-04-15 16:31:23 +02:00
Fabio Manganiello
87fb8855b7
- Show Spotify results first from MPD search, if available
...
- More granular calculation of the match score
2018-04-15 11:15:43 +02:00
Fabio Manganiello
73c74654d1
- Better MPD filter management - you can now pass filters as arrays like
...
['artist', 'Led Zeppelin', 'title', 'Stairway To Heaven'] instead of
relying on one single type-filter pair
- Improved condition matching - don't skip the last condition token if
there are still event tokens to add
2018-04-14 23:58:48 +02:00
Fabio Manganiello
e83b21ad33
No outline on the ZeroBorg div when focused
2018-04-13 23:45:29 +02:00
Fabio Manganiello
b863213bd7
More rational management of ZeroBorg auto pilot mode together with sensor - no longer limited to gpio.sensor.distance alone, but including any kind of GpioSensorPlugin. Thresholds, timeouts and actions are configured in config.yaml instead of being hardcoded
2018-04-13 15:49:10 +02:00
Fabio Manganiello
b597097be3
Better management of motor power settings in gpio.zerborg - no more offsets multiplied for max_power and hardcoded power coefficients, just pass the motor power in the configuration
2018-04-13 15:12:31 +02:00
Fabio Manganiello
25e601ca4d
More granular control of the motors left/right directions
2018-04-12 17:18:32 +02:00
Fabio Manganiello
decadee00a
Implemented music search from web panel
2018-04-12 13:04:56 +02:00
Fabio Manganiello
248b1c37b2
typo
2018-04-09 02:04:07 +02:00
Fabio Manganiello
a3fbce1082
Support for global and individual color and power switches on Philips Hue interface
2018-04-09 01:24:02 +02:00
Fabio Manganiello
2bf4ff136b
Exposing serial data functionally through a plugin
2018-04-08 18:16:24 +02:00
Fabio Manganiello
10a78a1f21
Frontend plugin for Philips Hue
2018-03-27 23:13:47 +02:00
Fabio Manganiello
b5567c289f
- Added Pi camera stream over TCP backend
...
- More consistent event handling for the pushtotalk assistant
- Added general GPIO module
2018-03-24 03:05:46 +01:00
Fabio Manganiello
a14d6fe652
- Stop assistant playback only if there was a user request. This
...
prevents a PortAudio write on input-only stream error in the Assistant
SDK, see https://github.com/googlesamples/assistant-sdk-python/issues/185
- Make sure that user_request is always defined before returning it
- Use assistant.google.pushtotalk as a fallback if assistant.google is
not configured/available
2018-03-21 23:21:41 +01:00
Fabio Manganiello
d5f73023ea
Support for custom hotword detection through Snowboy
2018-03-20 23:34:36 +01:00
Fabio Manganiello
6309f5301e
- Power offsets now passed through conf instead of source code
...
- More robust handling of temporary sensor failures
2018-03-17 17:16:20 +01:00
Fabio Manganiello
dcd4f9eddf
Threshold obstacle distance increased to 40 cm
2018-03-06 02:44:44 +01:00
Fabio Manganiello
8674626934
- Implemented auto_toggle command for Zeroborg
...
- Recalibrated power offsets
2018-03-05 23:27:20 +01:00
Fabio Manganiello
8b733fb859
- Added IR sensor backend
...
- Fixed default power offsets
- Changed threshold distance for ultrasound sensor
- Fixed power multiplier coefficient
2018-03-04 17:55:48 +01:00
Fabio Manganiello
0f97678a78
Throttling power
2018-03-03 03:24:08 +01:00
Fabio Manganiello
da0d715d49
Getting distance synchronously
2018-03-02 16:02:04 +01:00
Fabio Manganiello
df6790cde9
Changed default distance
2018-03-02 14:37:14 +01:00
Fabio Manganiello
cf83f07f79
Implemented auto pilot with distance sensors
2018-02-26 11:31:06 +01:00
Fabio Manganiello
a8254181b2
Fixed ZeroBorg power offsets
2018-02-26 01:01:07 +01:00
Fabio Manganiello
6508f0baf3
Zeroborg plugin
2018-02-25 23:45:31 +01:00
Fabio Manganiello
779a907ebd
Made the ZeroBorg module Python3-friendly
2018-02-20 20:41:56 +01:00
Fabio Manganiello
f16719f575
Added ZeroBorg plugin draft
2018-02-20 20:09:29 +01:00
Fabio Manganiello
40efb3f9c7
Support for selecting and playing tracks and playlists in web interface
2018-02-05 09:45:35 +01:00
Fabio Manganiello
1cab75757b
- Support for playlist update events handling on MPD
...
- Support for playlist updates on the web interface
- Support for selecting and playing tracks in the web interface
2018-02-05 00:55:19 +01:00
Fabio Manganiello
de2e50fefa
Implemented support for track random seek
2018-01-31 10:35:14 +01:00
Fabio Manganiello
7cd15d35e1
Return new status on random and repeat calls
2018-01-31 01:39:04 +01:00
Fabio Manganiello
968b71e946
- Implemented support for shuffle, random and set volume on the UI
...
- Reduced the websocket ping poll frequency to 1 second
2018-01-31 01:32:07 +01:00
Fabio Manganiello
28bc4c748e
UI improvements + support for MPD playlists and folders
2018-01-30 00:54:46 +01:00
Fabio Manganiello
6aec6380d8
MIMEBase import is needed here
2018-01-28 03:08:19 +01:00
Fabio Manganiello
6bfb6d934d
Support for multiple attachments and binary application attachments in GMail
2018-01-28 02:59:19 +01:00
Fabio Manganiello
55eb689121
Support for RSS digest generation either in HTML or PDF format
2018-01-28 02:01:54 +01:00
Fabio Manganiello
834b700d5f
Added GMail actions support, solves #49
2018-01-17 03:16:59 +01:00
Fabio Manganiello
ac15e581ce
Added last.fm scrobbler plugin, solves #21
2018-01-15 02:40:22 +01:00
Fabio Manganiello
4fa7a08006
Added mpd backend
2018-01-13 02:52:06 +01:00
Fabio Manganiello
76f7bbc529
Refactored HTTP request plugin and fixed bug on the plugin name
2018-01-12 15:18:06 +01:00
Fabio Manganiello
3c13625e63
Better logic for db inserts
2018-01-07 01:35:27 +00:00
Fabio Manganiello
32dcb0c829
Added database plugin, #43
2018-01-06 22:52:24 +01:00
Fabio Manganiello
6b31ed3b1a
Added __init__.py
2018-01-06 11:10:55 +01:00
Fabio Manganiello
1df10bc97e
Added HTTP requests plugin, #42
2018-01-05 20:00:15 +01:00
Fabio Manganiello
4c62133378
Updated README
2018-01-03 02:23:25 +01:00
Fabio Manganiello
08189653bb
s/playlistload/load/
2017-12-29 12:48:14 +01:00
Fabio Manganiello
b6733b3e6a
Also start playback when adding a playlist
2017-12-29 12:44:49 +01:00
Fabio Manganiello
26c3afee68
Implemented play_or_stop in mpd
2017-12-28 13:13:09 +01:00