mirror of
https://github.com/esphome/esphome.git
synced 2025-10-29 22:24:26 +00:00
Let esphomeyaml know about class inheritance (#229)
* Allow overriding setup priority * Add inheritance tree * Global variables * Tests and better validation * Fix * Lint
This commit is contained in:
@@ -8,7 +8,8 @@ import esphomeyaml.config_validation as cv
|
||||
from esphomeyaml import automation
|
||||
from esphomeyaml.const import CONF_CRON, CONF_DAYS_OF_MONTH, CONF_DAYS_OF_WEEK, CONF_HOURS, \
|
||||
CONF_MINUTES, CONF_MONTHS, CONF_ON_TIME, CONF_SECONDS, CONF_TIMEZONE, CONF_TRIGGER_ID
|
||||
from esphomeyaml.helpers import App, NoArg, Pvariable, add, add_job, esphomelib_ns, ArrayInitializer
|
||||
from esphomeyaml.helpers import App, NoArg, Pvariable, add, add_job, esphomelib_ns, \
|
||||
ArrayInitializer, Component, Trigger
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
@@ -17,7 +18,9 @@ PLATFORM_SCHEMA = cv.PLATFORM_SCHEMA.extend({
|
||||
})
|
||||
|
||||
time_ns = esphomelib_ns.namespace('time')
|
||||
CronTrigger = time_ns.CronTrigger
|
||||
RealTimeClockComponent = time_ns.class_('RealTimeClockComponent', Component)
|
||||
CronTrigger = time_ns.class_('CronTrigger', Trigger.template(NoArg), Component)
|
||||
EsphomelibTime = time_ns.struct('EsphomelibTime')
|
||||
|
||||
|
||||
def _tz_timedelta(td):
|
||||
|
||||
@@ -3,15 +3,15 @@ import voluptuous as vol
|
||||
import esphomeyaml.config_validation as cv
|
||||
from esphomeyaml.components import time as time_
|
||||
from esphomeyaml.const import CONF_ID, CONF_LAMBDA, CONF_SERVERS
|
||||
from esphomeyaml.helpers import App, Pvariable, add
|
||||
from esphomeyaml.helpers import App, Pvariable, add, setup_component
|
||||
|
||||
SNTPComponent = time_.time_ns.SNTPComponent
|
||||
SNTPComponent = time_.time_ns.class_('SNTPComponent', time_.RealTimeClockComponent)
|
||||
|
||||
PLATFORM_SCHEMA = time_.TIME_PLATFORM_SCHEMA.extend({
|
||||
cv.GenerateID(): cv.declare_variable_id(SNTPComponent),
|
||||
vol.Optional(CONF_SERVERS): vol.All(cv.ensure_list, [cv.string], vol.Length(max=3)),
|
||||
vol.Optional(CONF_LAMBDA): cv.lambda_,
|
||||
})
|
||||
}).extend(cv.COMPONENT_SCHEMA.schema)
|
||||
|
||||
|
||||
def to_code(config):
|
||||
@@ -21,6 +21,7 @@ def to_code(config):
|
||||
add(sntp.set_servers(*config[CONF_SERVERS]))
|
||||
|
||||
time_.setup_time(sntp, config)
|
||||
setup_component(sntp, config)
|
||||
|
||||
|
||||
BUILD_FLAGS = '-DUSE_SNTP_COMPONENT'
|
||||
|
||||
Reference in New Issue
Block a user