Commit graph

134 commits

Author SHA1 Message Date
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
a67b301cd6 s/albumartist/album/g 2018-05-03 02:17:31 +02:00
Fabio Manganiello
dca41ea86e A more robust logic for spotting new RSS items 2018-05-01 10:13:41 +02:00
Fabio Manganiello
d12ebe8810 Bold font for sensor values 2018-04-30 10:20:12 +02:00
Fabio Manganiello
79bfed3a1d FE fixes on the sensors panel 2018-04-30 10:04:37 +02:00
Fabio Manganiello
b4bd1cb7bb Added web UI for MCP3008 analog sensors values 2018-04-30 09:40:44 +02:00
Fabio Manganiello
b8cba8ec0c Forgot an assignment 2018-04-30 01:43:23 +02:00
Fabio Manganiello
c0ef9e2373 poll_seconds should not have a default value 2018-04-29 23:58:33 +02:00
Fabio Manganiello
bd8d4649c5 Added MCP3008 backend 2018-04-29 23:51:53 +02:00
Fabio Manganiello
cbe676a29f Get the JSON/string output out of the Response object 2018-04-29 16:28:01 +02:00
Fabio Manganiello
cddd740666 Removed reference to self.device in backend.serial 2018-04-29 16:26:12 +02:00
Fabio Manganiello
4f19cd1324 Removed old reference to serial.Serial 2018-04-29 16:17:09 +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
514eb3d4e4 No need for a comma there 2018-04-29 12:32:25 +02:00
Fabio Manganiello
68c52fe102 - Importing Flask.request as http_request to prevent name clashes with
SQLAlchemy's request module

- All SQLAlchemy engine and connection setup done within get_new_items
to prevent different threads from creating and using the db instance

- Added check_same_thread to sqlite connection line to prevent
different-thread exceptions when the Flask main thread does some cleanup
2018-04-28 19:11:14 +02:00
Fabio Manganiello
63b3d196e8 Video icons fixes 2018-04-26 15:29:10 +02:00
Fabio Manganiello
797d6a0fe8 Added an icon to the video results to show the type 2018-04-26 15:23:10 +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
dd254b65cb Implemented YouTube videos search and controls web FE 2018-04-24 14:36:05 +02:00
Fabio Manganiello
4d45284131 Style fixes 2018-04-24 09:17:09 +02:00
Fabio Manganiello
1bda7b8346 Handlers & buttons 2018-04-24 01:30:04 +02:00
Fabio Manganiello
27398030e4 Fixed form name in CSS 2018-04-24 01:26:00 +02:00
Fabio Manganiello
e310ef0a04 Finalized video.omxplayer FE plugin 2018-04-24 01:23:06 +02:00
Fabio Manganiello
b5b61f0442 Wrong extension.. 2018-04-24 01:05:37 +02:00
Fabio Manganiello
ebed6adf57 Added video.omxplayer frontend plugin 2018-04-24 01:03:50 +02:00
Fabio Manganiello
53f8f88bac Added inotify files and paths monitoring backend 2018-04-23 16:32:35 +02:00
Fabio Manganiello
a58fa23173 Websocket client-side timeout: 5 -> 30 seconds 2018-04-18 10:13:53 +02:00
Fabio Manganiello
02e951bd57 - Added hidden plugins configuration for plugins that shouldn't be shown
on the web panel as tabs

- Added support for popup notifications on the web panel

- Added voice assistant interactive notifications to the web panel

- Added new playing music notifications to the web panel
2018-04-17 23:10:49 +02:00
Fabio Manganiello
fcdc4d1af8 Reload the MPD plugin in case of any errors during the status retrieval 2018-04-17 16:43:39 +02:00
Fabio Manganiello
15a233a927 Keep reloading the MPD plugin in the MPD backend if the plugin crashed or keeps being null 2018-04-17 09:27:41 +02:00
Fabio Manganiello
40d1b7481a Added TTS web plugin 2018-04-16 14:38:13 +02:00
Fabio Manganiello
607ec2812c Run get_plugin at every iteration of the mpd backend in case the plugin lost the connection and has been reloaded 2018-04-16 09:38:34 +02:00
Fabio Manganiello
1a01b336b7 Brought server side ping timeout to 60 seconds 2018-04-15 22:36:45 +02:00
Fabio Manganiello
400943b74b Cleaner management of MPD search filters on the frontend 2018-04-15 10:03:34 +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
0cfd67be51 Changed behaviour on playlist track click. Click twice to play instace of long pressing to prevent tracks from playing while scrolling the pane 2018-04-12 20:07:28 +02:00
Fabio Manganiello
cf2b362947 Support for robot control through keyboard 2018-04-12 18:42:01 +02:00
Fabio Manganiello
de7a8067cb Better filtering of music results 2018-04-12 14:28:20 +02:00
Fabio Manganiello
abdc5a5ed0 Inverted search priority order 2018-04-12 14:22:24 +02:00
Fabio Manganiello
b400597a1b Refresh the status as well upon successful search results play/add 2018-04-12 13:53:04 +02:00
Fabio Manganiello
decadee00a Implemented music search from web panel 2018-04-12 13:04:56 +02:00
Fabio Manganiello
f3d725c890 Making the websocket reconnect client-side logic a bit more consistent 2018-04-10 19:49:37 +02:00
Fabio Manganiello
10bf54f961 A more consistent a bug-free handling of websocket reconnection cycles 2018-04-10 15:56:00 +02:00
Fabio Manganiello
4efbcc50dd Server-side websocket timeout: 3 -> 5 seconds 2018-04-10 00:10:03 +02:00
Fabio Manganiello
ef1843fdbc s/1 second/3 seconds/ 2018-04-09 23:58:54 +02:00
Fabio Manganiello
cb6894b6f8 s/5 seconds/1 second/ 2018-04-09 23:56:43 +02:00
Fabio Manganiello
c81e969097 Reverted 10 msec wait to prevent sys resources flooding on retries 2018-04-09 23:26:14 +02:00
Fabio Manganiello
ce5db9a9c6 Reconnect to the websocket immediately in case of normal closure 2018-04-09 23:21:19 +02:00
Fabio Manganiello
d380e0f398 Keep trying to connect in case the websocket goes down 2018-04-09 23:15:15 +02:00