diff --git a/homeassistant/components/scheduler/__init__.py b/homeassistant/components/scheduler/__init__.py new file mode 100644 index 00000000000..de950d03a47 --- /dev/null +++ b/homeassistant/components/scheduler/__init__.py @@ -0,0 +1,50 @@ +""" +homeassistant.components.scheduler +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +""" +import logging +from datetime import datetime, timedelta +import json +from pprint import pprint +import importlib + +from homeassistant.components import switch, sun +from homeassistant.loader import get_component + +# The domain of your component. Should be equal to the name of your component +DOMAIN = 'scheduler' + +# List of component names (string) your component depends upon +# If you are setting up a group but not using a group for anything, +# don't depend on group +DEPENDENCIES = ['sun'] + +_LOGGER = logging.getLogger(__name__) + +_SCHEDULE_FILE = 'schedule.json' +_RULE_TYPE_CACHE = {} + + +# pylint: disable=unused-argument +def setup(hass, config): + """ Register services or listen for events that your component needs. """ + + def setup_schedule(description): + + for rule in description['rules']: + rule_init = get_component('scheduler.{}'.format(rule['type'])) + + if rule_init is None: + _LOGGER.error('Error loading schedule rule %s', rule['type']) + return False + + return True + + with open(hass.get_config_path(_SCHEDULE_FILE)) as schedule_file: + schedule_descriptions = json.load(schedule_file) + + for schedule_description in schedule_descriptions: + if not setup_schedule(schedule_description): + return False + + return True diff --git a/homeassistant/components/scheduler/sun.py b/homeassistant/components/scheduler/sun.py new file mode 100644 index 00000000000..6ab66e7a36c --- /dev/null +++ b/homeassistant/components/scheduler/sun.py @@ -0,0 +1,5 @@ +"""asd""" + + +def hej(): + print('wut sun wut') diff --git a/homeassistant/components/scheduler/time.py b/homeassistant/components/scheduler/time.py new file mode 100644 index 00000000000..348f6537bc6 --- /dev/null +++ b/homeassistant/components/scheduler/time.py @@ -0,0 +1,5 @@ +"""asd""" + + +def hej(): + print('wut wut')