yaml layout updates to v1.x

This commit is contained in:
root
2026-02-25 21:05:21 +13:00
parent 61b0c64a1e
commit a8d2927274
44 changed files with 6521 additions and 4689 deletions
+31 -14
View File
@@ -1,6 +1,7 @@
##########################################################################################
# TITLE: MAIN BATHROOM FAN/HEAT COMBO SWITCH
##########################################################################################
# MAIN BATHROOM FAN/HEAT COMBO SWITCH
# VERSIONS:
# V1.5 2026-02-23 MQTT numeric timer only applies if fan already ON (does not turn fan ON)
# V1.4 2026-02-23 Add mm:ss countdown text sensor (eg 22:12) + per-second countdown engine
# V1.3 2026-02-23 Add 60-min cap timer + Remaining Minutes sensor (counts down)
@@ -8,21 +9,37 @@
# V1.1 2025-08-26 Minor Changes (MQTT)
# V1.0 2025-06-01 Initial Version
##########################################################################################
# HARDWARE:
# Zemismart KS-811 Double Push Button
# pinout/schematic https://community.home-assistant.io/t/zemismart-ks-811-working-with-esphome/
#
# NOTES
# - MQTT Local Usage
# Send ON to ${mqtt_command_main_topic}/${mqtt_local_device_name} and it will turn the fan ON (60 min cap)
# Send OFF to ${mqtt_command_main_topic}/${mqtt_local_device_name} and it will turn the fan OFF
# Send a value from 1 to 60 to ${mqtt_command_main_topic}/${mqtt_local_device_name}
# and it will ONLY start/restart the countdown IF the fan is already ON (in minutes)
#
##########################################################################################
# OPERATION NOTES:
# a) MQTT Local Usage
# Send ON to ${mqtt_command_main_topic}/${mqtt_local_device_name} and it will turn the fan ON (60 min cap)
# Send OFF to ${mqtt_command_main_topic}/${mqtt_local_device_name} and it will turn the fan OFF
# Send a value from 1 to 60 to ${mqtt_command_main_topic}/${mqtt_local_device_name}
# and it will ONLY start/restart the countdown IF the fan is already ON (in minutes)
# b) IR Heater Safety
# It is designed so there should be no situation that the Heater can be on without the fan.
# If the fan turns off, so will the IR Heater.
# c) Timing functions
# By default, the fan will be on for 60mins max. Other values can be sent via MQTT/HA
# d) Other device control
# This device can turn on the heated towel rail via MQTT (doubleclick button 2)
##########################################################################################
# OFFLINE NOTES:
# a) Home Assistant OFFLINE, but Network and MQTT ONLINE
# - The fan can still be controlled with ON, OFF and given a timer value, via MQTT.
# - The Heated towel rail can also be switched on.
# b) HA/MQTT OFFLINE
# With no automation controllers, fan and heater can be controlled on/off with the switches.
# Auto timers cannot be changed, but the fam will be on for 60mins max.
# c) Internet/Wifi OFFLINE
# No further changes, SNTP not required as timing functions do not rely on accurate clock.
##########################################################################################
##########################################################################################
# SPECIFIC DEVICE VARIABLE SUBSTITUTIONS
# SPECIFIC DEVICE VARIABLE SUBSTITUTIONS:
# If NOT using a secrets file, just replace these with the passwords etc (in quotes)
##########################################################################################
substitutions:
@@ -61,7 +78,7 @@ substitutions:
# MQTT REMOTE Controls
mqtt_remote_device1_name: "masterbath-towelrail"
mqtt_remote_device1_command_topic: "${mqtt_command_main_topic}/${mqtt_remote_device1_name}/operation"
mqtt_remote_device1_command_topic: "${mqtt_command_main_topic}/${mqtt_remote_device1_name}"
mqtt_remote_device1_command1: "BOOST"
##########################################################################################
@@ -103,7 +120,7 @@ packages:
#diag_resetcount: !include common/include_resetcount_diag_sensors.yaml
##########################################################################################
# ESPHome
# ESPHOME
# https://esphome.io/components/esphome.html
##########################################################################################
esphome:
@@ -140,7 +157,7 @@ esphome:
id(relay2_forced_relay1) = false;
##########################################################################################
# ESP Platform and Framework
# ESP PLATFORM AND FRAMEWORK
# https://esphome.io/components/esp32.html
##########################################################################################
esp8266:
@@ -149,7 +166,7 @@ esp8266:
board_flash_mode: dout # Default is dout
##########################################################################################
# ESPHome Logging Enable
# LOGGING
# https://esphome.io/components/logger.html
##########################################################################################
logger: