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