Commit Graph

511 Commits (6c4e044c92c2733972698c7b5675fa9079dc9ea4)

Author SHA1 Message Date
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
Paulus Schoutsen 867966234f Added remote EventBus and StateMachine classes 2013-10-25 11:05:58 +01:00
Paulus Schoutsen 5ae08c6f0f Clearified some behavior 2013-10-25 11:05:34 +01:00
Paulus Schoutsen 66d432d0a2 StateMachine now supports attributes for states 2013-10-24 07:57:08 +01:00
Paulus Schoutsen c1819e19a4 Timer is more accurate and wakes up less often 2013-10-24 01:42:16 +01:00
Paulus Schoutsen b43e413de9 More clear logs when dependencies are missing. 2013-10-24 00:32:23 +01:00
Paulus Schoutsen 00c9d22a58 Added listen_once to eventbus 2013-10-24 00:29:33 +01:00
Paulus Schoutsen 42c7f33567 Cleaned up API statemachine 2013-10-24 00:08:28 +01:00
Paulus Schoutsen 7443a5f963 Timeout if Tomato router does not respond for 1 sec 2013-10-23 23:58:48 +01:00
Paulus Schoutsen 05472481c5 Making the config bootstrap more verbose about what started 2013-10-21 22:06:22 -07:00
Paulus Schoutsen 0d156ecbf0 Moved bootstrap code to a seperate bootstrap module. 2013-10-13 10:42:22 -07:00
Paulus Schoutsen 7dfbff31f5 Better formatting of events in debug interface 2013-10-13 09:59:13 -07:00
Paulus Schoutsen 785e17e1e6 Made a few dependencies optional and removed others. 2013-10-13 09:40:38 -07:00
Paulus Schoutsen 6de531db0d Pykeyboard won't import PyHook now when not needed. 2013-10-09 00:14:44 -07:00
Paulus Schoutsen 866a3e852e Added support for multimedia keyboard button simulation for controlling the host. 2013-10-09 00:03:05 -07:00
Paulus Schoutsen b9212514bd Converted Timer and HTTP Interface threads to daemons for cleaner shutdown. 2013-10-08 19:00:10 -07:00
Paulus Schoutsen 71bd03ed8c Cleaned up the core. 2013-10-08 18:50:30 -07:00
Paulus Schoutsen 32b357f5e1 PyLint is a lot happier about the code now. 2013-10-07 23:55:19 -07:00
Paulus Schoutsen c3f96fff87 Added extra error checking and feedback to TomatoDeviceScanner 2013-10-07 20:28:45 -07:00
Paulus Schoutsen df53b05423 PyChromecast properly integrated now. 2013-10-07 20:23:05 -07:00
Paulus Schoutsen 9cfcf43202 Added actor to open url in default browser 2013-10-07 18:47:25 -07:00
Paulus Schoutsen 3b6b201428 Added a file downloader 2013-10-07 00:15:47 -07:00
Paulus Schoutsen 1a22f1678c Catching exceptions from listeners in the eventbus to prevent unexpected crashed to crash the core 2013-10-06 23:06:59 -07:00
Paulus Schoutsen 485ce7b784 Added events to control the lights via the event bus 2013-10-06 17:20:27 -07:00
Paulus Schoutsen 4ce550b432 Better handling if invalid known_devices.csv encountered. 2013-10-06 16:54:46 -07:00
Paulus Schoutsen 59fa58beaf Moved more tracking code to DeviceTracker 2013-10-06 16:14:55 -07:00
Paulus Schoutsen 6efc797df3 Sun setting category didn't include the word sun 2013-10-06 13:20:13 -07:00
Paulus Schoutsen ecb0567d03 Missing doc string for one method. 2013-10-06 13:13:54 -07:00
Paulus Schoutsen 9026a78a66 Better documentation of TomatoDeviceScanner 2013-10-06 13:12:22 -07:00
Paulus Schoutsen 97e82b3808 Next sun rising and sun setting are now in statemachine. 2013-10-06 11:47:24 -07:00
Paulus Schoutsen cb4fce7691 Added title HTML tags to the debug interface 2013-10-05 14:22:46 -07:00
Paulus Schoutsen 5c5fe5051b Now possible to set multiple states through one API call. 2013-10-05 12:28:18 -07:00
Paulus Schoutsen 645513b6ae Changed default API listen port to a less common one. 2013-10-04 21:12:26 -07:00
Paulus Schoutsen 46d7a876c2 Bugfix: Not all lights would turn on when you came home before sunset but after the lights would start fading in. 2013-10-04 20:54:33 -07:00
Paulus Schoutsen 065174db7a Unnecessary check removed from httpinterface 2013-09-30 22:00:49 -07:00
Paulus Schoutsen 561fcd3d15 Added missing doc-string 2013-09-30 19:00:58 -07:00
Paulus Schoutsen e4a6219386 StateMachine sorts states now case insesitive 2013-09-30 19:00:45 -07:00
Paulus Schoutsen 87592ff860 Renaming categories for tracked devices. 2013-09-30 18:59:43 -07:00
Paulus Schoutsen ef1dbac124 HTTPInterface will catch all Requests exceptions now when shutting down. 2013-09-30 18:32:44 -07:00
Paulus Schoutsen a491df761f Integrated core.py into module-init 2013-09-30 00:20:27 -07:00
Paulus Schoutsen a75f396242 HTTP interface won't check for api password on non existing path's anymore but throw 404. 2013-09-29 23:47:53 -07:00
Paulus Schoutsen 77a69016d4 Neater code for Tomato scanning 2013-09-29 16:12:32 -07:00
Paulus Schoutsen f04e9b07a9 State machine categories don't have to be initialized anymore 2013-09-29 16:02:58 -07:00
Paulus Schoutsen c7e36e4fc1 Catching at the wrong timeout exception 2013-09-29 15:54:54 -07:00
Paulus Schoutsen 1988b5ed79 Sometimes the HTTP interface wouldn't manage to shut its threads down. 2013-09-28 14:55:03 -07:00
Paulus Schoutsen cfa27c25a8 Tomato is smarter about updating known devices file 2013-09-28 13:03:11 -07:00
Paulus Schoutsen 11529a473a Data received from Tomato is now parsed using the json decoder instead of exec 2013-09-28 12:40:13 -07:00
Paulus Schoutsen 8ac8700154 Added API 2013-09-28 11:09:36 -07:00
Paulus Schoutsen 85f3f080be Rename HttpInterface.py to httpinterface.py 2013-09-24 18:41:02 -07:00
Paulus Schoutsen a1f238816b Code reorganized into a more Pythonic structure. 2013-09-24 18:39:58 -07:00
Paulus Schoutsen 0981ea49d1 After module renaming one should also update the imports 2013-09-23 00:54:52 -07:00
Paulus Schoutsen 43921cb872 Timer does not fire off an event right away when starting anymore 2013-09-23 00:51:02 -07:00
Paulus Schoutsen 371b4c7708 Starting and stopping of modules now via start and shutdown events 2013-09-23 00:50:29 -07:00
Paulus Schoutsen 6fbadc24e4 Made the data attribute of Event optional 2013-09-23 00:38:36 -07:00
Paulus Schoutsen 4f7e032bb4 Reverting a previous change to ensure a parameter is a list 2013-09-23 00:26:12 -07:00
Paulus Schoutsen 9351acb498 Device tracker won't use a default state but the real state for initial state of each device 2013-09-23 00:19:46 -07:00
Paulus Schoutsen 2d81cc65f7 TomatoDeviceScanner init optimization 2013-09-23 00:18:40 -07:00
Paulus Schoutsen 117b8454c3 Add eventbus listener information to the HTTP interface 2013-09-23 00:16:25 -07:00
Paulus Schoutsen 0e379a2cb5 Fixed a bug where sun set and rise times would not be updated. 2013-09-21 21:37:36 -07:00
Paulus Schoutsen e6bdded90c Rename root module 2013-09-21 18:02:52 -07:00