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. Running Lua Code ? And watching device properties?
[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

Running Lua Code ? And watching device properties?

Scheduled Pinned Locked Moved Multi-System Reactor
69 Posts 7 Posters 13.9k Views 6 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.
  • cw-kidC Offline
    cw-kidC Offline
    cw-kid
    wrote on last edited by
    #3

    Another example of something I am doing in PLEG and not sure if I can do this in MSR?

    I have two side table lamps in my lounge.

    I have a virtual device dimmer switch in Vera.

    In PLEG I have a "Device Property" to monitor the current Dimming Level of the virtual device dimmer switch

    87de8b9b-1a70-46bb-bd12-00ae7dbbda69-image.png

    My PLEG condition just references the device property "LoungeLampsMaster"

    And in my PLEG action I added the two real lamp devices

    6d0cf0a0-c872-4ffd-8ae6-3c170bec1838-image.png

    And set their loadleveltarget to be whatever the virtual device "Master" dimmer is, by using this in the newLoadLevelTarget

    {(LoungeLampsMaster)}

    Can something like this be setup in MSR ?

    1 Reply Last reply
    0
    • therealdbT therealdb

      I have a similar in scope system and I run dynamic code via RunLua action. So, I have a function on a lib imported at startup and I’m sending values this way. Another route is to use RunScene and write the code in your scene. So, plenty of choices.

      cw-kidC Offline
      cw-kidC Offline
      cw-kid
      wrote on last edited by
      #4

      @therealdb said in Running Lua Code ? And watching device properties?:

      Another route is to use RunScene and write the code in your scene

      That I understand

      @therealdb said in Running Lua Code ? And watching device properties?:

      I run dynamic code via RunLua action. So, I have a function on a lib imported at startup and I’m sending values this way

      This I don't understand, you might as well be talking in Greek.

      Where are these "RunScene" and "RunLua" actions ?

      I only see these in the Set Reaction area.

      10343c4e-e597-4759-b8e2-403c9b75c95d-image.png

      therealdbT 1 Reply Last reply
      0
      • IanI Offline
        IanI Offline
        Ian
        wrote on last edited by
        #5

        You need to select 'Entity Action' in the first drop down and then from --choose device-- in the dropdown that appears, select the script you want to run from the 'Scripts' section.

        1 Reply Last reply
        1
        • cw-kidC Offline
          cw-kidC Offline
          cw-kid
          wrote on last edited by cw-kid
          #6

          Thanks Ian I can see that now its listing all my Vera scenes so that's easy enough to have your Reaction run a Vera scene and then in turn any Lua Code that scene may contain.

          I'm interested to hear more about what TheRealDB mentioned regarding a RunLua action.

          1 Reply Last reply
          0
          • ElcidE Offline
            ElcidE Offline
            Elcid
            wrote on last edited by Elcid
            #7

            To RunLua you would need reactor on the vera. you could then call it from MSR

            Also the {variable or luaxp} works in reactor and will be working in MSR in the near future

            cw-kidC 1 Reply Last reply
            0
            • ElcidE Elcid

              To RunLua you would need reactor on the vera. you could then call it from MSR

              Also the {variable or luaxp} works in reactor and will be working in MSR in the near future

              cw-kidC Offline
              cw-kidC Offline
              cw-kid
              wrote on last edited by cw-kid
              #8

              @elcid said in Running Lua Code ? And watching device properties?:

              To RunLua you would need reactor on the vera. you could then call it from MSR

              Yep that also make sense. Is that what TheRealDB was referring too ?

              @elcid said in Running Lua Code ? And watching device properties?:

              Also the {{variable or luaxp}} works in reactor

              I don't know what this means.

              1 Reply Last reply
              0
              • ElcidE Offline
                ElcidE Offline
                Elcid
                wrote on last edited by Elcid
                #9

                {variable} - refers to expression variable.
                you can set dynamic names in input fields and you can also use luaxp

                This reactor page explains more https://www.toggledbits.com/static/reactor/docs/3.6/Expressions-%26-Variables/#luaxp-built-in-functions

                This will probably be available in MSR to.

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

                  You can monitor the dimming level of a dimmer using an Entity Attribute condition and checking dimming.level for the dimmable entity. You can easily do a "master-slave" (or Submasters !) style of dimming mirroring in MSR.

                  I'm still working on the scene controller device mapping. Please remember that this is a developer preview, first time this code has run outside of my hands, and is expected to be incomplete. It's not a finished product at this point and isn't intended to be. If you're using it with that eye, you may want to wait a couple of months.

                  You can run scenes from MSR on the Vera using an Entity Action. Each scene has a corresponding script entity in MSR, with a script.run action available.

                  And of course, the XY-Problem aspect of this... if you tell us what you think you need to run in Lua, there's a chance there may actually be a way to do it without Lua, or its something reasonable to consider as a regular feature addition to MSR, Vera Reactor, or both.

                  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
                  • cw-kidC cw-kid

                    @therealdb said in Running Lua Code ? And watching device properties?:

                    Another route is to use RunScene and write the code in your scene

                    That I understand

                    @therealdb said in Running Lua Code ? And watching device properties?:

                    I run dynamic code via RunLua action. So, I have a function on a lib imported at startup and I’m sending values this way

                    This I don't understand, you might as well be talking in Greek.

                    Where are these "RunScene" and "RunLua" actions ?

                    I only see these in the Set Reaction area.

                    10343c4e-e597-4759-b8e2-403c9b75c95d-image.png

                    therealdbT Online
                    therealdbT Online
                    therealdb
                    wrote on last edited by
                    #11

                    @cw-kid you can run lua code via http call. Just compose a call like this

                    http://ip-address:3480/data_request?id=lu_action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=RunLua&Code=YourLuaVode

                    Ie, if you have a function named doSomething in your startup code, accepting two values, just call this endpoint

                    http://ip-address:3480/data_request?id=lu_action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=RunLua&Code=doSomething(1, ‘abc’)

                    I’m using it to concatenate multiple actions in one http call, while still maintaining flexibility.

                    --
                    On a mission to automate everything.

                    My MS Reactor contrib
                    My Luup Plug-ins

                    cw-kidC 1 Reply Last reply
                    1
                    • cw-kidC Offline
                      cw-kidC Offline
                      cw-kid
                      wrote on last edited by
                      #12

                      Thanks guys for the information.

                      Yes I admit I need to keep remembering things might not be implemented yet.

                      But as I have never used Reactor plugin for Vera, I have nothing to compare MSR against other than PLEG.

                      I don't know what is currently possible in the Reactor plugin for Vera etc which isn't helping me when looking at MSR.

                      I am moving my more simple PLEG actions over to MSR now and have already disabled several PLEG conditions on the Vera box.

                      Schedules in MSR I am still testing and struggling with a bit, so I only have two moved over to MSR currently and one isn't running at all and one ran this morning but later than I expected it to do so.

                      I have some pretty long LUA scrips in PLEG for some stuff, I don't think I could do it easily without using LUA code.

                      Are there any examples of a Master Slave dimmer setup which I can follow ?

                      Cheers.

                      1 Reply Last reply
                      0
                      • therealdbT therealdb

                        @cw-kid you can run lua code via http call. Just compose a call like this

                        http://ip-address:3480/data_request?id=lu_action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=RunLua&Code=YourLuaVode

                        Ie, if you have a function named doSomething in your startup code, accepting two values, just call this endpoint

                        http://ip-address:3480/data_request?id=lu_action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=RunLua&Code=doSomething(1, ‘abc’)

                        I’m using it to concatenate multiple actions in one http call, while still maintaining flexibility.

                        cw-kidC Offline
                        cw-kidC Offline
                        cw-kid
                        wrote on last edited by
                        #13

                        @therealdb said in Running Lua Code ? And watching device properties?:

                        you can run lua code via http call

                        OK that's a clever idea.

                        So the LUA code is stored where? In a function in the Vera startup right. And then you are just calling it to run via a HTTP request from MSR.

                        therealdbT 1 Reply Last reply
                        0
                        • cw-kidC Offline
                          cw-kidC Offline
                          cw-kid
                          wrote on last edited by cw-kid
                          #14

                          Regarding a Master Dimmer

                          Think I have the Trigger (Condition) correct but don't know what to do with the Reaction ?

                          Do I need to create a variable some where? Or can I directly control the real lamps based on the "changes" of the virtual Master dimmer ?

                          b312bf64-710d-4a9f-85fc-36ee716dad84-image.png

                          toggledbitsT 1 Reply Last reply
                          0
                          • cw-kidC cw-kid

                            Regarding a Master Dimmer

                            Think I have the Trigger (Condition) correct but don't know what to do with the Reaction ?

                            Do I need to create a variable some where? Or can I directly control the real lamps based on the "changes" of the virtual Master dimmer ?

                            b312bf64-710d-4a9f-85fc-36ee716dad84-image.png

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

                            This is how it will go:

                            faf26da0-6165-4668-b1d8-04053ea24b72-image.png

                            That said, this won't work today, because I haven't yet connected the expressions to the action parameters (the {master_level} value in the dimming action won't work yet). That's coming, but not yet. You can, however, do exactly this in Vera Reactor to see how it works. It will work the same way in MSR.

                            Edit... let me explain how it works (on both Vera Reactor and MSR):

                            The expression keeps the current value of the master dimmer. So on my system, vera>device_105 is named "Virtual Dimmer 18". The trigger condition looks for any change in the dimming level of that dimmer. When it changes, the set reaction sets the current value (from the expression master_level) on the slave dimmer "Virtual Dimmer 20". Bob's your uncle.

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

                            cw-kidC 3 Replies Last reply
                            1
                            • toggledbitsT toggledbits

                              This is how it will go:

                              faf26da0-6165-4668-b1d8-04053ea24b72-image.png

                              That said, this won't work today, because I haven't yet connected the expressions to the action parameters (the {master_level} value in the dimming action won't work yet). That's coming, but not yet. You can, however, do exactly this in Vera Reactor to see how it works. It will work the same way in MSR.

                              Edit... let me explain how it works (on both Vera Reactor and MSR):

                              The expression keeps the current value of the master dimmer. So on my system, vera>device_105 is named "Virtual Dimmer 18". The trigger condition looks for any change in the dimming level of that dimmer. When it changes, the set reaction sets the current value (from the expression master_level) on the slave dimmer "Virtual Dimmer 20". Bob's your uncle.

                              cw-kidC Offline
                              cw-kidC Offline
                              cw-kid
                              wrote on last edited by
                              #16

                              @toggledbits What you just explained makes perfect sense.

                              However I would not have had a clue how to correctly construct that expression with the correct syntax.

                              I think I have mine setup correctly now.

                              I understand it wont actually work yet though.

                              7d7b44f6-7348-455a-bebb-89805591502b-image.png

                              toggledbitsT 1 Reply Last reply
                              0
                              • cw-kidC cw-kid

                                @toggledbits What you just explained makes perfect sense.

                                However I would not have had a clue how to correctly construct that expression with the correct syntax.

                                I think I have mine setup correctly now.

                                I understand it wont actually work yet though.

                                7d7b44f6-7348-455a-bebb-89805591502b-image.png

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

                                @cw-kid said in Running Lua Code ? And watching device properties?:

                                However I would not have had a clue how to correctly construct that expression with the correct syntax.

                                Right, so I think this is a big issue in your case. My intent with this developer preview was to have experienced Reactor users help me test MSR. You're in the tough spot of coming from PLEG, with no prior Reactor experience, so not only do you not know the current product, but you also don't know if what you're looking at in the new product is right or wrong, same or different. That makes it palpably frustrating for you, and frankly for me as well, because you are not at the level I set for this test. I suspect you're also a bit irritated at having to do this at all, since Richard seems to have abandoned his product years ago (as evidenced by his near-total absence in the forums, the maturity of his product notwithstanding), and the prospect that no PLEG for eZLO seems to be in the works that I've heard.

                                None of that matters, at least to me, and I appreciate the effort you're putting in, and you're finding bugs and helping, so all is cool in my book, but for the fact that I feel like you're sometimes losing your perspective and treating this as if it's finished and shipped. This is a developer preview, and again, it's known to be incomplete, and its intended audience was existing Reactor users. Those users would know how to build the expression. If you're going to continue to participate, and I hope that you do, please keep this in mind. Making contact with the product this early, you are not only positioning yourself to be a master of it in future, but you're in a position to shape its future, and you have my attention.

                                You might take a read of the docs for Vera Reactor, to get a better lay of the land, including expressions. Things are different between the two systems, for sure, but the strong flavor is nonetheless there. You can also experiment with Vera Reactor on your Vera directly, and this may actually be very useful in helping identify other differences or gaps that should be at least documented if not closed. Either way, as the more mature product and very stable, it should help remove some of the questions and the trips in your learning curve caused by my errors in the new product. That said, I think I've shown that I will work as quickly as possible to get things shored up so that you can be productive on MSR.

                                Vera Reactor Docs: https://www.toggledbits.com/static/reactor/docs/

                                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
                                • cw-kidC cw-kid

                                  @therealdb said in Running Lua Code ? And watching device properties?:

                                  you can run lua code via http call

                                  OK that's a clever idea.

                                  So the LUA code is stored where? In a function in the Vera startup right. And then you are just calling it to run via a HTTP request from MSR.

                                  therealdbT Online
                                  therealdbT Online
                                  therealdb
                                  wrote on last edited by
                                  #18

                                  @cw-kid yes, but if you define a library and register it at startup, you could do that too. I’m currently using this approach, and I like it because it’s inside a file and not a textbox.

                                  --
                                  On a mission to automate everything.

                                  My MS Reactor contrib
                                  My Luup Plug-ins

                                  cw-kidC 1 Reply Last reply
                                  0
                                  • cw-kidC Offline
                                    cw-kidC Offline
                                    cw-kid
                                    wrote on last edited by
                                    #19

                                    All fair comments and observations Patrick. I certainly don't want to cause frustration to anyone.

                                    In PLEG there was no need to of even written an expression just to monitor the value of a devices Dimming level for example. I'd just create a device property.

                                    PLEG device properties are similar to how you build triggers in MSR, in the respect that you just select things from drop down lists. So monitoring a devices Dimming level in PLEG is trivial to setup.

                                    Conditions in PLEG are not so trivial however and are more like writing expressions.

                                    If MSR could build device properties or watch variables as PLEG does I think you'd be making it super easy for any user to pick up and run with MSR.

                                    toggledbitsT 1 Reply Last reply
                                    0
                                    • ElcidE Offline
                                      ElcidE Offline
                                      Elcid
                                      wrote on last edited by
                                      #20

                                      In vera reactor to watch a device state you just set a variable and there is a button to pick what you want to get/watch, this creates the expression for you. The button exists in MSR, but as Patrick says expressions are not fully implemented yet. When it is you will see how simple it is. Install Vera reactor just to have a play.

                                      1 Reply Last reply
                                      1
                                      • cw-kidC Offline
                                        cw-kidC Offline
                                        cw-kid
                                        wrote on last edited by
                                        #21

                                        OK sounds good.

                                        1 Reply Last reply
                                        0
                                        • cw-kidC cw-kid

                                          All fair comments and observations Patrick. I certainly don't want to cause frustration to anyone.

                                          In PLEG there was no need to of even written an expression just to monitor the value of a devices Dimming level for example. I'd just create a device property.

                                          PLEG device properties are similar to how you build triggers in MSR, in the respect that you just select things from drop down lists. So monitoring a devices Dimming level in PLEG is trivial to setup.

                                          Conditions in PLEG are not so trivial however and are more like writing expressions.

                                          If MSR could build device properties or watch variables as PLEG does I think you'd be making it super easy for any user to pick up and run with MSR.

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

                                          @cw-kid said in Running Lua Code ? And watching device properties?:

                                          If MSR could build device properties or watch variables as PLEG does I think you'd be making it super easy for any user to pick up and run with MSR.

                                          I'm really not getting what you're on about here. In your example earlier in the reply, monitoring the dimming level of a device is just this simple in MSR or Vera Reactor:

                                          c0fe40a9-2e60-4ed5-b9f6-f4e26f99d604-image.png

                                          You literally select the device and the attribute and you're done, with all the different operators to choose from as well. There's no need for an expression at all. The only reason we have an expression for your ealier example/request is that we need to copy the attribute value from one device to another. But if we were just going to turn on another light in response to a light turning on, no expression needed.

                                          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
                                          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
                                            102

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

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

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

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

                                          • Script action and custom timers
                                            toggledbitsT
                                            toggledbits
                                            0
                                            4
                                            158

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

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

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

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

                                          • Shelly Wall Display XL
                                            akbooerA
                                            akbooer
                                            2
                                            9
                                            842

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