I am using an ESP32 with Tasmota, it is equipped with an SHT30 probe and tri-color led. The led indicates the range of tank water temperature. I am still trying to decide between ESPEasy and Tasmota, running Tasmota on V2, V1 was on ESPEasy. Also in the mix is a zigbee power monitoring plug that shows the duty cycle of the tank heater. I am hoping to include a basic LCD display in V3 along with a second sensor and indicator led for a second tank. I am leaning toward ESPEasy being easier to work with for V3.
My concern is that the heater could be shutdown by accident or eventually by HA. I plan to add a backup heater also on a controlled outlet with HA monitoring for a failure, either stuck on or dead and not heating. My daughter likes expensive Betta fish, I want to keep them alive!
I would like to set the led to blink at a very slow rate, regardless of color, to indicate that the heater is off or has failed. As an alternate indicator, I could leave the primary state color on and inject a red blink, again at a slow rate as a failure indicator. The MQTT trigger cause the automation to run if the ESP reboots for any reason.
Any suggestions on how to achieve the blink regardless of color indicator lit? The led is PWM controlled for brightness across all channels.
Supported features of the led per channel…
supported_color_modes:
- brightness
color_mode: brightness
brightness: 10
friendly_name: ESP Tank Green
supported_features: 32
Not sure what the features are given the following:
SUPPORT_BRIGHTNESS = 1
SUPPORT_COLOR_TEMP = 2
SUPPORT_EFFECT = 4
SUPPORT_FLASH = 8
SUPPORT_COLOR = 16
SUPPORT_TRANSITION = 32
SUPPORT_WHITE_VALUE = 128
I have this automation controlling the led:
alias: Tank Temperature LED
description: Indicate tank temperature
trigger:
- platform: state
entity_id:
- sensor.esp_tank_sht3x_temperature
- platform: mqtt
topic: tele/ESP_Tank/LWT
payload: Online
action:
- choose:
- conditions:
- condition: numeric_state
entity_id: sensor.esp_tank_sht3x_temperature
below: 74
sequence:
- service: light.turn_on
target:
entity_id: light.esp_tank_3
data:
brightness_pct: 66
- service: light.turn_off
target:
entity_id: light.esp_tank_2, light.esp_tank
data: {}
- conditions:
- condition: numeric_state
entity_id: sensor.esp_tank_sht3x_temperature
above: 74
below: 83
sequence:
- service: light.turn_on
target:
entity_id: light.esp_tank_2
data:
brightness: 10
- service: light.turn_off
target:
entity_id: light.esp_tank, light.esp_tank_3
data: {}
- conditions:
- condition: numeric_state
entity_id: sensor.esp_tank_sht3x_temperature
above: 83
sequence:
- service: light.turn_on
target:
entity_id: light.esp_tank
data:
brightness_pct: 50
- service: light.turn_off
target:
entity_id: light.esp_tank_2, light.esp_tank_3
data: {}
mode: single
Thanks Matt