-
EDIT: 2022.07.01
So I will try to remake this thread to some kind of guide for future use, or in worst case a documentation of my failure. At least that could also be useful for letting someone know what didn't work...
I have zero knowledge of programming, so every time I need to edit a config file in HomeAssistant or similar it requires a good portion of googletime and read, re-reading instructions.
Also is english not my native language, so bear with me.Two goals!
1: Get MSR to take notice (and then actions of course) of pressed buttons on remotes.
2: Document what I do in hope I can help someone else in the future.I will use a Fibaro Keyfob as described below, but what I understand from Togglebits answers most type of remotes should work in similar ways.
Original thread:
Fibaro Keyfob support in MSR? (thru Hassio & Z-wave JS)
HiI just bought a Fibaro Keyfob FGKF-601 and plan to give this to my son so he can control some stuff in his own room. Primary some lightning and Sonos, maybe blinds in the future.
As the noob I am it will, of course, not work as I expected.👶🏻
The remote handle 1x, 2x, 3x clicks per button (six of them) and "release button"
I thought that it would appear like some "scene controller" in HA and that I could make Rules in MSR depending on what scene-entety that was triggered.
So is not the case, and if that is because of HA, Z-wave JS or MSR I have no idea.
I found a HA Blueprint that works in HA, but of course I would prefer to keep all automation in MSR.
I guess a workaround could be using HA virtual switches "Helpers" that I suppose will come up as an on/off trigger in MSR, but before going this way I would like to check with the wisdom of your guys if there is a better way of doing this.I am using:
MSR 22168 on windows.
Home Assistant Core 2022.6.7
Home Assistant Supervisor 2022.05.3
Home Assistant OS 7.6
Z-Wave JS version: 0.1.64 -
Need to ask, have thougth about this since the move from Rector to MSR I think.
What is the difference between putting constraints under trigger groups, like this
23b4a249-3292-41cd-9927-7f49c9bf1d07-image.pngCompared to this similar rule, but the time limits is under contraints instead?
ee596c9f-f52b-4a39-9605-f5932f3d9ed5-image.pngI think the Constraints parts in manual is still to be done because I can only find in the chapter menu, but it is not mentioned anywhere else.
-
-
Running MSR 22123 in Docker container and trying to use "condition must occur after" option. Will update to the latest build and log a PR if needed, but wanted to poll first if anyone is using this option successfully?
I have the following rules:
Screenshot 2022-06-28 at 15.18.50.png
Notification activity connected to "Alarm disabled" rule did not trigger. I also did another test with quite simple rules and that didn't work either (FWIIW - when observing that test in "real-time", I didn't see any timer running on the second rule while the first rule was true).
As said, before going further with debug/logs, nice to know if someone is using this option/restriction (successfully).
-
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. -
Before updating to 22178 there was a primary value echoed in MQTTControllers echo capability, can I tell the controller which value to put as primary from HASS sensors after this change as it now is null? or is it a bug?
I have not changed the
primary_attributes: trueReactor latest-22178 bare metal
Hass 2022.6.7Edit: Solved in build 22179
-
Hi!
I have a system that I consider pretty stable, running in a VM Ubuntu 20.04, it has some communication failures, but I think more by HE than by the OS/MSR.
I'm thinking of taking the next step to get more advantages from the system, and I'm thinking of using InfluxDB maybe for queries or to extend rules.
The question is, I would like practical examples of what really helps to install InfluxDB? What would you be doing that really makes a difference with this installation? Can you post examples of features or information?
Thanks
-
Hi Everyone,
MSR had a docker image file naming convention change, and I am not exactly sure how to swap the image out. I'm sure it's not rocket science, I've just never done this before.
I am using a Synology NAS, and under the environment tab there is a "REACTOR_IMAGE" variable. Can I just change the image name to the new image naming convention and clear the container, or should I launch a new container and populate the volume location from the previous reactor?
Thanks in advance
-
Please can anyone give me advice on a cheap way to run MSR (both initial cost and ongoing electricity cost). I currently run it on my QNAP network drive (which works very well incidentally). However, this draws a constant 35Watts (£90/yr @ 30p/kWh) and given the recent rise in fuel costs I am evaluating the best way forwards. Note, I only really need to turn my QNAP on for an hour a week to back-up my computer data. I understand that MSR can run on a Raspberry PI, but I am not competent with Linux! Thanks.
-
I have made good progress setting up a new Raspberry PI 4 with the latest OS (64bit) and latest Reactor images in Docker. However I am not able to copy my configuraiton files (.yml) and reactor reactions over. I am not yet that confident with linux commands, so I have tired to drag and drop the files from a USB drive to the working folders in my new Raspberry PI. I am getting a popup in the GUI stating 'The file operation was completed with errors.' and Errors occured: "rule-xxxxxx.json: Error opening file "/home/pi/reactor/....................................json":Permission denied.
I suspect it's something to do with permissions?
Is there an easier way to copy my configuration over??
-
Hello All -
I'm gradually moving away from Vera to Home Assistant. I've recently gotten the Alexa and Mini Media Player setup in Home Assistant and everything is working well.
Is there a way to call this service from Reactor? My goal is to send TTS requests to HAAS upon certain events within Reactor (e.g. "Front Door Opened")
-
I have a Tripp-Lite UPS (https://www.tripplite.com/smartpro-lcd-120v-1500va-900w-line-interactive-ups-avr-tower-lcd-usb-10-outlets~smart1500lcdt) that connected by a USB cable to my computer, reports various power supply and failure information, as shown in the panel below.
b9f0ea34-d654-4b26-b968-4f8cf0a4e0c1-image.png
afa73913-5318-42c6-af9a-02d36e2e6ea1-image.png
The application I installed runs Java and opens the console to send the information.
Has anyone tried to bring the information into the MSR? Or even a VeraPlus?
Thanks.
-
-
It appears that in the Manual, under Management>Network Status is for Reactor on Vera. Is the Internet check functionality available with MSR and if so is there updated instructions? I do see a variable reactor_system.internet.ok but the value is null.
I am looking for a way to check for internet status with MSR before installing an extra app on a hub to get the information.Synology Docker latest-22149
-
Windows Server 2022 Build 20348
Nodejs v16.14.0
Currently running Reactor (Multi-hub) stable-22119-ae7212f
Linked to Hass 2022.0.5.4 (on a different box)
Windows server is dedicated to MSR and doesn't do anything else.I'd like to upgrade to 22136 to take advantage of the SSL feature added recently, and also to bring my current version of Hass into the 'supported' column with MSR.
Following the instructions here: link text, section "Upgrade Windows Bare Metal"
Stop Reactor Service Extract the zip, overwriting the reactor folder in c:\reactor\reactor There is no package-lock.json file so I skip that. Run "npm install --no-save --omit dev"Next step is to start the service. I start the service and it immediately stops. "Windows could not start the Reactor service on Local Computer. Error 1067: The process terminated unexpectedly".
Tried rebooting, service won't stay running.
I suspect I'm missing something, it's probably obvious but I've not been able to figure it out.
I rolled back the reactor folder version (Windows Shadow copies) and then the service starts fine.
Anyone else running Windows and know what I'm missing?
Tail of log file from running OK version, before upgrade attempt [stable-22119]2022-06-01T22:20:19.081Z <Rule:INFO> Lounge Billy Ambient Lighting - Turn On (Rule#rule-l0ki453b) evaluation complete [stable-22119]2022-06-01T22:20:19.082Z <httpapi:NOTICE> HTTP API v1 22021 base URL http://172.16.128.6:8111; listening [stable-22119]2022-06-01T22:20:19.228Z <app:NOTICE> HTTP server running; registering proxy endpoints. [stable-22119]2022-06-01T22:20:19.228Z <app:NOTICE> Starting WSAPI... [stable-22119]2022-06-01T22:20:19.229Z <wsapi:NOTICE> wsapi: starting version 21334 [stable-22119]2022-06-01T22:20:19.656Z <Engine:INFO> [Engine]Engine#1 master timer tick, local time "6/2/2022, 8:20:19 AM" (TZ offset 600 mins from UTC) [stable-22119]2022-06-01T22:27:54.788Z <wsapi:INFO> wsapi: connection from ::ffff:172.16.128.5 Tail of log file from failed to start after upgrade (is identical, ii.e. nothing has been appended to it) [stable-22119]2022-06-01T22:20:19.081Z <Rule:INFO> Lounge Billy Ambient Lighting - Turn On (Rule#rule-l0ki453b) evaluation complete [stable-22119]2022-06-01T22:20:19.082Z <httpapi:NOTICE> HTTP API v1 22021 base URL http://172.16.128.6:8111; listening [stable-22119]2022-06-01T22:20:19.228Z <app:NOTICE> HTTP server running; registering proxy endpoints. [stable-22119]2022-06-01T22:20:19.228Z <app:NOTICE> Starting WSAPI... [stable-22119]2022-06-01T22:20:19.229Z <wsapi:NOTICE> wsapi: starting version 21334 [stable-22119]2022-06-01T22:20:19.656Z <Engine:INFO> [Engine]Engine#1 master timer tick, local time "6/2/2022, 8:20:19 AM" (TZ offset 600 mins from UTC) [stable-22119]2022-06-01T22:27:54.788Z <wsapi:INFO> wsapi: connection from ::ffff:172.16.128.5 reactor.wrapper.log (log file the failed to start event points to) 2022-06-02 08:19:23 - Stopping reactor.exe 2022-06-02 08:19:23 - ProcessKill 3628 2022-06-02 08:19:25 - Shutdown exception Message:A system shutdown is in progress. Stacktrace: at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) at System.Management.ManagementScope.InitializeGuts(Object o) at System.Management.ManagementScope.Initialize() at System.Management.ManagementObjectSearcher.Initialize() at System.Management.ManagementObjectSearcher.Get() at winsw.WrapperService.GetChildPids(Int32 pid) at winsw.WrapperService.StopProcessAndChildren(Int32 pid) at winsw.WrapperService.StopIt() at winsw.WrapperService.OnShutdown() 2022-06-02 08:20:11 - Starting C:\Program Files\nodejs\node.exe C:\reactor\reactor\node_modules\node-windows\lib\wrapper.js --file C:\reactor\reactor\app.js --scriptoptions= --log "Reactor wrapper" --grow 0.25 --wait 1 --maxrestarts 3 --abortonerror n --stopparentfirst undefined 2022-06-02 08:20:11 - Started 3272 2022-06-02 08:30:54 - Stopping reactor.exe 2022-06-02 08:30:54 - ProcessKill 3272 2022-06-02 08:30:54 - Found child process: 3280 Name: conhost.exe 2022-06-02 08:30:54 - Found child process: 3504 Name: node.exe 2022-06-02 08:30:54 - Stopping process 3280 2022-06-02 08:30:54 - Send SIGINT 3280 2022-06-02 08:30:54 - SIGINT to 3280 failed - Killing as fallback 2022-06-02 08:30:54 - Stopping process 3504 2022-06-02 08:30:54 - Send SIGINT 3504 2022-06-02 08:30:54 - SIGINT to 3504 failed - Killing as fallback 2022-06-02 08:30:54 - Stopping process 3272 2022-06-02 08:30:54 - Send SIGINT 3272 2022-06-02 08:30:54 - SIGINT to 3272 failed - Killing as fallback 2022-06-02 08:30:54 - Finished reactor.exe 2022-06-02 08:33:41 - Starting C:\Program Files\nodejs\node.exe C:\reactor\reactor\node_modules\node-windows\lib\wrapper.js --file C:\reactor\reactor\app.js --scriptoptions= --log "Reactor wrapper" --grow 0.25 --wait 1 --maxrestarts 3 --abortonerror n --stopparentfirst undefined 2022-06-02 08:33:41 - Started 4184 2022-06-02 08:36:57 - Starting C:\Program Files\nodejs\node.exe C:\reactor\reactor\node_modules\node-windows\lib\wrapper.js --file C:\reactor\reactor\app.js --scriptoptions= --log "Reactor wrapper" --grow 0.25 --wait 1 --maxrestarts 3 --abortonerror n --stopparentfirst undefined 2022-06-02 08:36:57 - Started 3100 Windows event log event: Child process [4184 - C:\Program Files\nodejs\node.exe C:\reactor\reactor\node_modules\node-windows\lib\wrapper.js --file C:\reactor\reactor\app.js --scriptoptions= --log "Reactor wrapper" --grow 0.25 --wait 1 --maxrestarts 3 --abortonerror n --stopparentfirst undefined] finished with 1 -
-
Hello Patrick,
On the status page rule history is there any adjustably on length of the history shown? I had an occasion where it would have been helpful to go a few notches farther back than it does as currently configured.
I don't know if this is a log parser or if it is a separate smaller data set. If it is a log parser, any chance for maybe something like a "more" button?
Thanks,
Mike -
I can't find any posts or reference in docs for this log message
<EzloController:NOTICE> EzloController#ezlo received notice of new device, but auto-rediscover is OFF; ignoringI've restarted MSR and hard refreshed browser but the new entity is not added. Can I set auto-rediscover to ON or how do I get the new device added into Reactor?
Edit:
Bare metal latest-22142
The device is a Xiaomi Mini Switch, it's publishing correct values in ezmqtt.Edit 2: The Xiaomi Aqara Mini Switch is now mapped in build 22149.
-
334ccd7a-9499-4dea-8a4a-2347609dce62-image.png
For the life of me I cannot figure this out.
when I run the du -hs command (from the host) for the mapped volume I get 25M
(/home/seth/ReactorConfig maps to /var/reactor)Inside the container I ran du -hs for each of the folders that the ui is complaining about
/opt/reactor = 71.2M
/var/reactor/storage = 2.9M
/var/reactor/logs = 17.6MIf I run df on the docker container I get this. Disk space is not critical
1f5d230c-0792-468b-b3b7-9f45e31581c5-image.pngWhat gives?
Set Entity value in expression?
-
Not sure if i am asking this correctly, but here it goes... I am trying to make the ceiling fans run if the AC unit is running for more than a few minutes. That part is easy and done. Now, what i really want to do is that when the AC kicks off, the fans go back to whatever state they were at before they kicked on. I have an expression that captures the before status into a variable, but now i am racking my brain trying to figure out how to iterate through that array (really an object with "fan name" : status) and set the fan variables. I can do it manually via the set_variable for each entity, but I would think there should be an easier way with an expression since i have everything i need to set the values in the object. is there a better way?
-
Can you be a bit more specific? What are you looking at that's an array? Status for most devices is not an array, so I think you're looking at the wrong thing.
-
@sebby
the object that i am looking at is an expression that gets the current status of all fans (CurrentFanStatus). When the AC kicks off, i copy the current fan status to another variable (lastFanStatus) so i can re-set the fans to what they were set at originally (i.e. if the Office fan was running, i don't want the reset reaction to turn it off. I figure i can set the values from thee object, via the set_variable (as in the image above), but was just wondering if there was a better way to iterate through my object and set the values for the corresponding fans since i have the entity name and the status.
EDIT: I guess what i am looking for is a setEntity that i may be able to issue from an expression. does that exist?
-
I can't see anything in the screen shot, it's too low res.
You have to run an action to set the state of a device. Attributes are generally echoes of device state, but you don't modify them directly, just like on Vera (setting a state variable on Vera doesn't change the device, running an action changes the device and updates the state variable).
-
@toggledbits said in Set Entity value in expression?:
I can't see anything in the screen shot, it's too low res.
You have to run an action to set the state of a device. Attributes are generally echoes of device state, but you don't modify them directly, just like on Vera (setting a state variable on Vera doesn't change the device, running an action changes the device and updates the state variable).
Gotcha, and thanks for the explanation. I guess the question would be, is there a way to trigger an action from an expression? Also, kind of related, but what service would i use in set_variable in order to act on x_vera_svc_upnp_org_SwitchPower1.SetTarget? i've tried x_vera_svc_upnp_org_SwitchPower1, vera_svc_upnp_org_SwitcPower1, svc_upnp_org_SwitchPower1 and all combinations i could think of.
-
Generally speaking, you should use the
power_switch
service instead of thex_vera_svc...
extension service whenever possible. The extension services are meant to be used only when the general services don't provide the function you need.I still can't read your screen shot. When you make the screen shots, try copying only the area with the data fields on the left, and leave off the buttons on the right. This will exclude a lot of unnecessary pixels from the screen shot and improve the overall resolution (reduce downsampling), and make is smaller to post, which is friendlier for the forums as well.
-
I get that, but the power_switch service only has on or off. I am trying to set it from a stored variable, so i don't know if it is on or off to begin, hence my attempt to set it via the SwitchPower1.SetTarget.
-
@sebby I'm adding
set
topower_switch
as we speak. Will be in the next build.To set from a stored variable, use a substitution in the variable value:
${{ expression-or-variable-name }}
-
I did this exact same thing within Reactor and it became more trouble than it was worth and ultimately removed that rule. A very quick recap of the way I had it was:
Conditions (now triggers):
-- AC is ON
(AND)
-- Motion sensor tripped
Activity (now Reaction):
IF TRUE:
-- GetLoadState of device (entity) and set that to a non-defined variable.
-- Turn the fan on to XX%.
IF FALSE:
-- Turn fan to {variable}%Now how it became more trouble than it was worth probably could have been solved my adding an additional condition/trigger. If I walked into a room and then back out, but the AC was on, the fan would turn on. No sense in having the fan on if nobody was in the room. Thinking back, I would add that Motion has been detected and needs to remain detected/tripped for 120 seconds. (Assuming that your motion sensors reset in less than 120 seconds)
-
-
The
x_vera_device.set_variable
action is the same asluup.variable_set()
on Vera -- it sets the value of a state variable on the device. The service would be a Vera service ID. This is not what you want for turning a switch on or off. You cannot, in MSR or on Vera/Luup, turn a switch on or off by setting a state variable. You have to use an on/off action.I just uploaded the new build to latest (21218). This has a
power_switch.set
action that takes a boolean, as you are trying to do here. Update to the new latest build, then in your screen shot above, where you havex_vera_device.set_variable
, you will selectpower_switch.set
. It will give you a single parameter in which you can specify a boolean value (e.g. true or false), or use a variable substitution as I posted earlier. -
wow, thank you so much for that, as always greatly appreciated.
-
Hi Rigpapa, I updated the build, the variable is a drop-down with only the true/false option and not a variable that can be substituted. do i need to do something else to make it a string entry?
-
-
-
@sebby said... (see above screenshot)
Based on your screenshot, it kinda looks like you can't (yet) override the two preset drop-down choices in that menu, in order to insert your own
${{ }}
expression? (I'm not using 'Latest' so haven't tested myself.) -
Whoops! Forgot about that (booleans use a fixed list rather than the generic multi-value path/datalist control)... fix coming...
-
no rush, i was able to work around it by inserting the status of the fans as a number:
{ "Livingroom Fan" : getEntity("vera>Livingroom Fan").attributes.power_switch.state == false ? 0 : 1, "Loft Fan" : getEntity("vera>Loft Fan").attributes.power_switch.state == false ? 0 : 1, "Office Fan" : getEntity("vera>Office Fan").attributes.power_switch.state == false ? 0 : 1 }
then used the SetTarget entity action to turn them on or off.
-
OK. Build 21219 is up, allows expression substitution in boolean.
A couple of other things...
...attributes.power_switch.state == false ? 0 : 1
can be more succinctly written asattributes.power_switch.state ? 1 : 0
- The
performAction()
expression function will perform an action from an expression. If you have an object stored in a variableold_status
that contains data like this:[ { id: "vera>Livingroom Fan", status: true }, { id: "vera>Loft Fan", status: false }, { id: "vera>Office Fan", status: true } ]
, then you can set those statuses in one expression:each d in old_status: performAction( d.id, "power_switch.set", d.status )
-
- The
performAction()
expression function will perform an action from an expression. If you have an object stored in a variableold_status
that contains data like this:[ { id: "vera>Livingroom Fan", status: true }, { id: "vera>Loft Fan", status: false }, { id: "vera>Office Fan", status: true } ]
, then you can set those statuses in one expression:each d in old_status: performAction( d.id, "power_switch.set", d.status )
This is exactly what i was looking for! thank you!!!!!! i was looking at the docs and completely glossed over that section...
- The
-
toggledbits