Files
ESPHome/hs-test.yaml

154 lines
3.5 KiB
YAML

esphome:
name: hs-test
platform: ESP32
board: esp32dev
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
password: "dd9d2a5e573d1d0ed1435d5c176b580c"
wifi:
ssid: "EasyBox-368239"
password: "inginf95"
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Hs-Test Fallback Hotspot"
password: "Innr1HW7mk9e"
switch:
- platform: gpio
name: "Ventil 1"
id: vent1
pin: GPIO32
inverted: true
- platform: gpio
name: "Ventil 2"
id: vent2
pin: GPIO33
inverted: true
- platform: gpio
name: "Ventil 3"
id: vent3
pin: GPIO25
inverted: true
- platform: gpio
name: "Ventil 4"
id: vent4
pin: GPIO26
inverted: true
mqtt:
broker: 192.168.178.76
port: 1884
username: nils
password: inginf95
# Reaction to target temperature
on_message:
- topic: stat/HS1/HK1/temperature
then:
- if:
condition:
lambda: 'return (esphome::parse_float(x)) < (id(TargetHK1).state);'
then:
- logger.log: "Turn on vent 1!"
- switch.turn_on: vent1
else:
- logger.log: "Turn off vent 1!"
- switch.turn_off: vent1
- topic: stat/HS1/HK2/temperature
then:
- if:
condition:
lambda: 'return (esphome::parse_float(x)) < (id(TargetHK2).state);'
then:
- logger.log: "Turn on vent 2!"
- switch.turn_on: vent2
else:
- logger.log: "Turn off vent 2!"
- switch.turn_off: vent2
- topic: stat/HS1/HK3/temperature
then:
- if:
condition:
lambda: 'return (esphome::parse_float(x)) < (id(TargetHK3).state);'
then:
- logger.log: "Turn on vent 3!"
- switch.turn_on: vent3
else:
- logger.log: "Turn off vent 3!"
- switch.turn_off: vent3
- topic: stat/HS1/HK4/temperature
then:
- if:
condition:
lambda: 'return (esphome::parse_float(x)) < (id(TargetHK4).state);'
then:
- logger.log: "Turn on vent 4!"
- switch.turn_on: vent4
else:
- logger.log: "Turn off vent 4!"
- switch.turn_off: vent4
sensor:
# Current Temperatures
- platform: mqtt_subscribe
name: "Current HK1"
id: CurrentHK1
topic: stat/HS1/HK1/temperature
- platform: mqtt_subscribe
name: "Current HK2"
id: CurrentHK2
topic: stat/HS1/HK2/temperature
- platform: mqtt_subscribe
name: "Current HK3"
id: CurrentHK3
topic: stat/HS1/HK3/temperature
- platform: mqtt_subscribe
name: "Current HK4"
id: CurrentHK4
topic: stat/HS1/HK4/temperature
# Target Temperatures
- platform: mqtt_subscribe
name: "Target HK1"
id: TargetHK1
topic: stat/HS1/HK1/target_temperature
- platform: mqtt_subscribe
name: "Target HK2"
id: TargetHK2
topic: stat/HS1/HK2/target_temperature
- platform: mqtt_subscribe
name: "Target HK3"
id: TargetHK3
topic: stat/HS1/HK3/target_temperature
- platform: mqtt_subscribe
name: "Target HK4"
id: TargetHK4
topic: stat/HS1/HK4/target_temperature
- platform: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 60s
- platform: uptime
name: Uptime Sensor
web_server:
port: 80
auth:
username: nils
password: inginf95
captive_portal: