@vezinpi
Thank you! That worked beautifully.
tamorgen
Posts
-
Arming Envisalink panel from MSR -
Arming Envisalink panel from MSR@toggledbits, thanks I did look for something like that, but I might be looking in the wrong place.
FWIW, my panel is an actual EyezOn panel (UNO IP Hybrid). I had an EnvisaLink 4 with a DSC panel that took a hit and I had to replace the unit. From a HAAS/MSR perspective, the interaction is identical.
-
Arming Envisalink panel from MSRGood afternoon all,
I have a question for anyone who has experience with MSR and Envisalink/EyezOn alarm panels. The integration works fine for the most part, but there is an oddity when MSR arms the system to away. I get a notification from in the EyezOn app that says the system was armed by the last user to DISARM the system. I'd like to arm it in a way that it arms by the the user that leaves the home, which triggers the automated Arm process. I tried to do it with a dedicated user code for MSR, but it doesn't arm with that user.This is obviously more of an annoyance, as the alarm does get armed, but the audit trail is incorrect, so I don't know who armed it. Anybody have any insight?
running latest-26193-50401535 in Docker
-
Condition for trendUpdate. Worked perfectly. Thanks for setting me striaght!
-
Condition for trendOkay, I understand. For a minute I thought it there was a setting I needed to enable. I've set it up and I'll know if it works in the morning. Thanks for all the help.
-
Condition for trendOkay, thank you. That makes sense…. Other than deadband. What do you mean by that?
-
Condition for trendOkay, so maybe I'm missing something or not explaining my train of though here....
First, I'm not trying to control an exhaust fan, I'm trying to control the shower light. The exhaust fan has it's own built in sensor and . I'm using the humidity to determine that someone is taking a shower, so the light should remain on. When someone stops taking a shower, the humidity will drop (due to the automatic exhaust fan), and then the light can be turned off. I can't easily put a motion sensor in the shower, so the humidity sensor is the logical sensor. I've observed the values before, during, and after taking a shower, and generally, the humidity in that room is 30's or 40's, and when a shower is in play, it jumps up to the 70's or 80's.
I tried doing it with just one rule, but there really isn't a operand to change below a number. There is Changes from x to y, and then < or <=. If I just have a simple rule to say below 65%, then the light will go off before the humidity level rises. This is why I was trying to latch aspect, because generally when I step into the bathroom, I manually turn on the shower light, turn on the shower, finish, and inevitably the shower light get's left on, whether it's me or my wife.
I initially thought about the trend/time aspect, but I thought that for this purpose, that is actually over complicating things. All I really need to know is a) did the humidity level rise above point A, and b) did it drop below point B, in that sequence.
So, from my understanding, you are saying I just need to change the value fo the first condition to >= 65, and the second condition can stay at <= 65?
-
Condition for trendSo, for some reason, my Latch method isn't working. I see the humidity go above 70, and I see the first condition go true. When I'm done showering, and fan evacuates the excess humidity, it drops back down and goes below 65, and that condition becomes true.
The second condition has the restriction that it must occur after the first condition is met.
I guess the second condition resets the Latched condition, so both conditions aren't true at the same time?
Is there another way to do a first condition, then the second condition that I'm missing?
-
Condition for trend@toggledbits said in Condition for trend:
VirtualEntityController can sample another entity's data and do time-series aggregation (moving average, rate of change, etc.).
Thanks for that. I wasn't familiar with that, and it sounds like what I was initially looking for.
-
Condition for trendI think I may have figured out a way...
If I use a Latch condition when the Humidity goes above 60, and then another condition when it goes below 45 (dependent on the first condition being true first), that should give me the result I'm looking for; that being the shower isn't being used anymore, and the shower light can be turned off. Am I correct in my understanding of how Latch works, in that that condition will stay true until the Set Reaction triggers?
-
Condition for trendIs there a way to set a condition for a trending number? I just installed a Zooz ZSE44 Temp/Humidity sensor in one of my bathrooms. I wanted to set a condition based upon how quickly the Humidity sensor reports the humidity level trending down (say after a shower).
If you look at the graph below from the device, you can see the humidity spiking at 5 am, then dropping, then spiking again, then dropping. I'm trying to set up a condition when the level trends up or down quickly.
-
Set reaction triggering wrong z-wave device@toggledbits said in Set reaction triggering wrong z-wave device:
The name is incorrect at ZWave-JS (on the node itself) if that's the case, so to keep your sanity later, make sure you go all the way back to the source and work your way forward from there.
I renamed the devices on the ZWave-JS UI, so i won't have the problem going forward. I'm still not sure how this all happened, as I did not experience this problem in years past. The only thing I can think of is there was some sort of glitch in an upgrade. I know I had to restore the Z-Wave JS UI to an earlier version back in October because of a change they made that broke window coverings, so perhaps during that restore something went wonky.
-
Set reaction triggering wrong z-wave deviceThank you. Perhaps the non-updating of the name was the root cause of my issue all along.
-
Set reaction triggering wrong z-wave device@toggledbits said in Set reaction triggering wrong z-wave device:
. Can you confirm that in the startup messages for Reactor, ZWaveJSController reports it is version as 25304
Yes, it shows up as 0.1.25304
So, you seemed to have hit it. There is a disagreement in the names in the Z-wave JS integration and the Z-Wave JS UI naming. I'm not sure how or when that happened, since I haven't touched the naming of these in at least 2 years.
The device that is 136 is truly the Front Porch Sconces. Everywhere in the HA dashboards when I click on the binary switch, it does turn it on. Same with 137 being the Soffit Lights.
It would seem it's getting the names from the ZwaveJS UI values, since they seemed to be off. I've gone ahead and renamed them in ZwaveJS UI to reflect the values in ZwaveJS. How do I get ZWaveJSController to update the names? They still show up as the incorrect name. I went ahead and restarted MSR, and the old naming is till persistent.
-
Set reaction triggering wrong z-wave deviceI also just noticed that if I performed an action from the Entities page in MSR fr 137-0, it's turning on 136-0 in HAAS. If I turn on 136-0 through entities, it's turning on 137-0 in HAAS. It would appear these devices are somehow switching actions, despite everything showing what they are.
-
Set reaction triggering wrong z-wave deviceHere are some logs of me turning the entities on and off from HAAS.
root@docker:/home/tmorgenthaler/reactor/logs# tail -f zwavejs.log | grep 13'[6-7]'-0 [latest-26011]2026-01-31T20:37:00.403Z <ZWaveJSController:5:ZWaveJSController.js:1148> ZWaveJSController#zwavejs _apply_value entity Switch#zwavejs>136-0 power_switch.state [latest-26011]2026-01-31T20:37:00.403Z <ZWaveJSController:5:ZWaveJSController.js:1161> ZWaveJSController#zwavejs handling Switch#zwavejs>136-0 power_switch.state by { "valueId": "37:currentValue:" } with { "endpoint": 0, "commandClass": 37, "commandClassName": "Binary Switch", "property": "currentValue", "propertyName": "currentValue", "ccVersion": 2, "metadata": { "type": "boolean", "readable": true, "writeable": false, "label": "Current value", "stateful": true, "secret": false }, "value": true, "__endp": { "power_switch.state": { "entity": "136-0", "impl": { "valueId": "37:currentValue:" } } } } [latest-26011]2026-01-31T20:37:00.403Z <ZWaveJSController:5:ZWaveJSController.js:1252> ZWaveJSController#zwavejs setting Switch#zwavejs>136-0.x_zwave_values.Binary_Switch_currentValue to true [latest-26011]2026-01-31T20:37:00.648Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event statistics updated entity Switch#zwavejs>136-0 [latest-26011]2026-01-31T20:37:18.529Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event statistics updated entity Switch#zwavejs>136-0 [latest-26011]2026-01-31T20:37:18.553Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event value updated entity Switch#zwavejs>136-0 [latest-26011]2026-01-31T20:37:18.553Z <ZWaveJSController:5:ZWaveJSController.js:1252> ZWaveJSController#zwavejs setting Switch#zwavejs>136-0.x_zwave_values.Binary_Switch_targetValue to false [latest-26011]2026-01-31T20:37:18.559Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event value updated entity Switch#zwavejs>136-0 [latest-26011]2026-01-31T20:37:18.559Z <ZWaveJSController:5:ZWaveJSController.js:1237> ZWaveJSController#zwavejs updating attribute power_switch.state with { "entity": "136-0", "impl": { "valueId": "37:currentValue:" } } [latest-26011]2026-01-31T20:37:18.559Z <ZWaveJSController:5:ZWaveJSController.js:1148> ZWaveJSController#zwavejs _apply_value entity Switch#zwavejs>136-0 power_switch.state [latest-26011]2026-01-31T20:37:18.559Z <ZWaveJSController:5:ZWaveJSController.js:1161> ZWaveJSController#zwavejs handling Switch#zwavejs>136-0 power_switch.state by { "valueId": "37:currentValue:" } with { "endpoint": 0, "commandClass": 37, "commandClassName": "Binary Switch", "property": "currentValue", "propertyName": "currentValue", "ccVersion": 2, "metadata": { "type": "boolean", "readable": true, "writeable": false, "label": "Current value", "stateful": true, "secret": false }, "value": false, "__endp": { "power_switch.state": { "entity": "136-0", "impl": { "valueId": "37:currentValue:" } } } } [latest-26011]2026-01-31T20:37:18.560Z <ZWaveJSController:5:ZWaveJSController.js:1252> ZWaveJSController#zwavejs setting Switch#zwavejs>136-0.x_zwave_values.Binary_Switch_currentValue to false [latest-26011]2026-01-31T20:37:18.779Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event statistics updated entity Switch#zwavejs>136-0 [latest-26011]2026-01-31T20:37:25.647Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event statistics updated entity Switch#zwavejs>137-0 [latest-26011]2026-01-31T20:37:25.803Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event value updated entity Switch#zwavejs>137-0 [latest-26011]2026-01-31T20:37:25.803Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event value updated entity Switch#zwavejs>137-0 [latest-26011]2026-01-31T20:37:25.804Z <ZWaveJSController:5:ZWaveJSController.js:1252> ZWaveJSController#zwavejs setting Switch#zwavejs>137-0.x_zwave_values.Binary_Switch_targetValue to true [latest-26011]2026-01-31T20:37:25.808Z <ZWaveJSController:5:ZWaveJSController.js:1237> ZWaveJSController#zwavejs updating attribute power_switch.state with { "entity": "137-0", "impl": { "valueId": "37:currentValue:" } } [latest-26011]2026-01-31T20:37:25.808Z <ZWaveJSController:5:ZWaveJSController.js:1148> ZWaveJSController#zwavejs _apply_value entity Switch#zwavejs>137-0 power_switch.state [latest-26011]2026-01-31T20:37:25.808Z <ZWaveJSController:5:ZWaveJSController.js:1161> ZWaveJSController#zwavejs handling Switch#zwavejs>137-0 power_switch.state by { "valueId": "37:currentValue:" } with { "endpoint": 0, "commandClass": 37, "commandClassName": "Binary Switch", "property": "currentValue", "propertyName": "currentValue", "ccVersion": 2, "metadata": { "type": "boolean", "readable": true, "writeable": false, "label": "Current value", "stateful": true, "secret": false }, "value": true, "__endp": { "power_switch.state": { "entity": "137-0", "impl": { "valueId": "37:currentValue:" } } } } [latest-26011]2026-01-31T20:37:25.809Z <ZWaveJSController:5:ZWaveJSController.js:1252> ZWaveJSController#zwavejs setting Switch#zwavejs>137-0.x_zwave_values.Binary_Switch_currentValue to true [latest-26011]2026-01-31T20:37:25.898Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event statistics updated entity Switch#zwavejs>137-0 [latest-26011]2026-01-31T20:37:29.297Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event statistics updated entity Switch#zwavejs>137-0 [latest-26011]2026-01-31T20:37:29.447Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event value updated entity Switch#zwavejs>137-0 [latest-26011]2026-01-31T20:37:29.448Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event value updated entity Switch#zwavejs>137-0 [latest-26011]2026-01-31T20:37:29.448Z <ZWaveJSController:5:ZWaveJSController.js:1252> ZWaveJSController#zwavejs setting Switch#zwavejs>137-0.x_zwave_values.Binary_Switch_targetValue to false [latest-26011]2026-01-31T20:37:29.453Z <ZWaveJSController:5:ZWaveJSController.js:1237> ZWaveJSController#zwavejs updating attribute power_switch.state with { "entity": "137-0", "impl": { "valueId": "37:currentValue:" } } [latest-26011]2026-01-31T20:37:29.453Z <ZWaveJSController:5:ZWaveJSController.js:1148> ZWaveJSController#zwavejs _apply_value entity Switch#zwavejs>137-0 power_switch.state [latest-26011]2026-01-31T20:37:29.453Z <ZWaveJSController:5:ZWaveJSController.js:1161> ZWaveJSController#zwavejs handling Switch#zwavejs>137-0 power_switch.state by { "valueId": "37:currentValue:" } with { "endpoint": 0, "commandClass": 37, "commandClassName": "Binary Switch", "property": "currentValue", "propertyName": "currentValue", "ccVersion": 2, "metadata": { "type": "boolean", "readable": true, "writeable": false, "label": "Current value", "stateful": true, "secret": false }, "value": false, "__endp": { "power_switch.state": { "entity": "137-0", "impl": { "valueId": "37:currentValue:" } } } } [latest-26011]2026-01-31T20:37:29.453Z <ZWaveJSController:5:ZWaveJSController.js:1252> ZWaveJSController#zwavejs setting Switch#zwavejs>137-0.x_zwave_values.Binary_Switch_currentValue to false [latest-26011]2026-01-31T20:37:29.547Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event statistics updated entity Switch#zwavejs>137-0 -
Set reaction triggering wrong z-wave devicesaid in Set reaction triggering wrong z-wave device:
I updated to v25304 and restarted Reactor. I'll run some tests now.
Alright, it still seems to be doing the same thing. I'm tailing the zwavejs log, and pressing the button for the Set Reaction. I see it pushing the command for 137-0, however, the soffit lights (136-0) are coming on.
root@docker:/home/tmorgenthaler/reactor/logs# tail -f zwavejs.log | grep 137-0 [latest-26011]2026-01-31T20:25:01.008Z <ZWaveJSController:5:ZWaveJSController.js:1237> ZWaveJSController#zwavejs updating attribute power_switch.state with { "entity": "137-0", "impl": { "valueId": "37:currentValue:" } } [latest-26011]2026-01-31T20:25:01.008Z <ZWaveJSController:5:ZWaveJSController.js:1148> ZWaveJSController#zwavejs _apply_value entity Switch#zwavejs>137-0 power_switch.state [latest-26011]2026-01-31T20:25:01.008Z <ZWaveJSController:5:ZWaveJSController.js:1161> ZWaveJSController#zwavejs handling Switch#zwavejs>137-0 power_switch.state by { "valueId": "37:currentValue:" } with { "endpoint": 0, "commandClass": 37, "commandClassName": "Binary Switch", "property": "currentValue", "propertyName": "currentValue", "ccVersion": 2, "metadata": { "type": "boolean", "readable": true, "writeable": false, "label": "Current value", "stateful": true, "secret": false }, "value": true, "__endp": { "power_switch.state": { "entity": "137-0", "impl": { "valueId": "37:currentValue:" } } } } [latest-26011]2026-01-31T20:25:01.009Z <ZWaveJSController:5:ZWaveJSController.js:1252> ZWaveJSController#zwavejs setting Switch#zwavejs>137-0.x_zwave_values.Binary_Switch_currentValue to true [latest-26011]2026-01-31T20:25:01.104Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event statistics updated entity Switch#zwavejs>137-0 [latest-26011]2026-01-31T20:25:15.710Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs performing power_switch.on on Front Porch Lights (Switch#zwavejs>137-0) with { } [latest-26011]2026-01-31T20:25:15.973Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event statistics updated entity Switch#zwavejs>137-0 [latest-26011]2026-01-31T20:25:16.125Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event value updated entity Switch#zwavejs>137-0 [latest-26011]2026-01-31T20:25:16.125Z <ZWaveJSController:5:ZWaveJSController.js:1252> ZWaveJSController#zwavejs setting Switch#zwavejs>137-0.x_zwave_values.Binary_Switch_targetValue to true [latest-26011]2026-01-31T20:25:16.125Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event value updated entity Switch#zwavejs>137-0 [latest-26011]2026-01-31T20:25:16.126Z <ZWaveJSController:5:ZWaveJSController.js:1237> ZWaveJSController#zwavejs updating attribute power_switch.state with { "entity": "137-0", "impl": { "valueId": "37:currentValue:" } } [latest-26011]2026-01-31T20:25:16.126Z <ZWaveJSController:5:ZWaveJSController.js:1148> ZWaveJSController#zwavejs _apply_value entity Switch#zwavejs>137-0 power_switch.state [latest-26011]2026-01-31T20:25:16.126Z <ZWaveJSController:5:ZWaveJSController.js:1161> ZWaveJSController#zwavejs handling Switch#zwavejs>137-0 power_switch.state by { "valueId": "37:currentValue:" } with { "endpoint": 0, "commandClass": 37, "commandClassName": "Binary Switch", "property": "currentValue", "propertyName": "currentValue", "ccVersion": 2, "metadata": { "type": "boolean", "readable": true, "writeable": false, "label": "Current value", "stateful": true, "secret": false }, "value": true, "__endp": { "power_switch.state": { "entity": "137-0", "impl": { "valueId": "37:currentValue:" } } } } [latest-26011]2026-01-31T20:25:16.126Z <ZWaveJSController:5:ZWaveJSController.js:1252> ZWaveJSController#zwavejs setting Switch#zwavejs>137-0.x_zwave_values.Binary_Switch_currentValue to true [latest-26011]2026-01-31T20:25:16.224Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event statistics updated entity Switch#zwavejs>137-0 [latest-26011]2026-01-31T20:25:33.510Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event statistics updated entity Switch#zwavejs>137-0 [latest-26011]2026-01-31T20:25:33.661Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event value updated entity Switch#zwavejs>137-0 [latest-26011]2026-01-31T20:25:33.661Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event value updated entity Switch#zwavejs>137-0 [latest-26011]2026-01-31T20:25:33.662Z <ZWaveJSController:5:ZWaveJSController.js:1252> ZWaveJSController#zwavejs setting Switch#zwavejs>137-0.x_zwave_values.Binary_Switch_targetValue to false [latest-26011]2026-01-31T20:25:33.666Z <ZWaveJSController:5:ZWaveJSController.js:1237> ZWaveJSController#zwavejs updating attribute power_switch.state with { "entity": "137-0", "impl": { "valueId": "37:currentValue:" } } [latest-26011]2026-01-31T20:25:33.666Z <ZWaveJSController:5:ZWaveJSController.js:1148> ZWaveJSController#zwavejs _apply_value entity Switch#zwavejs>137-0 power_switch.state [latest-26011]2026-01-31T20:25:33.666Z <ZWaveJSController:5:ZWaveJSController.js:1161> ZWaveJSController#zwavejs handling Switch#zwavejs>137-0 power_switch.state by { "valueId": "37:currentValue:" } with { "endpoint": 0, "commandClass": 37, "commandClassName": "Binary Switch", "property": "currentValue", "propertyName": "currentValue", "ccVersion": 2, "metadata": { "type": "boolean", "readable": true, "writeable": false, "label": "Current value", "stateful": true, "secret": false }, "value": false, "__endp": { "power_switch.state": { "entity": "137-0", "impl": { "valueId": "37:currentValue:" } } } } [latest-26011]2026-01-31T20:25:33.666Z <ZWaveJSController:5:ZWaveJSController.js:1252> ZWaveJSController#zwavejs setting Switch#zwavejs>137-0.x_zwave_values.Binary_Switch_currentValue to false [latest-26011]2026-01-31T20:25:33.760Z <ZWaveJSController:5:ZWaveJSController.js:948> ZWaveJSController#zwavejs handling node event statistics updated entity Switch#zwavejs>137-0I also see the results of turning off the device from HAAS in the ZWaveJS logs.
Here are the entries for the devices in HAAS from ZwaveJS-UI
Screenshot 2026-01-31 at 3.29.10 PMI've also creating an attirbutes text file for 136-0. Maybe something is funky in that entry.
-
Set reaction triggering wrong z-wave devicesaid in Set reaction triggering wrong z-wave device:
I wasn't sure if I was on the correct release or not. Does the Docker image include the Zwave release in the pull?
Never mind. It's says it does not in your documentation.

I updated to v25304 and restarted Reactor. I'll run some tests now.
-
Set reaction triggering wrong z-wave deviceI wasn't sure if I was on the correct release or not. Does the Docker image include the Zwave release in the pull?
-
Set reaction triggering wrong z-wave deviceI should also note that I compared/verified in HAAS/Zwave-JS the entity numbers are correct and correspond with what is in MSR.





















