I’ve got a similar problem. I have connected a xiaomi zigbee gateway and door sensor through mqtt. It all works perfect - status is updated immediately in pimatic.
I can use the door sensor as mqttsensor in rules, e.g.:
$zigbee-schakelaar.val changes
But I cannot use below expression:
$zigbee-schakelaar.val equals “open”
-
Unable to use expression `$zigbee-schakelaar.val equals “open”`
-
@zeldp01 I have forked your post into a new topic.
Can you please send the Device Config you have for
zigbee-schakelaar
?. Thanks"It always takes longer than you expect, even when you take into account Hofstadter's Law.", Hofstadter's Law
-
The device config:
{ "attributes": [ { "name": "val", "topic": "xiaomi/status/magnet/158d0001a22363", "type": "string", "messageMap": {}, "acronym": "state" }, { "name": "name", "topic": "xiaomi/status/magnet/158d0001a22363", "type": "string", "messageMap": {}, "acronym": "naam" }, { "name": "battery", "topic": "xiaomi/status/magnet/158d0001a22363", "type": "string", "messageMap": {}, "acronym": "battery" }, { "name": "ts", "topic": "xiaomi/status/magnet/158d0001a22363", "type": "string", "messageMap": {}, "acronym": "tijd" } ], "xAttributeOptions": [], "id": "zigbee-schakelaar", "name": "zigbee-schakelaar", "class": "MqttSensor" }
The device has the following attributes:
-
I solved it by creating an extra variable $open with value open.
This makes below condition possible:
$zigbee-schakelaar.val changes and $zigbee-schakelaar.val equals $open -
@zeldp01 said in Unable to use expression `$zigbee-schakelaar.val equals “open”`:
$zigbee-schakelaar.val equals “open”
$zigbee-schakelaar.val equals "open"
should work as well. Make sure you’re using straight quotes. In the text you posted earlier you’re using curly quotes, i.e.$zigbee-schakelaar.val equals “open”
. Replace these against straight quotes and it will work."It always takes longer than you expect, even when you take into account Hofstadter's Law.", Hofstadter's Law