Geyserwise Tuya

I had the GW max installed last week, intergrated into HA and seems to be working fine. I am just seem to be missing the values for the time slots. On the Tuya app it only has block 1,2,3 etc and in HA it states morning temp, afternoon, evening and overnight. I would prefert o have these as actual time slots. Does any know what the default time slots are that would corraspond to these blocks?

00:00 -> 06:00
06:00 -> 12:00
12:00 -> 18:00
18:00 -> 00:00

It'll be in the Geyserwise manual.
 
I've been using the Geyserwala with Home Assistant for a few months now.

It's working well without any issue.

I use an automation on Home Assistant to heat at a specific time every day and switch off once the target temperature is reached.

The automation also automatically switches off the geyser if I don't have grid power and I don't have enough battery/solar power.

It also automatically switches on the heating if I have excess solar power.
 
I've been using the Geyserwala with Home Assistant for a few months now.

It's working well without any issue.

I use an automation on Home Assistant to heat at a specific time every day and switch off once the target temperature is reached.

The automation also automatically switches off the geyser if I don't have grid power and I don't have enough battery/solar power.

It also automatically switches on the heating if I have excess solar power.
Congratulations
 
I've been using the Geyserwala with Home Assistant for a few months now.

It's working well without any issue.

I use an automation on Home Assistant to heat at a specific time every day and switch off once the target temperature is reached.

The automation also automatically switches off the geyser if I don't have grid power and I don't have enough battery/solar power.

It also automatically switches on the heating if I have excess solar power.

I have used for a while now as well and working great. I find I have to do the controls manually though because load shedding happens at different times and the geyser this is linked to is on the batteries. So I’ve got a huge array of timers in the list and just activate a few at a time after checking the schedules. It’s really a god send. Especially now I’m sitting in Finland and controlling everything remotely for the family.
 
I have used for a while now as well and working great. I find I have to do the controls manually though because load shedding happens at different times and the geyser this is linked to is on the batteries. So I’ve got a huge array of timers in the list and just activate a few at a time after checking the schedules. It’s really a god send. Especially now I’m sitting in Finland and controlling everything remotely for the family.
As far as automation goes (for my custom geyser controller), I have the following rules:
Between 16:00 and 09:00:
- if the inverter reports grid disconnect, turn off the geyser. This stops the geyser from discharging the battery.
- if the geyser turns on the element because the temperature has dropped below the setpoint, set the inverter to grid power, and battery charge current to 0A. This allows the geyser to heat up overnight if needed, but stops it from draining the battery, but also stops the battery from charging up at the same time.
- if the geyser turns off the element, set the inverter to battery power, and battery charge current to 50A. Revert the above.
Between 09:00 and 16:00:
- Geyser operates normally, running from solar.
- If Battery State of Charge > 70, and battery charge power > 2000W for 5 minutes, set the thermostat to 70C.
- if Battery discharge power > 500W for 5 minutes, set the thermostat back to 45C

It's not perfect in terms of soaking up all the excess solar generation as hot water, but it does a pretty good job.
 
As far as automation goes (for my custom geyser controller), I have the following rules:
Between 16:00 and 09:00:
- if the inverter reports grid disconnect, turn off the geyser. This stops the geyser from discharging the battery.
- if the geyser turns on the element because the temperature has dropped below the setpoint, set the inverter to grid power, and battery charge current to 0A. This allows the geyser to heat up overnight if needed, but stops it from draining the battery, but also stops the battery from charging up at the same time.
- if the geyser turns off the element, set the inverter to battery power, and battery charge current to 50A. Revert the above.
Between 09:00 and 16:00:
- Geyser operates normally, running from solar.
- If Battery State of Charge > 70, and battery charge power > 2000W for 5 minutes, set the thermostat to 70C.
- if Battery discharge power > 500W for 5 minutes, set the thermostat back to 45C

It's not perfect in terms of soaking up all the excess solar generation as hot water, but it does a pretty good job.

I've never used HA so am quite unaware of the power of it, but looking at your schedule it seems like I could probably work out something similar and tbf that would be pretty awesome. I'll need to look into it, sounds complicated but worth it.

To explain my situation a bit, the geyser with the Geyserwala installed is in our garden cottage (used for friends and AirBnB) which is supplied electricity from our inverter/batteries/solar through a sub DB. It also has it's own solar panel which is 50/50 whether it reaches setpoint every day so sometimes needs topping up from the main solar, which I do when the batteries are at 100%. So it seems like it is possible to do similar to you have done, not sure where to start though. any pointers on setting it up as such on HA?
 
@RoganDawes Do you mind sharing more info on your hardware and some yaml?
This thread documents my geyser hardware/controller: https://mybroadband.co.za/forum/threads/esphome-geyserwise-smart-thermostat.1231463/

As mentioned later in the thread, I can't believe that I didn't consider just replacing the analog thermistor with a digital ds18b20 sensor directly, it probably would have fitted just fine, and worked perfectly! That said, what I described has worked without incident for the last year or so, so I'm in no rush to make any changes!

Then, I also have my Sunsynk 8kW inverter integrated into HA via the kellerza/sunsynk addon.

And my geyser automations look like:

automations.yaml
Code:
- id: '1679584991721'
  alias: Geyser monitor
  description: Sends a notification if the geyser is turned off for more than 10 minutes
    when the grid is on
  trigger:
  - platform: homeassistant
    event: start
  - platform: state
    entity_id:
    - climate.geyser_thermostat_climate
    to: unavailable
    for:
      hours: 0
      minutes: 2
      seconds: 0
  - platform: state
    entity_id:
    - climate.geyser_thermostat_climate
    to: 'off'
    for:
      hours: 0
      minutes: 2
      seconds: 0
  condition:
  - condition: and
    conditions:
    - condition: or
      conditions:
      - condition: device
        device_id: a0863b1e65b28ac16feaf400faa670d9
        domain: climate
        entity_id: climate.geyser_thermostat_climate
        type: is_hvac_mode
        hvac_mode: 'off'
      - condition: state
        entity_id: climate.geyser_thermostat_climate
        state: unavailable
        for:
          hours: 0
          minutes: 1
          seconds: 0
    - condition: numeric_state
      entity_id: sensor.grid_voltage
      above: 200
  action:
  - service: notify.persistent_notification
    data:
      message: Please investigate!
      title: Geyser is off
- id: '1679686222156'
  alias: Geyser preset boost
  description: Sets the geyser thermostat to boost during the day, if the battery
    is charging above 2000W for 5 minutes and PV power > 2500
  trigger:
  - platform: numeric_state
    entity_id:
    - sensor.battery_power
    for:
      hours: 0
      minutes: 5
      seconds: 0
    below: -2000
  - platform: numeric_state
    entity_id: sensor.battery_soc
    above: 70
  condition:
  - condition: and
    conditions:
    - condition: numeric_state
      entity_id: sensor.battery_soc
      above: 70
    - condition: numeric_state
      entity_id: sensor.battery_power
      above: 2000
  action:
  - device_id: a0863b1e65b28ac16feaf400faa670d9
    domain: climate
    entity_id: climate.geyser_thermostat_climate
    type: set_preset_mode
    preset_mode: boost
  mode: single
- id: '1679686300431'
  alias: Geyser preset eco
  description: Sets the geyser thermostat to Eco if the battery is discharging
  trigger:
  - platform: numeric_state
    entity_id: sensor.battery_power
    for:
      hours: 0
      minutes: 5
      seconds: 0
    above: 1000
  - platform: numeric_state
    entity_id: sensor.battery_soc
    for:
      hours: 0
      minutes: 5
      seconds: 0
    below: 80
  - platform: time
    at: '16:00:00'
  condition:
  - condition: state
    entity_id: climate.geyser_thermostat_climate
    attribute: preset_mode
    state: boost
  action:
  - device_id: a0863b1e65b28ac16feaf400faa670d9
    domain: climate
    entity_id: climate.geyser_thermostat_climate
    type: set_preset_mode
    preset_mode: eco
  mode: single
- id: '1680150473945'
  alias: Geyser power on to Eco mode
  description: Sets the geyser to eco mode on poweron
  trigger:
  - platform: state
    entity_id:
    - climate.geyser_thermostat_climate
    from: unavailable
  condition:
  - condition: time
    after: '16:00:00'
    before: '10:00:00'
    weekday:
    - mon
    - tue
    - wed
    - thu
    - fri
    - sat
    - sun
  action:
  - device_id: a0863b1e65b28ac16feaf400faa670d9
    domain: climate
    entity_id: climate.geyser_thermostat_climate
    type: set_preset_mode
    preset_mode: eco
  mode: single
- id: '1684337408034'
  alias: Geyser off during night-time load shedding
  description: Turns the geyser off during loadshedding at night
  trigger:
  - platform: state
    entity_id:
    - binary_sensor.grid_connected
    for:
      hours: 0
      minutes: 5
      seconds: 0
    from: 'off'
    to: 'on'
  - platform: state
    entity_id:
    - binary_sensor.grid_connected
    for:
      hours: 0
      minutes: 0
      seconds: 0
    from: 'on'
    to: 'off'
  condition: []
  action:
  - if:
    - condition: and
      conditions:
      - condition: state
        entity_id: binary_sensor.grid_connected
        state: 'off'
      - condition: time
        after: '16:00:00'
        before: 09:00:00
    then:
    - device_id: a0863b1e65b28ac16feaf400faa670d9
      domain: climate
      entity_id: climate.geyser_thermostat_climate
      type: set_hvac_mode
      hvac_mode: 'off'
    else:
    - device_id: a0863b1e65b28ac16feaf400faa670d9
      domain: climate
      entity_id: climate.geyser_thermostat_climate
      type: set_hvac_mode
      hvac_mode: heat
  mode: single
- id: '1685989607006'
  alias: Geyser disables Inverter Timer
  description: Turns off the timer when the geyser turns on, between 16:00 and 09:00
  trigger:
  - platform: state
    entity_id:
    - climate.geyser_thermostat_climate
    attribute: hvac_action
  - platform: time
    at: 09:00:00
  - platform: time
    at: '16:00:00'
  condition: []
  action:
  - if:
    - condition: and
      conditions:
      - condition: state
        entity_id: climate.geyser_thermostat_climate
        attribute: hvac_action
        state: heating
      - condition: or
        conditions:
        - condition: time
          after: '16:00:00'
        - condition: time
          before: 09:00:00
    then:
    - service: switch.turn_off
      data: {}
      target:
        entity_id: switch.use_timer
    - service: number.set_value
      data:
        value: '0'
      target:
        entity_id: number.grid_charge_battery_current
    else:
    - service: switch.turn_on
      data: {}
      target:
        entity_id: switch.use_timer
    - service: number.set_value
      data:
        value: '50'
      target:
        entity_id: number.grid_charge_battery_current
  mode: single
 
I've never used HA so am quite unaware of the power of it, but looking at your schedule it seems like I could probably work out something similar and tbf that would be pretty awesome. I'll need to look into it, sounds complicated but worth it.

To explain my situation a bit, the geyser with the Geyserwala installed is in our garden cottage (used for friends and AirBnB) which is supplied electricity from our inverter/batteries/solar through a sub DB. It also has it's own solar panel which is 50/50 whether it reaches setpoint every day so sometimes needs topping up from the main solar, which I do when the batteries are at 100%. So it seems like it is possible to do similar to you have done, not sure where to start though. any pointers on setting it up as such on HA?
So the first thing I guess is to make sure you can talk to the equipment you have. Home Assistant can talk to the GeyserWala just fine, I believe. What inverter(s?) do you have? Odds are fair those can integrate just fine, already. Then, you can actually copy rules from the automations.yaml I posted in the other comment, and paste on by one (starting at the top level “-“) into the automations editor yaml view.
 
So the first thing I guess is to make sure you can talk to the equipment you have. Home Assistant can talk to the GeyserWala just fine, I believe. What inverter(s?) do you have? Odds are fair those can integrate just fine, already. Then, you can actually copy rules from the automations.yaml I posted in the other comment, and paste on by one (starting at the top level “-“) into the automations editor yaml view.

Yoh! I’ll look into it and find a nice tutorial to know what these terms are. I’m truly a noob. I’m on a work trip in Europe just now so pretty full days and no chance of doing a bit of research during working hours.

Edit: inverter is 8kW Victron.
 
Yoh! I’ll look into it and find a nice tutorial to know what these terms are. I’m truly a noob. I’m on a work trip in Europe just now so pretty full days and no chance of doing a bit of research during working hours.

Edit: inverter is 8kW Victron.

Home Assistant works well with Victron. You can check your solar generation, battery life, grid power etc. from the Victron to decide whether to switch the Geyser on of off.
 
With all the updates that Tuya has been up to and the breaking change released on the recent HASS Core release has anyone else had an issue with the Geyserwise wifi setup breaking?

I re-added all my other Tuya based switches and lights without an issue, but Geyserwise keeps on dropping the wifi signal and when it does hold for a few minutes, the smart life app does not show any of the settings from the board.
 
Bought the geyserwala replacement and swopped out my Geyserwise Wi-Fi TSE for it (put this into my dad’s Geyserwise setup). Must say I prefer the geyserwala look feel and interface and integration with HA.
And very easy experience to order/receive and install.
 
This thread documents my geyser hardware/controller: https://mybroadband.co.za/forum/threads/esphome-geyserwise-smart-thermostat.1231463/

As mentioned later in the thread, I can't believe that I didn't consider just replacing the analog thermistor with a digital ds18b20 sensor directly, it probably would have fitted just fine, and worked perfectly! That said, what I described has worked without incident for the last year or so, so I'm in no rush to make any changes!

Then, I also have my Sunsynk 8kW inverter integrated into HA via the kellerza/sunsynk addon.

And my geyser automations look like:

automations.yaml
Code:
- id: '1679584991721'
  alias: Geyser monitor
  description: Sends a notification if the geyser is turned off for more than 10 minutes
    when the grid is on
  trigger:
  - platform: homeassistant
    event: start
  - platform: state
    entity_id:
    - climate.geyser_thermostat_climate
    to: unavailable
    for:
      hours: 0
      minutes: 2
      seconds: 0
  - platform: state
    entity_id:
    - climate.geyser_thermostat_climate
    to: 'off'
    for:
      hours: 0
      minutes: 2
      seconds: 0
  condition:
  - condition: and
    conditions:
    - condition: or
      conditions:
      - condition: device
        device_id: a0863b1e65b28ac16feaf400faa670d9
        domain: climate
        entity_id: climate.geyser_thermostat_climate
        type: is_hvac_mode
        hvac_mode: 'off'
      - condition: state
        entity_id: climate.geyser_thermostat_climate
        state: unavailable
        for:
          hours: 0
          minutes: 1
          seconds: 0
    - condition: numeric_state
      entity_id: sensor.grid_voltage
      above: 200
  action:
  - service: notify.persistent_notification
    data:
      message: Please investigate!
      title: Geyser is off
- id: '1679686222156'
  alias: Geyser preset boost
  description: Sets the geyser thermostat to boost during the day, if the battery
    is charging above 2000W for 5 minutes and PV power > 2500
  trigger:
  - platform: numeric_state
    entity_id:
    - sensor.battery_power
    for:
      hours: 0
      minutes: 5
      seconds: 0
    below: -2000
  - platform: numeric_state
    entity_id: sensor.battery_soc
    above: 70
  condition:
  - condition: and
    conditions:
    - condition: numeric_state
      entity_id: sensor.battery_soc
      above: 70
    - condition: numeric_state
      entity_id: sensor.battery_power
      above: 2000
  action:
  - device_id: a0863b1e65b28ac16feaf400faa670d9
    domain: climate
    entity_id: climate.geyser_thermostat_climate
    type: set_preset_mode
    preset_mode: boost
  mode: single
- id: '1679686300431'
  alias: Geyser preset eco
  description: Sets the geyser thermostat to Eco if the battery is discharging
  trigger:
  - platform: numeric_state
    entity_id: sensor.battery_power
    for:
      hours: 0
      minutes: 5
      seconds: 0
    above: 1000
  - platform: numeric_state
    entity_id: sensor.battery_soc
    for:
      hours: 0
      minutes: 5
      seconds: 0
    below: 80
  - platform: time
    at: '16:00:00'
  condition:
  - condition: state
    entity_id: climate.geyser_thermostat_climate
    attribute: preset_mode
    state: boost
  action:
  - device_id: a0863b1e65b28ac16feaf400faa670d9
    domain: climate
    entity_id: climate.geyser_thermostat_climate
    type: set_preset_mode
    preset_mode: eco
  mode: single
- id: '1680150473945'
  alias: Geyser power on to Eco mode
  description: Sets the geyser to eco mode on poweron
  trigger:
  - platform: state
    entity_id:
    - climate.geyser_thermostat_climate
    from: unavailable
  condition:
  - condition: time
    after: '16:00:00'
    before: '10:00:00'
    weekday:
    - mon
    - tue
    - wed
    - thu
    - fri
    - sat
    - sun
  action:
  - device_id: a0863b1e65b28ac16feaf400faa670d9
    domain: climate
    entity_id: climate.geyser_thermostat_climate
    type: set_preset_mode
    preset_mode: eco
  mode: single
- id: '1684337408034'
  alias: Geyser off during night-time load shedding
  description: Turns the geyser off during loadshedding at night
  trigger:
  - platform: state
    entity_id:
    - binary_sensor.grid_connected
    for:
      hours: 0
      minutes: 5
      seconds: 0
    from: 'off'
    to: 'on'
  - platform: state
    entity_id:
    - binary_sensor.grid_connected
    for:
      hours: 0
      minutes: 0
      seconds: 0
    from: 'on'
    to: 'off'
  condition: []
  action:
  - if:
    - condition: and
      conditions:
      - condition: state
        entity_id: binary_sensor.grid_connected
        state: 'off'
      - condition: time
        after: '16:00:00'
        before: 09:00:00
    then:
    - device_id: a0863b1e65b28ac16feaf400faa670d9
      domain: climate
      entity_id: climate.geyser_thermostat_climate
      type: set_hvac_mode
      hvac_mode: 'off'
    else:
    - device_id: a0863b1e65b28ac16feaf400faa670d9
      domain: climate
      entity_id: climate.geyser_thermostat_climate
      type: set_hvac_mode
      hvac_mode: heat
  mode: single
- id: '1685989607006'
  alias: Geyser disables Inverter Timer
  description: Turns off the timer when the geyser turns on, between 16:00 and 09:00
  trigger:
  - platform: state
    entity_id:
    - climate.geyser_thermostat_climate
    attribute: hvac_action
  - platform: time
    at: 09:00:00
  - platform: time
    at: '16:00:00'
  condition: []
  action:
  - if:
    - condition: and
      conditions:
      - condition: state
        entity_id: climate.geyser_thermostat_climate
        attribute: hvac_action
        state: heating
      - condition: or
        conditions:
        - condition: time
          after: '16:00:00'
        - condition: time
          before: 09:00:00
    then:
    - service: switch.turn_off
      data: {}
      target:
        entity_id: switch.use_timer
    - service: number.set_value
      data:
        value: '0'
      target:
        entity_id: number.grid_charge_battery_current
    else:
    - service: switch.turn_on
      data: {}
      target:
        entity_id: switch.use_timer
    - service: number.set_value
      data:
        value: '50'
      target:
        entity_id: number.grid_charge_battery_current
  mode: single
I need to get off my ass and install the GW I bought.

Thanks for sharing the above.
 
I'm leaning more towards the GeyserWise Tuya replacement board for my TSE1.
I already have a couple Tuya switches for other purposes, and have Tuya integrated with my HA.
The board is also now cheaper than the GeyserWala.
I'm not to fussed about local control.

Any reason not to go for the GeyserWise board?
 
I'm leaning more towards the GeyserWise Tuya replacement board for my TSE1.
I already have a couple Tuya switches for other purposes, and have Tuya integrated with my HA.
The board is also now cheaper than the GeyserWala.
I'm not to fussed about local control.

Any reason not to go for the GeyserWise board?
I'm using one for the past year or so and haven't had any issues, just make sure you have a decent wifi connection nearby as I've heard it doesn't have the strongest wifi reception (mine is pretty close to my wifi AP).

I am controlling it locally too with Tuya Local in Home Assistant.
 
I'm leaning more towards the GeyserWise Tuya replacement board for my TSE1.
I already have a couple Tuya switches for other purposes, and have Tuya integrated with my HA.
The board is also now cheaper than the GeyserWala.
I'm not to fussed about local control.

Any reason not to go for the GeyserWise board?
no reason i can think of especially since you already have Tuya switches -
 
no reason i can think of especially since you already have Tuya switches -
Tuya often gets a bad rap but I have multiple Tuya devices and rarely have any problems with them. I have one of the CBI Astute switches in my db which gives me problems sometimes if my wifi goes down and then returns but that's the only one I've had a not so great experience with.
 
Tuya often gets a bad rap but I have multiple Tuya devices and rarely have any problems with them. I have one of the CBI Astute switches in my db which gives me problems sometimes if my wifi goes down and then returns but that's the only one I've had a not so great experience with.
i think the main issue (most) people have is that it needs the cloud sync to work - local tuya options exist but were finicky in the past - they are much easier to use and setup now. My Tuya devices (using cloud) have been the most stable in my smart home
 
i think the main issue (most) people have is that it needs the cloud sync to work - local tuya options exist but were finicky in the past - they are much easier to use and setup now. My Tuya devices (using cloud) have been the most stable in my smart home
I've been using local tuya for a good couple of years with no issues.

Anyway, back to the geyser question - it's a pity the geyserwala is quite a bit more pricey than the geyserwise version now. Is @Thingwala still around?
 
Top
Sign up to the MyBroadband newsletter
X