Commit Graph

21647 Commits (dfac9c5e039e90f85c43bfa93b50f94311721631)

Author SHA1 Message Date
trainman419 18396d2ee5 Fix typo and default groups 2014-12-15 00:49:56 -08:00
trainman419 cec5ca8ba2 Specify devices for trigger 2014-12-15 00:14:10 -08:00
trainman419 4495812b84 nmap-based device tracking plugin 2014-12-14 23:28:12 -08:00
Paulus Schoutsen bea7634b47 Fix PyLint 2014-12-14 19:59:37 -08:00
Paulus Schoutsen 344ce6ee4d Define number of worker threads based on cpu count 2014-12-14 18:28:11 -08:00
Paulus Schoutsen 4e4e6b1133 Upgrade to Polymer 0.5.2 2014-12-14 00:45:29 -08:00
Paulus Schoutsen 5e8673fc4a API Call Service returns states changed 2014-12-14 00:35:16 -08:00
Paulus Schoutsen b091e9c31c Added TrackStates context manager 2014-12-14 00:32:20 -08:00
Paulus Schoutsen 78d5625ace Calling a service can now block till execution is done 2014-12-13 22:40:00 -08:00
Paulus Schoutsen f8223053bd Style fixes in home-assistant-api.html 2014-12-13 22:29:05 -08:00
Paulus Schoutsen e2b434b24e Log file now also contains warnings 2014-12-12 08:15:34 -08:00
Paulus Schoutsen 7c404a0551 device_tracker - No longer keep writing same new devices to known_devices.csv 2014-12-12 07:32:50 -08:00
Paulus Schoutsen 81be3811dc Only save the valid entities in the group entity_ids attribute 2014-12-12 07:21:25 -08:00
Paulus Schoutsen df3521e706 Group component is more flexible when to setup a group 2014-12-11 17:31:01 -08:00
Paulus Schoutsen ea1e4108cc Auth header for API is now prefixed with X- to follow spec 2014-12-09 00:34:36 -08:00
Paulus Schoutsen 756425f7b4 Added frontend icon for simple_alarm 2014-12-09 00:29:07 -08:00
Paulus Schoutsen 00e1ecb5ad Fix: simple_alarm will now report if proper initialized 2014-12-09 00:14:12 -08:00
Paulus Schoutsen 4e1b094449 Simple_alarm will only show known_alarm if that light is already on 2014-12-09 00:06:55 -08:00
Paulus Schoutsen dd55d6c7f9 Added a simple_alarm component 2014-12-08 23:47:20 -08:00
Paulus Schoutsen 6044742cee Fix: Hue lights will not flash anymore on next turn on call after having flashed 2014-12-08 23:41:52 -08:00
Paulus Schoutsen 99447eaa17 Light component now supports sending flash command 2014-12-08 23:02:38 -08:00
Paulus Schoutsen e7dff308ef Updated example component with more examples 2014-12-08 22:06:57 -08:00
Paulus Schoutsen 1f582cbeec Fix: Read known devices file once on init device_tracker 2014-12-08 22:06:38 -08:00
Paulus Schoutsen 68aa78d1fe Fix some style warnings by PyCharm 2014-12-07 01:28:52 -08:00
Paulus Schoutsen 0527760e9b Refactor: code moved to new helper and constants file. Also adds support for multiple types for switch/light components. 2014-12-06 23:57:02 -08:00
Paulus Schoutsen 48089b01ab Renamed AddCooldown to Throttle and added bypass functionality 2014-12-04 21:06:45 -08:00
Paulus Schoutsen 31b9f65513 Added initial version of AddCooldown decorator 2014-12-04 01:14:27 -08:00
Gustav Ahlberg c92089808f completed time_event_listener 2014-12-03 20:38:48 +01:00
Paulus Schoutsen eef4817804 Cleaned up device_tracker and added tests 2014-12-02 23:54:10 -08:00
Paulus Schoutsen ed150b8ea5 Renamed test to ha_test because of conflict with built-in python test package 2014-11-30 23:15:18 -08:00
Paulus Schoutsen 5835d502c7 Moved more methods out of HomeAssistant object 2014-11-30 18:42:52 -08:00
Paulus Schoutsen c08676aa81 Reorganized some core methods 2014-11-28 23:38:42 -08:00
Paulus Schoutsen 6f05548ec8 Add test coverage for demo component 2014-11-28 22:49:29 -08:00
Paulus Schoutsen a4eb975b59 HTTP more robust and increased test coverage 2014-11-28 22:27:44 -08:00
Paulus Schoutsen cdccdb432a Test remote methods for errors 2014-11-28 21:01:44 -08:00
Paulus Schoutsen 63f8f2ee7f Remote instance closes event forwarding on shutdown 2014-11-28 20:37:23 -08:00
Paulus Schoutsen cfae4c667a Minor improvements to homeassistant.remote tests 2014-11-28 20:22:29 -08:00
Paulus Schoutsen 006310c883 Home Assistant stop is more robust 2014-11-28 20:22:08 -08:00
Paulus Schoutsen 89102b5652 Increase homeassistant.util test coverage 2014-11-28 19:42:16 -08:00
Paulus Schoutsen 5fe73cf33e Made dependency loading more robust 2014-11-28 15:36:21 -08:00
Gustav Ahlberg 09908f5780 Merge branch 'dev' of https://github.com/balloob/home-assistant into scheduler
# By Paulus Schoutsen
# Via Paulus Schoutsen
* 'dev' of https://github.com/balloob/home-assistant: (51 commits)
  Light test tests light profile loading
  Loader test tests now custom component loading
  Default config dir is now working_dir/config
  Add sun component test for state change
  Tweak light test to create correct exception
  Better light.xy_color parsing
  Added light component test coverage
  Renamed mock_switch_platform to mock_toggledevice_platform
  Expanded switch test to push it to 100% coverage
  Fix to make tests work on Travis CI
  Added tests for switch component
  Clean up code sun component tests
  Added test coverage for sun component
  Minor fix for Chromecast component
  Cleaned up tests a bit
  Added initial Chromecast test coverage
  Final test added to get to 100% coverage for groups
  Extended group tests
  Added group component tests
  Reorganized testing
  ...
2014-11-26 20:44:37 +01:00
Gustav Ahlberg 1c94bb1c0f Schedule component and time event
The schedule can read a schedule.json file and create time events
2014-11-26 20:38:40 +01:00
Paulus Schoutsen ce1a5de607 Light test tests light profile loading 2014-11-25 23:16:07 -08:00
Paulus Schoutsen 9c4111403e Default config dir is now working_dir/config 2014-11-25 23:15:18 -08:00
Paulus Schoutsen cda04b7ece Add sun component test for state change 2014-11-25 22:31:36 -08:00
Paulus Schoutsen 2220df5a3e Better light.xy_color parsing 2014-11-25 21:38:47 -08:00
Paulus Schoutsen 5f9787aeb2 Added light component test coverage 2014-11-25 21:28:43 -08:00
Paulus Schoutsen 5cbe7bf1b8 Added tests for switch component 2014-11-25 00:20:36 -08:00
Paulus Schoutsen 4e155d50f3 Added test coverage for sun component 2014-11-24 23:19:33 -08:00
Paulus Schoutsen 470125b69a Minor fix for Chromecast component 2014-11-23 22:21:47 -08:00
Paulus Schoutsen 244e2a0e7e Added initial Chromecast test coverage 2014-11-23 22:18:40 -08:00
Paulus Schoutsen bc4b81d525 Reorganized testing 2014-11-23 13:00:06 -08:00
Paulus Schoutsen ad16c32504 Reorganized tests 2014-11-23 09:51:16 -08:00
Paulus Schoutsen 5278fe2f47 Added test coverage for core components 2014-11-23 00:32:03 -08:00
Paulus Schoutsen ec59c3c793 Added test to validate frontend loads 2014-11-23 00:01:15 -08:00
Paulus Schoutsen e5be72e445 Fix a flaky test 2014-11-22 23:41:47 -08:00
Paulus Schoutsen 38b85e3ca2 Added tests for loader and util 2014-11-22 23:35:59 -08:00
Paulus Schoutsen b94ab32d60 Last pieces of test coverage for core classes 2014-11-22 22:37:53 -08:00
Paulus Schoutsen 5943f757a0 Even more test coverage 2014-11-22 21:40:01 -08:00
Paulus Schoutsen 1069d79298 All core classes have full test coverage 2014-11-22 18:17:36 -08:00
Paulus Schoutsen 2866437a1f remote.set_state would log error even if not 2014-11-22 17:16:23 -08:00
Paulus Schoutsen a391bc3d3f Work around a pylint bug 2014-11-22 16:56:36 -08:00
Paulus Schoutsen feeeac2a75 Remove unused __init__ file from external dir 2014-11-22 15:57:49 -08:00
Paulus Schoutsen 01f738c151 Move to Pypi version of Phue again 2014-11-22 15:49:54 -08:00
Paulus Schoutsen 66f8daded1 Minor cleanup 2014-11-19 23:42:57 -08:00
Paulus Schoutsen cc4c557e89 Cleanup of state-badge.html 2014-11-19 23:13:48 -08:00
Paulus Schoutsen 9656ff6636 show HA toolbar when showing popups for easy going back 2014-11-19 23:02:09 -08:00
Paulus Schoutsen 88c4c77cbd New compiled version frontend 2014-11-19 19:20:30 -08:00
Paulus Schoutsen 651d2dfd86 Improved layout of popups on small screens 2014-11-19 19:20:06 -08:00
Paulus Schoutsen 67bb64ab6b Cleaned up states-cards.html 2014-11-19 19:01:46 -08:00
Paulus Schoutsen 04e58bd375 tab bar autohides on scroll down 2014-11-19 19:01:26 -08:00
Paulus Schoutsen a4dab870ce Reworked Splash Login. Hides virtual keyboard, squashed bugs. 2014-11-19 18:15:37 -08:00
Gustav Ahlberg aab52ca686 Schedule component
Can read schedule json config file
Can load custom rule_types
2014-11-17 21:18:01 +01:00
Paulus Schoutsen 5d107ed74b Switched style checking to flake8 instead of pep8 2014-11-16 22:18:52 -08:00
Paulus Schoutsen 973ce21353 Improve flexibility of the loader 2014-11-14 23:17:18 -08:00
Paulus Schoutsen 20ff5fadee Added doctype HTML to stop Safari converting selectors in embedded CSS to lower case 2014-11-14 00:26:20 -08:00
Paulus Schoutsen fa75458b30 frontend compile script now strips comments 2014-11-13 22:47:06 -08:00
Paulus Schoutsen cea18ee561 Minor frontend bugfixes 2014-11-13 22:25:43 -08:00
Paulus Schoutsen 2478656622 Upgraded to Polymer 0.5.1 2014-11-13 08:13:29 -08:00
Paulus Schoutsen 23d080af86 Upgraded to Polymer 0.5 2014-11-12 00:36:20 -08:00
Paulus Schoutsen da960b29da Added meta-tag theme-color for better app experience on Chrome Mobile 2014-11-11 22:04:26 -08:00
Paulus Schoutsen 9f9b926011 All platforms supported by components have their own file - you can can have custom platforms 2014-11-11 21:39:17 -08:00
Gustav Ahlberg 8c6e6e464e pylint and PEP8 errors 2014-11-11 18:59:38 -08:00
Gustav Ahlberg f4e54719b9 Added support for tellstick devices and sensors 2014-11-11 18:59:38 -08:00
Paulus Schoutsen c856c117a8 PEP8 style fix 2014-11-11 09:30:11 -08:00
Paulus Schoutsen 47dea785a8 Refactored light to be more reusable 2014-11-09 15:19:13 -08:00
Paulus Schoutsen ca336bef57 Fixed a bug that prevented the service dialog from sending JSON 2014-11-09 14:45:43 -08:00
Paulus Schoutsen a4bac63161 Cleanup of process component 2014-11-09 02:58:41 -08:00
Paulus Schoutsen 2ec1f20a03 Added support for unit_of_measurement 2014-11-08 17:45:09 -08:00
Paulus Schoutsen 5770cc03a1 Migrated wemo component to be part of a switch component 2014-11-08 17:20:43 -08:00
Paulus Schoutsen 222d57bda7 track_state_change now accepts a list of entity_ids 2014-11-08 14:22:17 -08:00
Paulus Schoutsen 1e136a2416 Logging is more efficient 2014-11-08 13:59:40 -08:00
Paulus Schoutsen c3c1383ae6 More error checking added on start 2014-11-08 11:01:47 -08:00
Paulus Schoutsen 9f24101348 Refactor __main__ to use ArgParse 2014-11-05 07:58:20 -08:00
Paulus Schoutsen aa80841519 Loader no longer crashes if custom_components folder does not exists in the config dir 2014-11-05 07:56:36 -08:00
Paulus Schoutsen 4c5bad495f Fix tests after enforcing entity id format 2014-11-05 07:46:33 -08:00
Paulus Schoutsen a9ee2f9c54 Refactor: loading of components now done in a seperate module + better error reporting 2014-11-04 23:34:19 -08:00
Paulus Schoutsen 3c37f491b2 Update compiled frontend with latest changes 2014-11-04 20:24:48 -08:00
Paulus Schoutsen ac2389a0a5 Responsive design now supports up to 4 columns 2014-11-04 20:23:46 -08:00
Paulus Schoutsen 714f747b61 Bugfix: Sun and light state icon default colors if on work again 2014-11-04 20:15:20 -08:00
Paulus Schoutsen 904bf4493e Added entity_id validation to the State class 2014-11-04 19:59:22 -08:00
Paulus Schoutsen c489c68f02 state-badge no longer sets url(undefined) as background-image 2014-11-02 18:50:16 -08:00
Paulus Schoutsen bb23f57f96 Renamed build_polymer to build_frontend 2014-11-02 17:57:48 -08:00
Paulus Schoutsen 98c2f1ea42 Fix broken tests after API upgrade 2014-11-02 17:52:51 -08:00
Paulus Schoutsen 94d9cbf76e Starting home assistant is now done via __main__.py 2014-11-02 17:27:32 -08:00
Paulus Schoutsen d56edd46bb Phue: Switched to GIT-version because pip version lacks behind 2014-11-02 16:22:59 -08:00
Paulus Schoutsen 542e6b9536 Timestamp tooltip is working again 2014-11-02 14:45:13 -08:00
Paulus Schoutsen 4f0b828a15 Responsive layout now grows up to 3 columns 2014-11-02 11:58:32 -08:00
Paulus Schoutsen 1bab576be7 Added support for entity pictures 2014-11-02 11:22:22 -08:00
Paulus Schoutsen f9462613f5 Refactor Javascript backend 2014-11-02 10:45:49 -08:00
Paulus Schoutsen ac8d70d547 Added a demo mode 2014-11-02 09:41:41 -08:00
Paulus Schoutsen a4dd58cf5e Responsive happiness 2014-11-02 00:06:04 -07:00
Paulus Schoutsen a0ab73882c No longer show groups on ALL tab 2014-11-01 22:10:32 -07:00
Paulus Schoutsen 48c3c44aba Updating compiled frontend to latest version 2014-11-01 15:37:24 -07:00
Paulus Schoutsen 523cd8249f Use friendly_name for entityDisplay if available 2014-11-01 15:29:39 -07:00
Paulus Schoutsen b686f04121 Major cleanup frontend 2014-11-01 15:04:44 -07:00
Paulus Schoutsen 990ac057db Reduced font size of state card 2014-11-01 08:20:06 -07:00
Paulus Schoutsen d1f3c84212 State card for light will show actual color of light 2014-11-01 08:16:34 -07:00
Paulus Schoutsen 86dc0a973c Sun will now also color yellow when above horizon 2014-10-31 00:23:06 -07:00
Paulus Schoutsen ece0902ab2 after calling a service on a group, update all states 2014-10-31 00:21:29 -07:00
Paulus Schoutsen 895ba6adbc Light state badges will turn yellow when turned on 2014-10-31 00:15:22 -07:00
Paulus Schoutsen 7db8bc6423 lights will now show as on after being turned on 2014-10-30 23:55:38 -07:00
Paulus Schoutsen 68f8fd290a filtering by group no longer messes toggle for group state up 2014-10-30 23:01:13 -07:00
Paulus Schoutsen 22b3d7810d Default state name tweaks 2014-10-30 22:29:33 -07:00
Paulus Schoutsen 82b2b9cb94 Squashed bugs in frontend 2014-10-30 22:24:28 -07:00
Paulus Schoutsen 1d0657ff54 Frontend: header size matches material design 2014-10-29 19:04:03 -07:00
Paulus Schoutsen 30ba447c64 More material love for interface 2014-10-29 00:47:55 -07:00
Paulus Schoutsen 3bab3f4be1 Frontend password checking is now done in polymer 2014-10-28 00:38:25 -07:00
Paulus Schoutsen d2a4d67cb0 Added gzip and better caching 2014-10-26 18:10:01 -07:00
Paulus Schoutsen 506496743d Cleaning up the code 2014-10-24 23:44:00 -07:00
Paulus Schoutsen 3db43d6545 Now JavaScript is inlined too 2014-10-24 23:31:12 -07:00
Paulus Schoutsen e7c648a2c3 Home Assistant contains pre-compiled version of polymer components 2014-10-24 23:09:19 -07:00
Paulus Schoutsen 5596ac7d55 Chromecast no longer exposes host attribute 2014-10-24 23:09:19 -07:00
Paulus Schoutsen 450ce69353 Frontend now has mobile web app attribute set 2014-10-23 13:07:25 -07:00
Paulus Schoutsen 3eca37afd2 Added mobile device friendliness 2014-10-22 20:46:18 -07:00
Paulus Schoutsen 2a15e239c3 Improved state card 2014-10-22 20:28:16 -07:00
Paulus Schoutsen 552f78fc5c Added refresh button 2014-10-22 19:52:16 -07:00
Paulus Schoutsen 7eafa5805a In rare occasion the group component would not load 2014-10-22 08:12:32 -07:00
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
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