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)
Hi @toggledbits,
I have lots of logs with this:
<Engine:ERR> Assignment to alarm ignored -- expression-driven global cannot be set by assignmentAny hints to where look at to avoid this? Thanks.
Hi @toggledbits
I'd like to update my controllers with these new features, but I'm struggling to find any guidance in the docs - and in general to understand the context.
Could you please elaborate more? Thanks.
I have the following ACL defined:
groups: admin: users: - admin applications: true api_acls: # This ACL allows users in the "admin" group to access the API - url: "/api" group: admin allow: true log: true # This ACL allows anyone/thing to access the /api/v1/alive API endpoint - url: "/api/v1/alive" allow: trueAnd I have authenticated to MSR as "admin" user. However, I'm getting "access denied" when trying to access http://*******:8111/api/v1/log
So what I'm missing, is my ACL incorrectly defined?
Using build 24302 on Docker.
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!
In Home Assistant I sometimes uses the TTS, either to my Sonos or Google speakers. With reactor in Vera I also use TTS.
But in MSR I can't select the TTS-service. It's simply not there. Am I missing something, or is this the case, so far?
Thanks!
/Fanan
Hi
I have just connected a bunch of EzloPi controllers to MSR to import some ESP based devices etc.
They all seemed to have worked and imported in to MSR apart from I have one missing device. It is a Digital Gas Sensor device.
This is how that device looks in the Ezlo API.
Devices Info:
_id: "10696001" deviceTypeId: "ezlopi" parentDeviceId: "10696000" category: "level_sensor" subcategory: "" gatewayId: "457a5069" batteryPowered: false name: "Gas Sensor Digital" type: "sensor" reachable: true persistent: true serviceNotification: false armed: false roomId: "" security: "no" ready: true status: "idle" parentRoom: true protectConfig: "default"Items Info:
_id: "20696001" deviceId: "10696001" hasGetter: true hasSetter: false name: "smoke_density" show: true valueType: "substance_amount" scale: "parts_per_million" value: 2.7472610473632812 valueFormatted: "2.75" status: "idle"There is also an Analog Gas sensor that one did import in to MSR OK.
68d63dab-b871-4f44-912b-cf6e0b9eb4c6-image.png
Devices Info:
_id: "10696000" deviceTypeId: "ezlopi" parentDeviceId: "10696000" category: "security_sensor" subcategory: "gas" gatewayId: "457a5069" batteryPowered: false name: "Gas Sensor Analog" type: "sensor" reachable: true persistent: true serviceNotification: false armed: false roomId: "" security: "no" ready: true status: "idle" parentRoom: true protectConfig: "default"Items Info:
_id: "20696000" deviceId: "10696000" hasGetter: true hasSetter: false name: "gas_alarm" show: true valueType: "token" enum: 0: "no_gas" 1: "combustible_gas_detected" 2: "toxic_gas_detected" 3: "unknown" valueFormatted: "no_gas" value: "no_gas" status: "idle"And this is how this MQ2 Gas Sensor looks like on their dashboard:
Digital
cb77dfa3-4af5-4d06-9635-89207a716a89-image.png
Analog
4fb4da1b-e946-4b89-876c-bcd9f5699b6c-image.png
They have an EzloPi website here you can create your own sensor projects using ESP boards, which is very interesting stuff!
And I just wrote on the Ezlo forum here, how to connect an EzloPi controller to MSR.
THANKS.
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.A couple of things for you @toggledbits, since you mentioned that this release has new features and some tweaks are expected.
Local expressions cannot be deleted. Pushing the X button has no effect for me.
When cloning an entity action, the result is strange (first is cloned one, second is the original action):
a92ea094-9e2c-4aaa-bf47-2d07a6ffdbd0-image.png
When changing the action on the cloned element, the params are added to the original one. See screenshot:
92ac3011-83c8-466b-bd23-47d483ad7a52-image.png
Dark theme has a couple of strange contrasts. One is visible in the previous screenshots (white text on yellow background). Another one is in groups (blue text on blue background):
9b3c4988-53ef-44e6-9672-30e744cacb75-image.png
Overall, I found blue, yellow, red and green (in buttons and forms) to be too bright.
On the bright side:
I love the new script action: thank you! The dark theme is a great start to avoid getting blinded at night I promise I'll try very soon the new features around actions. Thanks!@toggledbits
I just upgraded to version MSR 24293, bare metal running on Fedora. Upon restart, I am getting a error banner:
I followed the new directions about npm
npm i --no-save --no-package-lock --omit dev
Any idea what the issue is?
Seems like switching the UI to the newly added dark mode (thank you for this) does nothing. The UI stays in light mode and only a few buttons turn into dark mode (see screenshot)
Things I have tried:
Hard refresh
Different browser
Different computer
Restarting Reactor
Failed troubleshooting attempts:
No errors in Chrome console
No relevant errors in Reactor log (can still PM the full log file)
Reactor version: latest-24293-ea42a81d
Hardware: Odroid N2+
Linux version: Ubuntu 24.04.1 LTS
3df2806f-9146-485b-9ec1-d056e91cefe5-image.png Dark mode enabled
ff823023-c079-4684-b01f-d6ac6527d31a-image.png Light mode enabled
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:
Reactor (Multi-hub) latest-24212-3ce15e25 ZWaveJSController [0.1.24232]HAAS:
RPi5-64 (8GB) Core 2024.7.3 Supervisor 2024.08.0 Operating System 13.0 Frontend 20240710.0Hi!
Is it possible to generate two additional log files, the first being the replica of what is displayed on screen by the Rule History widgets and the other with Recently Changed Entities?
And could I configure the generation of one file per day, and delete the older ones? For example, store the last 5 days?
And being more ambitious, does Windget have an icon to open these TXT files in the navigated?
Well, we're approaching Christmas, so here's my request to Santa Claus @toggledbits 🙂
Hi @toggledbits
I'm working on a controller to generate llm response from a prompt in reactor. I have http response coming thru an http request action at the moment, capturing the response inside a local variable. So, it's practically sync.
I want to create a controller, so I don't have to rely on a proxy (and have a simpler architecture), and duplicate absurd http actions, but AFAIK in the current implementation, actions are async only. But if I have multiple requests going on, I cannot be sure what it's really inside an attribute. I also thought that something like a correlation id when sending the request could be used to identity multiple responses, but I wanted to double check with you before starting with something too complicated. I also noticed that some actions in home assistant (ie forecast) are sync and I'm wondering if you have any plan or hint to address this situation. Thanks.
Thanks.
@togglebits I am curious as to why the tilt_sensor.state (primary) = NULL. I believe it should show true or false. I have to use binary_sensor.state instead in my rules.
Again, not sure if this is related to Reactor/ZwaveJSController implementation or the actual Z-Wave JS UI docker version. I have copied, below, the attributes of the tilt sensor in hopes it can help.
Thanks in advance.
Reactor version 23302
ZWaveJSController version 23254
Z-Wave JS UI version 9.3.0.724519f
zwave-js version 12.2.3
@toggledbits I have noticed after upgrading both Reactor and ZWaveJSController to version 24257 that two of my devices/entities, TILT-ZWAVE2.5-ECO and Zooz ZSE18, had their entity re-named in an unusual way and also appears to be duplicated.
Reactor version 24257
ZWaveJSController version 24257
Z-Wave JS UI version 9.18.1
zwave-js version 13.2.0
Vestibule Motion Sensor State attributes/partial screenshot of entities it created. All entities have the same attributes.
motion_sensor.state=true x_zwave_values.Notification_Home_Security_Motion_sensor_status=8 zwave_device.capabilities=[113] zwave_device.endpoint=0 zwave_device.failed=null zwave_device.manufacturer_info=null zwave_device.node_id=23 zwave_device.valueId=[113,"Notification","Home Security","Home Security","Motion sensor status","Motion sensor status"] zwave_device.version_info=nullTilt Sensor Door State and Tilt Sensor Door State Simple attributes/partial screenshot of entities it created. All entities have similar attributes with exception of x_zwave_values.Notification_Access_Control_Door_State = 22 or 23.
tilt_sensor.state=true x_zwave_values.Notification_Access_Control_Door_state=22 zwave_device.capabilities=[113] zwave_device.endpoint=0 zwave_device.failed=null zwave_device.manufacturer_info=null zwave_device.node_id=24 zwave_device.valueId=[113,"Notification","Access Control","Access Control","Door state","Door state"] zwave_device.version_info=null tilt_sensor.state=true x_zwave_values.Notification_Access_Control_Door_state_simple=22 zwave_device.capabilities=[113] zwave_device.endpoint=0 zwave_device.failed=null zwave_device.manufacturer_info=null zwave_device.node_id=24 zwave_device.valueId=[113,"Notification","Access Control","Access Control","Door state (simple)","Door state (simple)"] zwave_device.version_info=null tilt_sensor.state=false x_zwave_values.Notification_Access_Control_Door_state=23 zwave_device.capabilities=[113] zwave_device.endpoint=0 zwave_device.failed=null zwave_device.manufacturer_info=null zwave_device.node_id=24 zwave_device.valueId=[113,"Notification","Access Control","Access Control","Door state","Door state"] zwave_device.version_info=null tilt_sensor.state=false x_zwave_values.Notification_Access_Control_Door_state_simple=23 zwave_device.capabilities=[113] zwave_device.endpoint=0 zwave_device.failed=null zwave_device.manufacturer_info=null zwave_device.node_id=24 zwave_device.valueId=[113,"Notification","Access Control","Access Control","Door state (simple)","Door state (simple)"] zwave_device.version_info=nullI'm slowly migrating all my stuff to MQTT under MSR, so I have a central place to integrate everything (and, in a not-so-distant future, to remove virtual devices from my Vera and leave it running zwave only).
Anyway, here's my reactor-mqtt-contrib package:
Contrib MQTT templates for Reactor. Contribute to dbochicchio/reactor-mqtt-contrib development by creating an account on GitHub.
Simply download yaml files (everything or just the ones you need) and you're good to go.
I have mapped my most useful devices, but I'll add others soon. Feel free to ask for specific templates, since I've worked a lot in the last weeks to understand and operate them.
The templates are supporting both init and query, so you have always up-to-date devices at startup, and the ability to poll them. Online status is supported as well, so you can get disconnected devices with a simple expression.
Many-many thanks to @toggledbits for its dedication, support, and patience with me and my requests 🙂
Multi-System Reactor Developer Preview AVAILABLE
-
I just tested importing all my reactors from openluup, and it worked beautifully! (once i changed the "-" to "_" in the "import-reactor-backup.js" - the manual has that wrong)
I'll try enabling some of the less important rules tomorrow. One thing i'll look into is how to have common logic for i.e. light control in multiple rooms.
Looks very nice, @toggledbits! -
Build 21060
Problem Reports:
PR 0000074: ContactSensor (Hubitat)
PR 0000068: Support HSM (Hubitat)
PR 0000068: Support system mode (Hubitat)
PR 0000050: Further enhancements to thermostat for Hass
PR 0000072: Support trip and untrip actions for Vera security sensorsEnhancements/non-PR fixes:
- Capability prefixing in Hubitat device mapping for increased specificity in certain types
- Improve the detail card display in the Entities list
- Temporary: enhanced logging of all actions performed on entities (e.g. by reactions, Entities list, etc.)
- Rule status card: Interval conditions now show date of last trip
- Rule status card: Date conditions now show time they are waiting for (may be temporary, maybe we like it and it stays)
- "tamper" system capability added
Today was a big day for details in device support. A lot of things got combed out, and many of the outstanding PRs addressed.
I will make a Synology docker container update tomorrow from this build.
-
Build 21061
0000050 - Additional tuning for Hass thermostats; please check
Other highlights:
- Support for color bulbs on Hubitat, with both RGB and HSL color modes (HSL is native to Hubitat);
- A bug in 21060 that caused newly-created rules to not be runnable until Reactor restart has been fixed;
- The build number will now be shown in the upper-right corner (previously unused area);
- Hubitat and Vera controllers were not passing control to superclass when an action didn't have a controller-specific implementation;
- Added new "hs_color" capability for hue+saturation color model (hsl is hs + dimming level);
IF YOU HAVE AN OPEN PR from a previously-opened device support issue, please check your PR and, if necessary, performance against this build 21061. I spent a lot of time today tweaking and tuning Hass thermostats, and Hubitat color lights. Yesterday's build included support for modes and HSM on Hubitat. But many of these bugs have no confirming feedback. Some of you are great at getting back to the PR and reporting your findings, good or bad; it would be great if everyone did this, as it's the easiest way for me to track. But the rule going forward is, no news is good news, and if I don't hear from you, I'll close the report.
ALSO please remember to check your email for reports from Mantis, and don't forget your Spam/Junk folders! Please mark "Not Spam" if your email system allows, or whitelist the domain, so you get the questions or feedback in a timely way.
-
@toggledbits What to do if the PR has already been closed? But we have feedback confirming what was implemented is working.
I've opened some PRs again just to leave that feedback.
But other times I've not bothered as they were already closed.Wasn't sure what was best thing to do.
-
If it's not closed closed, you should be able to add a note without changing its status. That's why I've been leaving things "resolved" for at least a full day after the build the bug is fixed in. Mantis is new to me, too, so I'm still learning as well.
-
@toggledbits said in Multi-System Reactor Developer Preview AVAILABLE:
That's why I've been leaving things "resolved"
I can't leave a new note or comment on a PR that is currently resolved. For example this one here
To leave a note I have to press the Reopen button.
-
OK. Well, if it's good news, leave it closed; if it's needs work yet, go ahead and re-open.
-
Build 21062
Fixed:
- 0000078 - Fix dimming.set on Hass
- 0000077 - Support input_boolean on Hass
- 0000076 - Support GC100 plugin on Vera
- 0000050 - Thermostat support tweaks for Hass
Other work:
- Cleanup of RGB light model for Hass, added HS(L) model, support effects;
- Support ZWave device capability zwave_device, for Vera and Hass (Hubitat TBD)
- Documentation work
-
Build 21063
- 0000081: Implement RunLua action (on system entity for each VeraController instance)
- 0000080: Fix a problem running Vera scenes
- 0000075: Limit time delays to 24 hours (a multi-day delay on a schedule, specifically >24 days, could overflow JavaScript's 32-bit signed integer millisecond timers)
Other work:
- Fixed an issue with "changes" operator restoring configured values too literally (was inserting word "null" rather than blank/empty string)
- Progress on getting "set variable" action working. It's pretty much working for global expressions/variables. Still working on rule-based variables. PR 5 remains open.
- A lot of "linting". The old-school software-types will know what I mean.
-
Can confirm #80 and #81 and "issue with "changes" operator" are all working OK.
I've very nearly moved all my PLEG conditions / actions over to MSR.
I am waiting to be able to use an Expression value in a rule, for my "Master" dimmer virtual devices.
And for the Scene Activation stuff being exposed, for Fibaro Dimmer 2 modules for double / triple click events.
Also need to figure out how to setup a motion activated light rule.
-
I'm getting close on expressions. 21063 has working Set Variable for global expressions. Rule-based expressions is going to require some fairly large changes to the way evaluation of rules is done (not in the evaluation itself, but how they are scheduled). I could have pulled that off yesterday but it was getting late and the changes are not without risk, so I decided to defer. Once the configuration works, and Set Variable works, then I'll need to integrate the substitution capability into reaction arguments, etc. So still a couple of days, I think. That's PR#5 if you want to track it.
Scene activation is going to be tricky because Vera doesn't expose enough information over user_data or status requests. Doable, for sure, but it will need to be done slightly differently from the way you do it on Vera. It's the same thing openLuup runs into with scene controllers and
sl_
prefixed state variables. I don't see a PR for that capability, though. Go ahead and open one. -
Build 21064
- 0000082 - Support for ZWave scene controllers (system capability and Vera)
Other work:
Much time spent today getting Set Variable action update and running. Docs still need updates. The new substition syntax is
${{variable-name-or-expression}}
-
Just realized that one of the changes for variable substitution was causing an issue on some actions. I've respun the release and put it up. If you downloaded before 22:35 US Eastern, please re-download and install.
-
Build 21065
No PRs fixed today.
Work continued on expressions, and although I think I could mark PR #5 resolved, I'm going to leave it pending any reports related to them. I suspect there will be some discussion needed, at least, because they operate somewhat differently from Reactor for Vera/openLuup.
-
Build 21067
No PRs fixed today.
Ongoing work on expressions in the UI, and a number of other cleanups in the UI, for Rule editing in particular. Expression substitution using ${{...}} should be work in Reactions. Still working on conditions, so don't expect any success there yet.
-
Build 21068
- 0000089 - Entity action substitution values don't update after first run
- 0000090 - Expression not saving when modified
- 0000091 - Expression UI issues
- 0000092 - Expression UI issues
Expressions in conditions are still not available. I've chased UI issues most of the day today.
-
Build 21069
- 0000095: Fix annoying change of attribute when changing device selection
- 0000096: value_sensor.value now allows any data type
- 0000098: global expressions recreated with same name remember old values of prior expression
Lots of organizational and administrative work today as well.
-
Build 21072
- 0000108: Editing an extended attribute after having a system attribute selected applies validation rules of system attribute
- 0000107: Improve button consistency between rules and reactions
- 0000104: Error when attempting to recreate variable used in rule
- 0000095: Also fix in Reactions (reselect of action if device changes)
- 0000100: Make sl_CentralSceneAttr available for Vera
The x_vera_state capability is gone, and has been replaced with x_vera_svc_XXXX capabilities, wherein XXXX is the service ID on the Vera device. This slows startup, as additional queries must be made of every Vera device at initialization; the user_data query does not provide sufficient information. The Hubitat and Hass controllers also model this behavior. It's very tidy on Hubitat and Hass, I'm happy to say (and there is no performance penalty on these platforms).
The bad news (Vera users): If you are using x_vera_state attributes in your rules, you will need to edit them and choose the newer capability. Good news: this model will probably never change.
-
Build 21073:
- 0000110: Problem with formatting and reselection of Interval conditions in "relative to condition TRUE". Good time to mention that this mode is now DEPRECATED. This functionality was long ago replaced in Reactor for Vera by pulse output mode, but I didn't deprecate the feature in RFV at the time; should have. It is deprecated now in MSR.
Ongoing UI work, including exporting of group to new Rule, and importing of Rule to group.