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.
@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.
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
# 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.
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 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
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.
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.
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 mightlikely 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.