Commit Graph

  • 88c5bc16f5 - Added rss-news dashboard widget - Added summary field to the RSS entry - Added support for custom dashboard backgrounds - UX fixes + font change Fabio Manganiello 2018-05-05 23:59:43 +0200
  • ac958f98da Added images carousel web widget Fabio Manganiello 2018-05-05 04:37:22 +0200
  • e1e4d824ad - Added web widget for Google Calendar integration - UX improvements on the dashboard Fabio Manganiello 2018-05-05 00:57:41 +0200
  • f6306c6015 Added Google Calendar plugin Fabio Manganiello 2018-05-04 19:20:23 +0200
  • 2f8c74c8e3 - Added Pushbullet JS logic to show mirror notifications on web FE - Added JS and CSS files for dashboard and widgets Fabio Manganiello 2018-05-04 17:25:12 +0200
  • ae6467060b Starting Redis in .travis.yml Fabio Manganiello 2018-05-04 03:35:18 +0200
  • 5c31b4e25c Added Redis as a travis-ci requirement Fabio Manganiello 2018-05-04 03:33:14 +0200
  • 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 Fabio Manganiello 2018-05-04 03:24:35 +0200
  • a67b301cd6 s/albumartist/album/g Fabio Manganiello 2018-05-03 02:17:31 +0200
  • dca41ea86e A more robust logic for spotting new RSS items Fabio Manganiello 2018-05-01 10:13:37 +0200
  • d12ebe8810 Bold font for sensor values Fabio Manganiello 2018-04-30 10:20:12 +0200
  • 79bfed3a1d FE fixes on the sensors panel Fabio Manganiello 2018-04-30 10:04:37 +0200
  • b4bd1cb7bb Added web UI for MCP3008 analog sensors values Fabio Manganiello 2018-04-30 09:40:44 +0200
  • b8cba8ec0c Forgot an assignment Fabio Manganiello 2018-04-30 01:43:23 +0200
  • c0ef9e2373 poll_seconds should not have a default value Fabio Manganiello 2018-04-29 23:58:33 +0200
  • bd8d4649c5 Added MCP3008 backend Fabio Manganiello 2018-04-29 23:51:53 +0200
  • 2f6565ec87 Added support for if-else constructs in procedures Fabio Manganiello 2018-04-29 22:25:31 +0200
  • ef75339fef Fixed missing output= argument Fabio Manganiello 2018-04-29 16:38:05 +0200
  • cbe676a29f Get the JSON/string output out of the Response object Fabio Manganiello 2018-04-29 16:28:01 +0200
  • cddd740666 Removed reference to self.device in backend.serial Fabio Manganiello 2018-04-29 16:26:12 +0200
  • cfe78dfa23 Fixed name clash Fabio Manganiello 2018-04-29 16:19:26 +0200
  • 4462f9590f Forgot an import Fabio Manganiello 2018-04-29 16:18:27 +0200
  • 4f19cd1324 Removed old reference to serial.Serial Fabio Manganiello 2018-04-29 16:17:09 +0200
  • 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 Fabio Manganiello 2018-04-29 16:14:43 +0200
  • 514eb3d4e4 No need for a comma there Fabio Manganiello 2018-04-29 12:32:25 +0200
  • 68c52fe102 - Importing Flask.request as http_request to prevent name clashes with SQLAlchemy's request module Fabio Manganiello 2018-04-28 19:11:14 +0200
  • e9425236a9 Removed additional file_name parameter Fabio Manganiello 2018-04-26 15:54:40 +0200
  • 63b3d196e8 Video icons fixes Fabio Manganiello 2018-04-26 15:29:10 +0200
  • 797d6a0fe8 Added an icon to the video results to show the type Fabio Manganiello 2018-04-26 15:23:06 +0200
  • 7fb0a5bb55 Set download_dir only if specified Fabio Manganiello 2018-04-25 12:03:15 +0200
  • efe4f32409 Implemented torrent search, download and streaming in OMXPlayer plugin Fabio Manganiello 2018-04-25 11:29:03 +0200
  • 34405b96f6 Removed unused mandatory parameters for VideoEvent constructor Fabio Manganiello 2018-04-25 01:04:51 +0200
  • acd06c2193 Implemented OMXPlayer file search and unified all searches under one method Fabio Manganiello 2018-04-25 00:13:17 +0200
  • 77da94769e Implemented file search method in OMXPlayer plugin Fabio Manganiello 2018-04-24 21:28:42 +0200
  • e5e1270380 Exposed a global context.get_bus() method to allow plugins to send events to the main bus Fabio Manganiello 2018-04-24 20:07:16 +0200
  • 9052e18f9c Commented OMXPlayer handlers initialization part as the plugin object has no access to the bus Fabio Manganiello 2018-04-24 14:56:31 +0200
  • 9492243fd5 Transform a [0,100] volume range in the volume range expected by the OMXPlayer API Fabio Manganiello 2018-04-24 14:54:01 +0200
  • dd254b65cb Implemented YouTube videos search and controls web FE Fabio Manganiello 2018-04-24 14:36:05 +0200
  • 4d45284131 Style fixes Fabio Manganiello 2018-04-24 09:17:09 +0200
  • 1bda7b8346 Handlers & buttons Fabio Manganiello 2018-04-24 01:30:04 +0200
  • 27398030e4 Fixed form name in CSS Fabio Manganiello 2018-04-24 01:26:00 +0200
  • e310ef0a04 Finalized video.omxplayer FE plugin Fabio Manganiello 2018-04-24 01:23:06 +0200
  • b5b61f0442 Wrong extension.. Fabio Manganiello 2018-04-24 01:05:37 +0200
  • ebed6adf57 Added video.omxplayer frontend plugin Fabio Manganiello 2018-04-24 01:03:50 +0200
  • 53f8f88bac Added inotify files and paths monitoring backend Fabio Manganiello 2018-04-23 16:32:35 +0200
  • c4401b25be Reload logic on media.ctrl in case the connection with the media plugin has been reset Fabio Manganiello 2018-04-22 23:39:23 +0200
  • 6ef97e9ddc Assign the recursive output of _thread_func to response to make sure that the latest response is always returned - that means the successful response in case the previous one was a failure Fabio Manganiello 2018-04-22 21:26:53 +0200
  • 60c9c7476e Fixed a missing parenthesis Fabio Manganiello 2018-04-20 15:20:23 +0200
  • a783efd0d7 Added status method to media.ctrl plugin Fabio Manganiello 2018-04-20 15:18:20 +0200
  • 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 Fabio Manganiello 2018-04-20 12:17:27 +0200
  • cc506b3340 Final (?) regex fix Fabio Manganiello 2018-04-20 10:04:29 +0200
  • eaec9ac51f Final (?) regex fix Fabio Manganiello 2018-04-20 10:00:01 +0200
  • 8e5a27d74c Regex fix Fabio Manganiello 2018-04-20 09:52:55 +0200
  • 2459506964 Regex typo Fabio Manganiello 2018-04-20 09:41:52 +0200
  • 7e119654f9 Retry with the next YouTube video until some of the ones from the search can be played without errors Fabio Manganiello 2018-04-20 09:38:04 +0200
  • 4db2f62c17 typo #2 Fabio Manganiello 2018-04-20 09:30:19 +0200
  • 3f3ec08af2 typo Fabio Manganiello 2018-04-20 09:27:57 +0200
  • 6135089d60 Encoding POST data as bytes Fabio Manganiello 2018-04-19 23:46:47 +0200
  • 02f6e163bf Variable typo Fabio Manganiello 2018-04-19 23:42:10 +0200
  • 51d6bec51c Forgot an import Fabio Manganiello 2018-04-19 23:40:49 +0200
  • 14aa4f6454 Implemented torrent search Fabio Manganiello 2018-04-19 23:35:19 +0200
  • 95b537dee4 s/music/video/ Fabio Manganiello 2018-04-19 22:45:40 +0200
  • 2fdb8c50da Added support for video events Fabio Manganiello 2018-04-19 22:42:28 +0200
  • 84ab37e44e Added YouTube search only method Fabio Manganiello 2018-04-19 10:18:46 +0200
  • 23095bc18d Log the YT videos being played/searched Fabio Manganiello 2018-04-19 00:39:59 +0200
  • 61e851dd8e Fixes Fabio Manganiello 2018-04-19 00:32:20 +0200
  • 12295f2f77 youtube_search_and_play moved back to video.omxplayer Fabio Manganiello 2018-04-19 00:30:39 +0200
  • a58fa23173 Websocket client-side timeout: 5 -> 30 seconds Fabio Manganiello 2018-04-18 10:13:53 +0200
  • d2b881fee7 YouTube search and play code moved to media.ctrl plugin Fabio Manganiello 2018-04-18 00:50:19 +0200
  • 78e08cc3bb Added lxml as a requirement for YouTube search (from BeautifulSoup4) Fabio Manganiello 2018-04-18 00:30:56 +0200
  • ab19e258bb Implemented YouTube videos search and play with support for queuse Fabio Manganiello 2018-04-18 00:23:12 +0200
  • 02e951bd57 - Added hidden plugins configuration for plugins that shouldn't be shown on the web panel as tabs Fabio Manganiello 2018-04-17 23:09:07 +0200
  • fcdc4d1af8 Reload the MPD plugin in case of any errors during the status retrieval Fabio Manganiello 2018-04-17 16:43:39 +0200
  • 15a233a927 Keep reloading the MPD plugin in the MPD backend if the plugin crashed or keeps being null Fabio Manganiello 2018-04-17 09:27:37 +0200
  • 2186336bbc Added plugin for supporting MCP3008 ADC for analog sensors Fabio Manganiello 2018-04-17 01:02:55 +0200
  • 40d1b7481a Added TTS web plugin Fabio Manganiello 2018-04-16 14:38:08 +0200
  • 607ec2812c Run get_plugin at every iteration of the mpd backend in case the plugin lost the connection and has been reloaded Fabio Manganiello 2018-04-16 09:38:34 +0200
  • 1a01b336b7 Brought server side ping timeout to 60 seconds Fabio Manganiello 2018-04-15 22:36:45 +0200
  • f717315136 Added music.mpd.searchaddplaylist method Fabio Manganiello 2018-04-15 16:31:23 +0200
  • 87fb8855b7 - Show Spotify results first from MPD search, if available - More granular calculation of the match score Fabio Manganiello 2018-04-15 11:15:43 +0200
  • 400943b74b Cleaner management of MPD search filters on the frontend Fabio Manganiello 2018-04-15 10:03:34 +0200
  • 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 Fabio Manganiello 2018-04-14 23:58:48 +0200
  • 82200bb150 Better logging management, solves #26 Fabio Manganiello 2018-04-14 00:59:56 +0200
  • e83b21ad33 No outline on the ZeroBorg div when focused Fabio Manganiello 2018-04-13 23:45:29 +0200
  • 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 Fabio Manganiello 2018-04-13 15:49:10 +0200
  • 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 Fabio Manganiello 2018-04-13 15:12:31 +0200
  • 0cfd67be51 Changed behaviour on playlist track click. Click twice to play instace of long pressing to prevent tracks from playing while scrolling the pane Fabio Manganiello 2018-04-12 20:07:19 +0200
  • cf2b362947 Support for robot control through keyboard Fabio Manganiello 2018-04-12 18:42:01 +0200
  • 25e601ca4d More granular control of the motors left/right directions Fabio Manganiello 2018-04-12 17:18:22 +0200
  • de7a8067cb Better filtering of music results Fabio Manganiello 2018-04-12 14:28:20 +0200
  • abdc5a5ed0 Inverted search priority order Fabio Manganiello 2018-04-12 14:22:24 +0200
  • b400597a1b Refresh the status as well upon successful search results play/add Fabio Manganiello 2018-04-12 13:53:04 +0200
  • decadee00a Implemented music search from web panel Fabio Manganiello 2018-04-12 13:04:56 +0200
  • f3d725c890 Making the websocket reconnect client-side logic a bit more consistent Fabio Manganiello 2018-04-10 19:49:37 +0200
  • 10bf54f961 A more consistent a bug-free handling of websocket reconnection cycles Fabio Manganiello 2018-04-10 15:56:00 +0200
  • 4efbcc50dd Server-side websocket timeout: 3 -> 5 seconds Fabio Manganiello 2018-04-10 00:10:03 +0200
  • ef1843fdbc s/1 second/3 seconds/ Fabio Manganiello 2018-04-09 23:58:54 +0200
  • cb6894b6f8 s/5 seconds/1 second/ Fabio Manganiello 2018-04-09 23:56:43 +0200
  • c81e969097 Reverted 10 msec wait to prevent sys resources flooding on retries Fabio Manganiello 2018-04-09 23:26:14 +0200
  • ce5db9a9c6 Reconnect to the websocket immediately in case of normal closure Fabio Manganiello 2018-04-09 23:21:19 +0200