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.
  1. Home
  2. Software
  3. Multi-System Reactor
  4. Feature request on reactions side.
[Solved] DynamicGroupController updating members issue
CrilleC
Edit: Solved in latest-26221. Bare-metal latest-26193 I have this group: "OKforLarm": name: OK för Larm select: - include_controller: vera - include_capability: door_sensor filter_expression: entity.attributes.door_sensor.state It contains the entities I expect but behaves a bit odd. When I open vera>device_10097 the entity attribute door_sensor.state changes to true but it won't show up as member in the group, when I also open vera>device_10095 they both shows as members and when I close vera>device_10095 it disappear from the group but when I close vera>device_10097 it lingers in the group until I restart Reactor.
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
DynamicGroupController and attributes
therealdbT
Hey @toggledbits I'm back to trying to optimize a couple of things based on dynamic group. First of all, I think I found a typo in the doc: primary_attribute: "binary_sensor.state" primary_attribute_value: | d = false; each id in members: d = getEntity(id)?.attributes?.power_switch?.state or d, d I think the correct code snippet is d = false, All that said, my use case for dynamic groups is to group 3 different climate devices, so I could easily command them at the same time. Commands are good, but sometimes I want to check if any of the devices are on, and that's easily done with a similar snippet as the one you have in the docs. But this is limited to the primary attribute, while I want to have any of the attributes in the group to be driven by a similar logic (while all are null in the group). ie, access hvac_control.mode and see if any of the unit is set to cool, or heat. Is that possible, without re-defining an expression in each of my rules? Thanks!
Multi-System Reactor
Arming Envisalink panel from MSR
T
Topic thumbnail image
Multi-System Reactor
Upgrade Issues
T
Topic thumbnail image
Multi-System Reactor
[SOLVED] Conflicting Set Reaction Groups Appear to Fire Simultaneously in Single Rule Evaluation
G
Topic thumbnail image
Multi-System Reactor
[SOLVED] Question regarding "in" vs "contains" vs contents of the string
G
Topic thumbnail image
Multi-System Reactor
Logon screen timeout
G
Noticing since 170 that the lock screen doesn't switch to the logon prompt but, rather, stays on the active UI until such time as you go to click something within it. Then it jumps to the login screen. Brave browser Brave 1.92.139 (Official Build) (arm64) Chromium: 150.0.7871.114
Multi-System Reactor
[MSR] Copy&past of actions and/or drag&drop between set/reset
therealdbT
Hey @toggledbits One thing that bothers me while doing work on new systems/new features, is that I cannot copy&paste actions, and I cannot drag&drop between set and resets. #1 is for when I want to copy an action between different rules opened in two separate browser windows, while #2 is when I just need to flip a bunch of actions in the reset, or move some logic back and forth. Both will be appreciated, but I understand the technical challenges. Thanks!
Multi-System Reactor
Upgrade advice - upgrade from aarch64 to ARM64 image
T
I'm currently on version 26011. I understand that the aarch64 image is no longer supported. So, I therefore need to update to the ARM64 image. Can anyone possibly suggest how I update my docker compose.yaml file (see below). Ideally I'd like to keep my existing reactions etc. rather than start from scratch. # Multi-System Reactor template docker-compose.yml (version 22160) # # Change the lines indicated by "DO"... # services: reactor: container_name: reactor environment: # DO change the TZ: line to set your local time zone. # See valid TZ list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones TZ: GB # # DO NOT change this path. Your directory location is in "source" below. REACTOR_DATA_PREFIX: /var/reactor # DO change the image below to the one you are using (e.g. armv7l or aarch64 for RPi 4) image: toggledbits/reactor:latest-aarch64 restart: "always" expose: - 8111 ports: - 8111:8111 volumes: # DO change the /home/username/reactor below to the directory you created for # your local data; DO NOT change the /var/reactor part - /home/pi/docker/reactor:/var/reactor - /etc/localtime:/etc/localtime:ro tmpfs: /tmp
Multi-System Reactor
Alexa for MSR, any interest?
MikeReadingtonM
Topic thumbnail image
Multi-System Reactor
[RESOLVED] Telegram notification broke with latest update
3
Topic thumbnail image
Multi-System Reactor
[RESOLVED] Phantom device, “INFO” appears
wmarcolinW
Topic thumbnail image
Multi-System Reactor
[RESOLVED] Mode Status NULL
wmarcolinW
Topic thumbnail image
Multi-System Reactor
[RESOLVED] HTTP query failing after version 26177
wmarcolinW
Topic thumbnail image
Multi-System Reactor
Question about the find function
wmarcolinW
Topic thumbnail image
Multi-System Reactor
[Answered] OK to remove old json files?
3
Topic thumbnail image
Multi-System Reactor
Deprecation Announcement: 32-bit ARM *docker* images
toggledbitsT
If you are using the armv7l docker image, the OpenJS Foundation that publishes node is no longer producing 32-bit builds as of v24. That means the last supported LTS version of node for armv7l is v22, which will go End-of-Life in May 2027. Therefore, the Reactor armv7l image is now deprecated and will only be produced until node v22 goes EOL, and I will not publish armv7l images beyond that date. If you are running an RPi 3 or earlier with Reactor, you are on this image, and will need to upgrade hardware to a 64-bit model and use the arm64 image. If you need help getting it done, ask in this category.
Multi-System Reactor
[Solved] build 26150 - engine not starting
G
@toggledbits I pulled the image (well, Watchtower did) and within minutes the whole system went offline. The log looks like it ends with 26143. [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-mkahsmgf/26qq82mw-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lqyfljfi/22f8on0t-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lsb61rw8/24oenqi2-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lrh58he0/rule-lrh58he0:S-1c00gfib-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lrh58he0/1c00dylr-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lrh58he0/1nam9w5u-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-miuh2qqi/22ls4lql-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-kwc6rmci/rule-kwc6rmci:S-1vj8sdfc-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-kwc6rmci/rule-kwc6rmci:S-1qanz01x-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-ladyja6a/24lq19p6-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-mk0o8iox/23oy468y-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-miscg2h3/rule-miscg2h3:S-22gmbq1c-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-kxgrfjke/238p0old-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-m7ccsso5/re-m7ccsso5-1r0myjxa-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-ladyja6a/19nl9wq2-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-ladyja6a/rule-ladyja6a:S-yl3xk9t-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-ladyja6a/rule-ladyja6a:S-yl3vv5m-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-ln7j2nqp/re-ln7j2nqp-22mx9lzd-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-ln7j2nqp/22mx87c8-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-licneppy/1mzwe7ht-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-ml3194ih/25jqt1j4-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-kxgrg7kf/227hshak-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-reactorexmachina/13ua1p95-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-reactorexmachina/13uagam7-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-grpvl9oypg/rule-grpvl9oypg:R-134x4cbv-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-grpvl9oypg/rule-grpvl9oypg:R-134x2fyl-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-lscjrws1/238p5c22-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lbwr0jvq/1xkczf03-cons [latest-26143]2026-05-31T15:23:44.547Z <Structure:NOTICE> Structure Structure#1 stopped [latest-26143]2026-05-31T15:23:44.547Z <app:NOTICE> Closing APIs... [latest-26143]2026-05-31T15:23:44.547Z <wsapi:NOTICE> wsapi: closing... [latest-26143]2026-05-31T15:23:44.547Z <wsapi:NOTICE> wsapi: disconnecting from "192.168.1.23#82" (1001 service closing) [latest-26143]2026-05-31T15:23:44.548Z <httpapi:NOTICE> HTTP API closing... [latest-26143]2026-05-31T15:23:44.549Z <wsapi:NOTICE> wsapi: server closed [latest-26143]2026-05-31T15:23:44.549Z <httpapi:INFO> HTTP server closed. [latest-26143]2026-05-31T15:23:44.549Z <app:NOTICE> Stopping timers... [latest-26143]2026-05-31T15:23:44.551Z <app:null> Shutdown complete, process ID 1 [latest-26143]2026-05-31T15:23:44.551Z <app:null> Closing logs... [latest-26143]2026-05-31T15:23:44.551Z <default:null> Closing log I can SSH to the VM. Alas, I do not have the previous image for 26143 as I'm a little too quick sometimes on housekeeping.
Multi-System Reactor
http request action & digest auth
tunnusT
I’m using the HTTP Request action in MSR and need to authenticate against an endpoint that uses HTTP Digest authentication. Now that endpoint was changed to use SHA-256 in digest auth, so I would like to know if MSR supports it, or is it limited to MD5-based digest auth?
Multi-System Reactor

Feature request on reactions side.

Scheduled Pinned Locked Moved Multi-System Reactor
37 Posts 4 Posters 10.6k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    Tarkus
    wrote on last edited by
    #17

    Have not gotten that far. Just was playing around with this, this morning before my workday started. Will dig into logs when I get a chance.

    1 Reply Last reply
    0
    • LibraSunL LibraSun

      @tarkus said in Feature request on reactions side.:

      yes, it just does not fire when putting the code into a variable.

      Is MSR giving you any feedback in the Log and/or Status screen? I ask because perhaps you haven't used quotes around the hex code strings when defining your variables, for instance?

      T Offline
      T Offline
      Tarkus
      wrote on last edited by
      #18

      @librasun Definitely did not use quotes, will try that.

      1 Reply Last reply
      1
      • LibraSunL LibraSun

        @tarkus said in Feature request on reactions side.:

        yes, it just does not fire when putting the code into a variable.

        Is MSR giving you any feedback in the Log and/or Status screen? I ask because perhaps you haven't used quotes around the hex code strings when defining your variables, for instance?

        T Offline
        T Offline
        Tarkus
        wrote on last edited by
        #19

        @librasun Ok the quotes did the trick! So I am assuming for

        "code0","code1","code2", ... ,"code9"

        I am assuming I am making 10 variables. i.e.

        code0="0000 0067 0000 000D 0060 0018 0030 0018 0018 0018 0018 0018 0030 0018 0018 0018 0018 0018 0018 0018 0030 0018 0018 0018 0018 0018 0018 0018 0018 0422"

        ect, ect....

        LibraSunL 1 Reply Last reply
        0
        • T Tarkus

          @librasun Ok the quotes did the trick! So I am assuming for

          "code0","code1","code2", ... ,"code9"

          I am assuming I am making 10 variables. i.e.

          code0="0000 0067 0000 000D 0060 0018 0030 0018 0018 0018 0018 0018 0030 0018 0018 0018 0018 0018 0018 0018 0030 0018 0018 0018 0018 0018 0018 0018 0018 0422"

          ect, ect....

          LibraSunL Offline
          LibraSunL Offline
          LibraSun
          wrote on last edited by
          #20

          @tarkus said in Feature request on reactions side.:

          @librasun Ok the quotes did the trick! So I am assuming for

          "code0","code1","code2", ... ,"code9"

          I am assuming I am making 10 variables. i.e.

          code0="0000 0067 0000 000D 0060 0018 0030 0018 0018 0018 0018 0018 0030 0018 0018 0018 0018 0018 0018 0018 0030 0018 0018 0018 0018 0018 0018 0018 0018 0422"

          ect, ect....

          Okay, not exactly. In my example, above, I had intended for you to paste all 10 codes, with quotes, directly into the array itself. I now see how cumbersome that would look, and not lend itself very well to editing.

          So your approach of creating all 10 variables this way makes more sense... BUT you'd have to reference them in the array without quotes, as in:

          buttonCodes = [code1, code2, code3, .... , code9]
          

          and be sure to place this Expression definition after all 10 codeN declarations (this is just a best practice, not mandatory).

          1 Reply Last reply
          0
          • T Offline
            T Offline
            Tarkus
            wrote on last edited by
            #21

            @LibraSun So this is where I am at and I am stuck. The variable Channel gets pulled in from veras multistring and it gets split into the Character variables. That part works, just trying to work thru the rest.

            Channel array.png

            1 Reply Last reply
            0
            • T Offline
              T Offline
              Tarkus
              wrote on last edited by
              #22

              I also forgot to mention that I need to work a "." into the array

              1 Reply Last reply
              0
              • LibraSunL Offline
                LibraSunL Offline
                LibraSun
                wrote on last edited by LibraSun
                #23

                For starters, you've put spaces between buttonCodes and the [ which will not be interpreted correctly.
                Look above at my original example: the syntax is buttonCodes[index] with no spaces.
                (edit: extra spaces should be OK)

                Secondly, your definition of buttonCodes itself shows just a long comma-separated list, which cannot work as is. To make it an array, it must start with [ and end with ].

                Third, you reference buttonCodes in other variables, but named the expression ButtonCodes which is different. These things must match exactly.

                Fourth, some of your CharacterN definitions result in alphanumeric characters which are NOT "just 0 through 9" -- like "x" or "." -- hence they CANNOT serve as the index for an array lookup. Another approach is needed (example: use an Object, per the suggestion below).

                This is proving more challenging than expected -- even turning everything into an Object would pose its own hazards at this point -- but getting the syntax right is way more than half the battle!

                T 1 Reply Last reply
                0
                • toggledbitsT Offline
                  toggledbitsT Offline
                  toggledbits
                  wrote on last edited by toggledbits
                  #24

                  Also note that the data type of most of the index expressions is a string. Use int() to make sure it's a number: C1 = ButtonCodes[ int( Character1 ) ]

                  Also, it may be useful to break everything out this way while you're testing and figuring it out, but ultimately, you may want to combine them: C1 = ButtonCodes[ int( substr( Channel, 0, 1 ) ) ]

                  Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

                  1 Reply Last reply
                  0
                  • T Offline
                    T Offline
                    Tarkus
                    wrote on last edited by
                    #25

                    The X's are just left over remnants of the lua process I was using. It was just padding and acted a indicator that the channel was at a end and stop the process. So channel 7.1 would come over as 7.1xx. I set 5 characters to accommodate a 5 digit channel i.e. 135.1 I will take a look at your suggestions.

                    1 Reply Last reply
                    0
                    • LibraSunL Offline
                      LibraSunL Offline
                      LibraSun
                      wrote on last edited by LibraSun
                      #26

                      One technique I use involves setting up to "parallel" arrays, an example of which I'll outline here without explicit reference to the problem at hand. I hope to share the mechanics of it without clutter...

                      value_I_have := getEntity(vera>source).parameter.i.want // result is "y"
                      array_of_values := ["x","y","z"] // all possible  input values listed in some order
                      array_of_codes := ["0123","2345","3456"] // desired converted output values for "x", "y" and "z"
                      buttonPush := array_of_codes[ indexOf (array_of_values, value_I_have) ]
                      

                      Let that sink in a bit. In fact, if I were you @Tarkus , I'd mess around with abbreviated versions of this example in a throwaway Rule, just to get the feel for how each input affects the output.

                      T 1 Reply Last reply
                      0
                      • LibraSunL LibraSun

                        One technique I use involves setting up to "parallel" arrays, an example of which I'll outline here without explicit reference to the problem at hand. I hope to share the mechanics of it without clutter...

                        value_I_have := getEntity(vera>source).parameter.i.want // result is "y"
                        array_of_values := ["x","y","z"] // all possible  input values listed in some order
                        array_of_codes := ["0123","2345","3456"] // desired converted output values for "x", "y" and "z"
                        buttonPush := array_of_codes[ indexOf (array_of_values, value_I_have) ]
                        

                        Let that sink in a bit. In fact, if I were you @Tarkus , I'd mess around with abbreviated versions of this example in a throwaway Rule, just to get the feel for how each input affects the output.

                        T Offline
                        T Offline
                        Tarkus
                        wrote on last edited by
                        #27

                        @librasun yes i do that often

                        LibraSunL 1 Reply Last reply
                        0
                        • T Tarkus

                          @librasun yes i do that often

                          LibraSunL Offline
                          LibraSunL Offline
                          LibraSun
                          wrote on last edited by
                          #28

                          @tarkus said in Feature request on reactions side.:

                          @librasun yes i do that often

                          That avoids the "trick" of trying to let Character1 stand in as a numeric value (i.e. serving as an index to an array), since we now know that it may be alphabetical.

                          1 Reply Last reply
                          0
                          • T Offline
                            T Offline
                            Tarkus
                            wrote on last edited by
                            #29

                            I thought a period was considered numeric in programing to accommodate decimals.

                            LibraSunL 1 Reply Last reply
                            0
                            • T Tarkus

                              I thought a period was considered numeric in programing to accommodate decimals.

                              LibraSunL Offline
                              LibraSunL Offline
                              LibraSun
                              wrote on last edited by LibraSun
                              #30

                              @tarkus said in Feature request on reactions side.:

                              I thought a period was considered numeric in programing to accommodate decimals.

                              Your assumption is correct, however the intent was to let your deciphered "digits" (which I was misled to believe were strictly 0 through 9) stand as "numbers" in the expression buttonCodes[ ], whereas buttonCodes[ . ] and buttonCodes["x"] simply make no sense in that context.

                              Hence the need for parallel lookups.

                              toggledbitsT 1 Reply Last reply
                              0
                              • LibraSunL LibraSun

                                @tarkus said in Feature request on reactions side.:

                                I thought a period was considered numeric in programing to accommodate decimals.

                                Your assumption is correct, however the intent was to let your deciphered "digits" (which I was misled to believe were strictly 0 through 9) stand as "numbers" in the expression buttonCodes[ ], whereas buttonCodes[ . ] and buttonCodes["x"] simply make no sense in that context.

                                Hence the need for parallel lookups.

                                toggledbitsT Offline
                                toggledbitsT Offline
                                toggledbits
                                wrote on last edited by toggledbits
                                #31

                                @librasun said in Feature request on reactions side.:

                                whereas buttonCodes[ . ] and buttonCodes["x"] simply make no sense.

                                These are actually OK if buttonCodes is an object, not an array. You can use the square-bracket notation same as dot member access, so buttonCodes[ "x" ] (note the quotes so it's a string) is the same as buttonCodes.x. Using the square bracket notation lets you use a variable for the member name. You don't need a second array, you just need to structure buttonCodes correctly...

                                buttonCodes = { '0': 'codes for 0', '1': 'codes for 1', '.': 'codes for dot' }
                                key_to_send = "."   # or whatever/however you get the key
                                send_data = buttonCodes[ key_to_send ]
                                

                                Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

                                LibraSunL T 2 Replies Last reply
                                0
                                • toggledbitsT toggledbits

                                  @librasun said in Feature request on reactions side.:

                                  whereas buttonCodes[ . ] and buttonCodes["x"] simply make no sense.

                                  These are actually OK if buttonCodes is an object, not an array. You can use the square-bracket notation same as dot member access, so buttonCodes[ "x" ] (note the quotes so it's a string) is the same as buttonCodes.x. Using the square bracket notation lets you use a variable for the member name. You don't need a second array, you just need to structure buttonCodes correctly...

                                  buttonCodes = { '0': 'codes for 0', '1': 'codes for 1', '.': 'codes for dot' }
                                  key_to_send = "."   # or whatever/however you get the key
                                  send_data = buttonCodes[ key_to_send ]
                                  
                                  LibraSunL Offline
                                  LibraSunL Offline
                                  LibraSun
                                  wrote on last edited by
                                  #32

                                  @toggledbits said in Feature request on reactions side.:

                                  You don't need a second array, you just need to structure buttonCodes correctly...

                                  I completely agree. If I could turn back time knowing what I know now about this scenario, I would definitely have chosen an Object. It's concise, easy to edit, employ, etc. I just didn't wanna yank @Tarkus around by the nose after we've come this far, lol.

                                  1 Reply Last reply
                                  0
                                  • LibraSunL Offline
                                    LibraSunL Offline
                                    LibraSun
                                    wrote on last edited by LibraSun
                                    #33

                                    @toggledbits , since we're on the topic of Objects, I've been meaning to ask:
                                    Is there any chance you'd consider implementing a this self-reference for Objects, so I could in theory build:

                                    obj := {'noun':'cat','verb':'plays','sentence':'The ' + this.noun + ' ' + this.verb}

                                    Maybe that's cray-cray, but I've already bumped into a couple of occasions where it could be handy.

                                    REFERENCE: https://www.w3schools.com/js/js_this.asp

                                    1 Reply Last reply
                                    0
                                    • toggledbitsT Offline
                                      toggledbitsT Offline
                                      toggledbits
                                      wrote on last edited by
                                      #34

                                      That's not really the way this works for objects in any language I've ever seen or used. We keep using the term "object" here, because of JavaScript, but I really prefer the Python term "dictionary", and maybe I'm going to start using that instead (the grammar actually does, but somehow that didn't make the leap to the documentation and followed the JS nomenclature instead). It's not an object in the sense that there's class definition associated with it, it's just a collection of key/value pairs. Even in JavaScript for many versions, an "object" was really a fancy dictionary, and it is only the more recent versions where that is being formalized, but of course, for compatibility, they are forced to support the old model for some time.

                                      Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

                                      1 Reply Last reply
                                      0
                                      • LibraSunL Offline
                                        LibraSunL Offline
                                        LibraSun
                                        wrote on last edited by
                                        #35

                                        Typical me:
                                        Princess_Bride_That_Word.jpg

                                        1 Reply Last reply
                                        1
                                        • LibraSunL LibraSun

                                          For starters, you've put spaces between buttonCodes and the [ which will not be interpreted correctly.
                                          Look above at my original example: the syntax is buttonCodes[index] with no spaces.
                                          (edit: extra spaces should be OK)

                                          Secondly, your definition of buttonCodes itself shows just a long comma-separated list, which cannot work as is. To make it an array, it must start with [ and end with ].

                                          Third, you reference buttonCodes in other variables, but named the expression ButtonCodes which is different. These things must match exactly.

                                          Fourth, some of your CharacterN definitions result in alphanumeric characters which are NOT "just 0 through 9" -- like "x" or "." -- hence they CANNOT serve as the index for an array lookup. Another approach is needed (example: use an Object, per the suggestion below).

                                          This is proving more challenging than expected -- even turning everything into an Object would pose its own hazards at this point -- but getting the syntax right is way more than half the battle!

                                          T Offline
                                          T Offline
                                          Tarkus
                                          wrote on last edited by
                                          #36

                                          @librasun said in Feature request on reactions side.:

                                          Secondly, your definition of buttonCodes itself shows just a long comma-separated list, which cannot work as is. To make it an array, it must start with [ and end with ].

                                          Yeah i had the brackets but it did not work so the absence of of them is just me trying different things and not knowing what I am doing. LOL

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Recent Topics

                                          • [Solved] DynamicGroupController updating members issue
                                            CrilleC
                                            Crille
                                            0
                                            5
                                            59

                                          • Reactor (Multi-System/Multi-Hub) Announcements
                                            toggledbitsT
                                            toggledbits
                                            5
                                            148
                                            128.9k

                                          • DynamicGroupController and attributes
                                            therealdbT
                                            therealdb
                                            1
                                            5
                                            86

                                          • Arming Envisalink panel from MSR
                                            toggledbitsT
                                            toggledbits
                                            0
                                            5
                                            107

                                          • Upgrade Issues
                                            T
                                            tbully
                                            0
                                            9
                                            217

                                          • [SOLVED] Conflicting Set Reaction Groups Appear to Fire Simultaneously in Single Rule Evaluation
                                            toggledbitsT
                                            toggledbits
                                            0
                                            10
                                            229

                                          • [SOLVED] Question regarding "in" vs "contains" vs contents of the string
                                            G
                                            gwp1
                                            0
                                            5
                                            117

                                          • openLuup console disappeared - 500 - Internal Server Error
                                            A
                                            a-lurker
                                            0
                                            2
                                            168

                                          • Logon screen timeout
                                            G
                                            gwp1
                                            0
                                            5
                                            190

                                          • [MSR] Copy&past of actions and/or drag&drop between set/reset
                                            toggledbitsT
                                            toggledbits
                                            0
                                            9
                                            353

                                          • Upgrade advice - upgrade from aarch64 to ARM64 image
                                            toggledbitsT
                                            toggledbits
                                            0
                                            4
                                            208
                                          Powered by NodeBB | Contributors
                                          Hosted freely by 10RUPTiV - Solutions Technologiques | Contact us
                                          • Login

                                          • Don't have an account? Register

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