Starting to use deCONZ, together with some zigbee relays and thermostats, to control heating manifold actuators.
Keeping it simple initially with two rules per zone, one to turn on when temp is low and one to turn off when temp is high. Working well so far. Based on my understanding of how rule conditions are evaluated, it should be triggering the action whenever a condition value changes, and the conditions evaluate to true. However, it seems to trigger exactly once when the temperature threshold is passed. This means that it doesn’t “ensure” the relay is in the right state, if ever it got misaligned.
Here are the rules expressed as yml. b1e
is the room. um-b1e
is the corresponding relay for the manifold, b1e-temp
is the temperature sensor. Technically, I don’t think the lastupdated
condition should be required for these either, but equally shouldn’t hurt.
Am I misunderstanding something here, or is this a bug? Using deCONZ 2.22.02.
# b1e
- kind: rule
name: b1e-temp-low
actions:
- address: /lights/um-b1e/state
body:
on: true
method: PUT
conditions:
- address: /sensors/b1e-temp/state/lastupdated
operator: dx
- address: /sensors/b1e-temp/state/temperature
operator: lt
value: '2130'
- kind: rule
name: b1e-temp-high
actions:
- address: /lights/um-b1e/state
body:
on: false
method: PUT
conditions:
- address: /sensors/b1e-temp/state/lastupdated
operator: dx
- address: /sensors/b1e-temp/state/temperature
operator: gt
value: '2180'