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. How to monitor sensors that stop working?
[MSR] Feature request: For Each action on arrays/groups
therealdbT
Topic thumbnail image
Multi-System Reactor
[Solved] Error: Command timeout
G
at _ClientAPI._commandTimeout (http://192.168.1.100:8111/client/ClientAPI.js:807:179 Seeing this randomly when returning to open browser tab after being away awhile. Once, maybe twice a day. "What did you do to trigger it?" Literally nothing, just walked away and returned and there it was. Actions taken in reasonably close proximity to this particular instance of it popping up: I'd restarted the MSR container in Portainer. I'll try to grab some logs here shortly.
Multi-System Reactor
Issue with MSR UI becoming unresponsive
S
I'm having an issue with MSR's UI being very unresponsive. It started happening a couple days ago and I didn't make any changes that would have caused this except adding some meross lan devices in HA. When I go into an entity action and use the search functionality, it usually will start filtering and then get to a place after a few letters are entered where it will take 30 seconds or more (sometimes minutes) for the UI to show what I am typing. During this time MSR ui is completely unresponsive. I've tried multiple browsers and multiple computers. HA and MSR are both deployed in docker. I have run HTOP on the host and when the problem happens there are no CPU/Memory spikes at all. From a functionality standpoint MSR is working perfectly. This seems to be an UI issue only. Do i need to ditch Docker and run MSR on a Proxmox VM? I have both stand alone Docker and Proxmox environments. I dont mind doing that I just want to be able to use the UI again... Installation method Home Assistant Container Core 2025.7.3 Frontend 20250702.3 nothing crazy in the logs except some openweather map stuff that doesn't make any sense as it is working fine in MSR Any help would be greatly appreciated Reactor latest-25328-b2ed1365 app 25328 configuration from /var/reactor/config NODE_PATH /opt/reactor:/opt/reactor/node_modules [latest-25328]2025-11-30T20:01:53.843Z <app:null> Reactor build latest-25328-b2ed1365 starting on v24.11.1 /usr/local/bin/node [latest-25328]2025-11-30T20:01:53.844Z <app:null> Process ID 1 user/group 0/0; docker; platform linux/x64 #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025; locale (undefined) [latest-25328]2025-11-30T20:01:53.844Z <app:null> Basedir /opt/reactor; data in /var/reactor/storage [latest-25328]2025-11-30T20:01:53.844Z <app:null> NODE_PATH=/opt/reactor:/opt/reactor/node_modules [latest-25328]2025-11-30T20:01:53.865Z <app:null> Resolved timezone=America/New_York, environment TZ=America/New_York; offset minutes from UTC=-300 [latest-25328]2025-11-30T20:01:53.867Z <default:null> Module i18n v25141 [latest-25328]2025-11-30T20:01:53.867Z <app:null> Configured locale (undefined); selected locale(s) en-US.UTF-8 [latest-25328]2025-11-30T20:01:53.879Z <app:null> Loaded locale en-US for en-US [latest-25328]2025-11-30T20:01:53.879Z <app:null> Local date/time using configured timezone and locale formatting is "11/30/2025, 3:01:53 PM" [latest-25328]2025-11-30T20:01:53.889Z <Structure:null> Module Structure v25326 [latest-25328]2025-11-30T20:01:53.890Z <Capabilities:null> Module Capabilities v24312 [latest-25328]2025-11-30T20:01:53.904Z <Plugin:null> Module Plugin v25141 [latest-25328]2025-11-30T20:01:53.923Z <Timer:null> Module Timer v25279 [latest-25328]2025-11-30T20:01:53.924Z <TimerBroker:null> Module TimerBroker v25314 [latest-25328]2025-11-30T20:01:53.927Z <Entity:null> Module Entity v25251 [latest-25328]2025-11-30T20:01:53.929Z <Controller:null> Module Controller v25253 [latest-25328]2025-11-30T20:01:53.930Z <AlertManager:null> Module AlertManager v25318 [latest-25328]2025-11-30T20:01:53.937Z <default:null> Module Ruleset v25283 [latest-25328]2025-11-30T20:01:53.937Z <default:null> Module Rulesets v25141 [latest-25328]2025-11-30T20:01:53.942Z <GlobalExpression:null> Module GlobalExpression v25258 [latest-25328]2025-11-30T20:01:53.953Z <Predicate:null> Module Predicate v25328 [latest-25328]2025-11-30T20:01:53.956Z <Rule:null> Module Rule v25323 [latest-25328]2025-11-30T20:01:53.958Z <GlobalReaction:null> Module GlobalReaction v25292 [latest-25328]2025-11-30T20:01:53.959Z <Engine:null> Module Engine v25325 [latest-25328]2025-11-30T20:01:53.964Z <httpapi:null> Module httpapi v25328 [latest-25328]2025-11-30T20:01:53.972Z <wsapi:null> Module wsapi v25328 [latest-25328]2025-11-30T20:01:53.994Z <TaskQueue:null> Module TaskQueue 24138 [latest-25328]2025-11-30T20:01:53.994Z <VeraController:null> Module VeraController v25141 [latest-25328]2025-11-30T20:01:54.179Z <HassController:null> Module HassController v25325 [latest-25328]2025-11-30T20:02:13.797Z <OWMWeatherController:null> Module OWMWeatherController v25268 [latest-25328]2025-11-30T20:02:13.800Z <SystemController:null> Module SystemController v25323 [latest-25328]2025-11-30T20:02:13.807Z <MQTTController:null> Module MQTTController v22092 [latest-25328]2025-11-30T20:02:20.630Z <OWMWeatherController:CRIT> FetchError: request to https://api.openweathermap.org/data/2.5/weather?lat=xxxxxxxxxx&lon=-xxxxxxxxx&appid=xxxxxxxxxxxxxxxxxxxxxxxxxx&units=standard&_r=1xxxxxxxxxxxxxxfailed, reason: [-] FetchError: request to https://api.openweathermap.org/data/2.5/weather?lat=xxxxxxxxxxx&lon=-xxxxxxxxxxxxxxxxxx&appid=xxxxxxxxxxxxxxxxxxx&units=standard&_r=xxxxxxxxxxxxxxxfailed, reason: at ClientRequest.<anonymous> (/opt/reactor/node_modules/node-fetch/lib/index.js:1501:11) at ClientRequest.emit (node:events:508:28) at ClientRequest.emit (node:domain:489:12) at emitErrorEvent (node:_http_client:108:11) at TLSSocket.socketErrorListener (node:_http_client:575:5) at TLSSocket.emit (node:events:508:28) at TLSSocket.emit (node:domain:489:12) at emitErrorNT (node:internal/streams/destroy:170:8) at emitErrorCloseNT (node:internal/streams/destroy:129:3) at processTicksAndRejections (node:internal/process/task_queues:89:21
Multi-System Reactor
Date/time condition
tunnusT
Topic thumbnail image
Multi-System Reactor
Device log?
G
@toggledbits is there a log that will show me what rule is turning on a specific device? I've got a switch that has been kicking on at 2200 ET for several nights now and the reactor.log doesn't have a thing in it that I can see on a device level (it being more rules-based).
Multi-System Reactor
Midnight crossing not working in date/time condition (build 25325)
tunnusT
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
[Solved] Local expression in Rule does not evaluate as they used to do
CrilleC
Topic thumbnail image
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

How to monitor sensors that stop working?

Scheduled Pinned Locked Moved Multi-System Reactor
31 Posts 5 Posters 4.2k Views 5 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.
  • A Andr

    Thank you

    wmarcolinW Offline
    wmarcolinW Offline
    wmarcolin
    wrote on last edited by
    #4

    @andr I will try to collaborate with two suggestions for you to validate your device.

    The first one with the screen below is to validate your sensors with battery information:
    sensor = prepares the list of which devices have the battery power variable
    low_battery = checks who has less than 50% charge
    names: make a list with names to send alerts

    002a1902-703c-440d-8546-21285032488c-image.png

    The second option is very similar, but I am using the CommFailure variable which depends on an invocation of the device for it to appear as failed, i.e., the same one as in the Vera device list.

    f0726031-a48d-4b84-a6c4-8f7f8ed672ab-image.png

    But I open a question here for our master @toggledbits.

    If the Vera hub has the Poll parameter on all devices, I understand that a call is made from time to time. In this case, using the two examples above, couldn't there be something that the validation would then be if a Polling fails to trigger the error? What would this variable or test time be? How would we express a current time equation - 6 hours to test?

    Thanks

    A B 3 Replies Last reply
    0
    • toggledbitsT Offline
      toggledbitsT Offline
      toggledbits
      wrote on last edited by
      #5

      Vera keeps track of its own polling failures, which you can see most usefully for this kind of application in the entity attribute x_vera_svc_micasaverde_com_ZWaveNetwork1.ConsecutivePollFails.

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

      wmarcolinW B 2 Replies Last reply
      0
      • toggledbitsT toggledbits

        Vera keeps track of its own polling failures, which you can see most usefully for this kind of application in the entity attribute x_vera_svc_micasaverde_com_ZWaveNetwork1.ConsecutivePollFails.

        wmarcolinW Offline
        wmarcolinW Offline
        wmarcolin
        wrote on last edited by
        #6

        @toggledbits this variable I can't understand how it works to return to zero, because I have a case here that is different from zero but the device is working normally. It may be a historical accumulation.

        1 Reply Last reply
        0
        • wmarcolinW wmarcolin

          @andr I will try to collaborate with two suggestions for you to validate your device.

          The first one with the screen below is to validate your sensors with battery information:
          sensor = prepares the list of which devices have the battery power variable
          low_battery = checks who has less than 50% charge
          names: make a list with names to send alerts

          002a1902-703c-440d-8546-21285032488c-image.png

          The second option is very similar, but I am using the CommFailure variable which depends on an invocation of the device for it to appear as failed, i.e., the same one as in the Vera device list.

          f0726031-a48d-4b84-a6c4-8f7f8ed672ab-image.png

          But I open a question here for our master @toggledbits.

          If the Vera hub has the Poll parameter on all devices, I understand that a call is made from time to time. In this case, using the two examples above, couldn't there be something that the validation would then be if a Polling fails to trigger the error? What would this variable or test time be? How would we express a current time equation - 6 hours to test?

          Thanks

          A Offline
          A Offline
          Andr
          wrote on last edited by
          #7

          @wmarcolin
          Ok, Expressions isn't anything I have used before. But I noticed the thread about low battery notifications and added this to my list of needed knowledge in the future.
          Either way, I copied your Expressions and devices got listed as expected.
          But how do I get that list in a notification??

          I think that many kind of sensors can need at least two rules/values for checking for failure.
          For example I have a Fibaro Smokesensor that just stop reporting. But either Hass or Vera notice that the device doesn't communicate.
          This device has a temp.sensor, which of course will (should) change value a lot more than battery level.
          I think battery level is the least wanted value to monitor for the sake of device failure. Since some devices can have a battery life of several years the value moves to slow.

          wmarcolinW 1 Reply Last reply
          0
          • toggledbitsT toggledbits

            Vera keeps track of its own polling failures, which you can see most usefully for this kind of application in the entity attribute x_vera_svc_micasaverde_com_ZWaveNetwork1.ConsecutivePollFails.

            B Offline
            B Offline
            Buxton
            wrote on last edited by
            #8

            @toggledbits One of the last things keeping me from localizing my vera is that the cloud will notify me when a zwave device goes offline. It's important for me to know as some of my devices are connected to security functions.

            Do you know if the offline notice is tied to "x_vera_svc_micasaverde_com_ZWaveNetwork1.ConsecutivePollFails" and if so, the count/number of fails that vera uses to send a device offline notice? My distant zwave devices tend to rack up a lot of fails, but I never get an offline notice sent to me.

            I'd much rather prefer to handle that error condition locally, and if it can be done, I can then run your Vera Decouple script.

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

              I do not know how their notification works or what their thresholds are.

              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
              • wmarcolinW wmarcolin

                @andr I will try to collaborate with two suggestions for you to validate your device.

                The first one with the screen below is to validate your sensors with battery information:
                sensor = prepares the list of which devices have the battery power variable
                low_battery = checks who has less than 50% charge
                names: make a list with names to send alerts

                002a1902-703c-440d-8546-21285032488c-image.png

                The second option is very similar, but I am using the CommFailure variable which depends on an invocation of the device for it to appear as failed, i.e., the same one as in the Vera device list.

                f0726031-a48d-4b84-a6c4-8f7f8ed672ab-image.png

                But I open a question here for our master @toggledbits.

                If the Vera hub has the Poll parameter on all devices, I understand that a call is made from time to time. In this case, using the two examples above, couldn't there be something that the validation would then be if a Polling fails to trigger the error? What would this variable or test time be? How would we express a current time equation - 6 hours to test?

                Thanks

                B Offline
                B Offline
                Buxton
                wrote on last edited by
                #10

                @wmarcolin I'll get a device offline notice approximately 24 hours after a device is disconnected. Perhaps vera is using a combination of the two metrics to trigger an offline email ie once 24 hours passes without a poll response, the CommFailure for the device goes true and an Email is sent.

                1 Reply Last reply
                0
                • wmarcolinW wmarcolin

                  @andr I will try to collaborate with two suggestions for you to validate your device.

                  The first one with the screen below is to validate your sensors with battery information:
                  sensor = prepares the list of which devices have the battery power variable
                  low_battery = checks who has less than 50% charge
                  names: make a list with names to send alerts

                  002a1902-703c-440d-8546-21285032488c-image.png

                  The second option is very similar, but I am using the CommFailure variable which depends on an invocation of the device for it to appear as failed, i.e., the same one as in the Vera device list.

                  f0726031-a48d-4b84-a6c4-8f7f8ed672ab-image.png

                  But I open a question here for our master @toggledbits.

                  If the Vera hub has the Poll parameter on all devices, I understand that a call is made from time to time. In this case, using the two examples above, couldn't there be something that the validation would then be if a Polling fails to trigger the error? What would this variable or test time be? How would we express a current time equation - 6 hours to test?

                  Thanks

                  B Offline
                  B Offline
                  Buxton
                  wrote on last edited by Buxton
                  #11

                  @wmarcolin Here's a do loop that uses the device.failed attribute:

                  join( 
                    each id in matchEntities( { controller: 'vera', capability: 'x_vera_device' } ): do
                      e=getEntity( id ), 
                      e.attributes.x_vera_device.failed ? e.name :  null
                    done, ", " )
                  

                  I have one device offline that shows up in the array and the device is offline as I physically removed it a couple of days ago. As well, I'm seeing one plugin that has this attribute set to true, although it is working. Perhaps something in the plugin code needs to reset the device from true to false if the plugin regains communication....

                  Edit: the plugin that was showing failure used "luup.set_failure false" instead of 0 or 1. This is probably an openLuup bug as using false in this case is a holdover from UI5. I changed false to 0, and the plugin no longer shows as failed. http://wiki.micasaverde.com/index.php/Luup_Lua_extensions#function:_set_failure

                  B 1 Reply Last reply
                  0
                  • B Buxton

                    @wmarcolin Here's a do loop that uses the device.failed attribute:

                    join( 
                      each id in matchEntities( { controller: 'vera', capability: 'x_vera_device' } ): do
                        e=getEntity( id ), 
                        e.attributes.x_vera_device.failed ? e.name :  null
                      done, ", " )
                    

                    I have one device offline that shows up in the array and the device is offline as I physically removed it a couple of days ago. As well, I'm seeing one plugin that has this attribute set to true, although it is working. Perhaps something in the plugin code needs to reset the device from true to false if the plugin regains communication....

                    Edit: the plugin that was showing failure used "luup.set_failure false" instead of 0 or 1. This is probably an openLuup bug as using false in this case is a holdover from UI5. I changed false to 0, and the plugin no longer shows as failed. http://wiki.micasaverde.com/index.php/Luup_Lua_extensions#function:_set_failure

                    B Offline
                    B Offline
                    Buxton
                    wrote on last edited by
                    #12

                    @rafale77 does a deep dive into failed vera zwave devices in this thread: https://smarthome.community/topic/392/vera-device-extended-attributes

                    1 Reply Last reply
                    0
                    • A Andr

                      @wmarcolin
                      Ok, Expressions isn't anything I have used before. But I noticed the thread about low battery notifications and added this to my list of needed knowledge in the future.
                      Either way, I copied your Expressions and devices got listed as expected.
                      But how do I get that list in a notification??

                      I think that many kind of sensors can need at least two rules/values for checking for failure.
                      For example I have a Fibaro Smokesensor that just stop reporting. But either Hass or Vera notice that the device doesn't communicate.
                      This device has a temp.sensor, which of course will (should) change value a lot more than battery level.
                      I think battery level is the least wanted value to monitor for the sake of device failure. Since some devices can have a battery life of several years the value moves to slow.

                      wmarcolinW Offline
                      wmarcolinW Offline
                      wmarcolin
                      wrote on last edited by
                      #13

                      @andr I'm using Telegram, but I think this work for all

                      <b>BATTERY LOWER THAN 30%</b>
                      Check the devices listed that have the battery below the desired charge: ${{BatteryMSG}}.

                      <b>DEVICE WITH ERROR</b>
                      Check the listed devices that have a communication failure: ${{FaultMSG}}.

                      I am trying to better understand how the CommFailure variable is updated. Devices plugged into power as soon as it is cut off, update on the fly, now on battery power it doesn't. I am looking to see how to force this update, this would solve a validation of all devices that do not respond to the hub.

                      1 Reply Last reply
                      0
                      • wmarcolinW Offline
                        wmarcolinW Offline
                        wmarcolin
                        wrote on last edited by
                        #14

                        Besides the Variable x_vera_svc_micasaverde_com_HaDevice1.CommFailure I am also checking now the x_vera_device.failed, but the problem is the same, it's not updating, I keep searching how to send some command that forces this update.

                        I looked at the other post that @Buxton suggested and it has the information about the @rafale77 but I also didn't find anything about how to do something to force the re-evaluation of the variables.

                        toggledbitsT 1 Reply Last reply
                        0
                        • wmarcolinW wmarcolin

                          Besides the Variable x_vera_svc_micasaverde_com_HaDevice1.CommFailure I am also checking now the x_vera_device.failed, but the problem is the same, it's not updating, I keep searching how to send some command that forces this update.

                          I looked at the other post that @Buxton suggested and it has the information about the @rafale77 but I also didn't find anything about how to do something to force the re-evaluation of the variables.

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

                          @wmarcolin said in How to monitor sensors that stop working?:

                          I also didn't find anything about how to do something to force the re-evaluation of the variables

                          I'm not sure if you're talking about the state variables on the Vera here, or the attributes on the entity in MSR, or the expression variables in MSR, but a few important things:

                          1. Vera's state variables are driven by Luup and the ZWave engine. You have to rely on Luup to set them properly. You can change their value yourself, but that's meaningless, of course: setting CommFailure=1 doesn't mean device communications will fail thereafter, and setting CommFailure=0 when device communication failures are occurring will not cure them. They are state variables, not action variables. If you want a state variable to change related to device behavior, you have to think action: Refresh, Poll, Reconfigure, etc. If those actions result in a change of state, that will update the variables.

                          2. Entities are updated when Vera posts a change for the device. MSR uses Luup's method of sending changes for devices, and that's a pretty old and reliable mechanism, not without problems, but they are well known and would not apply here. The way to update an MSR entity related to a Vera controller is by causing its states to change.

                          3. MSR variables, be they global or rule-based, should update immediately upon a change of the entity, but since 21267, I've been chasing one particular problem that pops up in expressions that use each, first, and do...done. I think I finally found that yesterday. There is an unannounced build 21280 currently posted that contains that fix (I published it for just one person that I'm helping via Mantis). The expression shown in @Buxton 's post is exactly the type of expression affected. I would upgrade to 21280 and retry this experiment.

                          Also, the x_vera_device.failed attribute on Vera device entities is driven entirely from urn:micasaverde-com:serviceId:HaDevice1/CommFailure and there is no other magic there. I just converts the data type (0 if false, anything else is true).

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

                          wmarcolinW 1 Reply Last reply
                          0
                          • toggledbitsT toggledbits

                            @wmarcolin said in How to monitor sensors that stop working?:

                            I also didn't find anything about how to do something to force the re-evaluation of the variables

                            I'm not sure if you're talking about the state variables on the Vera here, or the attributes on the entity in MSR, or the expression variables in MSR, but a few important things:

                            1. Vera's state variables are driven by Luup and the ZWave engine. You have to rely on Luup to set them properly. You can change their value yourself, but that's meaningless, of course: setting CommFailure=1 doesn't mean device communications will fail thereafter, and setting CommFailure=0 when device communication failures are occurring will not cure them. They are state variables, not action variables. If you want a state variable to change related to device behavior, you have to think action: Refresh, Poll, Reconfigure, etc. If those actions result in a change of state, that will update the variables.

                            2. Entities are updated when Vera posts a change for the device. MSR uses Luup's method of sending changes for devices, and that's a pretty old and reliable mechanism, not without problems, but they are well known and would not apply here. The way to update an MSR entity related to a Vera controller is by causing its states to change.

                            3. MSR variables, be they global or rule-based, should update immediately upon a change of the entity, but since 21267, I've been chasing one particular problem that pops up in expressions that use each, first, and do...done. I think I finally found that yesterday. There is an unannounced build 21280 currently posted that contains that fix (I published it for just one person that I'm helping via Mantis). The expression shown in @Buxton 's post is exactly the type of expression affected. I would upgrade to 21280 and retry this experiment.

                            Also, the x_vera_device.failed attribute on Vera device entities is driven entirely from urn:micasaverde-com:serviceId:HaDevice1/CommFailure and there is no other magic there. I just converts the data type (0 if false, anything else is true).

                            wmarcolinW Offline
                            wmarcolinW Offline
                            wmarcolin
                            wrote on last edited by
                            #16

                            @toggledbits thank you for your comments, and let's be clear, the MSR is perfect, it reflects exactly the information from Vera's many variables. So it is possible to query x_vera_device.failed or urn:micasaverde-com:serviceId:HaDevice1/CommFailure without any problem, it can be a Global variable that updates immediately, or a routine that I execute every period and it also updates, the problem is definitely not with the MSR.

                            The question is how to force Vera to fetch the updated status of the device, and then update the variables in the hub (which MSR will then automatically see).

                            In an old and excellent suggestion from @rafale77 , the wakeup times and the poll (https://community.ezlo.com/t/zwave-network-on-vera-explained/210661/3) have been increased, which has improved the performance of the hub and battery savings, but causes a huge update delay.

                            So your comment about running a Refresh or Poll is exactly what I am looking for, I understand it should be commanded to not wait for the hub loop, and as you comment, the action should result in the update of the state and variables.

                            Now what is this command? Where do I find instructions on how to execute this command? Can I have a loop in the MSR to execute based on a device list (example above) of messages?

                            Thanks

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

                              The zwave_device.reconfigure and zwave_device.refresh actions are available on multiple hubs (it takes a bit of extra config for Home Assistant and Hubitat because they don't "disclose" that a device is a ZWave device through their APIs, but still doable).

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

                              wmarcolinW 1 Reply Last reply
                              0
                              • toggledbitsT toggledbits

                                The zwave_device.reconfigure and zwave_device.refresh actions are available on multiple hubs (it takes a bit of extra config for Home Assistant and Hubitat because they don't "disclose" that a device is a ZWave device through their APIs, but still doable).

                                wmarcolinW Offline
                                wmarcolinW Offline
                                wmarcolin
                                wrote on last edited by
                                #18

                                @toggledbits

                                This work.

                                97ade70c-5a06-4305-b588-e4d26ee475e9-image.png

                                ff2a9d9d-5fd8-417a-af28-38a89c046a6e-image.png

                                d3c44268-4127-4048-8fa9-3a5f425fdb97-image.png

                                But after a few seconds the error message disappears, and the error is not displayed, i.e. the variables are not updated.

                                2aed61ef-6cc9-42d4-9598-c47566c1d7d8-image.png

                                Incredible! Even after doing a Poll or Refresh, the variables are not updated.

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

                                  Where are you looking to see if the variables are updated?

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

                                  wmarcolinW 1 Reply Last reply
                                  0
                                  • toggledbitsT toggledbits

                                    Where are you looking to see if the variables are updated?

                                    wmarcolinW Offline
                                    wmarcolinW Offline
                                    wmarcolin
                                    wrote on last edited by wmarcolin
                                    #20

                                    @toggledbits here in this query

                                    56132e5b-2a0a-4a51-9f59-ec5b30353873-image.png

                                    Or

                                    e4c91726-8383-4c66-b7ef-88adf5435723-image.png

                                    91c6d358-03e1-4165-a75a-c8192571468a-image.png

                                    Taking as an example the same type of device, but I don't know how and when Vera updated it, see how the same queries appear:

                                    db94a0d5-9561-4b50-9e14-2f034f560407-image.png

                                    96c71690-f0dc-402a-bc69-a21eadd7ef63-image.png

                                    38000151-6959-44be-83c6-f1d096c5fb5a-image.png

                                    The problem is not the query, it is effectively why the hub is not updating the variables after a refresh or poll, and how come then the hub does an operation that does this updating is we can do the same when we want to.

                                    Thanks

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

                                      Doing a refresh or poll on a failed device is no guarantee it will be unfailed. Am I missing something here?

                                      I would also not assume that the absence of the error from Vera's UI7 is any indication of what the device is actually doing. UI7 is horrible at maintaining sync with its own devices. Don't draw any conclusions about anything UI7 tells you unless you've done a hard refresh before you look. This is especially true of the state variable display on the Advanced tab.

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

                                      wmarcolinW 1 Reply Last reply
                                      0
                                      • toggledbitsT toggledbits

                                        Doing a refresh or poll on a failed device is no guarantee it will be unfailed. Am I missing something here?

                                        I would also not assume that the absence of the error from Vera's UI7 is any indication of what the device is actually doing. UI7 is horrible at maintaining sync with its own devices. Don't draw any conclusions about anything UI7 tells you unless you've done a hard refresh before you look. This is especially true of the state variable display on the Advanced tab.

                                        wmarcolinW Offline
                                        wmarcolinW Offline
                                        wmarcolin
                                        wrote on last edited by
                                        #22

                                        @toggledbits well in my little technical knowledge, I imagine that if you send a Poll or Refresh command to a device, it should try to perform the operation, as I see it is happening, until it has a time-out because it did not get a confirmation of the operation.

                                        In this case in my small technical view, I understand that the variables that indicate a failure should be updated as x_vera_device.failed = true.

                                        Well, it is unfortunate not to understand that in a magic trick these variables are updated.

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

                                          So what I'm confused about here... isn't it already showing failed=true?

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

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


                                          Recent Topics

                                          • Home Assistant Connect ZWA-2 & ZBT-2
                                            tunnusT
                                            tunnus
                                            3
                                            9
                                            281

                                          • [MSR] Feature request: For Each action on arrays/groups
                                            therealdbT
                                            therealdb
                                            0
                                            7
                                            93

                                          • [Solved] Error: Command timeout
                                            toggledbitsT
                                            toggledbits
                                            0
                                            10
                                            330

                                          • Issue with MSR UI becoming unresponsive
                                            S
                                            sethlampman
                                            0
                                            7
                                            133

                                          • Date/time condition
                                            tunnusT
                                            tunnus
                                            0
                                            3
                                            107

                                          • Is there a way to turn this section (image in post) off?
                                            toggledbitsT
                                            toggledbits
                                            0
                                            1
                                            78

                                          • Device log?
                                            toggledbitsT
                                            toggledbits
                                            0
                                            2
                                            102

                                          • Midnight crossing not working in date/time condition (build 25325)
                                            tunnusT
                                            tunnus
                                            0
                                            3
                                            128

                                          • Reactor (Multi-System/Multi-Hub) Announcements
                                            toggledbitsT
                                            toggledbits
                                            5
                                            131
                                            75.9k

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

                                          • Home Assistant 2025.11.2 and latest-25315
                                            G
                                            gwp1
                                            0
                                            6
                                            328
                                          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