Commit Graph

549 Commits

Author SHA1 Message Date
Fabio Manganiello b94764436d Added WeMo switch plugin for web panel 2018-05-08 09:59:43 +02:00
Fabio Manganiello bd761d420e RSS digests are now optional 2018-05-07 19:44:34 +02:00
Fabio Manganiello a3b83e8c57 Fixed sensors position 2018-05-07 19:21:58 +02:00
Fabio Manganiello 44596a6cfb Improved style for temp/humidity sensors on the widget 2018-05-07 19:16:25 +02:00
Fabio Manganiello 20a9224ab5 Included support for temperature/humidity display on weather widget from sensor events 2018-05-07 18:55:50 +02:00
Fabio Manganiello e4269a8d5d Skip RSS items if published_parsed is not defined 2018-05-07 18:33:44 +02:00
Fabio Manganiello f322f71447 - News widget max items is now configurable
- Update the news list whenever the loop over the current list is done
2018-05-07 18:16:30 +02:00
Fabio Manganiello 1b1016fba2 Added background blurred image if width < height 2018-05-07 17:18:01 +02:00
Fabio Manganiello 37c6e25ac3 Finally got a proper scaling for carousel widget pictures 2018-05-07 14:50:08 +02:00
Fabio Manganiello e671a1294c Reset min-width when cloning the element 2018-05-07 09:57:35 +02:00
Fabio Manganiello 19268f66a8 border-radius fix 2018-05-07 09:56:31 +02:00
Fabio Manganiello af11358a76 Image carousel widget improvements 2018-05-07 09:54:30 +02:00
Fabio Manganiello 2483c6d612 Simplified websockets keep-alive logic. Just wait on recv() and clean up the websocket in case of a ConnectionClosed exception 2018-05-06 11:38:24 +02:00
Fabio Manganiello 177a359e4a Only do article fade-in without fade-out+fade-in dance 2018-05-06 00:42:46 +02:00
Fabio Manganiello 88c5bc16f5 - Added rss-news dashboard widget
- Added summary field to the RSS entry
- Added support for custom dashboard backgrounds
- UX fixes + font change
2018-05-05 23:59:43 +02:00
Fabio Manganiello ac958f98da Added images carousel web widget 2018-05-05 04:37:22 +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 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 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 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 40d1b7481a Added TTS web plugin 2018-04-16 14:38:13 +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
Fabio Manganiello 75e958bb38 Added auto pilot and stop controls to ZeroBorg web UI 2018-04-09 18:12:53 +02:00
Fabio Manganiello cb44f864cc Added ZeroBorg plugin web UI for motors control 2018-04-09 15:45:14 +02:00
Fabio Manganiello 4bd69d1d68 Making the header a bit more proportioned 2018-04-09 10:22:07 +02:00
Fabio Manganiello fe2930dfdc Increased font size for datetime div 2018-04-09 10:20:32 +02:00
Fabio Manganiello fa4ed7c95c light.hue.on/off wants an array 2018-04-09 01:53:25 +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 10a78a1f21 Frontend plugin for Philips Hue 2018-03-27 23:13:47 +02:00
Fabio Manganiello e8891f0c12 Filter implementation for music.mpd 2018-02-09 20:54:02 +01:00
Fabio Manganiello 0d2a1e5932 onopen logging message 2018-02-07 22:52:16 +01:00
Fabio Manganiello b675f631e9 - Websocket ping interval 1 -> 5 seconds
- JS client websocket reconnect logic
2018-02-07 22:14:38 +01:00
Fabio Manganiello c47d910465 Removed comma 2018-02-05 10:35:24 +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 9cf9135eae Making the mpd interface fit in a smaller screen without overflows 2018-02-01 01:12:47 +01:00
Fabio Manganiello de2e50fefa Implemented support for track random seek 2018-01-31 10:35:14 +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 fc608317fd Give some breath to the websocket ping loop 2018-01-29 21:21:40 +01:00
Fabio Manganiello 07219bef89 Player style fixes 2018-01-29 21:18:31 +01:00
Fabio Manganiello 90f49b0964 Player style fixes 2018-01-29 21:15:57 +01:00
Fabio Manganiello 22e4a44fdb Fixed js glitch 2018-01-29 17:09:53 +01:00
Fabio Manganiello 75fac37984 Fixed tests 2018-01-29 16:34:00 +01:00
Fabio Manganiello 0ff5adc4c1 Removed swap file 2018-01-29 16:29:36 +01:00
Fabio Manganiello ae3ee8ada5 Music player styles 2018-01-29 16:28:32 +01:00
Fabio Manganiello 6ad7f85e76 A more clever way to get the static dirs 2018-01-29 15:08:29 +01:00
Fabio Manganiello 6ff1552063 Fixed websocket 2018-01-29 14:46:31 +01:00
Fabio Manganiello 72af7adb46 #51 first web panel iteration 2018-01-29 13:47:21 +01:00
Fabio Manganiello 615573f932 Changed format for HTTP backend requests to something more consistent 2018-01-28 14:49:59 +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 91dd975413 mkdir_p replaced with os.makedirs 2018-01-27 13:54:15 +01:00
Fabio Manganiello 22b3f8e9b9 Removed redundant variable 2018-01-27 04:46:28 +01:00
Fabio Manganiello 14afbcad3a Support for RSS feeds update events, solves #48 2018-01-27 04:32:44 +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 b1f42c22ae Added Booking.com endpoints automation 2018-01-11 19:31:44 +01:00
Fabio Manganiello 19cfafb2c7 Making the HTTP poll events work 2018-01-10 03:14:27 +01:00
Fabio Manganiello d0759765b2 Removed booking module 2018-01-10 00:20:48 +01:00
Fabio Manganiello 2ea06f7708 Making JSON HTTP poll requests work 2018-01-09 18:44:45 +01:00
Fabio Manganiello b074e03d45 - Support for workdir
- Prepared draft for HttpPoll backend
2018-01-09 01:27:19 +01:00
Fabio Manganiello 1581685f62 use_reloader=False on Flask to prevent the platypush daemon to be spawned twice 2018-01-04 17:34:25 +01:00
Fabio Manganiello 39f986a88d Fixed HTTP backend 2018-01-04 17:20:35 +01:00
Fabio Manganiello 20b07fb02f Made an HTTP backend, #27 2018-01-04 02:45:23 +01:00