yaml layout updates to v1.1 and minor fixes

This commit is contained in:
root
2026-03-08 22:52:22 +13:00
parent 2649a33051
commit e09931360a
166 changed files with 486 additions and 360 deletions
+24 -22
View File
@@ -1,13 +1,17 @@
#:########################################################################################:#
# TITLE: BEDROOM 3 FAN SWITCH (WALL SWITCH)
# zorruno.com layout v1.0 2026
# TITLE: BEDROOM 3 FAN SWITCH WALL SWITCH
# zorruno.com layout v1.1 2026
#:########################################################################################:#
# REPO:
# https://home.fox.co.nz/gitea/zorruno/zorruno-homeassistant/src/branch/master/esphome/esp-bedrm3fanswitch.yaml
#:########################################################################################:#
# VERSIONS:
# V1.1 2026-03-05 Updated yaml to zorruno layout V1.1
# V1.0 2025-07-23 First Setup (and replacement of Tasmota)
#:########################################################################################:#
# HARDWARE:
# Zemismart KS-811 Triple push button (KS-811-3)
# pinout/schematic: https://community.home-assistant.io/t/zemismart-ks-811-working-with-esphome/
# - Zemismart KS-811 Triple push button (KS-811-3)
# pinout/schematic: https://community.home-assistant.io/t/zemismart-ks-811-working-with-esphome/
#:########################################################################################:#
# OPERATION NOTES:
# - Wall switch for Bedroom 3 ceiling fan
@@ -40,8 +44,10 @@
# - No MQTT publish/subscribe and no HA API connectivity
# - Buttons will do nothing to the fan (no transport)
# - Relay indicators will remain in their last state until connectivity returns (or reboot)
# - Accurate time is NOT needed (SNTP not required) for core operation
#:########################################################################################:#
#:########################################################################################:#
# SUBSTITUTIONS: Specific device variable substitutions
# If NOT using a secrets file, just replace these with the passwords etc (in quotes)
@@ -50,21 +56,19 @@ substitutions:
# Device Naming
device_name: "esp-bedrm3fanswitch"
friendly_name: "Bedroom 3 Fan Wall Switch (3)"
description_comment: "Switch for Bedroom 3 Ceiling Fan using Zemismart KS-811 Triple Push Button. Speed Up (1), Speed Down (2), Fan Off (3) (Layout V1.0)"
description_comment: "Switch for Bedroom 3 Ceiling Fan using Zemismart KS-811 Triple Push Button. Speed Up (1), Speed Down (2), Fan Off (3) (Layout V1.1)"
device_area: "Bedroom 3" # Allows ESP device to be automatically linked to an 'Area' in Home Assistant.
# Project Naming
project_name: "Zemismart Technologies.KS-811-3 (Triple)" # Project Details
project_version: "v1" # Project V denotes release of yaml file, allowing checking of deployed vs latest version
#entity_prefix: "Main Bathroom" # Simple device name where we want to prefix a sensor or switch, eg "Load" Current.
project_version: "v1.1" # Project V denotes release of yaml file, allowing checking of deployed vs latest version
# Passwords and Secrets
api_key: !secret esp-api_key # unfortunately you can't use substitutions inside secrets names
ota_pass: !secret esp-ota_pass # unfortunately you can't use substitutions inside secrets names
static_ip_address: !secret esp-bedrm3fanswitch_ip
mqtt_local_command_main_topic: !secret mqtt_command_main_topic
mqtt_local_status_main_topic: !secret mqtt_status_main_topic
mqtt_command_main_topic: !secret mqtt_command_main_topic
mqtt_status_main_topic: !secret mqtt_status_main_topic
# If we are changing IP addresses, you must update the current IP address here, otherwise it remains
# Don't forget to switch it back when changed.
@@ -74,26 +78,22 @@ substitutions:
log_level: "INFO" # Define logging level: NONE, ERROR, WARN, INFO, DEBUG (Default), VERBOSE, VERY_VERBOSE
update_interval: "60s" # update time for general sensors etc
# MQTT LOCAL Controls
#mqtt_device_name: "bedroom3-ceilingfan-switch"
#mqtt_local_command_topic: "${mqtt_local_command_main_topic}/${mqtt_device_name}" # Topic used to command this locally without HA
#mqtt_local_status_topic: "${mqtt_local_status_main_topic}/${mqtt_device_name}" # Topic used to view status locally without HA
# MQTT REMOTE Controls
mqtt_remote_device_name: "bedroom3-ceilingfan"
mqtt_remote_device_command_topic: "${mqtt_local_command_main_topic}/${mqtt_remote_device_name}/speed/set"
mqtt_remote_device_command_topic: "${mqtt_command_main_topic}/${mqtt_remote_device_name}/speed/set"
mqtt_remote_device_command1: "+"
mqtt_remote_device_command2: "-"
mqtt_remote_device_command3: "0"
# Fan speed status topic (used to sync relay indicators)
mqtt_local_status_topic: "${mqtt_local_status_main_topic}/${mqtt_remote_device_name}/speed/state"
mqtt_local_status_topic: "${mqtt_status_main_topic}/${mqtt_remote_device_name}/speed/state"
# Switch/Relay Naming and Icons
switch_1_name: "Fan Speed Up" # Virtual intent only, no load connected to relay 1
switch_2_name: "Fan Speed Down" # Virtual intent only, no load connected to relay 2
switch_3_name: "Fan Off" # Virtual intent only, no load connected to relay 3
#:########################################################################################:#
# PACKAGES: Included Common Packages
# https://esphome.io/components/packages.html
@@ -133,6 +133,7 @@ packages:
diag_debug: !include common/include_debug_diag_sensors.yaml
#diag_resetcount: !include common/include_resetcount_diag_sensors.yaml
#:########################################################################################:#
# ESPHOME:
# https://esphome.io/components/esphome.html
@@ -151,21 +152,18 @@ esphome:
- "-Wl,--gc-sections" # drop unused code/data
#- "-fno-exceptions" # strip C++ exceptions
#- "-fno-rtti" # strip C++ RTTI
# on_boot:
# priority: 200
# then:
# - switch.turn_on: Relay_3
#:########################################################################################:#
# ESP PLATFORM AND FRAMEWORK:
# https://esphome.io/components/esp8266/
# https://esphome.io/components/esp32/
#:########################################################################################:#
esp8266:
board: esp01_1m
early_pin_init: false # Recommended false where switches are involved. Defaults to true.
board_flash_mode: dout # Default is dout
#:########################################################################################:#
# LOGGING: ESPHome Logging Enable
# https://esphome.io/components/logger.html
@@ -176,6 +174,7 @@ logger:
#esp8266_store_log_strings_in_flash: false
#tx_buffer_size: 64
#:########################################################################################:#
# STATUS LED:
# https://esphome.io/components/status_led.html
@@ -186,6 +185,7 @@ status_led:
number: GPIO2
inverted: true
#:########################################################################################:#
# BINARY SENSORS:
# https://esphome.io/components/binary_sensor/
@@ -226,6 +226,7 @@ binary_sensor:
topic: "${mqtt_remote_device_command_topic}"
payload: "${mqtt_remote_device_command3}"
#:########################################################################################:#
# SWITCH COMPONENT:
# https://esphome.io/components/switch/
@@ -247,6 +248,7 @@ switch:
pin: GPIO14
id: Relay_3
#:########################################################################################:#
# MQTT:
# Subscribe to fan speed state and mirror it to relay indicator pattern