From 089ecc08583e3e042b15c260388e42286d279017 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 1 Dec 2019 12:50:20 +0300 Subject: [PATCH] airfresher moved to esphome --- .../settings/apps/notifiers/watchdog.yaml | 2 +- appdaemon/settings/apps/timers/airfresher.py | 3 +- .../settings/apps/timers/airfresher.yaml | 4 +- esphome/settings/airfresher.yaml | 63 +++++++++++++++++++ .../configuration/sensor/airfresher.yaml | 13 ---- .../settings/configuration/sensor/uptime.yaml | 3 - 6 files changed, 67 insertions(+), 21 deletions(-) create mode 100644 esphome/settings/airfresher.yaml delete mode 100644 hass/settings/configuration/sensor/airfresher.yaml diff --git a/appdaemon/settings/apps/notifiers/watchdog.yaml b/appdaemon/settings/apps/notifiers/watchdog.yaml index 65dcfb6..a2e3ea1 100644 --- a/appdaemon/settings/apps/notifiers/watchdog.yaml +++ b/appdaemon/settings/apps/notifiers/watchdog.yaml @@ -19,7 +19,7 @@ watchdog_wemos_uptime: module: watchdog constraint: input_boolean.watchdog_report entities: - - sensor.uptime_airfresher + # - sensor.uptime_airfresher - sensor.uptime_bath - sensor.uptime_domofon - sensor.uptime_kitchen_led diff --git a/appdaemon/settings/apps/timers/airfresher.py b/appdaemon/settings/apps/timers/airfresher.py index 5955c6c..90ea2f2 100644 --- a/appdaemon/settings/apps/timers/airfresher.py +++ b/appdaemon/settings/apps/timers/airfresher.py @@ -66,4 +66,5 @@ class AirFresher(hass.Hass): return self.log('freshing in {}'.format(self.fresh_times)) - self.call_service("mqtt/publish", topic = "home/airfresher/airfresher/fresh/set", payload = "1") + self.turn_on(self.args['entity_id']) + # self.call_service("mqtt/publish", topic = "home/airfresher/airfresher/fresh/set", payload = "1") diff --git a/appdaemon/settings/apps/timers/airfresher.yaml b/appdaemon/settings/apps/timers/airfresher.yaml index a8bfd6c..c1569af 100644 --- a/appdaemon/settings/apps/timers/airfresher.yaml +++ b/appdaemon/settings/apps/timers/airfresher.yaml @@ -1,8 +1,6 @@ airfresher: module: airfresher class: AirFresher - # on_time: "09:00:00" - # off_time: "22:00:00" - # entity: switch.ledstrip + entity_id: switch.airfresher_fresh global_dependencies: - globals diff --git a/esphome/settings/airfresher.yaml b/esphome/settings/airfresher.yaml new file mode 100644 index 0000000..315b4c3 --- /dev/null +++ b/esphome/settings/airfresher.yaml @@ -0,0 +1,63 @@ +# Need to turn off logging because senseair uses uart and have conflicts with logging +logger: + +esphome: + name: airfresher + platform: ESP8266 + board: d1_mini + +wifi: + ssid: !secret wifi_24_name + password: !secret wifi_24_pass + + # Enable fallback hotspot (captive portal) in case wifi connection fails + ap: + ssid: "Airfresher Fallback Hotspot" + password: !secret esphome_captive_pass + +captive_portal: + +# Enable Home Assistant API +api: + password: !secret esphome_pass + +ota: + password: !secret esphome_pass + + +globals: + - id: remain + type: int + restore_value: yes + initial_value: '2000' + +sensor: + - platform: uptime + name: Airfresher Uptime + + - platform: template + name: "Airfresher Remain" + icon: "mdi:battery-80" + lambda: |- + return id(remain); + update_interval: 60s + +switch: + - platform: gpio + pin: D1 + id: fresh_motor + + - platform: template + name: "Airfresher fresh" + icon: "mdi:air-humidifier" + turn_on_action: + - lambda: 'id(remain) -= 1;' + - switch.turn_on: fresh_motor + - delay: 300ms + - switch.turn_off: fresh_motor + + - platform: template + name: "Airfresher reset" + icon: "mdi:backup-restore" + turn_on_action: + - lambda: 'id(remain) = 2000;' diff --git a/hass/settings/configuration/sensor/airfresher.yaml b/hass/settings/configuration/sensor/airfresher.yaml deleted file mode 100644 index c040e63..0000000 --- a/hass/settings/configuration/sensor/airfresher.yaml +++ /dev/null @@ -1,13 +0,0 @@ -################################################# -# AirFresher # -################################################# -- platform: mqtt - state_topic: 'home/airfresher/airfresher/remain' - name: 'airfresher_remain' - # value_template: '{{ (value | float ) / 1000 }}' - unit_of_measurement: 'times' - -- platform: template - sensors: - airfresher_remain_percent: - value_template: "{{ ((100 / 1400) * (states('sensor.airfresher_remain') | int )) | round(2) }}" diff --git a/hass/settings/configuration/sensor/uptime.yaml b/hass/settings/configuration/sensor/uptime.yaml index 4366312..8f8fe29 100644 --- a/hass/settings/configuration/sensor/uptime.yaml +++ b/hass/settings/configuration/sensor/uptime.yaml @@ -10,9 +10,6 @@ - platform: mqtt state_topic: 'home/nest/$uptime' name: 'uptime_nest' -- platform: mqtt - state_topic: 'home/airfresher/$uptime' - name: 'uptime_airfresher' - platform: mqtt state_topic: 'tele/bathlight/UPTIME' name: 'uptime_bathlight'