Need help: advice for hardware wall thermostat + heater thermostats

Hi everyone,

I need some advice.
I want to buy

  • a wireless wall thermostat and
  • a wireless heater thermostat
    preferable compatible with zigbee2mqtt.

In example

Bitron AV2010/32

and

Eurotronic SPZB0001

Main purpose:

  • huge WAF (Wife Acceptance Factor)

    • easy to use
    • “normal, classic” behaviour of wall thermostat: turn on/off, set temp, etc…
    • ability to simple program (daily, weekend, etc…) on wall thermostat
    • wall thermostat regulates the individual heater thermostats (master/slave model): temperature is set by wall thermostat, heater thermostats follow temp set by wall thermostat
  • together with hug GEEK-factor

    • get control with home assistant
    • do more advanced programming in hass
    • see status in hass
    • get historical graphs of behaviour
    • etc…

So the big picture is: my wife should be able to regulate the temp without any knowledge of hass or apps. Just the old-fashioned way.
I want to surprise her with home assistant and automatisation…

Is this possible?
What hardware do you recommend?

kind regards,
Bart

Have you been able to make the Bitron AV2010/32 working?

Is there anybody who has a system working like these? I want something the same. Like the old EQ-3 max with a wireless wall thermostat and and thermosdtat valve’s. Homematic IP is really the same what i see. But also the Fritz thermostat valve with the Fritz DECT 440 switch what also could use as a external wall thermostat. But it’s costly and i want to focus on something with Zigbee.

Suggestions are welcome!

Hi all,

I installed a Bitron (now SmaBit) AV2010/32 yesterday (16/9/22) and while it’s early days so far it looks very good.

I’m running HA 22.9 on a Rasberry Pi 4 with a Conbee II stick (on a 2m extension lead) and using ZHA.

Pairing worked first time and and the process created the main thermostat control showing current temperature (updated around every 5 minutes I think), status (heating/idle/off), a target temperature control and master on /off selector

Also available are a battery indicator and a separate state sensor to show on/off/idle state.

The default lovelace control shows the most recent temperature and the current state and has a dial slider control for changing temperature and icons to control the master on/off state. All control changes made in HA can be seen on the device within a few seconds.

I’ve not yet created any integrations but I would assume the working lovelace control means I should not expect any issues here.

The major thing still to check has nothing to do with HA integration but the thermostat function of the device. The previous Honeywell thoermostat was pretty good at keeping the termperature close to the setpoint, though at the expense of high cycling rates when the termperature outside was low. Based on what I’ve seen so far it looks like the Bitron has an operating range of +/-0.25 degrees centigrade so temperature swings might be a little wider than what I’m used to. It’s possible that these settings are configurable somehow but I’m having trouble finding documentation on the ‘Pro’ programming mode available on the device. This is not a huge concern though because if all else fails I’ve got 30 days to return the device (Amazon.de) if it doesn’t meet my needs.

Overall then, I’m hugely impressed with how this just works in HA and looking forward to some colder weather in the coming weeks to put it through its paces properly, as well as trying out some basic automations. If there are any major problems I’ll report back here.

Hope this helps!

Dom

Update 18/9

The +/- 0.25 operating range around the set temperature mentioned above is configurable via HA. The relevant attributes on the thermostat are non-standard so not known to ZHA but by installing the HACS ZHA-toolkit add-on it is possible to write scripts to fetch the current values and set new ones. This gives more flexibility over how quickly the thermostat switches off after reaching the set temperature and how quickly it switches back on again after the temperature drops below.

Hi @DomWise
Did you find a solution for 0.25 steps, you talked about using scripts here:
“installing the HACS ZHA-toolkit add-on it is possible to write scripts to fetch the current values and set new ones”

@herbalizer404 Apologies for not responding sooner but I don’t check on here very often and only just noticed your question. This can be done and works fine. It was a bit fiddly to figure out and set up so I’ll need to dig around a bit but hopefully I’ll be able to find out exactly what I did and post the relevant scripts.

Hi @herbalizer404

Here is what I use for hysteresis management on the Bitron device

The method I’ve used may be a bit clunky but I’m fairly new to coding in HA and this was the first approach I found that works so I’ve stuck with it. There may be obvious cleanups but I’ll leave that to the experts :slight_smile:

First off you will need to install HACS and then install ZHA Toolkit. The documentation for ZHA Toolkit states that it is available in the default HACS repository list but just in case it isn’t the project URL is GitHub - mdeweerd/zha-toolkit: 🧰 Zigbee Home Assistant Toolkit - service for "rare" Zigbee operations using ZHA on Home Assistant

I’m providing the script actions exactly as I have them to avoid any copy/paste/edit errors so you might need to change some IDs, in particular for the thermostat device. My Bitron device is called “Central Thermostat” in HA so the entity ID of its thermostat component used in the scripts is climate.central_thermostat_thermostat, and if you’ve installed your device as e.g. Bitron Heating Control you would need to change this to climate.bitron_heating_control_thermostat. The rest of the identifiers can probably be used as they are unless you already have items with these names.

I have two input number helpers for use in the UI with names “Thermostat High Hysteresis” and “Thermostat Low Hysteresis” whose names correspond to the state attributes below (see attr_val). The device interprets the values supplied in units of hundredths of a degree so 10 = 0.1 degree. After updating the values in the UI it’s necessary to call a “Set” script to push the values to the device

The “Set” script actions are as follows (YAML must be used).

service: zha_toolkit.attr_write
data:
  ieee: climate.central_thermostat_thermostat
  endpoint: 1
  cluster: 513
  attribute: 257
  attr_type: 33
  attr_val: "{{states.input_number.thermostat_high_hysteresis.state}}"
  manf: 4209

service: zha_toolkit.attr_write
data:
  ieee: climate.central_thermostat_thermostat
  endpoint: 1
  cluster: 513
  attribute: 258
  attr_type: 33
  attr_val: "{{states.input_number.thermostat_low_hysteresis.state}}"
  manf: 4209

To retrieve the current settings I found that intermediary sensor values created by the ZHA toolkit on first read must be used (I chose thermostat_current_hysteresis_high and thermostat_current_hysteresis_low which you can see below), after which the Set Input Number action can be used to update the UI input helpers

The “Retrieve” script actions are as follows:

service: zha_toolkit.attr_read
data:
  cluster: 513
  state_id: sensor.thermostat_current_hysteresis_high
  attribute: 257
  attr_type: 33
  manf: 4209
  ieee: climate.central_thermostat_thermostat
  endpoint: 1
  tries: 1
  allow_create: true

service: input_number.set_value
data:
  value: "{{ states.sensor.thermostat_current_hysteresis_high.state | float }}"
target:
  entity_id: input_number.thermostat_high_hysteresis

service: zha_toolkit.attr_read
data:
  cluster: 513
  state_id: sensor.thermostat_current_hysteresis_low
  attribute: 258
  attr_type: 33
  manf: 4209
  ieee: climate.central_thermostat_thermostat
  endpoint: 1
  tries: 1
  allow_create: true


service: input_number.set_value
data:
  value: "{{ states.sensor.thermostat_current_hysteresis_low.state | float }}"
target:
  entity_id: input_number.thermostat_low_hysteresis

I should add that to check the values are actually updated the “Set” script has an action to call the “Retrieve” script after running its own items to refresh the UI with the (hopefully) updated values

I’ve found that high hysteresis and low hysteresis values both set to 5 (= 0.05 degrees) work well for me in terms of the resulting temperature range and rate of boiler cycling but you should play around a bit to find out what works best for you.

If you want to know more about where the “magic” numbers come from you can find the manual for the device at http://media.bitronvideo.eu/bitronhome/download/LBT90374.pdf. The identifier numbers in the manual are in hexadecimal so you’ll need to convert the decimal values above to hex to find them in the manual e.g. 257 above → 101 in hex

I hope this helps!