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.
tunnusT

tunnus

@tunnus
[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
[Reactor] Variables not updating correctly in latest-25201-2aa18550
therealdbT
Topic thumbnail image
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.
Multi-System Reactor
Gradually turn on lights.
Tom_DT
I have several lights that I would like to turn on very gradually over 15 or 20 seconds. from 0 to .25 in .01 increments. I have tried a few things that came nowhere near working, so here I am.
Multi-System Reactor
Reactor (Multi-System/Multi-Hub) Announcements
toggledbitsT
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.
Multi-System Reactor
Can't customize home page
G
I foolishly let my system wipe all cookies this morning and with it my settings for my MSR home page. Once logged back in I can no longer remove errant panes nor is the + available to add new ones. Brave Browser v1.80.122 (Jul 16, 2025) What have I done?! Will check other browsers on my M1. UPDATE: Safari exhibits same behaviour. I've tried both sans last-four public key entry and with - no change.
Multi-System Reactor
Error After Upgrade
T
Topic thumbnail image
Multi-System Reactor
Reset attribute value of entity in event handler
R
Topic thumbnail image
Multi-System Reactor
Need help figuring out how to delay a reset on reaction
T
Topic thumbnail image
Multi-System Reactor
Way to search for rules (rule state) in other rules
T
@toggledbits, not sure if this is a feature request or I'm using the search tool wrong. You have a "Search for rule" in the Rules Set tab in MSR. It works nicely to find a rule and bring up said rule, but can it/could it be used for as a "where used?" global search? For instance, I have a fairly large set of rules, divided up into 10 different rulesets. There's easily a hundred individual rules, and many of the rules have Rule State triggers, which of course refer to other rules. Amongst my troubleshooting today, I came across what may have been a duplicate or troubleshooting attempt, but I can't tell if it's actually used as a Rule State in another rule without opening each rule that I suspect it may be a part of. Thanks.
Multi-System Reactor
Links to MSR from HA
Tom_DT
I am using Home Assistant a lot recently. On a dashboard showing the devices, I would like to show a link to the MSR rule that controls the devices. Is there a way to link directly into MSR?
Multi-System Reactor
Set Reaction > Script Action
wmarcolinW
Topic thumbnail image
Multi-System Reactor
Wiring Samotech SM308-S into light fitting
F
Hi Smart Home Community. I have used a Sonos inline WiFi switch to make one of my light fittings smart, but it requires a hard reset for WiFi changes, plus it isn't zigbee compatible, which means I can't use the Hue app to control it with the rest of the lights. To that end I bought a Samotech SM308-S as it is recommended as the better than the Sonos equivalent. I am however not exactly sure how to wire it in. The manual is available here Can anyone help me by clarifying which ports I need to use, and whether I should be using the live or switched live line for live etc. I will be keeping using standard switches for a while, although hope to upgrade to tap dials once I have all the fittings upgraded. Thanks
Hardware
About
Posts
264
Topics
49
Shares
0
Groups
0
Followers
0
Following
1

Posts

Recent Best Controversial

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    tunnusT tunnus

    @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

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    tunnusT tunnus

    @toggledbits have you had time to look at this? I suspect there’s a bug in evaluating local variables when expressionless variables are not last items in the list

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    tunnusT tunnus

    @toggledbits I’m not using script action currently, and those screenshots were from a rule that uses set variable action.

    But could you test my finding? Even rule triggers are not relevant when reproducing this finding. Just put a variable referencing an entity which frequently changes as a first one. Then make expressionless variable second, and as a third one make some kind of expression which uses first variable and does some calculation with it. Observe what happens and then swap second and third line and again watch what happens.

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    tunnusT tunnus

    @toggledbits that wasn’t what I was trying to convey here. Let’s forget script action for a moment as it has no relevance for my finding.

    What I’m trying to say here is that by merely changing the order of variables (and to be clear, that setup has worked before), my rules are working again. Somehow new builds do not like if expressionless variables are in the middle of regular ones. If they are last in line, all is well. Sounds crazy, but please test.

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    tunnusT tunnus

    Some strange results happened while I was experimenting with script action. I noticed that the order of local variables had an effect whether those variables did update or not.

    If I had e.g. the following order:

    case1.png

    "peak_power" did not update. But if I switched places of "ok_to_reset" and "peak_power", "peak_power" started to update in real-time:

    case2.png

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    tunnusT tunnus

    @toggledbits ok, I'll have to try script action. Still, as @therealdb stated, I'm also sure the "old style" used to work with pre-252xx builds.

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    tunnusT tunnus

    @toggledbits "success" variable cannot be other than true or false, that I know.

    But is it so that every time a rule is triggered, its local variables are evaluated (or should be evaluated) at least once?

    Also, you wrote earlier: "If there's already a pending request for re-evaluation queued, new requests are ignored. This is all to prevent infinite loops in rule evaluations where rules manipulate devices and rule-based variables in Reactions that are also part of the rule's dependencies"

    I was wondering if this could happen in cases where re-evaluation is queued but somehow gets stuck, and because new requests are ignored, updates won't occur?

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    tunnusT tunnus

    @toggledbits, some extra information that I hope will help solve this. I've noticed a few other instances where variables aren't updating. These happen to be Telegram notifications, although I don't think Telegram itself is the issue—it's just that I tend to notice notifications more easily than changes in the UI.

    In all cases, a common denominator is that local variables (in my case, 'msg') that include other local or global variables also contain "if/else" and/or "case" statements.

    Examples below:

    msg = 
    solar_last_day == "ERROR" ? "Error retrieving solar stats" : (solar_last_day > 1 ? "Daily solar stats are ready, total " + round(solar_last_day, 1) + " kWh, peak " + peak_array[0] + " W" + " @" + peak_array[1] : "NA")
    
    
    msg =
    case
      when success == true: "Export limit activated, sell price " + round(g_NordpoolCurrentPriceSellReal, 2) + " c/kWh (VAT 0%-mgin), grid balance " + round(g_FronPowerSum, 0) + " W" 
      when success == false: "Export limit could not be activated?"
      else "Setting export limit failed"
    end
    

    I'm not sure if it's related, but there was a recent bug involving global expressions not updating when certain functions were used (fixed in build 25082)

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    tunnusT tunnus

    @toggledbits I did a very similar testing arrangement and got the same results as you, i.e. working fine. I guess I have to monitor this more closely and if this update problem happens again, find a way to reproduce it consistently.

    One notable difference between my production expression and the test expression is that the production one is a lot more complicated:

    Screenshot 2025-08-07 at 22.20.23.png

    Multi-System Reactor

  • [Reactor] Variables not updating correctly in latest-25201-2aa18550
    tunnusT tunnus

    @therealdb I noticed a similar behaviour with build 25208, although the issue might have been present also in the earlier (25201) build.

    In essence I have a rule with a global variable correctly triggering when it has a certain value, but in reactions it has a Telegram notification using a local variable as message (like this: ${{ msg }}). And this local variable "msg" is using the same global variable that triggered the rule, but its value is something totally different, i.e. seems that it's not updating.

    I'm also sure this rule was working fine before, with variables correctly updating.

    Multi-System Reactor

  • Unofficial thread for compatibility
    tunnusT tunnus

    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.

    Multi-System Reactor

  • Errors after updating to MQTTController build 25139
    tunnusT tunnus

    @toggledbits okay, but the issue now is that, if I upgrade to MQTTController build 25139, I'll get errors which I haven't gotten before

    Multi-System Reactor

  • Errors after updating to MQTTController build 25139
    tunnusT tunnus

    @toggledbits so if I understood correctly, in the latest MQTTController build it won’t define these kind of attributes automatically which it used to do earlier?

    Multi-System Reactor

  • Errors after updating to MQTTController build 25139
    tunnusT tunnus

    I'm running MSR build 25139 on Docker, using MQTT controller 24293, and everything working as expected. But if I try to upgrade to MQTTController build 25139, I'm getting the following errors on MSR UI:

    An Entity Attribute condition in "Lay-Z-Spa auto heating off" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute value_sensor.god
    Last 11:20:37
    
    An Entity Attribute condition in "Lay-Z-Spa auto heating off" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute temperature_sensor.green
    Last 11:20:37
    
    An Entity Attribute condition in "Lay-Z-Spa filter pump auto off" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute temperature_sensor.red
    Last 11:20:37
    
    An Entity Attribute condition in "Lay-Z-Spa filter pump auto run" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute value_sensor.pump
    Last 11:20:37
    
    An Entity Attribute condition in "Lay-Z-Spa watchdog" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute value_sensor.status
    Last 11:20:37
    

    My MQTT configuration (local_mqtt_devices.yaml) for the related entity is:

    layzspa_message:
        type: ValueSensor
        capabilities: ["temperature_sensor", "value_sensor", "power_sensor"]
        primary_attribute: power_sensor.value
        events:
          "layzspa/message":
            "power_sensor.value":
              json_payload: true
              if_expr: '! isnull( payload?.PWR )'
              expr: "float(payload.PWR)"
              
            "value_sensor.air":
              json_payload: true
              if_expr: '! isnull( payload?.AIR )'
              expr: "float(payload.AIR)"
              
            "value_sensor.pump":
              json_payload: true
              if_expr: '! isnull( payload?.FLT )'
              expr: "float(payload.FLT)"
              
            "value_sensor.god":
              json_payload: true
              if_expr: '! isnull( payload?.GOD )'
              expr: "float(payload.GOD)"
              
            "value_sensor.lock":
              json_payload: true
              if_expr: '! isnull( payload?.LCK )'
              expr: "float(payload.LCK)"
             
            "value_sensor.unit":
              json_payload: true
              if_expr: '! isnull( payload?.UNT )'
              expr: "float(payload.UNT)"
              
            "value_sensor.error":
              json_payload: true
              if_expr: '! isnull( payload?.ERR )'
              expr: "float(payload.ERR)"
              
            "temperature_sensor.green":
              json_payload: true
              if_expr: '! isnull( payload?.GRN )'
              expr: "float(payload.GRN)"
              
            "temperature_sensor.red":
              json_payload: true
              if_expr: '! isnull( payload?.RED )'
              expr: "float(payload.RED)"
              
            "temperature_sensor.target":
              json_payload: true
              if_expr: '! isnull( payload?.TGT )'
              expr: "float(payload.TGT)"
              
            "temperature_sensor.value":
              json_payload: true
              if_expr: '! isnull( payload?.TMP )'
              expr: "float(payload.TMP)"
              
            "temperature_sensor.virtual":
              json_payload: true
              if_expr: '! isnull( payload?.VTM )'
              expr: "round(float(payload.VTM), 1)"
              
            "temperature_sensor.ambient":
              json_payload: true
              if_expr: '! isnull( payload?.AMB )'
              expr: "float(payload.AMB)"
              
          "layzspa/Status":
            "value_sensor.status":
              if_expr: '! isnull( payload )'
              expr: "payload"
              
          "layzspa/button":
            "value_sensor.button":
              if_expr: '! isnull( payload )'
              expr: "payload"
    

    and in reactor.yaml I have:

    "layzspa_states":
              name: "Lay-Z-Spa States"
              friendly_name: 'Lay-Z-Spa States'
              include: layzspa_message
    

    I realize my MQTT configuration might be a bit unorthodox, but could there still be something unintentional in the latest MQTTController build? If needed, I can provide detailed logs.

    Multi-System Reactor

  • MQTT configuration question
    tunnusT tunnus

    Hint: for debugging, when you run an action, MQTTController logs the exact topic and full payload being published at INFO level by default.

    I've used MQTTX, which I can highly recommend

    Multi-System Reactor

  • MQTT configuration question
    tunnusT tunnus

    @toggledbits ok, good to know

    Multi-System Reactor

  • MQTT configuration question
    tunnusT tunnus

    @toggledbits thanks again! I did left some stuff out, as I thought they were not relevant for the questions at hand, as I was not trying to present how to configure a particular device, but trying to learn how to do something a bit more "advanced" (and that stuff would be visible to others as well).

    Actually only thing I left out from my "daikin_command" template was power_switch:

     daikin_command:
        # also nothing here before capabilities
        capabilities: [ "hvac_heating_unit", "power_switch", "value_sensor" ]
        primary_attribute: hvac_heating_unit.setpoint    
        events:
          "state/%friendly_name%":
            "power_switch.state":
              json_payload: true
              if_expr: '! isnull( payload?.power )'
              expr: "payload.power ? 'on' : 'off'"
    ...
    

    For clarity, here's that "payload.cmd" final solution (with some extra logic):

    requires: [cmd]
        events:
          "state/%friendly_name%":
            "power_switch.state":
              json_payload: true
              expr: 'config.cmd == "swingv" || config.cmd == "swingh" ? payload.swing : payload[config.cmd]'
    

    About "hvac_blower_unit.mode", I think you had forgotten "expr", so I added that, and also "map_default" in case something changes in the other end, and this would continue to work. Also those mapping values were the other way around (something that you could not know).

          "hvac_blower_unit.mode":
              json_payload: true
              if_expr: '! isnull( payload?.fan )'
              expr: "payload.fan"
              map:
                auto: "Auto"
                night: "Indoor quiet"
                low: 1
                lowMedium: 2 
                medium: 3
                mediumHigh: 4
                high: 5 
              map_default: payload.fan
    
    Multi-System Reactor

  • System Configuration Check - time is offset
    tunnusT tunnus

    @Fanan having also the same issue with host time not being visible (build 25082 on Docker), using Chrome browser. With Safari both times are shown.

    Multi-System Reactor

  • MQTT configuration question
    tunnusT tunnus

    @toggledbits ok, got it (took a couple of iterations...) 😎

    Then to my original question, now with a little bit more context:

    daikin_command:
        capabilities: [ "hvac_heating_unit", "value_sensor" ]
        primary_attribute: hvac_heating_unit.setpoint    
        events:
            "hvac_heating_unit.setpoint":
              json_payload: true
              if_expr: '! isnull( payload?.target )'
              expr: "float(payload.target)"
            "hvac_heating_unit.units": "°C"
            
            "hvac_heating_unit.state":
              json_payload: true
              if_expr: '! isnull( payload?.mode )'
              expr: "lower(payload.mode) == 'heat'"
              
            "value_sensor.fan":
              json_payload: true
              if_expr: '! isnull( payload?.fan )'
              expr: "str(payload.fan)"
              
        actions:        
          hvac_heating_unit:
            set_setpoint:
              topic: "command/%friendly_name%"
              payload:
                type: json
                expr: '{ "temp": min(28, max(16, float(parameters.setpoint))) }'
                
          x_mqtt_device:
            set_speed:
              arguments:
                speed: 
                  type: str
              topic: "command/%friendly_name%"
              payload:
                type: json
                expr: '{ "fan": parameters.speed }'
    

    So I want to control fan speed and I noticed there is "hvac_blower_unit" in standard capabilities:

    hvac_blower_unit:
        ...
        actions:
          set_mode:
            arguments:
              mode:
                type: string
                values:
                  - 'off'
                  - auto
                  - continuous
                  - periodic
                  - low
                  - medium
                  - high
    

    But as this wasn't 1:1 capability mapping as compared to my AC unit, I didn't know how to extend/change that to suit my needs. MQTT topics relevant to this case are documented here. Kinda thought using x_mqtt_device was a good idea. Seems to work though.

    How can I define my own (extended) MQTT capability? Also, I'd like to utilize those fixed arguments, so something like:

    set_speed:
              arguments:
                speed:
                  type: str
                  values:
                    - A
                    - Q
                    - 1
                    - 2
                    - 3
                    - 4
                    - 5
    
    Multi-System Reactor

  • MQTT configuration question
    tunnusT tunnus

    @toggledbits thanks, cmd part works fine! Other part in the same case is:

    ...
    requires: [cmd]
        events:
          "state/%friendly_name%":
            "power_switch.state":
              json_payload: true
              if_expr: '! isnull( payload?.cmd )'
              expr: "bool(payload.cmd) ? 'on' : 'off'"
    

    Again, here "cmd" should translate to "econo", but for this to work I guess something similar you showed could do, but not sure how to formulate that?

    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