diff --git a/appdaemon/settings/apps/doorbells/intercom.py b/appdaemon/settings/apps/doorbells/intercom.py index f074d99..c04e1ad 100644 --- a/appdaemon/settings/apps/doorbells/intercom.py +++ b/appdaemon/settings/apps/doorbells/intercom.py @@ -32,7 +32,7 @@ class Intercom(hass.Hass): self.listen_state(self.sensor_trigger, self.args['sensor']) def sensor_trigger(self, entity, attribute, old, new, kwargs): - if new != "off": + if new != "on": return self.log("domofon_call") self.domofon_call(None, None, None) diff --git a/appdaemon/settings/apps/notifiers/watchdog.yaml b/appdaemon/settings/apps/notifiers/watchdog.yaml index 1f05549..deb0dc1 100644 --- a/appdaemon/settings/apps/notifiers/watchdog.yaml +++ b/appdaemon/settings/apps/notifiers/watchdog.yaml @@ -20,7 +20,7 @@ watchdog_wemos_uptime: constraint: input_boolean.watchdog_report entities: - sensor.airfresher_uptime - - sensor.uptime_bath + - sensor.watercontrol_uptime - sensor.domofon_uptime - sensor.uptime_kitchen_led - sensor.uptime_nest diff --git a/esphome/settings/domofon.yaml b/esphome/settings/domofon.yaml index 2dd8026..561e1dc 100644 --- a/esphome/settings/domofon.yaml +++ b/esphome/settings/domofon.yaml @@ -41,6 +41,8 @@ binary_sensor: name: "Domofon incoming call" id: incoming_call device_class: lock + filters: + - delayed_off: 5s on_press: then: - script.execute: state_call diff --git a/esphome/settings/watercontrol.yaml b/esphome/settings/watercontrol.yaml new file mode 100644 index 0000000..732f88b --- /dev/null +++ b/esphome/settings/watercontrol.yaml @@ -0,0 +1,116 @@ +# Need to turn off logging because senseair uses uart and have conflicts with logging +logger: + +esphome: + name: watercontrol + 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: "Watercontrol 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: water_state + type: bool + restore_value: yes + initial_value: 'true' + - id: cold_value + type: float + restore_value: yes + initial_value: '210.29' + - id: hot_value + type: float + restore_value: yes + initial_value: '109.74' + +binary_sensor: + - platform: gpio + name: pulse_cold + pin: + number: D1 + mode: INPUT_PULLUP + filters: + - delayed_off: 100ms + on_press: + then: + - lambda: 'id(cold_value) += 0.01;' + + - platform: gpio + name: pulse_hot + pin: + number: D2 + mode: INPUT_PULLUP + filters: + - delayed_off: 100ms + on_press: + then: + - lambda: 'id(hot_value) += 0.01;' + +sensor: + - platform: uptime + name: "Watercontrol Uptime" + + - platform: template + name: "counter hot" + lambda: |- + return id(hot_value); + update_interval: 60s + + - platform: template + name: "counter cold" + lambda: |- + return id(cold_value); + update_interval: 60s + + - platform: ultrasonic + trigger_pin: D7 + echo_pin: D6 + name: "Toilet Distance" + update_interval: 5s + +switch: + - platform: gpio + pin: + number: D5 + inverted: yes + id: water_open + interlock: [water_close] + + - platform: gpio + pin: + number: D3 + inverted: yes + id: water_close + interlock: [water_open] + + - platform: template + name: "Water valve" + icon: "mdi:cup-water" + lambda: |- + return id(water_state); + turn_on_action: + - switch.turn_on: water_open + - delay: 5s + - switch.turn_off: water_open + - lambda: 'id(water_state) = true;' + turn_off_action: + - switch.turn_on: water_close + - delay: 5s + - switch.turn_off: water_close + - lambda: 'id(water_state) = false;' diff --git a/hass/settings/configuration/sensor/water_conters.yaml b/hass/settings/configuration/sensor/water_conters.yaml index 0a488fc..0f63c2d 100644 --- a/hass/settings/configuration/sensor/water_conters.yaml +++ b/hass/settings/configuration/sensor/water_conters.yaml @@ -1,13 +1,13 @@ ################################################# # WATER # ################################################# -- platform: mqtt - state_topic: 'home/bath/bath/cold' - name: 'counter_cold' - value_template: '{{ (value | float ) / 1000 }}' - unit_of_measurement: 'm3' -- platform: mqtt - state_topic: 'home/bath/bath/hot' - name: 'counter_hot' - value_template: '{{ (value | float ) / 1000 }}' - unit_of_measurement: 'm3' +# - platform: mqtt +# state_topic: 'home/bath/bath/cold' +# name: 'counter_cold' +# value_template: '{{ (value | float ) / 1000 }}' +# unit_of_measurement: 'm3' +# - platform: mqtt +# state_topic: 'home/bath/bath/hot' +# name: 'counter_hot' +# value_template: '{{ (value | float ) / 1000 }}' +# unit_of_measurement: 'm3' diff --git a/hass/settings/configuration/switch/water_valve.yaml b/hass/settings/configuration/switch/water_valve.yaml index 178dbae..0527432 100644 --- a/hass/settings/configuration/switch/water_valve.yaml +++ b/hass/settings/configuration/switch/water_valve.yaml @@ -1,8 +1,8 @@ -- platform: mqtt - name: water_valve - state_topic: "home/bath/bath/valve" - command_topic: "home/bath/bath/valve/set" - payload_on: "open" - payload_off: "close" - optimistic: false - retain: false +# - platform: mqtt +# name: water_valve +# state_topic: "home/bath/bath/valve" +# command_topic: "home/bath/bath/valve/set" +# payload_on: "open" +# payload_off: "close" +# optimistic: false +# retain: false