Zigbee2mqtt with Eurotronic SPZB0001

Sorry to hijack this topic for another different question. I have three SPZB0001 connected to HA via zigbee2mqtt. They work well mostly, however, for two of them, the reported temperatures - both local and target - jump to 20.0 degrees and then right back to the real values. This seems to be happening roughly every 30 seconds.

Does anybody have any idea what could be causing this?

Do you have cache_state: true in your zigbee2mqtt configuration? I donā€™t know if this would cause such behavior, but last time I had this enabled, my SPZB0001 devices were not working properly, either.

Thanks for the reply. No, I donā€™t - unless itā€™s default.

Iā€™ll see if I can dump the Zigbee messages to see if the devices are really sending these weird messages every now and then.

@prankousky Can you tell me if itā€™s possible to open or close the valve/thermostat from within HASS?
I mean, open or close the thermostat, based on some automation or some other external sensor?

You can completely close the valve by setting the climate entity to ā€˜offā€™; when you switch back to ā€˜heatā€™ (not ā€˜onā€™! You need ā€˜heatā€™ in your automations), it will revert to the last value you had set and open the thermostat.

I am not home atm but can paste an example automation that I use later.

@clau-bucur

This is my automation for controlling my SPZB0001 devices. Lots of credits to this community because I was not able to figure out the template on my own :wink:

# Heizungen mit Template steuern

automation:
  - alias: "[Heizungen] Auto On/Off"
    trigger:
      - platform: state
        entity_id:
          - binary_sensor.arbeitszimmer_fenster_contact
          - binary_sensor.kueche_fenster_contact
    action:
      - service: climate.set_hvac_mode
        data_template:
          entity_id: >
            {% set zimmer = trigger.to_state.object_id.split('_')[0] %}
            climate.{{zimmer}}_heizung_climate
          hvac_mode: >
            {% if trigger.to_state.state == "on" %}
              off
            {%elif trigger.to_state.state == "off" %}
              heat
            {% endif %}

  - alias: "[Heizungen Fenstercheck]"
    trigger:
      - platform: state
        entity_id: 
          - climate.arbeitszimmer_heizung_climate
          - climate.kueche_heizung_climate
    action:
      - service: climate.set_hvac_mode
        data_template:
          entity_id: >
            {% set raum = trigger.to_state.object_id.split('_')[0] %}
            climate.{{raum}}_heizung_climate
          hvac_mode: >
            {% set fenster = 'binary_sensor.' ~ trigger.to_state.object_id.split('_')[0] ~ '_fenster_contact' %}
            {{ 'off' if is_state(fenster, 'on') else 'heat' }}

On every change on either a climate entity (spzb0001) or a door/window sensor (xiaomi reed sensor), it will change the status accordingly. If a window opens, the thermostat turns off, once it closes, it turns back to heat, reverting to whatever temperature it was set to before turning it off.

1 Like

Great! Thanks @prankousky, looks thatā€™s exactly what I need.

I guess youā€™re still interfacing them with Zigbee2mqtt.
Are they running stable?

Wellā€¦ zigbee2mqtt doesnā€™t work that stable for me alltogether. Every once in a while I need to re-pair all devices because they lose connection, but I just switched from running it in a docker container to the npm version, so hopefully that will make a difference.

Those times when it does work, it runs stable :wink: I should mention that I have ~80 devices connected, so perhaps itā€™ll work smoother with just a dozent or so.

Well, yeah! 80 is alot :smiley:
I already have the CC2531 hardware on the way, so Iā€™ll give it a try. But Iā€™ll have up to 20 devices.
Whatā€™s the npm version?

The zigbee version is 1.8.0 on npm, though I believe the docker container runs the same version. I am not 100 percent on this, but I remember reading something about the coordinator not being ā€œlet goā€ when (re)starting the docker container, so using npm is supposed to be better. I cannot find the source any more, but I hope switching to npm will make a noticable difference.

I understand.
If possible, please share here your experience with the stability of npm version, even if itā€™s not really related only to SPZB0001.

Perhaps I can chip in, Iā€™ve just bought 2 of these.
Using zigbee2mqtt with the cheap 3 dollar USB stick.

The setup was a breeze, no issues at all. Immediately access in HA, could change the setpoint, see the reported temperature of the valve, the ā€˜demandā€™ (aka how much does the valve open), etc.

I did notice that after some time, I get zigbee2mqtt timeout errors when trying to change the setpoint, I filed an issue on github for this, not sure if it is a problem with zigbee2mqtt or my setup. For now the only workaround I have is running 2 scripts in a loop, one checking if the setpoint is applied and the other setting it if it wasnā€™t. Usually after 2 or 3 tries, it gets applied.

Bonus Grafana image:

1 Like

Grafana is looking good! I need to get into that again, too.

Do you only use two SPZB0001 with your USB stick (btw., CC2530 or CC2531)? Or do you have other sensors etc. as well? Iā€™ve always had trouble using one of the CCs (plus multiple light bulbs as well as DIY routers to extend range and number of devices it can handle).

Now I am using the cc1352p-2, which generally works fine. However, it seems likeĀ¹ it cannot handle additional DIY routers in the network. Occasional crashes were annoying, though I have not experienced any since switching from the docker container to npm.

Ā¹ not saying that it cannot, but it was not able to when I experimented with this. You need to enable rtscts for the DIY routers, but when I did, my cc1352p-2 did not work at all. This might likely have other reasons, just throwing it in there in case anybody wonders why the combination might not work for them, either.

Hmm not sure which one it is to be honest, there is this guy on this forum that sells the sticks with soldered antennaā€™s. I bought one as router and one as coordinator. Next to that I have about 5 or 6 Ikea tradfri outlets and a whole bunch of Xiaomi Aqara sensors.

So far everything is working fine, I guess all in all thereā€™s about 20 zigbee devices in total or so in the network.