Commit Graph

309 Commits (c436b33da9c6d11a93f0c83df44e20d5fb0663bb)

Author SHA1 Message Date
Paulus Schoutsen f510ee333b group.setup now fails gracefully if config[group] not available. 2014-10-22 01:07:58 -07:00
Paulus Schoutsen dc157edd7d Delete unused polymer file 2014-10-22 00:41:27 -07:00
Paulus Schoutsen 7cdda3a3d7 Group pep8 fix 2014-10-22 00:38:22 -07:00
Paulus Schoutsen e8ab546d32 Added initial version of Polymer frontend 2014-10-22 00:38:13 -07:00
Paulus Schoutsen 8a8097af99 Initial commit Polymer interface 2014-10-22 00:02:18 -07:00
Paulus Schoutsen a0c12fe685 More API clean up 2014-10-21 23:52:24 -07:00
Paulus Schoutsen e71efb3b68 pylint hints update 2014-10-21 23:52:05 -07:00
Paulus Schoutsen c69b9aefec Bug fix: group not always loaded 2014-10-21 23:51:23 -07:00
Paulus Schoutsen 58c90402c5 Even more simplified API 2014-10-19 23:37:43 -07:00
Paulus Schoutsen 9979a3266e Call service api simplified 2014-10-19 18:41:06 -07:00
Paulus Schoutsen 001f27cdb4 HTTP API is now more RESTful 2014-10-17 00:17:02 -07:00
Paulus Schoutsen 8db1b74a3c device_sun_light_trigger: added option to disable turning devices off when all people gone 2014-09-27 07:18:55 -07:00
Paulus Schoutsen 38ed025ce3 Improved logging message for HTTP and SUN components 2014-09-24 21:59:04 -05:00
Paulus Schoutsen 31c88efc4a Updated favicon 2014-09-23 16:51:39 -05:00
Paulus Schoutsen 17eefcffbe Home Assistant no longer crashes if it cannot write its log file 2014-09-22 21:44:26 -05:00
Paulus Schoutsen d570aeef33 Configuration goes now into a single directory 2014-09-20 21:19:39 -05:00
Paulus Schoutsen f24e9597fe Group component converts given entity ids to a list prior processing 2014-08-14 12:46:19 +02:00
Paulus Schoutsen 997c2e8ef6 Components+configuration now loaded dynamically
A major change to the bootstrapping of Home Assistant decoupling the
knowledge in bootstrap for a more dynamic approach. This refactoring
also prepares the code for different configuration backends and the
loading components from different places.
2014-08-13 14:28:45 +02:00
Paulus Schoutsen cb33b3bf24 Added missing docstring 2014-06-13 22:11:05 -07:00
Paulus Schoutsen 2226f8b6a9 Debug interface: added domain icons to services 2014-06-13 22:00:43 -07:00
Paulus Schoutsen c84cb86c87 Debug interface CSS pointed at wrong TDs 2014-06-13 14:41:58 -07:00
Paulus Schoutsen 00c206c37b Add domain icon for process in debug interface 2014-06-13 00:15:26 -07:00
Paulus Schoutsen 16453a7728 Added domain icons to debug interface 2014-06-13 00:12:05 -07:00
Paulus Schoutsen 8b02c3c1cc Updated PyNetgear and PyWemo to latest version 2014-06-12 23:26:06 -07:00
Paulus Schoutsen 2eebe7d91e Add timeouts to HTTP requests 2014-06-12 23:09:56 -07:00
Paulus Schoutsen 6e7887db23 PyLint style fixes 2014-06-05 23:12:00 -07:00
Paulus Schoutsen b09fe4a3a7 HTTP Debug interface tweaks 2014-06-05 23:05:13 -07:00
Paulus Schoutsen 69882ff4cf Debug interface now has JS to help call services 2014-06-04 00:50:41 -07:00
Paulus Schoutsen bb337fa0a9 Debug interface caches static assets 2014-06-04 00:49:46 -07:00
Paulus Schoutsen e9d1dfac84 Validate API on starting remote instance 2014-05-01 23:03:14 -07:00
Paulus Schoutsen 50b492c64a Remote instances are now 100% operational 2014-04-29 00:30:31 -07:00
Paulus Schoutsen 8e65afa994 Add support to hardcode hosts of WeMos 2014-04-24 22:53:35 -07:00
Paulus Schoutsen 472308ec71 Optimized process component. 2014-04-24 20:43:33 -07:00
Paulus Schoutsen b30aeb1777 Merge pull request #3 from fingon/process-source-up
Added a simple process state monitor
2014-04-24 14:47:07 -07:00
Markus Stenberg 88fd75b4c7 Addressed the comments in the issue. pep8+pylint seem fine now. (still works, too.) 2014-04-24 17:13:57 +03:00
Markus Stenberg 39d1fad8cc Merge remote-tracking branch 'up/master' into process-source-up 2014-04-24 17:00:46 +03:00
Markus Stenberg 9af3d2b914 pep8 + pylint run fixes. Also refactored the json-rpc to happen only in one place (external library would be nice but oh well). 2014-04-24 16:58:15 +03:00
Markus Stenberg fc6c2fbc18 Merge remote-tracking branch 'up/master' into luci-checker 2014-04-24 16:31:03 +03:00
Paulus Schoutsen 2e10d7223a Re-organized core for better reusability 2014-04-24 00:40:45 -07:00
Markus Stenberg e36a53eea6 Added simple process state monitor source. 2014-04-23 23:55:22 +03:00
Paulus Schoutsen 3757ddf9df Add option to set fixed hosts for chromecasts instead of discovery 2014-04-21 17:58:58 -07:00
Markus Stenberg ed31b6a527 Added LuciDeviceScanner to scan OpenWrt Luci-RPC enabled router's state. 2014-04-21 22:51:50 +03:00
Paulus Schoutsen f4c77c85bd Now using PyWemo instead of Ouimeaux to control WeMo 2014-04-17 21:57:01 -07:00
Paulus Schoutsen 85f401f209 Upgraded pynetgear to python3 2014-04-17 21:50:35 -07:00
Paulus Schoutsen ef6d862671 Further Python 3 migration 2014-04-14 23:48:00 -07:00
Paulus Schoutsen 7e06d535ab Ported codebase to Python 3. Long Live Python 3! 2014-04-14 00:10:31 -07:00
Paulus Schoutsen 8fdf2d608a Cleanup of core services 2014-04-13 12:59:45 -07:00
Paulus Schoutsen 90769fc0eb Lights now support profiles 2014-03-26 00:20:02 -07:00
Paulus Schoutsen 2890f2d6cc Reworked entity id extraction from service calls 2014-03-24 20:34:35 -07:00
Paulus Schoutsen 49e6386794 Downloader now supports downloading to subdirs 2014-03-24 18:00:57 -07:00
Paulus Schoutsen 82357b421f Add code-reuse to ensure unique entity ids 2014-03-23 12:31:24 -07:00
Paulus Schoutsen 6063ffeb5b Added WeMo support 2014-03-23 12:03:34 -07:00
Paulus Schoutsen bb771d802d Light color/brightness now exposed and controllable 2014-03-16 15:00:59 -07:00
Paulus Schoutsen 8154e75069 Bugfix for sanitizing filenames 2014-03-15 17:57:16 -07:00
Paulus Schoutsen 3c79a5ce0a Reworked lights under the hood, better decoupling and less API calls 2014-03-15 00:24:28 -07:00
Paulus Schoutsen 7cc9034815 PEP8 and PyLint style fixes 2014-03-11 22:49:54 -07:00
Paulus Schoutsen 75a0498080 Upgraded to use new version of pychromecast 2014-03-11 22:45:05 -07:00
Paulus Schoutsen 28389f6c39 More unicode support added to the core 2014-03-11 22:35:51 -07:00
Paulus Schoutsen 8d23976763 HTTPInterface is now UTF-8 compatible 2014-03-09 23:01:59 -07:00
Paulus Schoutsen 0e97e64397 One time listener ensures it is executed one time 2014-02-14 13:13:37 -08:00
Paulus Schoutsen 4ab362531f Downloader downloads file in seperate thread now so it doesn't block bus queue 2014-02-14 11:57:42 -08:00
Paulus Schoutsen c735e32361 Split out track_point_in_time from track_time_change 2014-02-14 11:34:09 -08:00
Paulus Schoutsen e76062d676 Updated PyChromecast to latest version 2014-02-02 22:08:12 -08:00
Paulus Schoutsen 9bfc3e4357 ThreadPool now uses a Priority instead of FIFO queue 2014-02-02 21:42:57 -08:00
Paulus Schoutsen 1d2d7bb7a0 Device Sun Light Trigger component is more robust now 2014-02-02 21:33:16 -08:00
Paulus Schoutsen 4bcc8c1dfb Sun component made more robust. 2014-02-02 21:20:37 -08:00
Paulus Schoutsen eccf0ff806 Track time change will only wrap listener with checks if needed 2014-01-30 08:31:34 -08:00
Paulus Schoutsen 416816cef7 PEP8 style fixes for HTTPInterface 2014-01-29 22:59:19 -08:00
Paulus Schoutsen e586d8debc Complain if too much jobs queued. 2014-01-29 22:48:35 -08:00
Paulus Schoutsen c438f35bcd Methods defined inside setup make more sense 2014-01-29 22:47:50 -08:00
Paulus Schoutsen 086cf77443 Only wipe old logging file when reason to write new one. 2014-01-29 21:41:03 -08:00
Paulus Schoutsen 24b2fba170 Errors are now being logged to the file home-assistant.log 2014-01-29 18:44:39 -08:00
Paulus Schoutsen 2758d81525 New events and service calls now use a shared thread pool 2014-01-26 18:44:36 -08:00
Paulus Schoutsen 70d2506e01 component base: integrated get_module into is_on. Less global lookups = happier performance 2014-01-23 23:53:18 -08:00
Paulus Schoutsen 77c56b704b Device_sun_light_trigger: bug fix for wrong turn_off call 2014-01-23 23:52:38 -08:00
Paulus Schoutsen 3618181bce Downloader: only import requests during setup 2014-01-23 23:26:25 -08:00
Paulus Schoutsen 097a51abc6 Refactored component 'general' into components.__init__ 2014-01-23 23:26:00 -08:00
Paulus Schoutsen 0fc3d359cb Moved stuff away from core. Made component interface more uniform. 2014-01-23 22:03:13 -08:00
Paulus Schoutsen b387f9d9d7 Browser: If no url is given go to Google.com 2014-01-23 22:02:20 -08:00
Paulus Schoutsen 87817de805 PEP8 style fix for bootstrap 2014-01-23 21:34:08 -08:00
Paulus Schoutsen a2ae1667a5 Added has_service method to Bus 2014-01-23 21:33:54 -08:00
Paulus Schoutsen 8952902d21 Renaming Exceptions to Errors 2014-01-23 21:33:12 -08:00
Paulus Schoutsen 36e28dbc80 Bootstrap only loads modules into memory that it will init 2014-01-23 17:46:29 -08:00
Paulus Schoutsen 7a800a14be Bugfix: Events that had no listeners would not show in log 2014-01-23 16:49:43 -08:00
Paulus Schoutsen 233f2e65ef Chromecast treats HOME_APP as no app running now 2014-01-22 19:46:28 -08:00
Paulus Schoutsen 1ba7d583cc PEP8 styling fix for State 2014-01-22 19:41:51 -08:00
Paulus Schoutsen 659f185252 More improvements to State 2014-01-22 19:40:19 -08:00
Paulus Schoutsen 7c15e24d09 bugfix: set_state updated state if not changed 2014-01-22 10:04:52 -08:00
Paulus Schoutsen 6ce393856a light.turn_on/turn_off/is_on use entity_id instead of object_id 2014-01-20 23:23:02 -08:00
Paulus Schoutsen cd58147fa7 StateMachine.set_state now optimized for setting existing states 2014-01-20 22:58:23 -08:00
Paulus Schoutsen e9e1b007ed RENAME: StateMachine tracks now entities, not categories. 2014-01-19 23:37:40 -08:00
Paulus Schoutsen e7f5953362 Bus and StateMachine are now thread-safe 2014-01-19 21:39:57 -08:00
Paulus Schoutsen ac0ca5d001 Core: Cache external method in local variable for speedup
(inspired by browsing through Python source)
2014-01-19 21:39:13 -08:00
Paulus Schoutsen 2d78e951f7 WebInterface: last changed for statemachine now uses HA date formatting 2014-01-19 21:17:19 -08:00
Paulus Schoutsen 01d81fbd65 Minor style adjustment to make PEP8 happy 2014-01-19 20:56:49 -08:00
Paulus Schoutsen 3c3e7e5825 Events and States are no longer dicts but objects. 2014-01-19 19:10:40 -08:00
Paulus Schoutsen ae2058de70 Referring to group is now always with 'group.' prefix 2014-01-19 17:17:19 -08:00
Paulus Schoutsen aa6d2373a5 Made HueLightControl more robust 2014-01-12 12:35:10 -08:00
Paulus Schoutsen 478d4ad93a Light trigger now looks if the target light group is on to turn on lights instead of all lights. 2014-01-12 11:29:30 -08:00
Paulus Schoutsen 5acf372d15 Use hue_light reachable attribute to see if we can trust the on state. 2014-01-12 11:29:08 -08:00
Paulus Schoutsen b7811e31e3 Updated PyChromecast to latest version 2014-01-05 12:48:55 -08:00
Paulus Schoutsen 697fce9924 Updating documentation 2014-01-04 18:24:30 -08:00
Paulus Schoutsen ac912b2d2d Bugfix: all lights would turn on instead of specified group if person came home. 2014-01-04 18:16:16 -08:00
Paulus Schoutsen 48026c28c1 Added state groups and migrated code base to use them. 2014-01-04 17:55:05 -08:00
Paulus Schoutsen 367433acb2 Some code cleanup 2014-01-04 13:48:17 -08:00
Paulus Schoutsen 6f0e4ef845 Netgear device tracker now uses SOAP api instead of parsing web interface 2013-12-14 01:00:38 -08:00
Paulus Schoutsen e3b00ffc71 Added support for Netgear wireless routers (tested with R6300) 2013-12-11 20:43:26 -08:00
Paulus Schoutsen 9518a2a0b7 Bugfix in shutdown_devices call 2013-12-11 20:29:11 -08:00
Paulus Schoutsen e0c0493b7e Renamed external lib folder to external 2013-12-11 19:34:59 -08:00
Paulus Schoutsen dd271febae Reorg: Merged observers, actors and HTTPInterface into components 2013-12-11 00:07:30 -08:00
Paulus Schoutsen c5f5dcbce2 Minor update pychromecast 2013-12-10 23:09:33 -08:00
Paulus Schoutsen 9531c6643e ChromeCast observer will add friendly name as attribute 2013-12-10 19:45:57 -08:00
Paulus Schoutsen 7637b6ca0e Updated pychromecast to latest branch 2013-12-10 19:45:25 -08:00
Paulus Schoutsen 0449022441 More robust Chromecast observer code 2013-12-10 08:09:29 -08:00
Paulus Schoutsen bbe8f898dc Updated pychromecast to latest version 2013-12-10 08:09:14 -08:00
Paulus Schoutsen 4fde63b1fb Bugfix in turning lights on at sun set 2013-12-10 08:08:57 -08:00
Paulus Schoutsen bbaac3da24 Updated pychromecast to latest version 2013-12-10 00:31:33 -08:00
Paulus Schoutsen e823178e43 Chromecast observer will update state on init 2013-12-10 00:18:12 -08:00
Paulus Schoutsen 8a0ca534a2 Moved actor helper functions to observer package 2013-12-10 00:16:51 -08:00
Paulus Schoutsen d68f8ee309 Chromecast observer will now use the correct name in state machine 2013-12-09 23:51:14 -08:00
Paulus Schoutsen aedcaf04a4 Lights now fully controlled via statemachine and services 2013-12-09 23:41:44 -08:00
Paulus Schoutsen 28a6400d89 Track states of lights in state machine. 2013-12-07 12:57:27 -08:00
Paulus Schoutsen 356f49bcef Change device state categories to contain "device." 2013-12-07 12:54:50 -08:00
Paulus Schoutsen 8124188264 Make sure all device state categories are slugified 2013-12-07 12:54:19 -08:00
Paulus Schoutsen 08f4c70b4e Added tracking state of ChromeCast 2013-12-07 11:42:13 -08:00
Paulus Schoutsen 87a66941d8 Updated PyChromecast to latest version 2013-12-02 22:56:28 -08:00
Paulus Schoutsen 84eeae882c Updated documentation 2013-12-01 19:24:07 -08:00
Paulus Schoutsen 3641d2ca24 EventBus is now Bus that handles Events and Services 2013-11-19 23:48:08 -08:00
Paulus Schoutsen 05e68c3e1e DeviceTracker can now reload tracked devices without restart 2013-11-18 22:45:19 -08:00
Paulus Schoutsen f07622e0d7 Made homeassistant.stop code leaner 2013-11-11 17:46:08 -08:00
Paulus Schoutsen ead057cb04 Added shutdown event 2013-11-11 14:58:57 -08:00
Paulus Schoutsen 483546a31d Code according to PEP8 standard 2013-11-10 16:46:48 -08:00
Paulus Schoutsen 9c9b00c2d4 Added support for keyboard prev and next track buttons 2013-11-10 15:07:55 -08:00
Paulus Schoutsen 860812fa19 Cosmetic adjustments 2013-11-10 09:31:34 -08:00
Paulus Schoutsen 2f65751087 Fix: Event types with periods cannot be fired using API 2013-11-09 14:23:50 -08:00
Paulus Schoutsen 94752f663e Added styling to the debug interface 2013-11-07 23:33:04 -08:00
Paulus Schoutsen 5f4e9d33e0 Return of the fire event and change state forms in debug interface 2013-11-04 20:16:27 -05:00
Paulus Schoutsen 3499814f7f Added static file handler and cleaned up API code 2013-11-04 18:18:39 -05:00
Paulus Schoutsen a60f6754aa EventBus can now report overview of events that have listeners. 2013-11-01 12:28:18 -07:00
Paulus Schoutsen 63a1dfc64f HTTP login form goes to original requested page 2013-11-01 11:38:50 -07:00
Paulus Schoutsen 92f0cb20ff Made API more robust 2013-11-01 11:34:43 -07:00
Paulus Schoutsen 24b317f10d StateMachine.get_state will not throw an exception but return None if category does not exist 2013-11-01 11:29:37 -07:00
Paulus Schoutsen 47d2c04c90 StateMachine.is_state was bugged 2013-10-31 18:41:28 -07:00
Paulus Schoutsen 054d14d5de Bootstrapper now does not need a host option to load Hue 2013-10-31 18:30:45 -07:00
Paulus Schoutsen f9d712d175 API updated to be RESTful 2013-10-29 00:22:38 -07:00
Paulus Schoutsen 102690a770 last_changed value of State is now a string so it can be send over the API 2013-10-28 18:45:35 -07:00
Paulus Schoutsen 308b49b585 Timeout of 1 second was a bit too optimistic for Tomato router 2013-10-28 18:27:08 -07:00
Paulus Schoutsen 58ac9e0aac Forgot to change 1 class when changing State from tuple to dict 2013-10-28 18:26:25 -07:00
Paulus Schoutsen 83d878810e Events and States will now only use JSON serializable attributes 2013-10-27 17:39:54 -07:00
Paulus Schoutsen 1da1713d2f StateMachine.is_state will return False if category does not exist 2013-10-26 22:26:58 +01:00