modules:composer.user-said-in, @gwp1, Error on start for MSR after update to 24293
Patience is a tall order before 0900 EDT sans coffee on a Monday
Get some coffee
Glad I'm not the only one that had the error. I thought I broke something.
@toggledbits I understand that you do not perform testing on Mac computers but thought I'd share the following with you in case something can be done.
I started seeing these errors with version 24302. I thought that upgrading to 24343 would have fixed the issue but unfortunately not. I either have to close the browser or clear the cache for the errors to stop popping-up but they slowly come back.
I see these errors on the following browsers:
Safari 16.6.1 on macOS Big Sur Safari 18.1.1 on MacOS Sonoma DuckDuckGo 1.118.0 on macOS Big Sur and Sonoma Firefox 133.0.3 on macOS Big Sur Chrome 131.0.6778 on macOS Big SurHere are the errors
Safari while creating/updating an expression
@http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:543:91 makeExprMenu@http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:537:28 @http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:92:64 @http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:89:68 each@http://192.168.0.13:8111/node_modules/jquery/dist/jquery.min.js:2:3133 @http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:89:35 @http://192.168.0.13:8111/client/MessageBus.js:98:44 forEach@[native code] @http://192.168.0.13:8111/client/MessageBus.js:95:54 @http://192.168.0.13:8111/client/MessageBus.js:106:44 @http://192.168.0.13:8111/client/Observable.js:78:28 signalModified@http://192.168.0.13:8111/reactor/en-ca/lib/js/ee.js:146:21 signalModified@http://192.168.0.13:8111/reactor/en-ca/lib/js/expression-editor.js:40:29 reindexExpressions@http://192.168.0.13:8111/reactor/en-ca/lib/js/expression-editor.js:71:32 @http://192.168.0.13:8111/reactor/en-ca/lib/js/expression-editor.js:608:40 dispatch@http://192.168.0.13:8111/node_modules/jquery/dist/jquery.min.js:2:40040DuckDuckGo while clicking on status
http://192.168.0.13:8111/reactor/en-ca/lib/js/reactor-ui-status.js:789:44 asyncFunctionResume@[native code] saveGridLayout@[native code] dispatchEvent@[native code] _triggerEvent@http://192.168.0.13:8111/node_modules/gridstack/dist/gridstack.js:1401:30 _triggerAddEvent@http://192.168.0.13:8111/node_modules/gridstack/dist/gridstack.js:1383:31 makeWidget@http://192.168.0.13:8111/node_modules/gridstack/dist/gridstack.js:968:30 addWidget@http://192.168.0.13:8111/node_modules/gridstack/dist/gridstack.js:388:24 placeWidgetAdder@http://192.168.0.13:8111/reactor/en-ca/lib/js/reactor-ui-status.js:183:44Firefox while updating a rule
@http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:543:91 makeExprMenu@http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:537:28 @http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:92:64 @http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:89:68 each@http://192.168.0.13:8111/node_modules/jquery/dist/jquery.min.js:2:3133 @http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:89:35 @http://192.168.0.13:8111/client/MessageBus.js:98:44 forEach@[native code] @http://192.168.0.13:8111/client/MessageBus.js:95:54 @http://192.168.0.13:8111/client/MessageBus.js:106:44 @http://192.168.0.13:8111/client/Observable.js:78:28 notifySaved@http://192.168.0.13:8111/reactor/en-ca/lib/js/ee.js:82:21 notifySaved@http://192.168.0.13:8111/reactor/en-ca/lib/js/expression-editor.js:47:26 @http://192.168.0.13:8111/reactor/en-ca/lib/js/reactor-ui-rules.js:1460:39 forEach@[native code] @http://192.168.0.13:8111/reactor/en-ca/lib/js/reactor-ui-rules.js:1459:58Chrome while creating/updating an expression
TypeError: Cannot read properties of undefined (reading 'getEditor') at RuleEditor.makeExprMenu (http://192.168.0.13:8111/reactor/en-ca/lib/js/rule-editor.js:1788:86) at Object.handler (http://192.168.0.13:8111/reactor/en-ca/lib/js/rule-editor.js:2174:54) at http://192.168.0.13:8111/client/MessageBus.js:98:44 at Array.forEach (<anonymous>) at MessageBus._sendToBus (http://192.168.0.13:8111/client/MessageBus.js:95:54) at MessageBus.send (http://192.168.0.13:8111/client/MessageBus.js:106:44) at ExpressionEditor.publish (http://192.168.0.13:8111/client/Observable.js:78:28) at ExpressionEditor.signalModified (http://192.168.0.13:8111/reactor/en-ca/lib/js/ee.js:146:14) at ExpressionEditor.signalModified (http://192.168.0.13:8111/reactor/en-ca/lib/js/expression-editor.js:40:15) at ExpressionEditor.reindexExpressions (http://192.168.0.13:8111/reactor/en-ca/lib/js/expression-editor.js:71:18) ``Build 24343 has fully HTTP actions, so cool things could be created (see docs). I've recently changed a couple of cams because better definition and I've found tha Reolink has a couple of cams that have spotlights. While the spotlights are driven by motion (so the cam could record in color), I wanted to drive them directly, so in case of any "security" event, like alarm on, door open, etc, I could use the lights to have a better video and make - you know - light.
So, if you want to use HTTP actions in VirtualController, just go to config, entities under your VirtualEntityController section in reactor.yaml, and add this:
- id: cams_retro_spotlights name: "Retro Cam - Spotlights" template: Binary Switch # update the status at interval http_request: interval: 900 # 15m url: "http://192.168.1.31/cgi-bin/api.cgi?user=foo&password=foo" method: "POST" force_json: true headers: "Content-Type": "application/json" "Accept": "application/json" body: '[{"cmd": "GetWhiteLed", "action": 0 , "param": { "channel": 0 }}]' capabilities: power_switch: attributes: state: expr: "isnull( response ) ? null : response[0]?.value?.WhiteLed?.state == 1" default: false actions: "on": http_request: url: "http://192.168.1.31/cgi-bin/api.cgi?user=foo&password=foo" method: "POST" force_json: true headers: "Content-Type": "application/json" "Accept": "application/json" body: '[{"cmd": "SetWhiteLed", "param": { "WhiteLed": {"bright" : 100, "channel": 0, "mode": 1, "state": 1}}}]' target: state expr: "isnull( response ) ? null: response[0]?.value?.rspCode == '200'" "off": http_request: url: "http://192.168.1.31/cgi-bin/api.cgi?user=foo&password=foo" method: "POST" force_json: true headers: "Content-Type": "application/json" "Accept": "application/json" body: '[{"cmd": "SetWhiteLed", "param": { "WhiteLed": {"bright" : 100, "channel": 0, "mode": 1, "state": 0}}}]' target: state expr: "isnull( response ) ? null : response[0]?.value?.rspCode == '200' ? false : null"Reolink has API where you have to post a JSON and the response will give you a JSON (in theory). It's not really JSON, so force_json: true will do the trick for you. I'm lefting this as an example of cool things you could do with the new capabilites added/documented in 24343. HTH.
Thanks to @toggledbits for adding a custom CSS. I've started doing a darker Reactor style.
Here's the file: https://gist.github.com/dbochicchio/825098ac13b7f8cac22012eae37ff7ce
A couple of things are still too bright and I'll eventually catch-up. Just place it under your /config directory, naming the file as customstyles.css. Hard refresh your browser.
Hi
Having to rebuild my Linux Debian box as the SSD failed. And I have forgotten exactly what I did the first time to get it all setup.
I have Debian 12 up and running on the new SSD, I only have console no Desktop GUI.
I am trying to do the bare metal install for MSR. However I am not sure if I am meant to install nodejs whlist logged in as the root user or as the none root user with my name ?
I used putty and connected via SSH and logged in as root and I installed nodejs but I think this was wrong as when logged in as my user name and I do a node -v command it says node is not installed or doesn't show any version number anyway.
But when logged in as root and I do a node -v command it does show me its installed and displays the version number. maybe its a path issue for my username and he can't see node is installed?
So now I am thinking I should of installed node whilst logged in as my user name and not as the root user.
This is how I installed nodejs as whilst logged in as root
ac7bf6c3-23ad-46fc-8ada-44af6704e63e-image.png
Thanks in advance.
Build 21228 has been released. Docker images available from DockerHub as usual, and bare-metal packages here.
Home Assistant up to version 2021.8.6 supported; the online version of the manual will now state the current supported versions; Fix an error in OWMWeatherController that could cause it to stop updating; Unify the approach to entity filtering on all hub interface classes (controllers); this works for device entities only; it may be extended to other entities later; Improve error detail in messages for EzloController during auth phase; Add isRuleSet() and isRuleEnabled() functions to expressions extensions; Implement set action for lock and passage capabilities (makes them more easily scriptable in some cases); Fix a place in the UI where 24-hour time was not being displayed.As the title says, here's my OpenAI Controller for Reactor:
OpenAI Controller per Reactor. Contribute to dbochicchio/reactor-openai development by creating an account on GitHub.
It supports both OpenAI and Azure OpenAI endpoints. You'll need keys/endpoints, according to each service.
The controller supports multiple models, and each one could be mapped as an entity.
It's quite easy to use, and responses can be stored in variables, for easy access. Or sent to another action (Text To Speech, another endpoint, etc).
9013ae50-fd68-42a2-87c3-97479132e465-image.png
80a88eec-7c89-464a-8196-690b4b72d044-image.png
Have fun with LLM into your scenes!
I've switched to a virtual entity with both power_switch and string_sensor capabilities to represent the current holiday.
The power switch is used to indicate if it's a public holiday (so, no school/work), while the string sensor is a string with the actual holiday (Easter, Christmas, Halloween, etc - we don't have thanksgiving), mostly to drive lights.
I build it with some static dates (mostly birthdays/anniversaries) and then the dynamics ones are taken from webcal.guru. My lights/scenes are linked to events this way and it's easier to manage it in the long run: just a bunch of group action in the reaction driving the lights. This part is outside Reactor for me (because, legacy), but it's not difficult to completly drive it off a virtual sensor or a custom controller.
I don't know how people are doing this, but I'm lefting a note for the ones looking for a working solution.
In Home Assistant I have an integration that if I add entities to it, I will get the following error in MSR as certain entity values I'm using in expressions are null for a moment. This is more or less cosmetic issue and happens very rarely as I rarely modify that integration on the hass side.
Screenshot 2024-11-28 at 22.20.41.png
And the expression is
Screenshot 2024-11-28 at 22.38.19.png
Could I "wrap" hass-entity shown above somewhat differently to prevent this error from happening? Using build 24302.
Hello
I am trying to set up Multi System Reactor to automate routines across multiple smart home devices & platforms (e.g., Home Assistant, SmartThings, and Hubitat). While I have successfully linked the systems; I am facing issues with:
-Delays in triggering actions on secondary devices.
-Inconsistent execution of complex logic conditions.
-Synchronization of states between devices when one system updates.
Is there a recommended way to optimize performance & confirm seamless state sharing across systems?
I have checked https://smarthome.community/category/22/multi-system-reactor-msbi guide for reference but still need advice.
Any tips on debugging or log analysis to pinpoint where the issue arises would also be appreciated.
Thank you !
Hello AK
Have been writing about the openLuup email server as I was tinkering with it the other day. One minor problem: it looks like the domain part of the email address eg ...@openLuup.local is case sensitive in openLuup.
Looking round the net, it suggests that the local part is case sensitive but the domain part is not meant to be. To keep things so they are more likely to work, it's suggested the email address should be totally case insensitive regardless. Refer to rfc2821 page 13 or search on the word "sensitive". Suffice to say I was using mail@openluup.local rather than mail@openLuup.local, so it didn't work for me.
Next challenge was that the file saved in /etc/cmh-ludl/mail has "Content-Transfer-Encoding: base64" so the body of the email was encoded:
Received: from ((openLuup.smtp) [ip_address_1] by (openLuup.smtp v18.4.12) [ip_address_2]; Tue, 26 Nov 2024 14:21:22 +1000 From: "dali@switchboard" <dali@switchboard> To: "mail@openLuup.local" <mail@openLuup.local> Subject: Warning form R2E. MIME-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: base64 QXV0byBXYXJuaW5nOiBDb2xkIHN0YXJ0IGV2ZW50The above base 64 text translates to "Auto Warning: Cold start event".
Is it your preference to leave the saved files in the raw mode or would you consider translating the base64 text in the openLuup code base?
On a side note, does the reception of an email by openLuup generate some sort of trigger that can be watched. In the case above; the email represents the restoration of power after a power outage. I would like to know about that by the email triggering a "Telegram" notification on my mobile.
I see that the images@openLuup.local images@openLuup.local can be associated with I_openLuupCamera1.xml, which spawns a movement detector child. Anything similar for the other email addresses?
I've managed to use MSR UI on iOS devices to some degree*, so that although UI elements (e.g. rule sets) are not visible in portrait mode, you've seen them in landscape. Now with recents builds (24302) this does not work anymore, elements (rule sets, entities) are not anymore visible in landscape mode.
Does anyone have similar experiences? Using iOS 18 and Safari/Chrome browser.
( *Drag & drop of rule conditions have never worked on a mobile)
@toggledbits Since I have upgraded ZWaveJSController to 24293 from 24257 I am seeing entries related to registering action set_volume, but action is not defined by the capability 143 every time I restart Reactor.
The Siren seems to be doing what it is supposed to do. The volume levels are fine. Should I worry about it?
Reactor version 24302
ZWaveJSController version 24293
Z-Wave JS UI version 9.27.4
zwave-js version 14.3.4
I have an oven that I need to manage the temperature of, keeping it in the neighborhood of 600° C (1100° F). I have not been able to find a Zigbee-enabled solution to measure temps that high. Does anyone know if such a thing exists? If not, any ideas for how to roll a custom solution that I could integrate into a Sonoff ihost controller? I have no trouble finding high temperature probes, but none of them interface with my automation stack.
Hi All
Hopefully this place looks like a helpful forum as I’m quite new to all this!
I’ve had a few devices all working separately /through their proprietary apps but we’re just finishing off a large house extension and this has added to the list.
I’d ideally like to be able to view/switch a number of different devices on one screen/head end but have no idea where to start.
The devices we have/will have shortly are as follows;
Zigbee Smart Sockets
Zigbee smart switches (for lights)
Heatmiser Neo Underfloor Heating (this runs from a Samsung ASHP but that part is automatic)
Samsung VRF air conditioning (currently using Smart Things App)
Hive (2xLTHW heating circuits in the existing house and Hot Water)
Ring (doorbell!)
Hik Vision PoE CCTV
We have lots of appliances (Neff N70) which we can control remotely but not too fussed about controlling those at the
Moment)
Any help/recommendations would be appreciated!
Thanks
Adrian
After a major hassle got z-way running on my ubuntu 16 VM with a USB pasthough UZB1 stick including license and connected to Vera...
I see:
I also see:
0d6e8c78-c8cd-4307-9474-23e0d6a55094-image.png
But how do I update that?
e09ffa19-a31d-4a03-8983-01228bc5478f-image.png
I have a legacy home automation set-up running on Windows XP. the computer and software have now died.
I have written a very nice Excel VBA program to replace the software and it can run on any modern Windows system.
My only remaining problem is to output the correct signal to a USB port to trigger the wireless switches.
Has anybody done a similar exercise. Please help.
The locksmith is trying to persuade me to purchase the BE-TECH K35 touchscreen lock with both Wi-Fi and Bluetooth, claiming it's better than the Yale Assure Lock 2. What are your thoughts on this? Which one would you recommend?
Here is the link to the Chinese brand BE-TECH: BE-TECH Smart Deadbolt K3S.
The other smart lock I am considering is the Schlage Encode Plus.
Thank you!
modules:composer.user-said-in, @gwp1, Error on start for MSR after update to 24293
Patience is a tall order before 0900 EDT sans coffee on a Monday
Get some coffee
Glad I'm not the only one that had the error. I thought I broke something.
@toggledbits,
Okay, thanks. I don't receive any other errors, and it only appears when I initially load the page or do a refresh.
Hard refresh on Chrome did not solve the issue, however, the rulesets are listed on the left side navigation, as you stated.
Dev console shows one error in Rulesets.js
Running:
MSR latest-24293-ea42a81d
ZWaveJSController 0.1.24293
Fedora Linux 40 (Server Edition)
Home Assistant
Core 2024.10.3
Supervisor 2024.10.2
Operating System 13.2
Frontend 20240906.0
Chrome: Windows, Version 129.0.6668.59 (Official Build) (32-bit)
@toggledbits
I just upgraded to version MSR 24293, bare metal running on Fedora. Upon restart, I am getting a error banner:
TypeError: Cannot read properties of undefined (reading 'value')
at Rulesets.getRulesets (https://*************************/client/Rulesets.js:111:38)
at async StatusTab.updateSetRules (https://*************************/reactor/en-US/lib/js/reactor-ui-status.js:276:28)
at async StatusTab.drawSetRules (https://*************************/reactor/en-US/lib/js/reactor-ui-status.js:270:13)
You may report this error, but do not screen shot it. Copy-paste the text. Remember to include a description of the operation you were performing in as much detail as possible. Report using the Reactor Bug Tracker (in your left navigation) or at the SmartHome Community.
I followed the new directions about npm
npm i --no-save --no-package-lock --omit dev
Any idea what the issue is?
@toggledbits said in Is there a way to restart an add-on in HAAS from MSR?:
If it doesn't work, be sure to check the logs for how HASS responded (it will be logged). My guess that
data:
line in the service data is redundant, and it's going to complain about it, but let's see.
I thought it might be as well, but I figured I'd start with the way it was in the YAML code. If it doesn't work, I'll remove that line. The add-on hasn't gone unresponsive since I implemented this, so I can't say if it works or not.
@toggledbits said in Is there a way to restart an add-on in HAAS from MSR?:
Using Hass OS I assume?
Yes, I posted that on the first post of the thread.
I think I may have figured out how to do it. I just need to see if it works when the add-on goes unresponsive.
Revisiting. I never got this working. I think the issue is that the link provided talks about integrations, not add-ons.
I actually was able to create an automation through HAAS to do what I want to do through reactor. It looks like there is a addon_restart action in HAAS.
If this is an action, there should be in theory the same action in MSR.
@toggledbits, is there a way to call this action?
That's the one.
I may have to try this at home. I'm going through Cloudflare to access my HA instance. Maybe it's interfering with what I'm trying to find.
@therealdb, thanks for the quick response. I knew it had to be in the haas>system and some sort of system call, but I wasn't sure where. Thanks for the link. I have some reading to do.
Good morning,
I have a service MQTT service that needs a restart occasionally. The add-on (Smartbed MQTT) is for the smart bed base for my bed. It has a "safety light" that I can control from HAAS & MSR as a light entity, and also moves the head of the bed to a preset at bedtime, and then lies it back flat in the morning The problem is, from time to time, the light becomes "unavailable" Restarting from the Add-ons tab in HAAS always fixes it, but I should be able to detect when it happens when "light.tempur_pedic_safety_lights" is not true or false, i.e., unavailable.
What I don't know how to do is how to restart that service. Does anybody have experience in restarting add-ons from MSR?
Running:
HAAS:
@toggledbits said in Issue with Zooz Zen14 outlet and Zwavejs:
Try build 24232 of ZWaveJSController just posted. This is an interim build.
That appears to have fixed the issue. Thanks!
@toggledbits
I ran two separate tests. I ran a test from Home Assistant dashboard, turning on and off one of the outlets while tailing the zwavejs.log file. I then ran the same test from from Entities in MSR, only trying to power the one outlet on the double outlet. I provided a link to the log files below.
@toggledbits said in [ZwaveJS] Problems with endpoints and Fibaro Double Switch 2 (FGS223):
There's another device (Zooz) with a similar report. I'm looking into this now that I'm back from my trip.
@toggledbits
Thanks for the reminder. I haven't gotten you the correct ZWaveJS logs. I got sidetracked. Let me see if I can get those for you on that thread.
Here's what I got from that powering on and off....
~/reactor/logs$ cat reactor.log | grep ZWaveJSController#zwavejs | grep "node 216" | grep 2024-08-08T00:22:
[latest-24212]2024-08-08T00:22:11.117Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:targetValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "endpoint": 0, "property": "targetValue", "newValue": true, "prevValue": false, "propertyName": "targetValue" } }
[latest-24212]2024-08-08T00:22:11.118Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "0:37:targetValue:"=true: [Array][ ]
[latest-24212]2024-08-08T00:22:11.124Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:currentValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "currentValue", "endpoint": 0, "newValue": true, "prevValue": false, "propertyName": "currentValue" } }
[latest-24212]2024-08-08T00:22:11.125Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "0:37:currentValue:"=true: [Array][ "power_switch.state" ]
[latest-24212]2024-08-08T00:22:11.170Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:currentValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "currentValue", "endpoint": 0, "newValue": true, "prevValue": true, "propertyName": "currentValue" } }
[latest-24212]2024-08-08T00:22:11.170Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "0:37:currentValue:"=true: [Array][ "power_switch.state" ]
[latest-24212]2024-08-08T00:22:11.174Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:targetValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "targetValue", "endpoint": 0, "newValue": true, "prevValue": true, "propertyName": "targetValue" } }
[latest-24212]2024-08-08T00:22:11.175Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:duration:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "duration", "endpoint": 0, "newValue": { "value": 0, "unit": "seconds" }, "prevValue": { "value": 0, "unit": "seconds" }, "propertyName": "duration" } }
[latest-24212]2024-08-08T00:22:11.176Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "0:37:targetValue:"=true: [Array][ ]
[latest-24212]2024-08-08T00:22:11.177Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "0:37:duration:"=[Object]{ "value": 0, "unit": "seconds" }: [Array][ ]
[latest-24212]2024-08-08T00:22:11.418Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "1:37:currentValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "currentValue", "endpoint": 1, "newValue": true, "prevValue": false, "propertyName": "currentValue" } }
[latest-24212]2024-08-08T00:22:11.419Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "1:37:currentValue:"=true: [Array][ "power_switch.state" ]
[latest-24212]2024-08-08T00:22:11.426Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "1:37:targetValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "targetValue", "endpoint": 1, "newValue": true, "prevValue": false, "propertyName": "targetValue" } }
[latest-24212]2024-08-08T00:22:11.427Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "1:37:duration:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "duration", "endpoint": 1, "newValue": { "value": 0, "unit": "seconds" }, "prevValue": { "value": 0, "unit": "seconds" }, "propertyName": "duration" } }
[latest-24212]2024-08-08T00:22:11.428Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "1:37:targetValue:"=true: [Array][ ]
[latest-24212]2024-08-08T00:22:11.433Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "1:37:duration:"=[Object]{ "value": 0, "unit": "seconds" }: [Array][ ]
[latest-24212]2024-08-08T00:22:11.978Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "2:37:currentValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "currentValue", "endpoint": 2, "newValue": true, "prevValue": false, "propertyName": "currentValue" } }
[latest-24212]2024-08-08T00:22:11.978Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "2:37:currentValue:"=true: [Array][ "power_switch.state" ]
[latest-24212]2024-08-08T00:22:11.984Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "2:37:targetValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "targetValue", "endpoint": 2, "newValue": true, "prevValue": false, "propertyName": "targetValue" } }
[latest-24212]2024-08-08T00:22:11.985Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "2:37:duration:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "duration", "endpoint": 2, "newValue": { "value": 0, "unit": "seconds" }, "prevValue": { "value": 0, "unit": "seconds" }, "propertyName": "duration" } }
[latest-24212]2024-08-08T00:22:11.986Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "2:37:targetValue:"=true: [Array][ ]
[latest-24212]2024-08-08T00:22:11.989Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "2:37:duration:"=[Object]{ "value": 0, "unit": "seconds" }: [Array][ ]
[latest-24212]2024-08-08T00:22:30.188Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:targetValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "endpoint": 0, "property": "targetValue", "newValue": false, "prevValue": true, "propertyName": "targetValue" } }
[latest-24212]2024-08-08T00:22:30.189Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "0:37:targetValue:"=false: [Array][ ]
[latest-24212]2024-08-08T00:22:30.194Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:currentValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "currentValue", "endpoint": 0, "newValue": false, "prevValue": true, "propertyName": "currentValue" } }
[latest-24212]2024-08-08T00:22:30.196Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "0:37:currentValue:"=false: [Array][ "power_switch.state" ]
[latest-24212]2024-08-08T00:22:30.242Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:currentValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "currentValue", "endpoint": 0, "newValue": false, "prevValue": false, "propertyName": "currentValue" } }
[latest-24212]2024-08-08T00:22:30.242Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "0:37:currentValue:"=false: [Array][ "power_switch.state" ]
[latest-24212]2024-08-08T00:22:30.245Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:targetValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "targetValue", "endpoint": 0, "newValue": false, "prevValue": false, "propertyName": "targetValue" } }
[latest-24212]2024-08-08T00:22:30.246Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:duration:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "duration", "endpoint": 0, "newValue": { "value": 0, "unit": "seconds" }, "prevValue": { "value": 0, "unit": "seconds" }, "propertyName": "duration" } }
[latest-24212]2024-08-08T00:22:30.247Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "0:37:targetValue:"=false: [Array][ ]
[latest-24212]2024-08-08T00:22:30.248Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "0:37:duration:"=[Object]{ "value": 0, "unit": "seconds" }: [Array][ ]
[latest-24212]2024-08-08T00:22:30.487Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "1:37:currentValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "currentValue", "endpoint": 1, "newValue": false, "prevValue": true, "propertyName": "currentValue" } }
[latest-24212]2024-08-08T00:22:30.487Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "1:37:currentValue:"=false: [Array][ "power_switch.state" ]
[latest-24212]2024-08-08T00:22:30.488Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "1:37:targetValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "targetValue", "endpoint": 1, "newValue": false, "prevValue": true, "propertyName": "targetValue" } }
[latest-24212]2024-08-08T00:22:30.488Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "1:37:targetValue:"=false: [Array][ ]
[latest-24212]2024-08-08T00:22:30.491Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "1:37:duration:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "duration", "endpoint": 1, "newValue": { "value": 0, "unit": "seconds" }, "prevValue": { "value": 0, "unit": "seconds" }, "propertyName": "duration" } }
[latest-24212]2024-08-08T00:22:30.491Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "1:37:duration:"=[Object]{ "value": 0, "unit": "seconds" }: [Array][ ]
[latest-24212]2024-08-08T00:22:31.048Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "2:37:currentValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "currentValue", "endpoint": 2, "newValue": false, "prevValue": true, "propertyName": "currentValue" } }
[latest-24212]2024-08-08T00:22:31.048Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "2:37:currentValue:"=false: [Array][ "power_switch.state" ]
[latest-24212]2024-08-08T00:22:31.055Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "2:37:targetValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "targetValue", "endpoint": 2, "newValue": false, "prevValue": true, "propertyName": "targetValue" } }
[latest-24212]2024-08-08T00:22:31.056Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "2:37:duration:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "duration", "endpoint": 2, "newValue": { "value": 0, "unit": "seconds" }, "prevValue": { "value": 0, "unit": "seconds" }, "propertyName": "duration" } }
[latest-24212]2024-08-08T00:22:31.057Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "2:37:targetValue:"=false: [Array][ ]
[latest-24212]2024-08-08T00:22:31.059Z <ZWaveJSController:5:ZWaveJSController.js:465> ZWaveJSController#zwavejs updating attributes for node 216 value "2:37:duration:"=[Object]{ "value": 0, "unit": "seconds" }: [Array][ ]
I don't see test about set_value or setting_value when I tried to grep. When I performed the Action power_switch.on from the Entities page, each of the three entries turned green momentarily while the primary value changed to true.
Good morning,
I'm having an issue with controlling my Zooz Zen14 outdoor double outlet. I should be able to control each outlet individually, and this does work when use Home Assistant (haas) from Reactor.
When I use zwavejs, I see 3 entries:
The first entry is for the overall device. I can turn both outlets on and off (in theory) by setting the power_switch state to on or off. This does turn them on and off when using zwavejs.
When I go to the individual outlets, performing the power_switch.on or power_switch.off actions turns them all (main, 1 and 2) on or off, and not just the individual outlets. When I perform the same action from haas, turning on outlet 1 will turn on the main switch and 1, but not 2.
I reviewed the logs for that node and I'm not seeing anything obvious.
:~/reactor/logs$ cat reactor.log.1 | grep ZWaveJSController#zwavejs | grep "node 216"
[latest-24212]2024-08-07T00:19:00.233Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:targetValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "endpoint": 0, "property": "targetValue", "newValue": true, "prevValue": false, "propertyName": "targetValue" } }
[latest-24212]2024-08-07T00:19:00.235Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:currentValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "currentValue", "endpoint": 0, "newValue": true, "prevValue": false, "propertyName": "currentValue" } }
[latest-24212]2024-08-07T00:19:00.321Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:currentValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "currentValue", "endpoint": 0, "newValue": true, "prevValue": true, "propertyName": "currentValue" } }
[latest-24212]2024-08-07T00:19:00.322Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:targetValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "targetValue", "endpoint": 0, "newValue": true, "prevValue": true, "propertyName": "targetValue" } }
[latest-24212]2024-08-07T00:19:00.323Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:duration:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "duration", "endpoint": 0, "newValue": { "value": 0, "unit": "seconds" }, "prevValue": { "value": 0, "unit": "seconds" }, "propertyName": "duration" } }
[latest-24212]2024-08-07T00:19:02.189Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "1:37:currentValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "currentValue", "endpoint": 1, "newValue": true, "prevValue": false, "propertyName": "currentValue" } }
[latest-24212]2024-08-07T00:19:02.192Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "1:37:targetValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "targetValue", "endpoint": 1, "newValue": true, "prevValue": false, "propertyName": "targetValue" } }
[latest-24212]2024-08-07T00:19:02.193Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "1:37:duration:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "duration", "endpoint": 1, "newValue": { "value": 0, "unit": "seconds" }, "prevValue": { "value": 0, "unit": "seconds" }, "propertyName": "duration" } }
[latest-24212]2024-08-07T05:32:30.127Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs configuring node 216 endpoint 0 (entity "216-0")
[latest-24212]2024-08-07T05:32:30.127Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs configuring node 216 endpoint 1 (entity "216-1")
[latest-24212]2024-08-07T05:32:30.128Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs configuring node 216 endpoint 2 (entity "216-2")
I'm running:
Reactor (Multi-hub) latest-24212-3ce15e25
ZWaveJSController [0.1.23326] (with zwavejs_data from 7/25/2024)
HA:
Core 2024.7.3
Supervisor 2024.08.0
Operating System 12.3
Frontend 20240710.0
@toggledbits said in Fail safe condition for battery devices:
Just a thought: using the between operator (e.g. between 0.495 and 0.515) to allow for floating-point round-off error is probably a good idea.
That's a good idea. The .51 value did work for me, but having that wiggle room could definitely save some headaches.
I would assume however, in this case, it would need to be not between in order for it to work, otherwise it'll keep running the repeat while when the condition has already been met.
@gwp1 said in Fail safe condition for battery devices:
is it better to use cover.open and cover.close or postion.set=.5 and 0/.99?
I'm not sure about better, but I'm now using the position.set for consistency. For each blind or set of blinds in a room, I have basically 3 possible positions I want them: Open, (50%/.51), Closed (0%/0, up inside), and a Sun glare position (80%/.81). it's just easier for me to have the same reaction set up, but change the position.set value.