diff --git a/docker/Dockerfile.aarch64 b/docker/Dockerfile.aarch64 index 72bc408db2..07ee573b20 100644 --- a/docker/Dockerfile.aarch64 +++ b/docker/Dockerfile.aarch64 @@ -15,6 +15,7 @@ COPY docker/platformio-esp8266.ini /pio/platformio.ini RUN platformio run -d /pio; rm -rf /pio COPY . . -RUN pip install --no-cache-dir --no-binary :all: -e . +RUN pip install --no-cache-dir --no-binary :all: -e . && \ + pip install --no-cache-dir --no-binary :all: pillow tzlocal CMD ["esphomeyaml", "/config/esphomeyaml", "dashboard"] diff --git a/docker/Dockerfile.amd64 b/docker/Dockerfile.amd64 index 18a51151a5..f2fa58177e 100644 --- a/docker/Dockerfile.amd64 +++ b/docker/Dockerfile.amd64 @@ -14,6 +14,7 @@ COPY docker/platformio.ini /pio/platformio.ini RUN platformio run -d /pio; rm -rf /pio COPY . . -RUN pip install --no-cache-dir --no-binary :all: -e . +RUN pip install --no-cache-dir --no-binary :all: -e . && \ + pip install --no-cache-dir --no-binary :all: pillow tzlocal CMD ["esphomeyaml", "/config/esphomeyaml", "dashboard"] diff --git a/docker/Dockerfile.armhf b/docker/Dockerfile.armhf index 430e604202..43c39645f8 100644 --- a/docker/Dockerfile.armhf +++ b/docker/Dockerfile.armhf @@ -15,6 +15,7 @@ COPY docker/platformio-esp8266.ini /pio/platformio.ini RUN platformio run -d /pio; rm -rf /pio COPY . . -RUN pip install --no-cache-dir --no-binary :all: -e . +RUN pip install --no-cache-dir --no-binary :all: -e . && \ + pip install --no-cache-dir --no-binary :all: pillow tzlocal CMD ["esphomeyaml", "/config/esphomeyaml", "dashboard"] diff --git a/docker/Dockerfile.i386 b/docker/Dockerfile.i386 index 599a98fb04..7d499b79b7 100644 --- a/docker/Dockerfile.i386 +++ b/docker/Dockerfile.i386 @@ -14,6 +14,7 @@ COPY docker/platformio.ini /pio/platformio.ini RUN platformio run -d /pio; rm -rf /pio COPY . . -RUN pip install --no-cache-dir --no-binary :all: -e . +RUN pip install --no-cache-dir --no-binary :all: -e . && \ + pip install --no-cache-dir --no-binary :all: pillow tzlocal CMD ["esphomeyaml", "/config/esphomeyaml", "dashboard"] diff --git a/esphomeyaml-edge/Dockerfile b/esphomeyaml-edge/Dockerfile index 4235198cc8..54e3dd28ce 100644 --- a/esphomeyaml-edge/Dockerfile +++ b/esphomeyaml-edge/Dockerfile @@ -38,6 +38,7 @@ RUN /bin/bash -c "if [[ '$BUILD_FROM' = *\"ubuntu\"* ]]; then \ # Install latest esphomeyaml from git RUN pip install --no-cache-dir \ - git+git://github.com/OttoWinter/esphomeyaml.git + git+git://github.com/OttoWinter/esphomeyaml.git && \ + pip install pillow tzlocal CMD ["esphomeyaml", "/config/esphomeyaml", "dashboard"] diff --git a/esphomeyaml/components/remote_transmitter.py b/esphomeyaml/components/remote_transmitter.py index d7437051a2..7eb8ed3db1 100644 --- a/esphomeyaml/components/remote_transmitter.py +++ b/esphomeyaml/components/remote_transmitter.py @@ -2,7 +2,6 @@ import voluptuous as vol import esphomeyaml.config_validation as cv from esphomeyaml import pins -from esphomeyaml.components.switch.remote_transmitter import rc_switch_protocols, RCSwitchProtocol from esphomeyaml.const import CONF_ADDRESS, CONF_CARRIER_DUTY_PERCENT, CONF_CHANNEL, CONF_CODE, \ CONF_DEVICE, CONF_FAMILY, CONF_GROUP, CONF_ID, CONF_INVERTED, CONF_ONE, CONF_PIN, \ CONF_PROTOCOL, CONF_PULSE_LENGTH, CONF_STATE, CONF_SYNC, CONF_ZERO @@ -12,6 +11,8 @@ from esphomeyaml.helpers import App, Pvariable, add, esphomelib_ns, gpio_output_ remote_ns = esphomelib_ns.namespace('remote') RemoteTransmitterComponent = remote_ns.RemoteTransmitterComponent +RCSwitchProtocol = remote_ns.RCSwitchProtocol +rc_switch_protocols = remote_ns.rc_switch_protocols def validate_rc_switch_code(value): diff --git a/esphomeyaml/components/switch/remote_transmitter.py b/esphomeyaml/components/switch/remote_transmitter.py index 1ca6acc601..88a4f1cec9 100644 --- a/esphomeyaml/components/switch/remote_transmitter.py +++ b/esphomeyaml/components/switch/remote_transmitter.py @@ -9,7 +9,7 @@ from esphomeyaml.components.remote_transmitter import RC_SWITCH_RAW_SCHEMA, \ from esphomeyaml.const import CONF_ADDRESS, CONF_CARRIER_FREQUENCY, CONF_CHANNEL, CONF_CODE, \ CONF_COMMAND, CONF_DATA, CONF_DEVICE, CONF_FAMILY, CONF_GROUP, CONF_INVERTED, CONF_LG, \ CONF_NAME, CONF_NBITS, CONF_NEC, CONF_PANASONIC, CONF_PROTOCOL, CONF_RAW, CONF_RC_SWITCH_RAW, \ - CONF_RC_SWITCH_TYPE_A, CONF_RC_SWITCH_TYPE_B, CONF_RC_SWITCH_TYPE_C, CONF_RC_SWITCH_TYPE_D,\ + CONF_RC_SWITCH_TYPE_A, CONF_RC_SWITCH_TYPE_B, CONF_RC_SWITCH_TYPE_C, CONF_RC_SWITCH_TYPE_D, \ CONF_REPEAT, CONF_SONY, CONF_STATE, CONF_TIMES, \ CONF_WAIT_TIME from esphomeyaml.helpers import App, ArrayInitializer, Pvariable, add, get_variable @@ -29,8 +29,6 @@ NECTransmitter = remote_ns.NECTransmitter PanasonicTransmitter = remote_ns.PanasonicTransmitter RawTransmitter = remote_ns.RawTransmitter SonyTransmitter = remote_ns.SonyTransmitter -RCSwitchProtocol = remote_ns.RCSwitchProtocol -rc_switch_protocols = remote_ns.rc_switch_protocols RCSwitchRawTransmitter = remote_ns.RCSwitchRawTransmitter RCSwitchTypeATransmitter = remote_ns.RCSwitchTypeATransmitter RCSwitchTypeBTransmitter = remote_ns.RCSwitchTypeBTransmitter diff --git a/esphomeyaml/config_validation.py b/esphomeyaml/config_validation.py index 94e3c434aa..33befdc342 100644 --- a/esphomeyaml/config_validation.py +++ b/esphomeyaml/config_validation.py @@ -185,6 +185,8 @@ def templatable(other_validators): def validator(value): if isinstance(value, Lambda): return value + if isinstance(other_validators, dict): + return vol.Schema(other_validators)(value) return other_validators(value) return validator diff --git a/esphomeyaml/dashboard/templates/index.html b/esphomeyaml/dashboard/templates/index.html index 3267fdbe28..9a0abdae0b 100644 --- a/esphomeyaml/dashboard/templates/index.html +++ b/esphomeyaml/dashboard/templates/index.html @@ -160,6 +160,8 @@ width: 350px; } + +