Esempio n. 1
0
    def run(self, hub):
        if hub.water:
            status_led.slow_blink()
        else:
            status_led.off()

        if hasattr(self, 'mqtt'):
            self.mqtt.wait()
    def update(self, state, changed):
        if 'battery' in changed:
            self.check_battery(state)

        if 'valve_open' in changed:
            if state.valve_open and self.battery_is_low(state):
                status_led.slow_blink()
            else:
                self.rotate(state.valve_open)
 def run(self, state):
     print(wifi.uid())
     status_led.slow_blink()
     wifi.connect(secrets.WIFI_NAME, secrets.WIFI_PASSWORD)
     status_led.fast_blink()
     if reset_cause() == DEEPSLEEP_RESET:
         self.mqtt.do_pub_cfg = False
         self.mqtt.connect()
     else:
         self.mqtt.try_pub_cfg()
     self.pub_state(None)
     status_led.off()
     self.mqtt.wait(led=status_led)
Esempio n. 4
0
    def __init__(self, state):
        print(wifi.uid())

        if reset_cause() != DEEPSLEEP_RESET:
            status_led.slow_blink()
        wifi.connect(secrets.WIFI_NAME, secrets.WIFI_PASSWORD)
        status_led.off()

        mqtt = MQTT(config.NAME, secrets, uid=UID)

        opt = dict(exp_aft=config.FREQ * 2.5)

        if 'temp' in state:
            from home_assistant.sensors.temperature import Temperature
            mqtt.add('Temp', Temperature, **opt).set_state(state['temp'])

        if 'humid' in state:
            from home_assistant.sensors.humidity import Humidity
            mqtt.add('Humid', Humidity, **opt).set_state(state['humid'])

        if 'lux' in state:
            from home_assistant.sensors.illuminance import Illuminance
            mqtt.add('Lux', Illuminance, **opt).set_state(state['lux'])

        if 'analog' in state:
            mqtt.add('Analog', Sensor, unit="%", icon="mdi:gauge",
                     **opt).set_state(state['analog'])

        if 'battery' in state:
            from home_assistant.sensors.battery import Battery
            mqtt.add('Battery', Battery, key='bat',
                     **opt).set_state(state['battery'])
            mqtt.set_attr('battery', state['battery'])

        mqtt.set_attr("freq", config.FREQ)

        if wifi.is_connected():
            if reset_cause() != DEEPSLEEP_RESET:
                status_led.fast_blink()
            mqtt.connect()
            sleep(1)
            mqtt.pub_state()
            status_led.off()
            sleep(5)
            mqtt.discon()
            sleep(5)
Esempio n. 5
0
    def __init__(self, state):
        self.update_on = ('count', 'battery_level')

        print(wifi.uid())

        status_led.slow_blink()
        wifi.connect(secrets.WIFI_NAME, secrets.WIFI_PASSWORD)
        status_led.off()

        self.mqtt = MQTT(config.NAME, secrets)

        counter = self.mqtt.add(
            'Counter',
            Sensor,
            unit=config.UNIT,
            icon='mdi:counter',
        )

        if config.BATT:
            battery = self.mqtt.add('Battery', Battery)

        status_led.fast_blink()
        state.mqtt = self.mqtt.try_pub_cfg()
        status_led.off()

        self._sched = False

        def pub_state(_):
            status_led.on()
            self._sched = False
            counter.set_state(state.count)
            if config.BATT:
                battery.set_state(state.battery)
                counter.set_attr('battery', state.battery)
            state.set(mqtt=self.mqtt.pub_state())
            status_led.off()

        self.pub_state = pub_state