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.
  • 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 Offline
              therealdbT Offline
              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
                      • therealdbT therealdb

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

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

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

                        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.

                        Can you give me some easy to follow instructions on how to do this please?

                        I like the idea of having my lua code in different files stored on the Vera hub and then being able to have that Lua code run by sending a http request from my MSR rule etc.

                        I would like to reduce the number of Vera scenes I currently have also.

                        therealdbT 2 Replies Last reply
                        0
                        • cw-kidC cw-kid

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

                          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.

                          Can you give me some easy to follow instructions on how to do this please?

                          I like the idea of having my lua code in different files stored on the Vera hub and then being able to have that Lua code run by sending a http request from my MSR rule etc.

                          I would like to reduce the number of Vera scenes I currently have also.

                          therealdbT Offline
                          therealdbT Offline
                          therealdb
                          wrote on last edited by
                          #24

                          @cw-kid I’ll post something on my GitHub later today, so others may benefit from this.

                          --
                          On a mission to automate everything.

                          My MS Reactor contrib
                          My Luup Plug-ins

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

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

                            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.

                            Can you give me some easy to follow instructions on how to do this please?

                            I like the idea of having my lua code in different files stored on the Vera hub and then being able to have that Lua code run by sending a http request from my MSR rule etc.

                            I would like to reduce the number of Vera scenes I currently have also.

                            therealdbT Offline
                            therealdbT Offline
                            therealdb
                            wrote on last edited by
                            #25

                            @cw-kid here we go: https://github.com/dbochicchio/vera/tree/master/Library

                            I've added a sample to RunLua as well, so this should serve well our future us when in need of it 😉

                            --
                            On a mission to automate everything.

                            My MS Reactor contrib
                            My Luup Plug-ins

                            cw-kidC T 2 Replies Last reply
                            2
                            • therealdbT therealdb

                              @cw-kid here we go: https://github.com/dbochicchio/vera/tree/master/Library

                              I've added a sample to RunLua as well, so this should serve well our future us when in need of it 😉

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

                              @therealdb Great thanks

                              First question which folder do you store the VeraScenes.lua file on the Vera file system ?

                              I put it in here:

                              /etc/cmh-ludl

                              EDIT

                              You need to upload the file via the Vera web GUI in

                              Apps - Develop Apps - Luup files

                              area not via some other means like WinSCP.

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

                                @therealdb Great thanks

                                First question which folder do you store the VeraScenes.lua file on the Vera file system ?

                                I put it in here:

                                /etc/cmh-ludl

                                EDIT

                                You need to upload the file via the Vera web GUI in

                                Apps - Develop Apps - Luup files

                                area not via some other means like WinSCP.

                                therealdbT Offline
                                therealdbT Offline
                                therealdb
                                wrote on last edited by
                                #27

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

                                First question which folder do you store the VeraScenes.lua file on the Vera file system ?

                                or just use "Upload files" from Apps.

                                Mandatory part is to import into Lua Startup, under Apps, Develop Apps, Edit Startup Lua.

                                VeraScenes = require("VeraScenes")
                                

                                I'll correct the readme soon.

                                --
                                On a mission to automate everything.

                                My MS Reactor contrib
                                My Luup Plug-ins

                                cw-kidC 1 Reply Last reply
                                0
                                • therealdbT therealdb

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

                                  First question which folder do you store the VeraScenes.lua file on the Vera file system ?

                                  or just use "Upload files" from Apps.

                                  Mandatory part is to import into Lua Startup, under Apps, Develop Apps, Edit Startup Lua.

                                  VeraScenes = require("VeraScenes")
                                  

                                  I'll correct the readme soon.

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

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

                                  Mandatory part is to import into Lua Startup, under Apps, Develop Apps, Edit Startup Lua.

                                  I did that.

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

                                    Its working now if I upload it via Vera GUI and not WinSCP

                                    Thanks

                                    1 Reply Last reply
                                    1
                                    • therealdbT Offline
                                      therealdbT Offline
                                      therealdb
                                      wrote on last edited by
                                      #30

                                      btw, your code seems to need some re-working to avoid warnings. try this:

                                      function TTSTest()
                                          luup.log('VeraScenes.TTSTest')
                                          local mode = tonumber(luup.attr_get("Mode", 0))
                                      	if (mode == 1) then
                                      		luup.inet.wget("http://192.168.0.4:1880/scenetrigger?message=This is a Test&ip=192.168.0.16")
                                      	end
                                      end
                                      

                                      --
                                      On a mission to automate everything.

                                      My MS Reactor contrib
                                      My Luup Plug-ins

                                      1 Reply 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
                                        #31

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

                                        That said, this won't work today, because I haven't yet connected the expressions to the action parameters

                                        Hi

                                        Any update on when this might happen ?

                                        Thank you.

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

                                          I have been running Lua within my Vera reactor pretty successfully. In some cases the reason was to have some conditional logic on the activity side. I found that this enabled me to keep the condition side a bit simpler and clean. I was also running lua to send Global Cache IR codes to my older Tv's. I now am trying the CG plugin that Patrick sorted out for me. The small issue with that is I need to convert all my Global Cache codes to pronto hex. I only mention so others know it does not support CG codes. There is also some lua that I use to turn off my computer. In preliminary testing the big issue I see with lua in Vera scenes is stability. I tried moving some of my lua into scenes and invoking the scenes thru MSR and everything just became real unstable with Luup restarts. I understand that this may be issues with my Vera, etc... . I also had lua in Vera reactor activities that preceded delays or other devices commands and by moving the lua into a Vera scene will that mess with the timing? Will there be a lag on the Vera side in invoking the scene while MSR continues with the reaction? The bottom line for me is I will try to make this work and eliminates much of the lua that I can. Having some legacy devices with IR contol does not help the situation I still have a lot of work to do so I can't say if everything will work out. It will be a matter of functionality and stability for me otherwise I will just stick with Vera reactor until I can't anymore. I will say that I do wish there was lua support in MSR.

                                          cw-kidC K toggledbitsT 3 Replies 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
                                            441

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

                                          • 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
                                            841

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