Commit Graph

402 Commits

Author SHA1 Message Date
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 01c5bbadcd Type should actually always be there 2018-05-13 11:49:42 +02:00
Fabio Manganiello 5e3b41c3ad Made the Pushbullet backend more resilient in case of rogue messages with no type specified 2018-05-13 11:39:59 +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 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 27d5f674c5 Added __init__.py 2018-05-06 00:17:18 +02:00
Fabio Manganiello 31f2cbf8b1 Added __init__.py 2018-05-06 00:14:42 +02:00
Fabio Manganiello 0252cc03c4 Added __init__.py 2018-05-06 00:12:57 +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 ae6467060b Starting Redis in .travis.yml 2018-05-04 03:35:18 +02:00
Fabio Manganiello 5c31b4e25c Added Redis as a travis-ci requirement 2018-05-04 03:33:14 +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 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 2f6565ec87 Added support for if-else constructs in procedures 2018-04-29 22:25:31 +02:00
Fabio Manganiello ef75339fef Fixed missing output= argument 2018-04-29 16:38:05 +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 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 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 e9425236a9 Removed additional file_name parameter 2018-04-26 15:54:40 +02:00