Para o meu Ariston inteligente de 80 litros, coloquei uma tomada Blitzwolf SHP8, com Tasmota, e montei uma série de sensores e automações:
sensor:
# Determina se o termoacumulador está em estado de erro, por não ter aquecido a água durante o período da noite.
- platform: template
sensors:
estado_termoacumulador:
friendly_name: 'Estado Termoacumulador'
entity_id: sensor.termoacumulador_potencia
value_template: >
{% if states('sensor.termoacumulador_potencia')|int >= 200 %}
{{ 'on' }}
{% elif '06:00' <= now().strftime("%H:%M") and states('sensor.termoacumulador_energia_hoje')|float < 0.5 and is_state('input_boolean.away_mode','off') %}
{{ 'Erro' }}
{% else %}
{{ 'off' }}
{% endif %}
icon_template: >
{% if is_state('sensor.estado_termoacumulador','on') %}
{{ 'mdi:water-boiler' }}
{% elif is_state('sensor.estado_termoacumulador','off') %}
{{ 'mdi:water-boiler-off' }}
{% else %}
{{ 'mdi:water-boiler-alert' }}
{% endif %}
# Determina quantos graus o termoacumulador já incrementou na água, desde as 00h do dia. Permite vir a determinar a temperatura mínima registada antes de aquecer a água, considerando que a temperatura máxima a que ele a aquece é constante, por exemplo, 60 ºC. Estatísticas de consumo de água quente podem ser derivadas a partir daqui também.
delta_t_termoacumulador:
friendly_name: 'Delta Temp. Termoacumulador'
entity_id: sensor.termoacumulador_energia_hoje
icon_template: >
{{ 'mdi:thermometer-plus' }}
## https://bigladdersoftware.com/epx/docs/8-0/input-output-reference/page-025.html#field-tank-volume-1
## https://www.usgs.gov/special-topic/water-science-school/science/water-density
## https://www.engineeringtoolbox.com/specific-heat-capacity-water-d_660.html
value_template: >
{% set cm = (4.183016667*80*0.9*0.989056667*1000) %}
{% set energy = ((states('sensor.termoacumulador_energia_hoje')|float)*3600000) %}
{{ (energy/cm) | round(1) }}
unit_of_measurement: 'ºC'
switch:
# Blitzwolf SHP8 Nº 1 - Termoacumulador
- platform: mqtt
name: "Termoacumulador ON/OFF"
state_topic: "stat/termoacumulador/POWER"
command_topic: "cmnd/termoacumulador/POWER"
payload_on: "ON"
payload_off: "OFF"
retain: false
icon: 'mdi:water-boiler'
qos: 1
sensor:
# Blitzwolf SHP8 Nº 1 - Termoacumulador
- platform: mqtt
name: "Termoacumulador - Energia hoje"
state_topic: "tele/termoacumulador/SENSOR"
value_template: '{{ value_json["ENERGY"]["Today"] }}'
unit_of_measurement: "kWh"
icon: mdi:power-socket-eu
- platform: mqtt
name: "Termoacumulador - Energia ontem"
state_topic: "tele/termoacumulador/SENSOR"
value_template: '{{ value_json["ENERGY"]["Yesterday"] }}'
unit_of_measurement: "kWh"
icon: mdi:power-socket-eu
- platform: mqtt
name: "Termoacumulador - Energia total"
state_topic: "tele/termoacumulador/SENSOR"
value_template: '{{ value_json["ENERGY"]["Total"] }}'
unit_of_measurement: "kWh"
icon: mdi:power-socket-eu
- platform: mqtt
name: "Termoacumulador - Potência"
state_topic: "tele/termoacumulador/SENSOR"
value_template: '{{ value_json["ENERGY"]["Power"] }}'
unit_of_measurement: "W"
icon: mdi:power-plug
- platform: mqtt
name: "Termoacumulador - Tensão"
state_topic: "tele/termoacumulador/SENSOR"
value_template: '{{ value_json["ENERGY"]["Voltage"] }}'
unit_of_measurement: "V"
icon: mdi:flash
- platform: mqtt
name: "Termoacumulador - Fator de potência"
state_topic: "tele/termoacumulador/SENSOR"
value_template: '{{ value_json["ENERGY"]["Factor"] }}'
unit_of_measurement: "pu"
icon: mdi:percent
O meu está sempre em modo “eco plus”, forçado apenas e só a ligar entre as 01:00 e as 04:00 da madrugada. Para aproveitar a tarifa bi-horária.
Adicionalmente, quanto o HA determina a minha ausência de casa após 24h, desliga a tomada dele (SHP8) e corta a água à casa, através de um atuador de válvula. Faz a operação inversa no meu regresso.
Espero ter ajudado.
[[]]