Skip to content

Multi-System Reactor

746 Topics 7.1k Posts
  • MSR and WLED Presets

    Locked
    5
    0 Votes
    5 Posts
    292 Views
    J

    Thanks. This worked perfectly and do appreciate the added context to understand why. Note: there was already a "local_hass_devices.yaml" file in my config with an entities header. Therefore, I just needed to enter the following 3 lines/entity information you noted below that heading and all was good.

  • Condition must occur after -restriction

    Locked
    4
    0 Votes
    4 Posts
    169 Views
    toggledbitsT

    You can use a Rule State condition in the current rule, though, and reference that condition. While it's not as direct as picking a rule outside of the current rule, the effect is the same. If you want, though, you're welcome to open a feature request PR for direct selection of another rule.

  • MSR newbie first impressions about 1.0.0

    Locked
    5
    1 Votes
    5 Posts
    238 Views
    tunnusT

    @toggledbits So starting with build 21228 this is now possible (isRuleSet)?

  • Entities - where used and what triggered it

    Locked
    5
    0 Votes
    5 Posts
    262 Views
    3

    I could use this "Where Used" feature as well. I have 3 Global Expressions that I don't think I have using, but want to make sure before I nuke them. I did not change my logging levels, but did search through all the reactor.log files and do not see anything. Is there a different way to see if they are in use, other than killing them and seeing what breaks?

  • [Solved] MSR won't start after upgrade

    Locked
    3
    0 Votes
    3 Posts
    228 Views
    tunnusT

    Using pm2, but was testing with "node app.js". 21200 worked fine without NODE_PATH set

    EDIT: now works with NODE_PATH set. Still wondering if there has been a change related to this as with build 21200 I didn't have this set?

  • [Solved] Trigger based on door lock PIN code

    Locked
    4
    0 Votes
    4 Posts
    227 Views
    3

    Just an update for future readers. I set up a new rule to reset the sl_UserCode to none and then had the triggers defined as above. They were all matching/updating, but my Reactions would not fire. The problem ended up being the lock status changing from true to false. Even though MSR was showing it updating. Maybe it was too fast for Vera? I changed that trigger to sl_UserCode <> none and now everything is working as expected. Following @toggledbits setup from the other thread.

    sl_UserCode changes from none to any sl_UserCode <> none

    I also found the sl_LockButton variable. I included the changing of this value from 1 to 0 when I reset my UserID variable. When the physical lock button is pressed, the value of this gets updated to a 1. But that value never changes. Natively Vera was able to tell when the physical button was pressed, but RfV or MSR couldn't. Resetting this to 0 and then the physical button changing it to 1 allows MSR to see the update. YAY! That's another scene moved off of Vera.

  • [Solved] Reboot option (bug?)

    Locked
    2
    0 Votes
    2 Posts
    118 Views
    toggledbitsT

    Not yet implemented, and when it is, it will be renamed to restart and just do a Luup reload. Your Lua alternative is correct for your objective.

  • Excluded vera devices in Hass

    Locked
    2
    1 Votes
    2 Posts
    134 Views
    toggledbitsT

    This is planned but I haven't unified the idea across all controllers. But probably will happen in the not-too-distant future.

  • Telegram & MSR 1.0.0

    Locked
    20
    0 Votes
    20 Posts
    670 Views
    cw-kidC

    I only had two rules that would of been affected by this change. I have moved all those PS4 related expressions out to be global expressions now instead and the one other rule that was using one of those expressions as its trigger, I've edited to use the new global expression instead. None of my other rules I don't think were using a local expression from another rule.

  • Expressions and LuaXP Functions

    Locked
    126
    0 Votes
    126 Posts
    8k Views
    tunnusT

    @toggledbits any chance we'll see strftime function coming up "soon"? Or advice how to implement the same with lexpjs (when you have unix timestamp, RfV example below)?

    strftime("%H:%M %d/%m/%y", <timestamp> )

  • Aeotec doorbell question

    Locked
    6
    0 Votes
    6 Posts
    226 Views
    R

    Thanks for the additional details. That worked.

  • MSR feedback post RfV migration

    Locked
    5
    1 Votes
    5 Posts
    200 Views
    3

    @toggledbits said in MSR feedback post RfV migration:

    You shouldn't see the index values at all,

    This is interesting. Now that you mention this, on a different computer over the weekend, I didn't see the 0, 1, 2 values. I only saw Home, Away, etc. Besides being a different computer, I'm pretty sure my version of Chrome between the two is the same. The only other difference between then and now is that I upgraded my MSR from the generic 1.0 21200 build to the latest 21221 build. Chrome is all I have and use. I just tried Edge and IE, because they are there by default. But they both suck and won't display anything except the left most side panel. None of the links work either.

    @toggledbits said in MSR feedback post RfV migration:

    Can't cascade;

    At least maybe shade the Rule Set labels to set them apart. Or add an option at the top of the list, or a new button all together, to Copy From Set / Copy From Reset? Just ideas.
    copy.jpg

  • Incorrect 24 Hr time format?

    Locked
    2
    0 Votes
    2 Posts
    97 Views
    toggledbitsT

    This is the way JavaScript is formatting the time, given the locale settings of your browser.

  • [Solved] MSR doesn't like January?

    Locked
    9
    0 Votes
    9 Posts
    238 Views
    3

    @toggledbits said in MSR doesn't like January?:

    OK. Build 21221 is up with the rule editor fix for date/time January.

    Thank you. I can confirm that the (every month) no longer appears when I edit the rule.

  • Set Entity value in expression?

    Locked
    20
    0 Votes
    20 Posts
    636 Views
    S
    The performAction() expression function will perform an action from an expression. If you have an object stored in a variable old_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...

  • Having issues with a shell command

    Locked
    60
    0 Votes
    60 Posts
    2k Views
    cw-kidC

    Everything appears to all be working nicely now.

    The only issue is sometimes I see this error alert

    c0eaae29-9778-441e-9430-f6a61a5dfe4a-image.png

    ad4be8c1-9a9e-491b-b368-b9ce238820fa-image.png

    I assume it happens when the "ps4wakercheck" variable hasn't been populated with any data and therefore the "ps4wakerparse" variable has nothing to parse.

    The ps4waker check rule is now using the wrapper script also, so if for whatever reason it didn't get data returned on its first attempt, it does on the second or subsequent attempts.

  • Question about "Condition must be sustained for..."

    Locked
    2
    0 Votes
    2 Posts
    109 Views
    toggledbitsT

    MSR uses the same approach as Reactor for Vera. It computes the "edge" time and sets a timer for it, then goes idle. When the timer expires, the task is awakened and the event is handled. If the condition changes during timing so that it's no longer true, the timer is simply cancelled and the event never occurs. This is true for all time-based condition options, as well as all time condition types (Date/Time, Weekday, Sunrise/Sunset).

    This avoids "polling" for time (like PLEG with its now keyword), which makes better use of system resources (less wasted CPU, for example), and also keeps to-the-second (actually millisecond internally) resolution in timing of events. It also improves the recovery across reboots/reloads -- Reactors know exactly whenever they come back up how much time is left to meet the original time criteria on the nose, or if it was missed altogether during the downtime.

  • Running as a Windows Service

    Locked
    8
    1 Votes
    8 Posts
    251 Views
    wmarcolinW

    Perfect, in the services panel the Reactor appears and I can then control it. Strangely in Task Manager does not appear the Reactor in running processes.

    But ok, situation solved.

  • Pushover duplicate messages.

    Locked
    15
    0 Votes
    15 Posts
    532 Views
    CrilleC

    Ok, done. Much better, thank you!

  • Size of console.log

    Locked
    3
    0 Votes
    3 Posts
    115 Views
    CrilleC

    @toggledbits Ok, thank you. Time to change to systemd then!

Recent Topics