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] Local expression in Rule does not evaluate as they used to do
CrilleC
Topic thumbnail image
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
Home Assistant 2025.11.2 and latest-25315
CrilleC
Topic thumbnail image
Multi-System Reactor
Notice to Docker + ARM Users (RPi 3/4/5 and others)
toggledbitsT
This post does not apply to users of Intel/AMD-based systems. If you are using a Reactor image tagged latest-amd64 or stable-amd64, then this post does not apply to you. It also does not apply to bare-metal installs; it's for users of docker images on ARM-based systems only (principally Raspberry Pi hosts, but could be others). After January 15, 2026, I will no longer produce the aarch64-tagged docker image for Reactor. The ARM images will be arm64 for 64-bit operating systems, and armv7l for 32-bit operating systems. For those of you running a container from the aarch64 image today, this will be a relatively simple change: you just need to switch the image used for your docker container to a differently-tagged image. If you are using docker-compose, then this is a relatively simple matter of changing the image line in your docker-compose.yaml file and then stopping (docker-compose down) and restarting (docker-compose up -d) your Reactor daemon. But there's a catch... not all of you can safely just switch from the aarch64 image to the arm64 image. And, you can't just trust the output of uname -m, for example, because this exposes the CPU architecture, but not the word size of the OS running on that CPU. For Raspberry Pi systems, the transition to 64-bit operating systems was long (starting in 2016) and not always obvious — although there was a first "official" 64-bit OS for RPis in 2020, it did not become a default recommendation in the Raspberry Pi Imager until 2021, and then that was only the default for Pi 3/4 systems with >4GB RAM; it was 2022 before it was universally recommended for all 64-bit CPUs regardless of RAM size. Depending on when you first imaged your RPi system and what default you may have been offered/chosen, you could today easily have a 64-bit CPU Raspberry Pi running a 32-bit version of the operating system. Upgrades along the way would not change this; changing it to fully 64-bit requires a full reimage of the system. To establish if your OS is 64- or 32-bit, log in to your Pi and run: sudo dpkg-architecture -q DEB_HOST_ARCH. If the response is arm64 or aarch64, then you are running a 64-bit OS and you should use the arm64-tagged image. If it's anything else, you are running a 32-bit OS, and you should use the armv7l-tagged image. pi@rpi4-1:~ $ sudo dpkg-architecture -q DEB_HOST_ARCH armhf pi@rpi4-1:~ $ uname -m aarch64 pi@rpi4-1:~ $ In the example above, the uname command reports that the CPU is 64-bit architecture (aarch64), which is true for the host on which I ran these commands, but the DEB_HOST_ARCH value is armhf, indicating a 32-bit operating system. This system has to use the armv7l-tagged image. Other systems will have their own ways of determining the word size of the running OS. Since the majority of Reactor users running ARM systems are on Raspberry Pis, I am able to supply the above instructions, but if you happen to have a different ARM system, you'll need to do some web searching to figure out how to expose that information. Or, you can just try the arm64 image, and if it doesn't start up, try the armv7l image. Remember to always back up your system before making any changes. For everyone, please make this change as soon as possible, and if you have any trouble finding a working image, please (1) go back to the current aarch64 image; and (2) let me know in this thread along with as much detail about your host system as you can offer (including the output of the dpkg-architecture command mentioned above).
Multi-System Reactor
Requesting a proper ARM64/aarch64 Docker image (Pi 5 support)
M
Hi, I'm in the process of migrating from a Raspberry Pi 4 (ARMv7) to a Raspberry Pi 5 (ARMv8/aarch64), but I’ve run into an issue: there is no proper ARMv8/aarch64 image available. None of the existing images run on the Pi 5 - they all exit immediately with code 139 (segmentation fault), which typically indicates that the binaries inside the image are not compatible with the ARM64/aarch64 architecture used by the Pi 5. Would it be possible to publish a correct ARMv8/aarch64 (linux/arm64) image? Building one should be relatively straightforward using docker buildx with multi-arch support. For example, my own Node.js images are built this way: docker buildx build --push \ -t <localrepo>/<project>:<tag> \ --platform=linux/arm64,linux/amd64 \ --file ./apps/<project>/Dockerfile . This produces both the AMD64 and ARM64/v8 variants automatically. Also, as a side note, it may be best to avoid using Alpine as the base image for the ARM64 build, since musl-based builds often cause compatibility issues and unnecessary headaches. A glibc-based base image (e.g., Debian or Ubuntu) tends to work far more reliably on ARM64, especially for Node.js applications. @toggledbits - tagging you in case you missed this. Thanks, mgvra
Multi-System Reactor
Script action and custom timers
therealdbT
Sorry to write here without trying, but I’m flying today. Am I correct if i say that script action with alarm() makes it possible to execute a reaction in a given interval, lets say 15 seconds or 3.5 minutes? That sounds amazing, since I’ve used weird tricks, including a custom controller, just to do this.
Multi-System Reactor
Help resolve change in behaviour post update
CatmanV2C
Topic thumbnail image
Multi-System Reactor
Reactor w/HA 2025.11 error on set_datetime service call setting only time
CrilleC
@toggledbits Do you know if this is related to that PR or is it a change they made in 2025.11.1? [latest-25310]2025-11-11T13:16:24.319Z <HassController:INFO> HassController#hass perform x_hass_input_datetime.set_datetime on Entity#hass>input_datetime_vvb_dag with { "time": "10:45" } [latest-25310]2025-11-11T13:16:24.320Z <HassController:INFO> HassController#hass: sending payload for x_hass_input_datetime.set_datetime on Entity#hass>input_datetime_vvb_dag action: { "type": "call_service", "service_data": { "date": (null), "time": "10:45", "datetime": (null), "timestamp": (null) }, "domain": "input_datetime", "service": "set_datetime", "target": { "entity_id": "input_datetime.vvb_dag" } } [latest-25310]2025-11-11T13:16:24.321Z <HassController:ERR> HassController#hass request 1762866984320<2025-11-11 14:16:24> (call_service) failed: [Error] Not a parseable type for dictionary value @ data['date'] [-] [latest-25310]2025-11-11T13:16:24.321Z <HassController:WARN> HassController#hass action x_hass_input_datetime.set_datetime({ "time": "10:45" }) on Entity#hass>input_datetime_vvb_dag failed! [latest-25310]2025-11-11T13:16:24.321Z <HassController:INFO> Service call payload: {"type":"call_service","service_data":{"date":null,"time":"10:45","datetime":null,"timestamp":null},"domain":"input_datetime","service":"set_datetime","target":{"entity_id":"input_datetime.vvb_dag"},"id":1762866984320} [latest-25310]2025-11-11T13:16:24.322Z <HassController:INFO> Service data: {"fields":{"date":{"example":"\"2019-04-20\"","selector":{"text":{"multiline":false,"multiple":false}}},"time":{"example":"\"05:04:20\"","selector":{"time":{}}},"datetime":{"example":"\"2019-04-20 05:04:20\"","selector":{"text":{"multiline":false,"multiple":false}}},"timestamp":{"selector":{"number":{"min":0,"max":9223372036854776000,"mode":"box","step":1}}}},"target":{"entity":[{"domain":["input_datetime"]}]}} [latest-25310]2025-11-11T13:16:24.322Z <Engine:ERR> Engine#1 reaction rule-mgb8pfhs:S step 0 perform x_hass_input_datetime.set_datetime failed: [Error] Not a parseable type for dictionary value @ data['date'] [-] [latest-25310]2025-11-11T13:16:24.322Z <Engine:INFO> Engine#1 action args: { "time": "10:45" } [latest-25310]2025-11-11T13:16:24.322Z <Engine:INFO> Resuming reaction Sätt Schema VVB i Home Assistant<AKTIV> (rule-mgb8pfhs:S) from step 1 [latest-25310]2025-11-11T13:16:24.323Z <HassController:INFO> HassController#hass perform x_hass_input_datetime.set_datetime on Entity#hass>input_datetime_vvb_natt with { "time": "03:00", "timestamp": 0 } [latest-25310]2025-11-11T13:16:24.323Z <HassController:INFO> HassController#hass: sending payload for x_hass_input_datetime.set_datetime on Entity#hass>input_datetime_vvb_natt action: { "type": "call_service", "service_data": { "date": (null), "time": "03:00", "datetime": (null), "timestamp": 0 }, "domain": "input_datetime", "service": "set_datetime", "target": { "entity_id": "input_datetime.vvb_natt" } } [latest-25310]2025-11-11T13:16:24.324Z <HassController:ERR> HassController#hass request 1762866984323<2025-11-11 14:16:24> (call_service) failed: [Error] Not a parseable type for dictionary value @ data['date'] [-] [latest-25310]2025-11-11T13:16:24.324Z <HassController:WARN> HassController#hass action x_hass_input_datetime.set_datetime({ "time": "03:00", "timestamp": 0 }) on Entity#hass>input_datetime_vvb_natt failed! [latest-25310]2025-11-11T13:16:24.324Z <HassController:INFO> Service call payload: {"type":"call_service","service_data":{"date":null,"time":"03:00","datetime":null,"timestamp":0},"domain":"input_datetime","service":"set_datetime","target":{"entity_id":"input_datetime.vvb_natt"},"id":1762866984323} [latest-25310]2025-11-11T13:16:24.324Z <HassController:INFO> Service data: {"fields":{"date":{"example":"\"2019-04-20\"","selector":{"text":{"multiline":false,"multiple":false}}},"time":{"example":"\"05:04:20\"","selector":{"time":{}}},"datetime":{"example":"\"2019-04-20 05:04:20\"","selector":{"text":{"multiline":false,"multiple":false}}},"timestamp":{"selector":{"number":{"min":0,"max":9223372036854776000,"mode":"box","step":1}}}},"target":{"entity":[{"domain":["input_datetime"]}]}} [latest-25310]2025-11-11T13:16:24.324Z <Engine:ERR> Engine#1 reaction rule-mgb8pfhs:S step 1 perform x_hass_input_datetime.set_datetime failed: [Error] Not a parseable type for dictionary value @ data['date'] [-] [latest-25310]2025-11-11T13:16:24.324Z <Engine:INFO> Engine#1 action args: { "time": "03:00", "timestamp": 0 } [latest-25310]2025-11-11T13:16:24.325Z <Engine:INFO> Resuming reaction Sätt Schema VVB i Home Assistant<AKTIV> (rule-mgb8pfhs:S) from step 2 [latest-25310]2025-11-11T13:16:24.325Z <Engine:INFO> Sätt Schema VVB i Home Assistant<AKTIV> all actions completed.
Multi-System Reactor
Reactor Version 25310 : Office Light control via rule in reactor no longer working since last update.
P
Hello, I currently have an office light (connected via a Leviton Zwave Dimmer switch) controlled from a Gen5 Aeotech Zwave switch installed on my Synology 720+ NAS. I run HA(2025.11.10) in a virtual machine from my NAS and Reactor on the container manager of the same NAS. Prior to updating to 25304 the rule I had set to turn the light on to a specific dimming value worked correctly. Now the rule appears to follow the decision tree, however the reaction does not trigger setting the dimming or turning on the office light? Strangely I can still turn the light on and off as well as dim it directly from HASS..? I have tried using the ''try this action'' button in the rules reaction setting and it will not control the light and does not throw an error flagÉ Please help, P.S Reactor has been rock steady for me over the last few years and I'm a big fan of this solution.
Multi-System Reactor
[Solved] alarm() in global expression throws error in log.
CrilleC
Topic thumbnail image
Multi-System Reactor
[Solved] Define function issue in latest-25304
CrilleC
Topic thumbnail image
Multi-System Reactor
No Upgrade Notification for Build 25308?
CatmanV2C
FWIW I'm no longer getting a notification from MSR that there's an update. Just thought I'd mention it C
Multi-System Reactor
Strange behavior in MSR latest-25304 with disabled groups in Reaction
therealdbT
Topic thumbnail image
Multi-System Reactor
[Reactor] Variables not updating correctly in latest-25201-2aa18550
therealdbT
Topic thumbnail image
Multi-System Reactor
The reaction stopped working (Google Nest max playing a video)
F
Topic thumbnail image
Multi-System Reactor
Handling Dead Entities and Renamed Entities
PablaP
Hello all.. been a minute! I recently rebuilt my Z wave network and migrated to a new z wave stick. In order to prevent any downtime I kept my original z wave network up and ran a docker version of Z Wave JS UI with my new controller. This way I could add device by device without having any devices down. I finally moved all the devices over to my new stick today. The final step was to migrate everything from my Docker instance of Z Wave JS UI to the HA add-on of Z Wave JS UI. However during this migration some of the names didn't populate correctly which I later managed to import back into Z Wave JS UI. The issue was in Reactor it is stuck on the default names and the entities are not updating. I removed the controller from Reactor, restarted, hard refreshed, and added the controller back however the new entity names have not updated. Also it seems like the old entities from my previous instance of Z Wave JS UI are lingering and not being marked as dead (I believe a certain amount of time needs to lapse before they're marked as dead in Reactor). My goal is to basically purge all the entities for the 'ZWaveJS' controller in Reactor so it can pull all the updated entity names and only the entities that exist in Z Wave JS UI. I cannot find a quick way to do this, I know entities can be deleted one by one, but with over 100 entities this would take long I am guessing that if I added the controller with a new name in in the Reactor config it would pull the updated entities and names but I think that would break my rules since the entity IDs would change (I made sure to name all the entities the exact same as they were previously to prevent this issue).
Multi-System Reactor
Strange behavior for MQTT templates using payload and attributes
therealdbT
Topic thumbnail image
Multi-System Reactor
[MSR] reactor-mqtt-contrib package for additional MQTT templates
therealdbT
I'm slowly migrating all my stuff to MQTT under MSR, so I have a central place to integrate everything (and, in a not-so-distant future, to remove virtual devices from my Vera and leave it running zwave only). Anyway, here's my reactor-mqtt-contrib package: https://github.com/dbochicchio/reactor-mqtt-contrib Simply download yaml files (everything or just the ones you need) and you're good to go. I have mapped my most useful devices, but I'll add others soon. Feel free to ask for specific templates, since I've worked a lot in the last weeks to understand and operate them. The templates are supporting both init and query, so you have always up-to-date devices at startup, and the ability to poll them. Online status is supported as well, so you can get disconnected devices with a simple expression. Many-many thanks to @toggledbits for its dedication, support, and patience with me and my requests
Multi-System Reactor
HA 2025.9.4 Supported Yet?
CatmanV2C
Tangentially did I miss 2025.9.4 getting blessed in MSR? I've been holding off Cheers C
Multi-System Reactor
Rule Set UI bug - RESOLVED
3
Topic thumbnail image
Multi-System Reactor

Feature request on reactions side.

Scheduled Pinned Locked Moved Multi-System Reactor
37 Posts 4 Posters 5.4k 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.
  • LibraSunL LibraSun

    @tarkus said in Feature request on reactions side.:

    Secondary conditional rules on reactions.

    Could you please expound further? My first guess is that you'd like to see a 2nd set of Conditions, which get evaluated later (e.g. after Set Reaction runs), in lieu of calling another Rule?

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

    @librasun Sure I currently have lua that has multiple "if" conditions that is run on the reaction side. Consider these "if" conditions in the lua the secondary conditions.

    Usage senario:

    Say you have 3 separate expression / variables with varying values of 0-9 lets call them.

    Variable_1
    Variable_2
    Variable_3

    On the reaction side

    If variable_1 = 2

    Send TV IR code for digit 1

    If variable_1 = 2

    Send TV IR code for digit 2

    etc, etc

    delay 1 second

    If variable_2 = 1

    Send TV IR code for digit 1

    If variable_2 = 2

    Send TV IR code for digit 2

    etc, etc

    delay 1 second

    If variable_3 = 1

    Send TV IR code for digit 1

    If variable_3 = 2

    Send TV IR code for digit 2

    etc, etc

    LibraSunL 1 Reply Last reply
    0
    • T Tarkus

      @librasun Sure I currently have lua that has multiple "if" conditions that is run on the reaction side. Consider these "if" conditions in the lua the secondary conditions.

      Usage senario:

      Say you have 3 separate expression / variables with varying values of 0-9 lets call them.

      Variable_1
      Variable_2
      Variable_3

      On the reaction side

      If variable_1 = 2

      Send TV IR code for digit 1

      If variable_1 = 2

      Send TV IR code for digit 2

      etc, etc

      delay 1 second

      If variable_2 = 1

      Send TV IR code for digit 1

      If variable_2 = 2

      Send TV IR code for digit 2

      etc, etc

      delay 1 second

      If variable_3 = 1

      Send TV IR code for digit 1

      If variable_3 = 2

      Send TV IR code for digit 2

      etc, etc

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

      @tarkus said in Feature request on reactions side.:

      @librasun Sure I currently have lua that has multiple "if" conditions

      If I'm following your example correctly, each of your three variables can take on integer values from 0-9 inclusive, derived from the status of some device on Vera (I call it tv here for convenience). And you want to send three separate IR codes determined by each variable's value. Here's how I would do that in MSR (in pseudocode, of course):

      EXPRESSIONS:

      v1 := getEntity( "vera>tv" ).attributes.<attr>.<val1>
      v1 := getEntity( "vera>tv" ).attributes.<attr>.<val2>
      v1 := getEntity( "vera>tv" ).attributes.<attr>.<val3>
      buttonCodes := ["code0","code1","code2", ... ,"code9"]
      c1 := buttonCodes[v1]
      c2 := buttonCodes[v2]
      c3 := buttonCodes[v3]
      

      SET REACTION:

      [Entity Action] ["vera>device_<remote#>"] [x_service_name_send_code] [${{ c1 }}]
      [Delay] [ 1 ]
      [Entity Action] ["vera>device_<remote#>"] [x_service_name_send_code] [${{ c2 }}]
      [Delay] [ 1 ]
      [Entity Action] ["vera>device_<remote#>"] [x_service_name_send_code] [${{ c3 }}]
      

      What I'm doing is asking MSR to "lookup" the corresponding buttonCode from an array (conveniently indexed 0 through 9), assigning those string values to c1-c3, and making those substitutions in each successive steps of the Set Reaction.

      Am I close to your goal?

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

        I am afraid the Global Cache IR plugin that Patrick added support for does not seem to work with expressions in the send code field. I tried to add the hex code for a digit to a Global expression and put ${{Digit_1}} in the send code field but it did not work.

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

          Can you show me the valid values which the plugin accepts? (After all, they do exist and are transmitted by Lua, and I haven't yet encountered a value which MSR cannot send, so this makes me doubly curious.) Maybe I need to see more of your actual setup, if you don't mind?

          FUN READ: https://kinkeadtech.com/control-ir-devices-with-z-wave/

          T 1 Reply Last reply
          0
          • LibraSunL LibraSun

            Can you show me the valid values which the plugin accepts? (After all, they do exist and are transmitted by Lua, and I haven't yet encountered a value which MSR cannot send, so this makes me doubly curious.) Maybe I need to see more of your actual setup, if you don't mind?

            FUN READ: https://kinkeadtech.com/control-ir-devices-with-z-wave/

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

            @librasun

            Patrick did say the Plugin was really barebone's or something to that effect.

            IR.png-D5;,p-{in[ji1GS

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

              @toggledbits can variable substitution be added to the "Code" field shown?

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

                Variable substitution works in all action fields.

                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
                  #13

                  There you go! 🙂

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

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

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

                      Did you look in the MSR logs to see what was being sent? Did you look in the Vera log to see what was being received?

                      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 Tarkus

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

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

                        @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 2 Replies Last reply
                        0
                        • 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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Recent Topics

                                          • [Solved] Local expression in Rule does not evaluate as they used to do
                                            CrilleC
                                            Crille
                                            0
                                            5
                                            73

                                          • Reactor (Multi-System/Multi-Hub) Announcements
                                            toggledbitsT
                                            toggledbits
                                            5
                                            130
                                            73.8k

                                          • Home Assistant 2025.11.2 and latest-25315
                                            G
                                            gwp1
                                            0
                                            6
                                            97

                                          • Notice to Docker + ARM Users (RPi 3/4/5 and others)
                                            toggledbitsT
                                            toggledbits
                                            1
                                            1
                                            54

                                          • Requesting a proper ARM64/aarch64 Docker image (Pi 5 support)
                                            M
                                            mgvra
                                            1
                                            3
                                            136

                                          • Script action and custom timers
                                            toggledbitsT
                                            toggledbits
                                            0
                                            4
                                            150

                                          • Help resolve change in behaviour post update
                                            CatmanV2C
                                            CatmanV2
                                            0
                                            12
                                            411

                                          • There is an alternative to homebridge-mqttthing
                                            akbooerA
                                            akbooer
                                            1
                                            2
                                            120

                                          • Reactor w/HA 2025.11 error on set_datetime service call setting only time
                                            CrilleC
                                            Crille
                                            0
                                            6
                                            171

                                          • Reactor Version 25310 : Office Light control via rule in reactor no longer working since last update.
                                            toggledbitsT
                                            toggledbits
                                            0
                                            17
                                            489

                                          • Shelly Wall Display XL
                                            akbooerA
                                            akbooer
                                            2
                                            9
                                            813

                                          • [Solved] alarm() in global expression throws error in log.
                                            toggledbitsT
                                            toggledbits
                                            0
                                            26
                                            909
                                          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