Skip to content

Multi-System Reactor

798 Topics 7.6k Posts
  • Category Topic Guide -- Read Before Posting

    Pinned Locked guidelines
    1
    8 Votes
    1 Posts
    982 Views
    No one has replied
  • Reactor (Multi-System/Multi-Hub) Announcements

    Pinned Locked announcements
    123
    5 Votes
    123 Posts
    56k Views
    toggledbitsT
    Reactor build 25208 Status page: fix an issue placing the widget adder tool the first time (i.e. on a new browser or after flushing cache/cookies). HTTP Request action now offers storage of the query response in "advanced form." This is a structure (object) that includes the response body as well as the response status, messages, and response headers. The simple form (store body or null) is the default and all existing HTTP Request actions will use the simple form response unless/until modified. Telegram notifications now support photo and video messages. To send a photo or video message, select the appropriate Message Format and place the URL or filename in the Message field. Telegram's limits for file type and size must be observed (refer to Telegram's documentation). HassController: Configuration for filter_entity now accepts regular expressions to match to entity IDs (i.e. it can now do pattern matching, not just match exact strings). Specify regular expressions in /regexp/flags form (e.g. /^update./i to match IDs that begin with update., case insensitive; flags are optional, and the only flag supported right now is i for case-insensitive matching). HassController will requery for service data if the lookup of service data from the startup query does not have the needed info. This can occur when an integration is not fully up and running when HA restarts -- HA will only report on services for fully running integrations at the time. The requery updates the service data for integrations that start later. HassController remove old entity mapping configuration that was preventing a mutable attribute (dimming.step) from being changed by the user permanently. Expressions: new geodist() extension function to compute Great Circle Distance between two points (presumably on Earth). See docs for details. Example: kilometers = geodist( lat1, lon1, lat2, lon2 ) HassController: Bless Hass to 2025.7.3
  • [Reactor] Help with screne controller cycling logic

    3
    0 Votes
    3 Posts
    40 Views
    therealdbT
    So, my solution, based on the logic, is this the following. Cycle Logic (pseudo-blocks) Trigger: Button press (scene controller state changes) Variables: fan1 = getEntity("zwavejs>13-1").attributes.power_switch.state fan2 = getEntity("zwavejs>13-2").attributes.power_switch.state skip (default = false) lastTurnedOff (text) Group 1 – Both OFF → Fan1 ON Condition: skip == false AND fan1 == OFF AND fan2 == OFF AND lastTurnedOff <> "fan1" Action: Turn Fan1 ON Set skip = true Group 2 – Fan1 ON → Fan1 OFF Condition: skip == false AND fan1 == ON Action: Turn Fan1 OFF Set lastTurnedOff = "fan1" Set skip = true Group 3 – Fan1 just OFF → Fan2 ON Condition: skip == false AND fan2 == OFF AND lastTurnedOff == "fan1" Action: Turn Fan2 ON Set skip = true Group 4 – Fan2 ON → Fan2 OFF Condition: skip == false AND fan2 == ON Action: Turn Fan2 OFF Set lastTurnedOff = "fan2" Set skip = true Notes The skip variable ensures only one group runs per button press. lastTurnedOff lets Reactor know which fan was just turned off by this rule (so it can toggle the other fan on next). I'll make some other tests and see if it's working as expected. I used Chat GPT 5 giving the Reactor Docs as context and deep reasoning and it helped me a lot. I just had to explain my logic, provide a couple of screenshots and ask for logic blocks instead of script action. YMMV.
  • Stop the MSR by an external switch on Hubitat.

    4
    0 Votes
    4 Posts
    169 Views
    wmarcolinW
    Hi @toggledbits Yes, the idea is to stop the reactor, but almost stop it! What I mean is that the Reactor can stop and start working again via an external switch, for example from HE. In other words, MSR would not execute actions, it would listen normally and update the status of devices normally, but it would not execute any Rule Sets or Reactions if this external switch were turned off. If you turn it on, everything goes back to working. The idea would be to have a dashboard that can turn this switch on or off. Of course, if it is not configured in reactor.yaml, this functionality would not exist. Thanks, Wilson
  • [Reactor] Variables not updating correctly in latest-25201-2aa18550

    22
    2
    0 Votes
    22 Posts
    561 Views
    tunnusT
    @therealdb could you test this if you could get your original rules (variables) to work just by rearranging local expressions? My hypothesis being that expressionless variables should be last in the list
  • Expose MSR entities

    11
    0 Votes
    11 Posts
    107 Views
    CatmanV2C
    You are both gents! C
  • Comment in Globa Expressions

    2
    1 Votes
    2 Posts
    87 Views
    CrilleC
    Maybe not the prettiest way to do it but why not let the rule set the comment followed by the value? Like ”This is set by rule Test”, value
  • Unofficial thread for compatibility

    1
    2 Votes
    1 Posts
    102 Views
    No one has replied
  • Gradually turn on lights.

    Solved
    21
    0 Votes
    21 Posts
    966 Views
    toggledbitsT
    @tbully said in Gradually turn on lights.: I'm having this same issue with a bare metal install. I assume this fix will be included in a future release? (No hurry. This is just a nice-to-have thing...) The 25208 build released yesterday includes the fixes in the temporary containers built for @vezinpi and others on this thread.
  • Can't customize home page

    15
    0 Votes
    15 Posts
    273 Views
    G
    @toggledbits appreciate the quick turnaround on this. It def caught me off-guard.
  • Error After Upgrade

    4
    1
    0 Votes
    4 Posts
    336 Views
    G
    @tbully thanks for putting a smile on my face today. Much needed. Much appreciated.
  • Reset attribute value of entity in event handler

    5
    1
    0 Votes
    5 Posts
    564 Views
    R
    Seems to be working perfectly. Thanks! Should have thought of that myself.
  • Need help figuring out how to delay a reset on reaction

    22
    3
    0 Votes
    22 Posts
    2k Views
    G
    @therealdb I use those as well. As you see in my AWAY rule there's a catch there using a virtual switch for my calendar integration. If a calendar entry has a specific keyword it turns the switch on. If the switch is on, AWAY knows not to fire.... VACA has it covered. @toggledbits beat me to it: comments, comments, comments. I've lost too many years off my life trying to remember why this rule does what it does and how.
  • Way to search for rules (rule state) in other rules

    3
    0 Votes
    3 Posts
    235 Views
    T
    That's fair. Thanks for answering with a workaround at least
  • Links to MSR from HA

    1
    0 Votes
    1 Posts
    202 Views
    No one has replied
  • Set Reaction > Script Action

    11
    2
    0 Votes
    11 Posts
    765 Views
    wmarcolinW
    @toggledbits said in Set Reaction > Script Action: each id in getEntity("groups>dgc_PushableButton_N0").attributes.sys_group.members: performAction( id, "x_hubitat_Refresh.refresh", {} ) EXCELLENT, IT WORKED!!! Thank you very much. I was already working on this script, based on the example at the beginning of this discussion, but I was using performOnEntity. each id in getEntity('groups>dgc_PushableButton_N0').attributes.sys_group.members: performOnEntity(id, 'x_hubitat_Refresh.refresh') Thank you very much for your help. Another lesson learned, and I am already putting more optimizations into practice.
  • Errors after updating to MQTTController build 25139

    6
    0 Votes
    6 Posts
    413 Views
    toggledbitsT
    Most controllers rebuild their entities when upgraded. Capabilities can change, and the new definition needs to be properly applied. Because you've chosen to add your own attributes to system-defined capabilities, those are not restored when the entity is rebuilt because Reactor knows nothing about them. In fact, to Reactor, they look like attributes from an old definition of the capability that have been removed from the most recent definition. As I've said before, your attributes will eventually be created when the event that writes them (layzspa/message), with a correct payload (e.g. { AIR: 123.456 }), is received by MQTTController. You can wait it out, or force the device to send those events. Or, you could do this the way Reactor expects, which is to define a local capability for yourself (e.g. x_mqtt_tunnus_layzspa) and define your own attributes for all of the things you need. Or, break up your single entity into multiple entities that use the system capabilities unmodified.
  • 🎉 My very first MSR controller: OpenSprinkler

    Locked
    13
    5 Votes
    13 Posts
    1k Views
    therealdbT
    Version 25154 on GitHub: https://github.com/dbochicchio/reactor-opensprinkler No release, just download the code. Fix for station status and support for MQTT capabilities in OS 2.2.1. Still based on both HTTP/MQTT because the underline fw is still not 100% MQTT-ready.
  • Advice reqeusted to migrate MSR from Bare Metal to Container

    5
    0 Votes
    5 Posts
    460 Views
    T
    @toggledbits, Well, I took a first step. I tried using the docker-compose.yaml file with podman-compose, but it gave me some issues. I fell back on just using docker-compose, and it worked with only a minor hickup. It told me the version tag was depricated and to remove it to prevent problems in the future, so I did so, and it's running without issue. Rules and reactions are working as before, which is fantastic. Reactor on my old server is stopped/disabled, so one more item crossed off. I'm hoping to have the old server fully decommissioned this weekend. At some point, I'll go back and try and get it running with Podman, if it's possible. I can engage their community and see if they have any advice, but right now it's more important for me to turn off my office heater going into summer. The other major advantage is that in theory, I won't have to manually update nodejs each release, which has been kind of a pain lately.
  • Can´t restart or upgrade/deploy MSR

    4
    1
    0 Votes
    4 Posts
    467 Views
    toggledbitsT
    @Fanan Great! A little more digging on my end, without a complete picture of your end, leads me to CORS. That is exactly the wording of an error I'd expect from CORS, and since HA Blue proxies for its add-ons, I'm betting that's where the issue lies. I don't know what that means for your (HA + Portainer) configuration, but I'd start with the Portainer add-on's support forums. This isn't really Reactor-related.

Recent Topics