Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Unsolved
Collapse
Discussion Forum to share and further the development of home control and automation, independent of platforms.
toggledbitsT

toggledbits

@toggledbits
[Reactor] Variables not updating correctly in latest-25201-2aa18550
therealdbT
Topic thumbnail image
Multi-System Reactor
Do you Matter?
akbooerA
Is anyone using the Matter protocol to connect devices?
General Discussion
Caution: zwave-js-ui docker 11.4.0 is broken
toggledbitsT
About 20 hours ago, the author of zwave-js-ui posted build 11.4.0 of that product, and it contains an error and won't start (at all) under docker. The author is aware and working on a fix. In the meanwhile, stick with 11.3.1 or earlier. Ref: Issue 4401
Software
Shelly Wall Display XL
therealdbT
I don't know if you guys are into dashboards, but I am. For a second home I tried the Shelly Wall Display 2, and while not so big, it worked well over the summer. Since we're remodeling our house, I just swapped my old Fire Tablet (with its own problems) with two new Shelly Wall Display XL. I just removed the standard firmware, and I added mine (https://github.com/dbochicchio/ShellyElevate), forked from https://github.com/RapierXbox/ShellyElevate I just managed to support buttons (this thing has 4 of them) and it's all auto-discovered by Home Assistant and accessible via Reactor. I also have a new build in the works with support for buttons inside HA. I added a bonus Javascript interface sending events (screen/screensaver status, buttons, motion) to automatically drive the dashboard (all doing in HTML+Javascript and monitoring Reactor's variable). This specifical thing excluded, go get one of them, the device has a decent CPU for HA dashboards and blends wonderfully in the decor.
Hardware
Handling Dead Entities and Renamed Entities
PablaP
Hello all.. been a minute! I recently rebuilt my Z wave network and migrated to a new z wave stick. In order to prevent any downtime I kept my original z wave network up and ran a docker version of Z Wave JS UI with my new controller. This way I could add device by device without having any devices down. I finally moved all the devices over to my new stick today. The final step was to migrate everything from my Docker instance of Z Wave JS UI to the HA add-on of Z Wave JS UI. However during this migration some of the names didn't populate correctly which I later managed to import back into Z Wave JS UI. The issue was in Reactor it is stuck on the default names and the entities are not updating. I removed the controller from Reactor, restarted, hard refreshed, and added the controller back however the new entity names have not updated. Also it seems like the old entities from my previous instance of Z Wave JS UI are lingering and not being marked as dead (I believe a certain amount of time needs to lapse before they're marked as dead in Reactor). My goal is to basically purge all the entities for the 'ZWaveJS' controller in Reactor so it can pull all the updated entity names and only the entities that exist in Z Wave JS UI. I cannot find a quick way to do this, I know entities can be deleted one by one, but with over 100 entities this would take long I am guessing that if I added the controller with a new name in in the Reactor config it would pull the updated entities and names but I think that would break my rules since the entity IDs would change (I made sure to name all the entities the exact same as they were previously to prevent this issue).
Multi-System Reactor
Strange behavior for MQTT templates using payload and attributes
therealdbT
Topic thumbnail image
Multi-System Reactor
[MSR] reactor-mqtt-contrib package for additional MQTT templates
therealdbT
I'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: https://github.com/dbochicchio/reactor-mqtt-contrib 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
HA 2025.9.4 Supported Yet?
CatmanV2C
Tangentially did I miss 2025.9.4 getting blessed in MSR? I've been holding off Cheers C
Multi-System Reactor
The reaction stopped working (Google Nest max playing a video)
F
Topic thumbnail image
Multi-System Reactor
Rule Set UI bug - RESOLVED
3
Topic thumbnail image
Multi-System Reactor
[Reactor] Copy&Paste of Rules
therealdbT
I don't know if I'm the only one, but managing more than one Reactor installs, the need to have some sort of copy&paste for rules has grown on me. While I understand the technical challenges, I'm wondering if a "god mode" where I could copy the raw JSON rule and paste it into another rule could be an advanced, flag only feature that could benefit power users. I know I can copy the JSON file and proceed, but I must stop Reactor and when doing maintenance, it's more clicks to do. Just an idea
Multi-System Reactor
[Reactor] Help with screne controller cycling logic
therealdbT
I’ve added a couple of Shelly Wave i4 as scene controllers and I’m planning to add more, since I can just use standard buttons instead of battery-powered scene controllers, which also looks better aesthetically. That said, I’m struggling to figure out how to write a simple rule that cycles between states every time I press a button. Example: Light 1 ON → OFF, then Light 2 ON → OFF. The part I can’t get right is handling the case where Light 1 or Light 2 might already be ON independently of the rule. Maybe it’s just too much sun and relaxation clouding my brain, but any hint would be appreciated.
Multi-System Reactor
Stop the MSR by an external switch on Hubitat.
wmarcolinW
Use case: When performing home maintenance, such as air conditioning, I want all rules involving air conditioning to be disabled. To do this, to day, I have a virtual switch that I placed within all rules involving air conditioning, meaning that if I turn it off, none of them work. Then another situation: the water pump system and garden irrigation, another switch. In short, I had to create several virtual switches in Hubitat to disable rules in MSR. Unfortunately, however, I was unable to cover all scenarios, so I wondered if it would be possible for MSR to support a virtual MSR switch, which, when configured in the reactor settings, would function as a general on/off switch for MSR. If it is configured and turned off, the entire rules and actions in MSR stops working, except for the status change reading process, specifically for this switch, which, when turned on, would restart the MSR. Would it be possible to do something like this? Any recommendations from the experts?
Multi-System Reactor
Expose MSR entities
CatmanV2C
Probably a really dumb question. Currently I am using the owntracks_sensor for tracking phones being in region in MSR and it works great. Digging around with Home Assistant and toying with some dashboards, is there any way of exposing that sensor to HA trivially? I could set MSR to trip a virtual switch in OpenLuup which can then be exposed to HA (with all my other Vera devices) but that feels a bit in-elegant if I can do it directly. Any thoughts? Apologies if the ask is not clear/ TIA C
Multi-System Reactor
Comment in Globa Expressions
Tom_DT
I have several Global Expressions that are set by a rule so the definition area is blank. I'd like to add a comment in this area that explains what is setting the value. Commenting in this area breaks the remote setting. Any way to document what is setting the GE?
Multi-System Reactor
Little Bobby tables...
CatmanV2C
...is back.... https://arstechnica.com/google/2025/08/researchers-use-calendar-events-to-hack-gemini-control-smart-home-gadgets/?utm_source=facebook&utm_medium=social&utm_campaign=dhfacebook&utm_content=null&fbclid=IwY2xjawMBq-pleHRuA2FlbQIxMQABHlSqIalzbz1IxcJFzlw8GBE6nC3FwvxcHgR370nJhogU6JjqbmRxG-lysqgh_aem_lx9XboYFKw9tpHnedGQKUA C
General Discussion
Home Assistant Voice TTS is Easy
toggledbitsT
Topic thumbnail image
Home Assistant
Play Audio through Home Assistant Voice Unit
toggledbitsT
Topic thumbnail image
Home Assistant
Home Assistant Voice
CatmanV2C
Has anyone had a play with the local voice control for HA? I've got one on order because... https://www.home-assistant.io/voice-pe/ C
Home Assistant
Unofficial thread for compatibility
tunnusT
As there are statements about compatibility for home assistant versions in MSR new version announcements (e.g. "HassController: Bless Hass to 2025.7.3"), I thought it would be good idea to track other controllers as well. As an example, I can confirm that build "latest-25208-c53e8513" works with Hubitat Elevation C-8 platform version 2.4.2.134 using Maker API. Updates: (the latest versions first in the list) OK: build "latest-25264-2fbe9217" with Hubitat C-8 platform v. 2.4.3.123
Multi-System Reactor
About
Posts
2.8k
Topics
43
Shares
0
Groups
1
Followers
18
Following
0

Posts

Recent Best Controversial

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    toggledbitsT toggledbits

    Wow. That error has been around a while, and I'm surprised nobody noticed and reported it. It's actually a bug in lexpjs, the parser/executor for expressions... it's sorting the array in place rather than sorting a copy that it then returns. That's not consistent with its spec, and I can easily fix that and get it into the next build. That bug causes other expression values to be modified when they should not be (the effect is pretty obvious in the image, for example, the first price is not 0, so the first night_price should not be 0 either).

    If you need to work around it, clone your array before sorting it:

    sorted_array = sort( clone( price_array ), $2 - $1 )
    

    I also added a little shortcut there for the sorting function. You don't specifically need to return +/-1 or 0, the sort will look at anything positive, negative, or zero, so simple subtraction can take the place of the more complex conditional expression.

    The clone() should not be necessary in future builds.

    Here's what it looks like for me now with the lexpjs fix in place (no clone() needed):

    b1bea2ac-0d50-4152-919a-1ad3257ae294-image.png

    Thank you for including a copy of the source array in text form. That was super-helpful and a big time-saver.

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    toggledbitsT toggledbits

    Build 25285 now up for docker 64-bit only once again, and intended only for users on this thread. This will be the last development/test build before a general release.

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    toggledbitsT toggledbits

    I know you said you restarted Reactor, but humor me... do it again, AND hard-refresh your browser. Then see how the rule behaves.

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    toggledbitsT toggledbits

    Can you confirm that you intend your condition group to be "NOT AND". This is a bit confusing, because you are just showing your logic without explanation as to what you intend to do (not how you think it works, how you want it to work).

    Also confusing is that the expression and the condition are showing the same value (so the condition seems to be up to date), modulo the reset delay, but I have no reference for time passed there.

    Edit:

    Also, always look at the logs when something doesn't work as expected. There may be a logged error there that will tell the story without hours of back-and-forth and research.

    At the moment, I'm not able to reproduce this.

    Multi-System Reactor

  • Caution: zwave-js-ui docker 11.4.0 is broken
    toggledbitsT toggledbits

    OK. He just posted 11.4.1 and things are looking better on docker.

    Software

  • Caution: zwave-js-ui docker 11.4.0 is broken
    toggledbitsT toggledbits

    About 20 hours ago, the author of zwave-js-ui posted build 11.4.0 of that product, and it contains an error and won't start (at all) under docker. The author is aware and working on a fix. In the meanwhile, stick with 11.3.1 or earlier.

    Ref: Issue 4401

    Software

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    toggledbitsT toggledbits

    @Crille said in [Reactor] Variables not updating correctly in latest-25201-2aa18550:

    Looking forward to the bare metal release to try this out.

    Shouldn't be too long, unless the group here finds something more, but I'm pretty satisfied with how it's working now. As long as a few others are as well, I'll feel better unleashing it on everyone. 🙂

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    toggledbitsT toggledbits

    @Crille said in [Reactor] Variables not updating correctly in latest-25201-2aa18550:

    If I replace interval with alarm(60) would that also start a new timer everytime meter updates or would I achieve the same behavior as now?

    No, if you replace interval/getEntity()..reactor_uptime with alarm(60), you won't get a new timer. Next build, you will be able to call alarm(0) before alarm(60) (i.e. alarm(0), alarm(60), ...) and that will cancel any existing timer first, then start a new timer for 60 seconds. In 25278, there's no way to stop the existing timer.

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    toggledbitsT toggledbits

    @therealdb said in [Reactor] Variables not updating correctly in latest-25201-2aa18550:

    A global variable named christmas_time, that will be updated every hour/day with dateparts()?

    Yes. alarm() will do that.

    @Crille said in [Reactor] Variables not updating correctly in latest-25201-2aa18550:

    My best example is to check if a getEntity() is not updated in X minutes by comparing time() with value.last_modified but if the entity isn't updated the expression will not evaluate because nothing changed.

    Clever! One side effect, though... getEntity() creates an entity dependency for the expression, so that when the entity changes, the expression is re-evaluated. When the expression is re-evaluated, the alarm() timer is not restarted if it is already running, the prior still-running timer is allowed to finish at its originally scheduled time. I'm guessing this may interfere with your intent — if you are using it to detect timeout, you probably want to push the clock out — but I can address that in the next build.

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    toggledbitsT toggledbits

    Build 25278 now available, again docker 64-bit only, and only for the folks testing variables/expressions in this thread. Please read this for summary of behavior for global and rule-based variables in this build.

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    toggledbitsT toggledbits

    @tunnus already fixed for next build. Thanks for reporting!

    Multi-System Reactor

  • Handling Dead Entities and Renamed Entities
    toggledbitsT toggledbits

    Reactor's ZWaveJSController will take the first name it is given and that sticks until you rename it. If you rename it in Reactor, no amount of changing it in ZWave JS will change it in Reactor.

    This is by design. It is possible, for example, to use entity names in getEntity() expressions. If Reactor just changed them on its own like HA, that would break those expressions.

    By the way, HassController behaves the same way. If the name of a HA entity changes, the corresponding Reactor entity doesn't follow the change. You can see it in the extended attributes of the Reactor entity, but the Reactor entity itself retains the unmodified name.

    Deleted entities are marked "dead" in Reactor and will be removed at a later time if they don't reappear. Reactor doesn't immediately remove entities just because the remote hub omits them. Some hubs may not fully enumerate all devices during startup, so removing an entity only to recreate it a few seconds/minutes/hours later would be troublesome. If you're impatient, you can purge dead entities by using the purge_dead_entities action on the Controller's system entity (give it small age limit, like one second; it only acts on entities that are already marked dead).

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    toggledbitsT toggledbits

    The error here is that data isn't an object, so you can't dereference through it. If you look at your blob, you've set data to a number (0.10595), and the error is telling you that you can't dereference through a number like an object. The coalesce operator isn't going to apply here, because data is just the wrong type. I assert that your test case is broken and testing something you are never actually going to encounter in real life. Well-written APIs, for example, don't do things like this, at least, not without other clues (e.g. a type value in the response to tell you what kind of data is in data, so that you can easily know how to handle it).

    Multi-System Reactor

  • Strange behavior for MQTT templates using payload and attributes
    toggledbitsT toggledbits

    @therealdb said in Strange behavior for MQTT templates using payload and attributes:

    Never code in a hurry while doing 100 other things

    Ummm... is there any other way? 🙂

    Multi-System Reactor

  • Strange behavior for MQTT templates using payload and attributes
    toggledbitsT toggledbits

    Looking more deeply at your logic, I don't think it's going to work. Here's where I think you are:

    The current value of button.since is {"event":"", "event_cnt":0}. I assume it got set this way from prior effort leading up to this point. Now, based on what you currently have configured...

    When the topic shellies/shelly-gatebutton/input_event/0 arrives with event_cnt:2 in the payload, the first thing MQTTController is doing is setting value_sensor.value to 2. You can see that in the log snippet.

    The next thing is it attempts to set button.since, but since your expression is set up so that button.since is only changed if if the value of value_sensor.value is different from payload.event_cnt, which it won't be, because it just set them to the same value. So the expression simply returns the current value of button.since and thus changes nothing.

    See the problem now?

    You have control over the order in which the attributes are processed for the topic/event.

    Multi-System Reactor

  • Strange behavior for MQTT templates using payload and attributes
    toggledbitsT toggledbits

    Debug level 5 for MQTTController and log files are your friend.

    That said, I'm suspicious of the operator precedence effect on your expression. Wrap a set of parens around the conditional of the ternary operator and try it again.

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    toggledbitsT toggledbits

    Build 25272 now up for docker 64-bit only once again. A good bit of cleanup again.

    @therealdb wrote:

    But I'm reporting as an edge case, because I'm not sure it is supposed to work with the new behavior.

    I'm keeping it this way (not working) for the moment, because it keeps it completely consistent with how Global variables work. But I see why you'd want to do what you did, and I think I can make it work... give me a day or two...

    Multi-System Reactor

  • HA 2025.9.4 Supported Yet?
    toggledbitsT toggledbits

    @CatmanV2 said in The reaction stopped working (Google Nest max playing a video):

    Tangentially did I miss 2025.9.4 getting blessed in MSR? I've been holding off

    Generally, if 2025.9.0 or .1 is blessed, the remaining releases are going to contain only small tweaks and bug fixes, and will likely be OK to install (just ignore the warning alert). The biggest risk there is the first release (e.g. 202x.y.0) changing behavior that required me to adapt to in HassController, and a later minor release (e.g. 202x.y.2) addresses some error they made in that first cut and changes/fixes that behavior in a way that's now incompatible with the new HassController changes. Historically, that's pretty rare. The biggest risks are always the first of their monthly releases, where there are long lists of big behavior changes and usually many potentially breaking changes.

    And yes, please keep the threads on-topic. 🙂

    Multi-System Reactor

  • The reaction stopped working (Google Nest max playing a video)
    toggledbitsT toggledbits

    Logs will definitely be your friend right now. If HA is returning an error on a request, the detail of that error is logged, along with the request that was sent to HA and the full response from HA. There are rules for fields that HA doesn't publish in its service data APIs, and that can vary by device and even firmware, so sometimes, you just have to "go low" to figure out how to talk to them.

    Multi-System Reactor

  • The reaction stopped working (Google Nest max playing a video)
    toggledbitsT toggledbits

    Odds are there's something logged. This is why I always say, go look at the log files when something isn't working. When you find it, post with context, don't just post the one or two line error message.

    @gwp1 in your case I would also like to see posted the attributes of the new device (using the Copy Attributes button, not a screen shot).

    I'll be away all weekend, unfortunately, so this won't get more attention until Monday.

    Multi-System Reactor
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Unsolved