Skip to content
  • Date/time condition

    Multi-System Reactor
    3
    1
    0 Votes
    3 Posts
    29 Views
    tunnusT
    Ok, I'm aware of "after" operator, and in this case didn't want to use "between 13:00 and 13:05"
  • 0 Votes
    1 Posts
    46 Views
    No one has replied
  • Device log?

    Multi-System Reactor
    2
    0 Votes
    2 Posts
    75 Views
    toggledbitsT
    You list Hubitat and HASS as hubs, and the default logging for both of these hubs should tell you what you need to know. I've tried to keep these messages fairly consistent across the controllers, generally in this form: [...]2025-11-25T12:45:08.121Z <xxx:INFO> xxx#house perform power_switch.set on Switch#house>device_396 with { "state": false } Search using the canonical entity ID. There are several capabilities that can turn a light on, so searching by capability is harder. The idea is to find a perform ??? on ??? with ??? at the right time with the right entity ID. From there, start looking backwards for a message like either one of these: [...]2025-11-25T12:45:00.100Z <Engine:NOTICE> Starting reaction Parking Area Light Off (re-lk5lrx5a) or [...]2025-11-25T12:45:08.121Z <Engine:INFO> Resuming reaction Parking Area Light Off (re-lk5lrx5a) from step 3 If this line is within just a couple of lines, maybe even directly before, the perform log entry you found above, then that's the name of the Reaction that manipulated the device. If that has :S or :R at the end of its ID and the tag <SET> or <RESET> appended to the Reaction name, the Reaction is part of a Rule with that ID and name, and that is the rule that is manipulating the entity — you're done! If the Reaction ID doesn't have the :S or :R suffix, then the Reaction is not rule-based (e.g. it's a global reaction), and you need to find what launched it. If the line you've found is of the form Resuming "<reaction name>" (reaction id)" from step n, then keep looking backwards. You may find more Resuming lines for other steps of the same reaction, but your goal now is to find the line that looks like Starting "<reaction name>" (reaction id). Once you are on the Starting "<reaction name>" (reaction id) line, you should not have to look very far to find an Enqueuing "<reaction name>" (reaction id) line. Once you are on the Enqueueing line, you should not have to look very far to find another Resuming or Starting reaction line. This line may have the :S and :R on the reaction ID that you are looking for to indicate the rule that launched the reaction. If it doesn't, then the reaction was launched by another reaction, and you just repeat the above process looking for what started this reaction. This path will eventually lead to the responsible rule. Live example from my host this morning. The perform action we found above is for an outdoor flood light that lights a parking pad at my house. It got turned off. By what, though? Well, we already established that is was by a reaction called Parking Area Light Off because we found a Resuming line for that reaction right before the perform line for the entity. Let's keep digging to find the responsible rule. Here's are some more relevant lines from my log: [...]2025-11-25T12:45:00.067Z <Engine:INFO> Enqueueing "Morning Lighting Off<SET>" (rule-knjifbn1:S) [...]2025-11-25T12:45:00.078Z <Engine:NOTICE> Starting reaction Morning Lighting Off<SET> (rule-knjifbn1:S) [...]2025-11-25T12:45:00.078Z <Engine:INFO> Enqueueing "Outdoor All Off" (re-kl73syb6) . . [...]2025-11-25T12:45:00.088Z <Engine:NOTICE> Starting reaction Outdoor All Off (re-kl73syb6) [...]2025-11-25T12:45:00.089Z <Engine:INFO> Enqueueing "Parking Area Light Off" (re-lk5lrx5a) . . [...]2025-11-25T12:45:00.100Z <Engine:NOTICE> Starting reaction Parking Area Light Off (re-lk5lrx5a) . . [...]2025-11-25T12:45:00.118Z <Engine:INFO> Resuming reaction Parking Area Light Off (re-lk5lrx5a) from step 2 [...]2025-11-25T12:45:00.119Z <Engine:NOTICE> Parking Area Light Off delaying until 1764074708119<11/25/2025, 7:45:08 AM> . . [...]2025-11-25T12:45:08.121Z <Engine:INFO> Resuming reaction Parking Area Light Off (re-lk5lrx5a) from step 3 Working backwards from the last line, which is the Resuming line that we found earlier (reaction step 3), we find a Resuming line for the previous step (2) of that same reaction at 12:45:00.118. Notice also that reaction had a delay at that step that was logged immediately after, which accounts for the time gap between reaction steps 2 and 3. Keep working backwards to 12:45:00.100 and we find the Starting line for that Parking Area Light Off reaction. And continuing to look backwards for that same reaction ID, we eventually find the Enqueueing line for it (12:45:00.089). Usually these two lines are pretty close together, but it's not usual to have other things logged between. Now just looking backward line by line (not searching for any ID here), we soon find a Starting reaction Outdoor All Off line (12:45:00.088) very close to our Enqueueing line, indicating that Outdoor All Off launched the Parking Area Light Off reaction. Now we just repeat this process with Outdoor All Off — find it enqueued at 12:45:00.078 by Morning Light Off<SET> also at 12:45:00.078. The <SET> on the name and :S on the ID means it's a rule reaction, so Morning Light Off is the rule that triggered and started the sequence of two other reactions that eventually turned off the light. So to recap: Find the perform line (search using entity ID) that occurs at about the right time. Look backwards a short distance and you will find either a Starting <reaction> or Resuming <reaction> line. If that's a rule's SET or RESET reaction, you've found the responsible rule. Otherwise, a global reaction manipulated the entity/device, so proceed to the next step. Find what launched the current reaction. Keep looking backward until you find the Enqueueing line for it. Then very shortly preceding it, you should find a Starting <reaction> or Resuming <reaction> line for a different reaction. That's what started the current reaction. If this new reaction is a rule's SET or RESET reaction, you've found the responsible rule. Otherwise, find what launched this new (global) reaction by repeating this step. NOTE: Almost all actions in Reactor are asynchronous, meaning the Engine launches them in a separate process and the Engine can move on to working on a different reaction if multiple are running concurrently. Some in particular can take a lot of time (like HTTP Request). Depending on how busy your system is in that moment, all of these lines can be separated by other lines for other things going on, and you have to be careful and patient sifting through them.
  • 0 Votes
    3 Posts
    78 Views
    tunnusT
    latest-amd64
  • Error: Command timeout

    Multi-System Reactor
    6
    0 Votes
    6 Posts
    193 Views
    G
    @toggledbits I just put it live. The past few days I've had a situation wherein the dialogue blips past and then MSR is "greyed out" like it's in the background of a pop-up... but the pop-up isn't visible. We'll see if this resolves that all. Thank you, sir!
  • 5 Votes
    131 Posts
    75k Views
    toggledbitsT
    Reactor build 25325 Rules/Expressions: fix an additional evaluation case from @Crille UI: silence an error that could occur during restarts (the shutdown process could stimulate the Set Rules status widget to fire queries at the inoperative host that eventually time out). HassController: Bless HA to 2025.11.3
  • 0 Votes
    5 Posts
    278 Views
    CrilleC
    Super, it now behaves as expected. Once again thank you!
  • Home Assistant 2025.11.2 and latest-25315

    Multi-System Reactor
    6
    1
    0 Votes
    6 Posts
    290 Views
    G
    @tamorgen it would appear my backups were overwritten already. I had it set for a high number, seems an update somewhere dropped it back to the defaults.
  • 1 Votes
    1 Posts
    103 Views
    No one has replied
  • 1 Votes
    3 Posts
    211 Views
    M
    The latest-arm64 works perfectly now on my RPi5 - huge thanks for pushing the arm64 Bookworm build! This was the last showstopper for my RPi4 → RPi5 migration, so I can finally continue the move. Here’s the container coming up cleanly: mgvra@desktop:/development/knx-hal-mono$ docker --context production-rpi5 compose --env-file .env-prod up msr [+] Running 1/1 ✔ Container mosquitto Running 0.0s Attaching to msr msr | Reactor latest-25315-bc301993 app 25315 configuration from /var/reactor/config msr | NODE_PATH /opt/reactor:/opt/reactor/node_modules msr | [latest-25315]2025-11-15T03:42:09.308Z <app:null> Reactor build latest-25315-bc301993 starting on v24.11.1 /usr/local/bin/node msr | [latest-25315]2025-11-15T03:42:09.309Z <app:null> Process ID 1 user/group 0/0; docker; platform linux/arm64 #1 SMP PREEMPT Debian 1:6.12.47-1+rpt1 (2025-09-16); locale (undefined) msr | [latest-25315]2025-11-15T03:42:09.309Z <app:null> Basedir /opt/reactor; data in /var/reactor/storage msr | [latest-25315]2025-11-15T03:42:09.309Z <app:null> NODE_PATH=/opt/reactor:/opt/reactor/node_modules msr | [latest-25315]2025-11-15T03:42:09.332Z <app:null> Resolved timezone=Europe/Helsinki, environment TZ=Europe/Helsinki; offset minutes from UTC=120 . . . Thanks again — I dropped a few drams for such a fast support. br, mgvra
  • Script action and custom timers

    Multi-System Reactor
    4
    0 Votes
    4 Posts
    226 Views
    toggledbitsT
    Depends on what you mean by "fire". If you look at the logs (not in pulse output mode, but in the default "follow"), you will probably see it being re-evaluated every 10 seconds, but because your result is a constant true, the rule SETs and never RESETs. Changing it to pulse output, of course, changes that. The thing to notice, though, is that the expression IS being evaluated every 10 seconds, regardless of the output mode of the condition.
  • Help resolve change in behaviour post update

    Multi-System Reactor
    12
    1
    0 Votes
    12 Posts
    568 Views
    CatmanV2C
    I shall have a play! C
  • There is an alternative to homebridge-mqttthing

    Software
    2
    1 Votes
    2 Posts
    175 Views
    akbooerA
    This is great timing! I’ve just been re-jigging my Homebridge config, finally removing the Hue bridge plug-in in favour of a native connection through my Home Hub mini. But there’s more to do, and this might help. Thanks.
  • 0 Votes
    6 Posts
    266 Views
    CrilleC
    Sounds good, thank you for your work!
  • 0 Votes
    17 Posts
    748 Views
    toggledbitsT
    @gwp1 yes!
  • Shelly Wall Display XL

    Hardware
    9
    2 Votes
    9 Posts
    1k Views
    akbooerA
    Support for RGBW LED strips is excellent! [image: 1762604245430-img_4556-resized.jpeg]
  • 0 Votes
    26 Posts
    1k Views
    toggledbitsT
    Whew! If that was anything, it was the work of an aging magician. Thanks for sticking with it and supplying good info.
  • [Solved] Define function issue in latest-25304

    Multi-System Reactor
    12
    1
    0 Votes
    12 Posts
    659 Views
    CrilleC
    Super, thank you very much. You're the real MVP!
  • No Upgrade Notification for Build 25308?

    Multi-System Reactor
    2
    0 Votes
    2 Posts
    182 Views
    toggledbitsT
    It's a silent/optional build. I actually do this often, when I roll a build that has a very limited number of fixes to address an issue or issues affecting a very limited audience (i.e. most people would not get any value/changes in the upgrade from the previous build).
  • 0 Votes
    2 Posts
    180 Views
    toggledbitsT
    @therealdb said in Strange behavior in MSR latest-25304 with disabled groups in Reaction: When pressing the button, Can you explain what this means? And please show the entire rule. Edit 2: Never mind. I was focused on the variable and the interpretation of the value, but I see now, that's not what you're looking at... one moment please... Edit 3: OK. That's not a 25304-specific issue... goes back to forever. Will be fixed in next build (soon/today).

Recent Topics