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