Geyserwise and Home Assistant.

If you are like me and installed the Geyserwise with Tuya support, and running Home Assistant you may of got frustrated trying to get a decent dashboard card for your geyser, that did not take up half the screen but still shows all the important information. using the standard Entity Card you get to see something like this.

all that space to tell you 2 things Current temp and operation mode. but i needed to know more, in addition to those 2 I needed Away mode, Element status, and target temp.

The thermostat card did not do much better, adding target temp but only an estimate of current temp

The Tile card is marginally better, but no way to display element status cos the awesome way geyserwise works is that the element is a whole other Entity!! and the away mode just says on or off with no indication of what is being referenced. and now the text is too small to read from far away. and the Mushroom cards have similar issues.

My solution, create a template binary sensor, that controls the Icon based on Away, Off, On, or Element heating, and modify the tempo to show current and target temps

Here is the code to add to your config file

  • binary_sensor:
    • name: "KidsGeyserStatus"
      state: >
      {% if is_state('water_heater.kids_geyserwise', 'electric') %}
      on

      {% else %}
      off

      {% endif %} icon: >
      {% if is_state_attr('water_heater.kids_geyserwise', 'away_mode', 'on') %}
      mdi:water-alert-outline

      {% elif is_state('water_heater.kids_geyserwise', 'off') %}
      mdi:water-boiler-off

      {% elif is_state('water_heater.kids_geyserwise', 'electric')and is_state('binary_sensor.kids_geyserwise_element', 'off') %}
      mdi:water-boiler

      {% elif is_state('binary_sensor.kids_geyserwise_element', 'on') %}
      mdi:fire

      {% else %}
      mdi:water-boiler-alert

      {% endif %}
      attributes:
      icon_color: >
      {% if is_state_attr('water_heater.kids_geyserwise', 'away_mode', 'on') %}
      Black
      {% elif is_state('water_heater.kids_geyserwise', 'off') %}
      Primary
      {% elif is_state('water_heater.kids_geyserwise', 'electric') and is_state('binary_sensor.kids_geyserwise_element', 'off') %}
      Primary
      {% elif is_state('binary_sensor.kids_geyserwise_element', 'on') %}
      Accent
      {% else %}
      Red
      {% endif %}
      TempStat: >
      {{ state_attr('water_heater.kids_geyserwise','current_temperature') }}{{' > '}}{{ state_attr('water_heater.kids_geyserwise','temperature') }}

Not the best but it works for me.

To avoid all the BS above just get the ESPHome version here

https://store.smartpad.co.za/index.php/product/geyserwise-pcb-esphome/

Leave a Reply

Your email address will not be published. Required fields are marked *