This is fantastic (and I’m sure is covered in the manual - oops). Thank you, @tunnus
tbully
Following on from my last thread, some progress has been made over the weekend.
With 18G of spanky RAM in my Synology DS224+. I've jumped into the murky world of virtualisation and already eliminated the need for two Raspberry Pi's from my system.
Home Assistant: In theory they provide an OVA file which is supported by the Synology. I couldn't get it to work, however, so grabbed a copy of the .img file they supply, renamed it .iso and imported it as a VM. Restored from my full back up and that all seems fantastic.
Minidnla Music server: Trivial. Grabbed a Debian .iso for Bookworm and copied that onto the NAS. Created a new machine which mirrored the specs of the Raspberry Pi, booted from the ISO then did an expert install. Once that was all stable with a basic core of stuff and networking, I've made a copy of that as a good base system. Then fired up minidnla on it, mounted my media and that's also woking. Not bad for a short weekend's work.
Still not sure about the main NUC though. I'm thinking of buying a new USB stick so I can mess around getting it working on the Synology before I do anything drastic.
Once that hurdle is sorted I'm torn between:
Using a brand new install of Bookworm, re-installing Z-way server, OpenLuup, AltUI, MSR and HA bridge, then restoring across or Making an ISO of the current system, importing that and upgrading in place (which will be pretty risk free since I can snapshot everything before I make any changes.)Decisions, decisions.
C
Morning, experts. Hard on learning about the internet check script in MSR tools, I was wondering what suggestions anyone has about a local (i.e. non-internet dependent) notification method.
This was prompted by yesterday's fun and games with my ISP.
I've got the script Cronned and working properly but short of flashing a light on and off, I'm struggling to think of a way of alerting me (ideally to my phone)
I guess I could set up a Discord server at home, but that feels like overkill for a rare occasion. Any other suggestions?
TIA
C
Hi everyone. Thanks for all your input recently on the topic of local notifications. I think we got some really interesting solutions 🙂
Back to more prosaic matters. Most of you will know that I've been messing around with this stuff for some years. My last major change was when I migrated from Vera, which was something like 4-5 years ago.
While my system has grown, it's not really altered very regularly, although I try to keep most of it kind of up to date.
Current set up:
Intel NUC that runs:
Bare metal install of Debian
Z-way server with Z-wave.me USB stick
Openluup
Altui
Multi system reactor
HA Bridge
Mosquito
Raspberry Pi
Running Home Assistant
About 40 varied Z-wave and Wifi devices
I also have a Synology DS224+ which may inform some responses.
Home Assistant recovery is pretty simple. I get a full backup of the system every night dumped onto my SAN and I know from experience that it would simply be a case of booting up a new install and feeding it the backup.
The NUC on the other hand....
Coming from a commercial IT world, I am becoming more and more conscious that I don't really feel I have a suitable disaster recovery plan, and my core system is running on hardware heading for 10 years old.
My initial thought, which I've kept putting off as it's awkward would be to grab a nice SSD, reboot the NUC into Mint or something similar and simply do a dd copy onto a new drive. I can get a replacement NUC on ebay simply enough, and keep it in a cupboard if anything other than the hard drive fails on the existing one, but this feels rather like a stop gap. However one immediate question:
If I had to use the replacement NUC would all the Z-wave devices simply carry on talking to the stick, or would they all need to be re-paired?
How easy would it be to move everything the NUC does (as a start) onto the NAS? Create a VM and clone the disc onto it?
Should I move to Docker? Something else?
What are the hive mind's thoughts?
Apologies if we've done this before, but while it all just works...
Cheers!
C
Morning world. Looking for some thoughts on recent experience 🙂
Yesterday my ISP had something of a catastrophic failure (in theory not yet fixed but seems OK for now)
While this is annoying for several reasons, one thing that I wasn't expecting was for AltUI to become pretty much un-usable.
Unless I have a tab already open and active, connecting to the Home page is pretty much random / impossible, just presenting with a white page and (sometimes) 'Waiting for initial data' on the bottom. Everything works (i.e. where I have controllers or Reactions I can trigger, they function flawlessly) it's just something of a pain since 99.9% of my control is via Alexa now, and not being able to access devices in AltUI makes things like turning some lights of a bit tricky 😉
I suspect that this is due to AltUI trying to pull licence info and Weather data, and failing. What I should do is probably access the OpelLuup console direct and see if that works better in future.
Does that make sense to anyone, or am I completely off track?
Cheers
C
Hi all. First post so please be gentle.
I have an Eachen two-gang smart wall switch wired no neutral (with capacitor) connected to existing bathroom lights which works perfectly. It's also wired to a Sonoff Mini R4 Extreme connected to LED lights. I want the LED lights to switch on when the bathroom lights switch on (and vice versa). The Mini R4 works separately on my phone via Ewelink as well as on the Mini R4 itself (physical button). The switch is installed inside the wall and the rest of the components are in the ceiling / attic / roof cavity. The Mini R4 is set to Edge switch mode which works in my example I wired.
How I wired it:
cb919874-6933-460a-8cd0-f063bac88674-image.png
I have a video showcasing the example I wired today works. I could share it if required. Ignore the white cable. I only used it to power the example.
77ebbc23-83de-48ee-a4bf-247bfd24f121-image.png
3827ede6-cf5c-47aa-8fdb-c75470101c4a-image.png
The wiring diagram I used for the mini R4.
485de912-e656-4da3-b6f6-81cb076e0261-image.png
I wired it together with the existing lights of the bathroom so that L1 switches on both the Mini R4 and the bathroom lights:
a3ea5c93-a9ae-4aaf-8dce-24018bcdb4d1-image.png
This is the wiring diagram for the Eachen switch:
b867a3c7-c1ac-428c-a90f-7f0f4b62a609-image.png
The Eachen's first gang (L1) doesn't trigger the Mini R4 in any way.
Any help or advice will be much appreciated.
Thanks,
R
Hi,
I'm trying to integrate the sonos-mqtt (https://sonos2mqtt.svrooij.io/) with the MSR and it's coming along nicely so far.
But cannot wrap my head around how to define custom capabilities in MQTT templates. I need this for the TTS announcements and similarly for the notification sounds where I would pass the sound file as parameter.
So this is what I have in the local_mqtt_devices.yaml
capabilities: x_sonos_announcement: attributes: actions: speak: arguments: text: type: string volume: type: int delay: type: intAnd this is the template:
templates: sonos-announcement: capabilities: - x_sonos_announcement actions: x_sonos_announcement: speak: topic: "sonos/cmd/speak" payload: expr: > { "text": parameters.text, "volume": parameters.volume, "delayMs": parameters.delay, "onlyWhenPlaying": false, "engine": "neural" } type: jsonSo the speak action should send something like this to topic sonos/cmd/speak
{ "text": "message goes here", "volume": 50, "delayMs": 100, "onlyWhenPlaying": false, "engine": "neural" }At startup the MSR seems to be quite unhappy with my configuration:
reactor | [latest-25016]2025-02-09T08:19:59.029Z <MQTTController:WARN> MQTTController#mqtt entity Entity#mqtt>sonos-announcement unable to configure capabilities [Array][ "x_sonos_announcement" ] reactor | i18n: missing fi-FI language string: Configuration for {0:q} is incomplete because the following requested capabilities are undefined: {1} reactor | i18n: missing fi-FI language string: Configuration for {0:q} has unrecognized capability {1:q} in actions reactor | Trace: Configuration for {0:q} is incomplete because the following requested capabilities are undefined: {1} reactor | at _T (/opt/reactor/server/lib/i18n.js:611:28) reactor | at AlertManager.addAlert (/opt/reactor/server/lib/AlertManager.js:125:25) reactor | at MQTTController.sendWarning (/opt/reactor/server/lib/Controller.js:627:30) reactor | at MQTTController.start (/var/reactor/ext/MQTTController/MQTTController.js:268:26) reactor | at async Promise.allSettled (index 0) Configuration for "sonos-announcement" has unrecognized capability "x_sonos_announcement" in actions Controller: MQTTController#mqtt Last 10:21:37 AM Configuration for "sonos-announcement" is incomplete because the following requested capabilities are undefined: x_sonos_announcement Controller: MQTTController#mqtt Last 10:21:37 AMThis is probably a pretty stupid question and the approach may not even work at all, but maybe someone or @toggledbits for sure, could point me to the right direction.
Basically the idea is to be able to send TTS messages from reactions using entity actions. I've previously used HTTP requests to Sonos HTTP API (https://hub.docker.com/r/chrisns/docker-node-sonos-http-api/) for the same functionality, but since moving to sonos-mqtt, I need a way to send the TTS notifications using MQTTController. Along with the actual message, volume and delay must also be parameterizable.
br,
mgvra
MSR latest-25016-d47fea38 / MQTTController [0.2.24293]
Hi, @toggledbits
I just noticed that following a reboot of my raspberry pi, some of the rules, that I was expecting to recover, are not catching up following a reboot. I have made a simple test rule (rule-m6rz6ol1) with only "after Date/time" as trigger and "turn on a lamp" as a set reaction. All my infrastructure is on the same board so Reactor, Hass, Zwavejs, ... are all rebooting.
Here is the sequence of the test case (All time converted to Zulu to match logs):
Rule "after Date/Time" set to 14:05:00z Shutdown on Raspberry Pi at 14:04:00z Power back up at 14:08:00z Rule overview shows true as of 14:08:14z waiting for 00:00:00 in GUIFrom the log I can see that MSR is picking up the rule and knows that the state of the rule has changed from false to true and tries to send the update to HASS but failed with websocket error.
Here is what I see from the log:
14:04:04z shutdown complete 14:08:08z Power up 14:08:13.111z websocket connection 14:08:15:323z Reaction to the light failed, Websocket not opened After there is a series of websocket connection attempt until 14:08:51z where it seemed to be really ready.Back in 2021 we had a discussion (https://smarthome.community/topic/700/solved-start-up?_=1738766986566) and you proposed to add a startup_delay:xxxx and startup_wait:xxxx parameter in the engine section of "reactor.yaml". When I try the startup_delay (this used to be a hard delay), the engine failed to start (I think). I then try the startup_wait:xxxx without any success. Since it wait for the connection status to be up to cancel the delay, it does not do anyting since Hass is reporting the socket up without really being up ( I think...).
Questions:
Did I figured it all wrong? should the startup_delay:xxxxx have worked? Any ideas?Here is the log:
OK now I am stuck. I did add the log but when I submit the editor complained saying that I am limited to 32767 characters. The log from the shutdown to the time the websocket is stable is about 300000 character long. What are my options?
Not a big issue simply a request if easily doable.
The MSR logs files inside the container are owned by root witch is fine however, the permissions are very restrictive. I do not know if there is something wrong with my installation but the logs permission are set to 222 (write only). Even if the docker volume is set for Read/Write the log files are retaining these values.
I go around the problem by doing a chmod 777 on all reactor logs but every time there is an MSR log rotation the permissions are set back to 222. So unless the permission are implemented in the container there is no permanent solution to this (that I know of).
I do not know much about Docker container so I do not know what is involved here.
Can the logfiles permission be simply chaged in the container to at least allow "other" read permission?
Could the MSR log rotation routine implement a chmod to set the permission?
Just a small anoyance
Thanks
@toggledbits In the MSR documentation, under Standard Capabilities, I noticed that the
button.since attribute was deprecated as of version 22256 and the metadata is the preferred way to access the last-modified time of an attribute.
Am I reading this right? Should I stop using it in my rules?
Thanks
When on my bare metal RPi with MSR I had a rule that ran every minute to check Internet status via a script in MSR called reactor_inet_check.sh
I've moved to containerized MSR and see in the instructions that this cannot be run from the container.
The script cannot run within the Reactor docker container. If you are using Reactor in a docker container, the script needs to be run by cron or an equivalent facility on the host system (e.g. some systems, like Synology NAS, have separate task managers that may be used to schedule the repeated execution of tasks such as this).
I've put a script on my container host that calls the reator_inet_check.sh script and it isn't erroring... but I still see the internet status within MSR as null.
Before I go diving down the rabbit hole... should this work?
My cronjob on the proxmox host:
909fe6f0-77fd-4734-80a4-c9e354c910b6-image.png
The contents of msr_internet_check_caller.sh
16337528-cf31-4968-bffe-af1149f7103e-image.png
Just bought a couple of generic smart plugs and set them up easily using SmartLife app in the house I then plugged one into a workshop over 100m away This workshop has a hardwired internet connection with a separate wireless access router (not mesh) after doing a reset on the device and pairing to the new router it actually works from the house when my phone is connected to a completely separate wifi network - how is that possible ?
I did read something about these devices connecting to a server somewhere in China similar to IP cameras but there is no lag
I need to replace about 15 traditional wall light switches (no neutral wire) to turn on/off all lights with one operation inside the warehouse. And still maintain the ability to control each light individually.
The preference is not to set up a Wifi for each switch to reduce the number of devices connected to the network, and also, they change the Wifi password regularly, so they do not want to change all 15 switches.
I am looking for some solution that will achieve this with either Bluetooth/RF or any other technology.
The warehouse dimensions are about 100ftx100ft with sheetrock walls.
Please assist.
Background: this is a Windows MSR install I've done for our local pool/amenity center just to run some fans and lights (not my daily driver at home). Install went perfectly fine.
Scenario: I want the lights to go on when it's dark enough (even if during a storm, not just after sunset) so I'm using solarRadiation from my weather station to drive that Trigger. Easy stuff.
Issue: sometimes, someone goes in the office and just starts flipping switches and the result can be lights turned on in the daytime or off at night. I'm trying to create a "catch-all" wherein if it is daytime and the lights somehow find their way ON, they will turn themselves back OFF.
I have the following Reaction built:
b30eab5b-5a14-4a3a-8c9a-47e3e7e53dc3-image.png
I also have this Reaction for opposite, ie the lights find themselves turned off after dark and they will turn themselves back on:
5c6946b1-297c-4eb1-9618-74820979df29-image.png
Here are my two rules:
288cba86-f941-4157-86d9-d8e7487905f7-image.png *NOTE that in my manual testing, ie I turn on the light switch at the incorrect time, when the solarRadiation level changes the Lights ON rule flags and shows as SET. On the next change of solarRadiation it goes back to reset again.
My expectation is that Lights OFF rule should see the lights are on, the solarRadiation is above the set limit, and turn them off. Instead, every other run, the ON rule moves to SET and then reset again on the following run.
Logs appear angry:
[latest-25016]2025-01-26T22:03:31.696Z <Engine:INFO> Enqueueing "Lights ON<RESET>" (rule-m6e4ajh7:R) [latest-25016]2025-01-26T22:03:31.712Z <Engine:NOTICE> Starting reaction Lights ON<RESET> (rule-m6e4ajh7:R) [latest-25016]2025-01-26T22:03:31.713Z <Engine:INFO> Lights ON<RESET> all actions completed. [latest-25016]2025-01-26T22:03:42.565Z <wsapi:INFO> client "127.0.0.1#3" closed, code=1001, reason= [latest-25016]2025-01-26T22:03:42.753Z <httpapi:INFO> [HTTPAPI]#1 API request from ::ffff:127.0.0.1: GET /api/v1/lang [latest-25016]2025-01-26T22:03:42.754Z <httpapi:INFO> [HTTPAPI]#1 request for /api/v1/lang from ::ffff:127.0.0.1 user anonymous auth none matches /api/v1/lang ACL (#7): [Object]{ "url": "/api/v1/lang", "allow": true, "index": 7 } [latest-25016]2025-01-26T22:03:42.790Z <wsapi:INFO> wsapi: connection from ::ffff:127.0.0.1 [latest-25016]2025-01-26T22:03:42.839Z <wsapi:INFO> [WSAPI]wsapi#1 client "127.0.0.1#6" authorized [latest-25016]2025-01-26T22:03:43.353Z <httpapi:INFO> [HTTPAPI]#1 API request from ::ffff:127.0.0.1: GET /api/v1/systime [latest-25016]2025-01-26T22:03:43.353Z <httpapi:INFO> [HTTPAPI]#1 request for /api/v1/systime from ::ffff:127.0.0.1 user anonymous auth none matches /api/v1/systime ACL (#5): [Object]{ "url": "/api/v1/systime", "allow": true, "index": 5 } [latest-25016]2025-01-26T22:03:48.146Z <wsapi:INFO> client "127.0.0.1#6" closed, code=1001, reason= [latest-25016]2025-01-26T22:03:48.308Z <httpapi:INFO> [HTTPAPI]#1 API request from ::ffff:127.0.0.1: GET /api/v1/lang [latest-25016]2025-01-26T22:03:48.309Z <httpapi:INFO> [HTTPAPI]#1 request for /api/v1/lang from ::ffff:127.0.0.1 user anonymous auth none matches /api/v1/lang ACL (#7): [Object]{ "url": "/api/v1/lang", "allow": true, "index": 7 } [latest-25016]2025-01-26T22:03:48.346Z <wsapi:INFO> wsapi: connection from ::ffff:127.0.0.1 [latest-25016]2025-01-26T22:03:48.390Z <wsapi:INFO> [WSAPI]wsapi#1 client "127.0.0.1#7" authorized [latest-25016]2025-01-26T22:03:49.412Z <httpapi:INFO> [HTTPAPI]#1 API request from ::ffff:127.0.0.1: GET /api/v1/systime [latest-25016]2025-01-26T22:03:49.413Z <httpapi:INFO> [HTTPAPI]#1 request for /api/v1/systime from ::ffff:127.0.0.1 user anonymous auth none matches /api/v1/systime ACL (#5): [Object]{ "url": "/api/v1/systime", "allow": true, "index": 5 } [latest-25016]2025-01-26T22:03:52.734Z <wsapi:INFO> client "127.0.0.1#7" closed, code=1001, reason= [latest-25016]2025-01-26T22:03:52.891Z <httpapi:INFO> [HTTPAPI]#1 API request from ::ffff:127.0.0.1: GET /api/v1/lang [latest-25016]2025-01-26T22:03:52.892Z <httpapi:INFO> [HTTPAPI]#1 request for /api/v1/lang from ::ffff:127.0.0.1 user anonymous auth none matches /api/v1/lang ACL (#7): [Object]{ "url": "/api/v1/lang", "allow": true, "index": 7 } [latest-25016]2025-01-26T22:03:52.925Z <wsapi:INFO> wsapi: connection from ::ffff:127.0.0.1 [latest-25016]2025-01-26T22:03:52.965Z <wsapi:INFO> [WSAPI]wsapi#1 client "127.0.0.1#8" authorized [latest-25016]2025-01-26T22:03:54.383Z <httpapi:INFO> [HTTPAPI]#1 API request from ::ffff:127.0.0.1: GET /api/v1/systime [latest-25016]2025-01-26T22:03:54.384Z <httpapi:INFO> [HTTPAPI]#1 request for /api/v1/systime from ::ffff:127.0.0.1 user anonymous auth none matches /api/v1/systime ACL (#5): [Object]{ "url": "/api/v1/systime", "allow": true, "index": 5 } [latest-25016]2025-01-26T22:04:01.590Z <wsapi:INFO> [WSAPI]wsapi#1 rpc_echo [Object]{ "comment": "UI activity" } [latest-25016]2025-01-26T22:04:39.646Z <Rule:INFO> Lights OFF (rule-m6e33ja3 in Atrium Lights) evaluated; rule state transition from RESET to SET! [latest-25016]2025-01-26T22:04:39.656Z <Rule:INFO> Lights ON (rule-m6e4ajh7 in Atrium Lights) evaluated; rule state transition from RESET to SET! [latest-25016]2025-01-26T22:04:39.663Z <Engine:INFO> Enqueueing "Lights OFF<SET>" (rule-m6e33ja3:S) [latest-25016]2025-01-26T22:04:39.665Z <Engine:INFO> Enqueueing "Lights ON<SET>" (rule-m6e4ajh7:S) [latest-25016]2025-01-26T22:04:39.668Z <Engine:NOTICE> Starting reaction Lights OFF<SET> (rule-m6e33ja3:S) [latest-25016]2025-01-26T22:04:39.669Z <Engine:NOTICE> Starting reaction Lights ON<SET> (rule-m6e4ajh7:S) [latest-25016]2025-01-26T22:04:39.669Z <Engine:INFO> Lights ON<SET> all actions completed. [latest-25016]2025-01-26T22:04:39.675Z <Rule:INFO> Lights OFF (rule-m6e33ja3 in Atrium Lights) evaluated; rule state transition from SET to RESET! [latest-25016]2025-01-26T22:04:39.680Z <Engine:NOTICE> ReactionHistory: no entry for [latest-25016]2025-01-26T22:04:39.683Z <Engine:NOTICE> [Engine]Engine#1 entry 256 reaction rule-m6e33ja3:S-1q2f1j0p: [Error] terminated [parent terminating] [latest-25016]2025-01-26T22:04:39.683Z <Engine:CRIT> Error: terminated [parent terminating] Error: terminated at Engine._process_reaction_queue (C:\Users\Jalan\msr\reactor\server\lib\Engine.js:1644:47) [latest-25016]2025-01-26T22:04:39.699Z <Engine:NOTICE> [Engine]Engine#1 entry 254 reaction rule-m6e33ja3:S: [Error] terminated [preempted by rule state change] [latest-25016]2025-01-26T22:04:39.699Z <Engine:CRIT> Error: terminated [preempted by rule state change] Error: terminated at Engine._process_reaction_queue (C:\Users\Jalan\msr\reactor\server\lib\Engine.js:1644:47) [latest-25016]2025-01-26T22:04:39.700Z <Engine:INFO> Enqueueing "Lights OFF<RESET>" (rule-m6e33ja3:R) [latest-25016]2025-01-26T22:04:39.704Z <Engine:NOTICE> Starting reaction Lights OFF<RESET> (rule-m6e33ja3:R) [latest-25016]2025-01-26T22:04:39.705Z <Engine:INFO> Lights OFF<RESET> all actions completed. [latest-25016]2025-01-26T22:05:48.822Z <Rule:INFO> Lights ON (rule-m6e4ajh7 in Atrium Lights) evaluated; rule state transition from SET to RESET! [latest-25016]2025-01-26T22:05:48.831Z <Engine:INFO> Enqueueing "Lights ON<RESET>" (rule-m6e4ajh7:R) [latest-25016]2025-01-26T22:05:48.847Z <Engine:NOTICE> Starting reaction Lights ON<RESET> (rule-m6e4ajh7:R) [latest-25016]2025-01-26T22:05:48.847Z <Engine:INFO> Lights ON<RESET> all actions completed.Hi @toggledbits
I found this very old post that talked about a way to limit device reading to avoid the throttled problem, because it's not a question of logic, it's that the device actually sends a lot of information, in my case the NUT ups installed in HE.
https://smarthome.community/topic/687/flapping-device?_=1737652139854
It mentions engine section of reactor.yaml by setting update_rate_limit, but I looked in the current MSR documentation and I can't find this information, so I don't know if it's still valid, its effect and parameters.
My situation is simple, when I have a UPS problem the NUT is sending dozens of reports per second and then I have the throttled problem. The same rule applies when the power is normal.
This is the rule, and the parameter that fails is the Tripp Lite UPS status.
cf9ddabf-3144-4e5a-80a4-0dc7664b9573-image.png
a813a077-974e-4737-897c-e383085b3d8f-image.png
All error is the same scenario.
[latest-25016]2025-01-23T12:01:32.753Z <Rule:WARN> (13) NUT Disconected (rule-l4djr0p7 in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Throttl> [latest-25016]2025-01-23T12:01:32.756Z <Rule:WARN> (27) Falta de Energia (rule-l4h9ceod in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Thrott> [latest-25016]2025-01-23T12:01:32.769Z <Rule:WARN> (73) UPS Battery Low (rule-l4hj850o in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Throttl> [latest-25016]2025-01-23T12:01:32.772Z <Rule:WARN> (74) UPS Comm Fail (rule-l4kbs5cp in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Throttlin> [latest-25016]2025-01-23T12:01:32.776Z <Rule:WARN> (76) UPS Utility Back (rule-l4hjhs6m in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Thrott> [latest-25016]2025-01-23T12:01:32.780Z <Rule:WARN> UPS On Battery (rule-l4hjuka5 in Datacenter) update rate 121/min exceeds limit (120/min)! Logic loop? Throttling> [latest-25016]2025-01-23T12:01:32.781Z <Rule:WARN> UPS Info (rule-l4gheo63 in Datacenter) update rate 121/min exceeds limit (120/min)! Logic loop? Throttling... [latest-25016]2025-01-23T12:01:40.757Z <Rule:WARN> (13) NUT Disconected (rule-l4djr0p7 in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Throttl> [latest-25016]2025-01-23T12:01:40.759Z <Rule:WARN> (27) Falta de Energia (rule-l4h9ceod in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Thrott> [latest-25016]2025-01-23T12:01:40.776Z <Rule:WARN> (73) UPS Battery Low (rule-l4hj850o in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Throttl> [latest-25016]2025-01-23T12:01:40.777Z <Rule:WARN> (74) UPS Comm Fail (rule-l4kbs5cp in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Throttlin> [latest-25016]2025-01-23T12:01:40.778Z <Rule:WARN> (76) UPS Utility Back (rule-l4hjhs6m in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Thrott>Thanks.
Hello -
Long time. Hope everyone is good.
I have a rule that looks at a number of temperature sensors around the house. It simply sends a general alert if any of them fall below their threshold. (A basic “House is too cold” alert for when we’re away)
Generally, this has worked well. But I was wondering if there’s a way to make the message somewhat dynamic without creating separate rules for each sensor.
E.g. “House is too cold due to Sump Temperature below 45 degrees.”
I thought I remember reading about someone doing this in the past but couldn’t find it.
Thanks for any ideas!
After upgrade from 24366 to 25016 toggle on Vera (openLuup) lock entity doesn't seem to work.
VeraController log level 5
24366:
25016:
[latest-25016]2025-01-20T20:30:25.457Z <VeraController:INFO> VeraController#vera perform action toggle.toggle on Lock#vera>device_10016 with [Object]{ } [latest-25016]2025-01-20T20:30:25.458Z <VeraController:5:VeraController.js:1210> VeraController#vera no configured implementation for toggle.toggle on Lock#vera>device_10016; calling super [latest-25016]2025-01-20T20:30:25.458Z <VeraController:INFO> VeraController#vera perform action lock.set on Lock#vera>device_10016 with [Object]{ "state": false } [latest-25016]2025-01-20T20:30:25.461Z <VeraController:5:VeraController.js:1255> VeraController#vera sending action request [Object]{ "newTargetValue": "0", "DeviceNum": 10016, "id": "action", "serviceId": "urn:upnp-org:serviceId:DoorLock1", "action": "SetTarget" } [latest-25016]2025-01-20T20:30:25.461Z <VeraController:5:VeraController.js:515> [VeraController:verarequest] requesting http://127.0.0.1:3480/data_request?newTargetValue=0&DeviceNum=10016&id=action&serviceId=urn%3Aupnp-org%3AserviceId%3ADoorLock1&action=SetTarget&output_format=json&_r=1737405025461 ([Object]{ }) [latest-25016]2025-01-20T20:30:25.463Z <VeraController:NOTICE> VeraController#vera action lock.set([Object]{ "state": false }) on Lock#vera>device_10016 succeededI tried to log an issue in Mantis Bug Tracker but I can't log in anymore?
Trying to understand what cause a local expresssion to be evaluated. I have read the manual but I am still not clear about it. Using the test rule below, I can see in the log that the rule is being automatically evaluated every time the temperature entity is changing. That is great...
What I am trying to understand is why the expression is not evaluated based on time as well since the "case" statement has time dependencies.
Any help would be appreciated
I have the following test rule:
eba6a3ea-ff61-4610-88c9-9b9864f11ff8-Screenshot 2025-01-21 095244.png
2d9c1ff5-7b73-4005-b324-9029c2709db9-Screenshot 2025-01-21 095302.png
Here is the expressioncode:
vFrom1 = "09:25:00", vFrom2 = "09:30:00", vFrom3 = "09:41:00", vTo = "10:55:00", # Get current time (format HH:MM:SS) vToDay = strftime("%H:%M:%S"), #Get current house temperature CurrentHouseTemp = getEntity( "hass>Thermostat2 " ).attributes.temperature_sensor.value, case when CurrentHouseTemp <= 19 and vToDay >= vFrom1 && vToDay <= vTo: "true1" # From1 when CurrentHouseTemp <= 20 and vToDay >= vFrom2 && vToDay <= vTo: "true2" # From2 when CurrentHouseTemp < 26 and vToDay >= vFrom3 && vToDay <= vTo: "true3" # From3 else "false" endI’ve set up an automation in Apple Home to turn on the lights when the first person arrives. However, the lights also turn on when I leave for work. It seems like the automation is triggered when I cross the geofence, whether arriving or leaving.
I’m using Matter-compatible Tapo smart plugs. Is there a way to fix this behavior?
Hi,
I started home automation in 2013 and using Vera controllers from the start. When Reactor plugin became available (super plugin of @toggledbits !!) I transferred all scenes to Reactor.
I must say everything here works still okay and I have a lot of devices, plugins and Reactors. But I fear at some point my Vera's will stop working.
I recognize many of your names here from the Vera forum. I also was banned a couple of years ago.
Recently I decided to switch to Home Assistant. I already transferred some of my zwave devices from Vera to HA and made some new automations.
I must say HA is great and with huge amount of integrations, add-ons, the HACS store and many examples (like blueprints) the opportunites to increase home automation are huge.
HA will be for sure my central system (incl UI)
But... the learning curve is quite steap (YAML is completely different from Lua/luup).
So for the time being I will keep my most complex Reactor automations.
I already found how I can connect/integrate Vera for binairy sensors via webhooks (as an example: changes in my home modes are directly send from Vera to HA).
Now I also want to use some data like sensors or Reactor variables automatically to HA via https requests (put those in Reactor).
I know I can create virtual sensors in HA via templates.
As an example: I have my own PWS with a rainmeter. In Reactor I compare the amount of rain (in mm) in the actual year with historical figures (past 15 years) and calculate the difference actual vs history in % Every day at 0.00h these figures are updated. I defined variables in Reactor and use Multistring plugin (Variable container) to show the data.
I know several specialists in coding with experience in both Vera and HA are active here on this forum.
Who can help me with this ?
And then MSR...
My first issue: I'm logged into the msr CT as reactor (I used the suggested username just to keep things simple as this is new space for me and I was high off my success of migrating HA over).
When I run
docker pull toggledbits/reactor:latest-amd64... it assigns the \reactor\ subdirectory where installed root ownership. I am absolutely logged in with the correct non-root user.
1c58aead-85ca-4b2c-8f48-c3d1f57d7fe3-image.png
Second issue: I copied over the following folders:
67e7e4a5-cee8-4de1-90c7-1df35f1070b9-image.png
When MSR loads, all of my Global Expressions are missing.
Third issue:
All controllers connect wonderfully (Hubitat, etc)... except HA.
After changing ownership of the logs to reactor again I can see this when MSR calls HA:
Yes, I created a fresh new long-lived access token for the MSR containerized install and updated the reactor.yaml config file correctly.
Honestly, all-in-all, for my total lack of expertise here I'm very pleased that I only have these three issues. But they are def blockers atm.
My RPi bare metal install of MSR hooked right up to the new HA and is humming along just fine (I used hostnames were possible and shuffled some IPs in other places so I wouldn't run into things later that were mapped incorrectly that I'd forgotten about.)
Proxmox 8.3.2 MSR lives in an Ubuntu 24.04 Proxmox container MSR is latest docker versionWhat else can I provide to those smarter than me here?
Posts
-
Dynamic Alert Based on Tripped Expression -
Dynamic Alert Based on Tripped ExpressionHello -
Long time. Hope everyone is good.
I have a rule that looks at a number of temperature sensors around the house. It simply sends a general alert if any of them fall below their threshold. (A basic “House is too cold” alert for when we’re away)
Generally, this has worked well. But I was wondering if there’s a way to make the message somewhat dynamic without creating separate rules for each sensor.
E.g. “House is too cold due to Sump Temperature below 45 degrees.”
I thought I remember reading about someone doing this in the past but couldn’t find it.
Thanks for any ideas!
-
Reactor Start - System Crash/RestartIn my exhaustion (anger? Lol), I mistyped. I’m at 22.04.
I do fire an email just before the reboot. I took a break to check emails and wrap up for the day and this is what triggered it for me. If it wasn’t for this, I think I’d still be digging. I send lots of emails, perhaps too many, when different things happen. This is a great idea!
I have to go look at the rule today. I thought I set a variable on reboot which would only allow one event/reboot. At least I thought about this possibility but I clearly missed something.
Thanks for the consoling, gents. I’ve appreciated both of your support over the past year as I’ve slowly moved away from Vera to HASS with Reactor being the central rules engine.
-
Reactor Start - System Crash/RestartI could delete these posts but I won't. In short, I'm an idiot.
I remembered I have a rule which reboots my Linux host when my weather station goes in to error. Reactor lives on that host. (sigh)
My fix was to temporarily rename the "reboot" command in the filesystem to something else. Start Reactor (imagine that, no reboot!). Disable the rule. Fix the command back to "reboot" in the FS.
Happy New Year! (ugh)
-
Reactor Start - System Crash/RestartSorry for talking to myself. Just trying to relay what I know.
I tried running it manually and got the following:
tbully@homeauto03:~/reactor$ npm run deps npm ERR! Missing script: "deps" npm ERR! npm ERR! To see a list of scripts, run: npm ERR! npm run npm ERR! A complete log of this run can be found in: npm ERR! /home/tbully/.npm/_logs/2022-12-31T01_15_30_113Z-debug-0.log tbully@homeauto03:~/reactor$ NODE_PATH=$(pwd) node app.js Reactor stable-22337-1a0a685f app 22328 configuration from /home/tbully/reactor/config NODE_PATH /home/tbully/reactor [stable-22337]2022-12-31T01:15:55.631Z <app:null> Reactor build stable-22337-1a0a685f starting on v17.9.0 [stable-22337]2022-12-31T01:15:55.632Z <app:null> Process ID 2239 user/group 1000/1000; bare-metal; platform linux/x64 #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022; locale en_CA.UTF-8 [stable-22337]2022-12-31T01:15:55.633Z <app:null> Basedir /home/tbully/reactor; data in /home/tbully/reactor/storage [stable-22337]2022-12-31T01:15:55.633Z <app:null> NODE_PATH=/home/tbully/reactor [stable-22337]2022-12-31T01:15:55.651Z <Structure:null> Module Structure v22323 [stable-22337]2022-12-31T01:15:55.652Z <Capabilities:null> Module Capabilities v22283 [stable-22337]2022-12-31T01:15:55.709Z <Plugin:null> Module Plugin v22300 [stable-22337]2022-12-31T01:15:55.716Z <TimerBroker:null> Module TimerBroker v22283 [stable-22337]2022-12-31T01:15:55.720Z <Entity:null> Module Entity v22314 [stable-22337]2022-12-31T01:15:55.724Z <Controller:null> Module Controller v22323 [stable-22337]2022-12-31T01:15:55.734Z <default:null> Module Ruleset v22293 [stable-22337]2022-12-31T01:15:55.735Z <default:null> Module Rulesets v21096 [stable-22337]2022-12-31T01:15:55.743Z <GlobalExpression:null> Module GlobalExpression v21333 [stable-22337]2022-12-31T01:15:55.753Z <Predicate:null> Module Predicate v22305 [stable-22337]2022-12-31T01:15:55.757Z <AlertManager:null> Module AlertManager v22283 [stable-22337]2022-12-31T01:15:55.759Z <Rule:null> Module Rule v22335 [stable-22337]2022-12-31T01:15:55.763Z <GlobalReaction:null> Module GlobalReaction v22320 [stable-22337]2022-12-31T01:15:55.765Z <Engine:null> Module Engine v22320 [stable-22337]2022-12-31T01:15:55.769Z <httpapi:null> Module httpapi v22337 [stable-22337]2022-12-31T01:15:55.783Z <wsapi:null> Module wsapi v22320 [stable-22337]2022-12-31T01:15:55.845Z <TaskQueue:null> Module TaskQueue 21351 [stable-22337]2022-12-31T01:15:55.846Z <VeraController:null> Module VeraController v22325 [stable-22337]2022-12-31T01:15:56.133Z <HassController:null> Module HassController v22334 [stable-22337]2022-12-31T01:15:57.494Z <SystemController:null> Module SystemController v22306
-
Reactor Start - System Crash/RestartI have the logs but can't find a way to upload them. I don't have permissions to upload a file and if I paste it in here it says the post is too large.
Here's a few pieces:
[stable-22337]2022-12-31T00:33:46.745Z <app:null> Reactor build stable-22337-1a0a685f starting on v17.9.0 [stable-22337]2022-12-31T00:33:46.746Z <app:null> Process ID 7240 user/group 1000/1000; bare-metal; platform linux/x64 #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022; locale en_CA.UTF-8 [stable-22337]2022-12-31T00:33:46.746Z <app:null> Basedir /home/tbully/reactor; data in /home/tbully/reactor/storage [stable-22337]2022-12-31T00:33:46.747Z <app:null> NODE_PATH=/home/tbully/reactor [stable-22337]2022-12-31T00:33:46.750Z <app:INFO> Configured locale (undefined); selected locale(s) en_CA.UTF-8 [stable-22337]2022-12-31T00:33:46.761Z <app:INFO> Loaded locale en-US [stable-22337]2022-12-31T00:33:46.764Z <Structure:null> Module Structure v22323 [stable-22337]2022-12-31T00:33:46.765Z <Capabilities:null> Module Capabilities v22283 [stable-22337]2022-12-31T00:33:46.819Z <Plugin:null> Module Plugin v22300 [stable-22337]2022-12-31T00:33:46.827Z <TimerBroker:null> Module TimerBroker v22283 [stable-22337]2022-12-31T00:33:46.831Z <Entity:null> Module Entity v22314 [stable-22337]2022-12-31T00:33:46.835Z <Controller:null> Module Controller v22323 [stable-22337]2022-12-31T00:33:46.847Z <default:null> Module Ruleset v22293 [stable-22337]2022-12-31T00:33:46.848Z <default:null> Module Rulesets v21096 [stable-22337]2022-12-31T00:33:46.854Z <GlobalExpression:null> Module GlobalExpression v21333 [stable-22337]2022-12-31T00:33:46.864Z <Predicate:null> Module Predicate v22305 [stable-22337]2022-12-31T00:33:46.867Z <AlertManager:null> Module AlertManager v22283 [stable-22337]2022-12-31T00:33:46.869Z <Rule:null> Module Rule v22335 [stable-22337]2022-12-31T00:33:46.872Z <GlobalReaction:null> Module GlobalReaction v22320 [stable-22337]2022-12-31T00:33:46.873Z <Engine:null> Module Engine v22320 [stable-22337]2022-12-31T00:33:46.877Z <httpapi:null> Module httpapi v22337 [stable-22337]2022-12-31T00:33:46.886Z <wsapi:null> Module wsapi v22320 [stable-22337]2022-12-31T00:33:46.887Z <app:NOTICE> Starting Structure... [stable-22337]2022-12-31T00:33:46.890Z <Structure:NOTICE> Structure#1 plugin ID influx disabled; skipping [stable-22337]2022-12-31T00:33:46.892Z <Structure:INFO> Structure#1 loading controller interface vera (VeraController) [stable-22337]2022-12-31T00:33:46.949Z <TaskQueue:null> Module TaskQueue 21351 [stable-22337]2022-12-31T00:33:46.950Z <VeraController:null> Module VeraController v22325 [stable-22337]2022-12-31T00:33:47.193Z <Structure:INFO> Structure#1 loading controller interface hass (HassController) [stable-22337]2022-12-31T00:33:47.200Z <HassController:null> Module HassController v22334 [stable-22337]2022-12-31T00:33:48.290Z <Structure:INFO> Structure#1 loading controller interface reactor_system (SystemController) [stable-22337]2022-12-31T00:33:48.294Z <SystemController:null> Module SystemController v22306 [stable-22337]2022-12-31T00:33:48.297Z <Structure:INFO> Starting controller VeraController#vera [stable-22337]2022-12-31T00:33:48.298Z <VeraController:NOTICE> VeraController#vera starting... [stable-22337]2022-12-31T00:33:48.304Z <Controller:INFO> VeraController#vera loaded vera capabilities ver 22253 rev 1 format 1 [stable-22337]2022-12-31T00:33:48.341Z <Controller:INFO> VeraController#vera loaded implementation data ver 22280 rev 8 format 1 [stable-22337]2022-12-31T00:33:48.341Z <Structure:INFO> Starting controller HassController#hass [stable-22337]2022-12-31T00:33:48.341Z <HassController:NOTICE> HassController#hass starting... [stable-22337]2022-12-31T00:33:48.343Z <Controller:INFO> HassController#hass loaded hass capabilities ver 22312 rev 2 format 1 [stable-22337]2022-12-31T00:33:48.354Z <Controller:INFO> HassController#hass loaded implementation data ver 22335 rev 1 format 1 [stable-22337]2022-12-31T00:33:48.354Z <Structure:INFO> Starting controller SystemController#reactor_system [stable-22337]2022-12-31T00:33:48.359Z <Controller:NOTICE> Controller SystemController#reactor_system is now online. [stable-22337]2022-12-31T00:33:48.518Z <VeraController:INFO> VeraController: deviceclass room capability sys_group does not provide attribute members [stable-22337]2022-12-31T00:33:48.518Z <VeraController:INFO> VeraController: deviceclass room capability sys_group does not provide attribute empty [stable-22337]2022-12-31T00:33:48.519Z <HassController:INFO> HassController#hass device mapping data loaded; checking... [stable-22337]2022-12-31T00:33:48.520Z <VeraController:NOTICE> VeraController#vera updating capabilities for system entity System#vera>system [stable-22337]2022-12-31T00:33:48.525Z <HassController:NOTICE> HassController#hass connecting to ws://192.168.34.17:8123/api/websocket [stable-22337]2022-12-31T00:33:48.529Z <app:NOTICE> Starting HTTP server and API... [stable-22337]2022-12-31T00:33:48.530Z <httpapi:NOTICE> Starting HTTP API v1 22337 on http://192.168.34.:8111 [stable-22337]2022-12-31T00:33:48.533Z <app:NOTICE> Starting Reaction Engine... [stable-22337]2022-12-31T00:33:48.534Z <Engine:INFO> Reaction Engine starting [stable-22337]2022-12-31T00:33:48.534Z <Engine:INFO> Checking rule sets... [stable-22337]2022-12-31T00:33:48.539Z <Engine:INFO> Checking rules...```
[stable-22337]2022-12-31T00:33:49.745Z Rule:INFO Master Closet Motion Battery Low (rule-grp17k28ehz in Battery Checks) started
[stable-22337]2022-12-31T00:33:49.761Z Rule:ERR Rule#rule-grp17k28qlp trigger evaluation failed: [ReferenceError] Can't find entity "vera>device_368" [-]
[stable-22337]2022-12-31T00:33:49.762Z Rule:CRIT ReferenceError: Can't find entity "vera>device_368" [-]
ReferenceError: Can't find entity "vera>device_368"
at Predicate._evaluateCondition (/home/tbully/reactor/server/lib/Predicate.js:366:27)
at Predicate._evaluateGroup (/home/tbully/reactor/server/lib/Predicate.js:748:106)
at Predicate._evaluateCondition (/home/tbully/reactor/server/lib/Predicate.js:354:47)
at Predicate.evaluate (/home/tbully/reactor/server/lib/Predicate.js:60:37)
at Rule._evaluate (/home/tbully/reactor/server/lib/Rule.js:875:54)
at async /home/tbully/reactor/server/lib/Rule.js:830:17
[stable-22337]2022-12-31T00:33:49.762Z Rule:INFO Panic Button Battery Low (rule-grp17k28qlp in Battery Checks) evaluated; trigger state changed ((null)), but rule state remains NULL
[stable-22337]2022-12-31T00:33:49.762Z Rule:INFO Panic Button Battery Low (rule-grp17k28qlp in Battery Checks) started
[stable-22337]2022-12-31T00:33:49.763Z Rule:INFO Office Motion Battery Low (rule-grp17k28znh in Battery Checks) evaluated; trigger state unchanged (false); rule state remains RESET
[stable-22337]2022-12-31T00:33:49.763Z Rule:INFO Office Motion Battery Low (rule-grp17k28znh in Battery Checks) started
[stable-22337]2022-12-31T00:33:49.763Z Rule:INFO Upstairs Bath Door Battery Low (rule-grp17k29vsx in Battery Checks) evaluated; trigger state unchanged (false); rule state remains RESET
[stable-22337]2022-12-31T00:33:49.763Z Rule:INFO Upstairs Bath Door Battery Low (rule-grp17k29vsx in Battery Checks) started
[stable-22337]2022-12-31T00:33:49.763Z Rule:INFO Upstairs Bath Motion Battery Low (rule-grp17k2abok in Battery Checks) evaluated; trigger state unchanged (false); rule state remains RESET
[stable-22337]2022-12-31T00:33:49.763Z Rule:INFO Upstairs Bath Motion Battery Low (rule-grp17k2abok in Battery Checks) started
[stable-22337]2022-12-31T00:33:49.763Z Rule:INFO Upstairs Bath Flood Battery Low (rule-grp17k2am7t in Battery Checks) evaluated; trigger state unchanged (false); rule state remains RESET
[stable-22337]2022-12-31T00:33:49.764Z Rule:INFO Upstairs Bath Flood Battery Low (rule-grp17k2am7t in Battery Checks) started
[stable-22337]2022-12-31T00:33:49.764Z Rule:INFO Upstairs Hall Motion Battery Low (rule-grp17k2b0ha in Battery Checks) evaluated; trigger state unchanged (true); rule state remains SET
[stable-22337]2022-12-31T00:33:49.764Z Rule:INFO Upstairs Hall Motion Battery Low (rule-grp17k2b0ha in Battery Checks) started
[stable-22337]2022-12-31T00:33:49.773Z Rule:ERR Rule#rule-grp17k2iotv trigger evaluation failed: [ReferenceError] Can't find entity "vera>device_543" [-]
[stable-22337]2022-12-31T00:33:49.773Z Rule:CRIT ReferenceError: Can't find entity "vera>device_543" [-]
ReferenceError: Can't find entity "vera>device_543"
at Predicate._evaluateCondition (/home/tbully/reactor/server/lib/Predicate.js:366:27)
at Predicate._evaluateGroup (/home/tbully/reactor/server/lib/Predicate.js:748:106)
at Predicate._evaluateCondition (/home/tbully/reactor/server/lib/Predicate.js:354:47)
at Predicate.evaluate (/home/tbully/reactor/server/lib/Predicate.js:60:37)
at Rule._evaluate (/home/tbully/reactor/server/lib/Rule.js:875:54)
at async /home/tbully/reactor/server/lib/Rule.js:830:17
[stable-22337]2022-12-31T00:33:49.773Z Rule:INFO Home Button Battery Low (rule-grp17k2iotv in Battery Checks) evaluated; trigger state changed ((null)), but rule state remains NULL
[stable-22337]2022-12-31T00:33:49.774Z Rule:INFO Home Button Battery Low (rule-grp17k2iotv in Battery Checks) started
[stable-22337]2022-12-31T00:33:49.774Z Rule:INFO Sump Pump Flood Detected (rule-grp17k301y1 in Flood Checks) evaluated; trigger state unchanged (false); rule state remains RESET
[stable-22337]2022-12-31T00:33:49.774Z Rule:INFO Sump Pump Flood Detected (rule-grp17k301y1 in Flood Checks) started
[stable-22337]2022-12-31T00:33:49.774Z Rule:INFO Rec Room Flood Detected (rule-grp17k30cm0 in Flood Checks) evaluated; trigger state unchanged (false); rule state remains RESET
[stable-22337]2022-12-31T00:33:49.774Z Rule:INFO Rec Room Flood Detected (rule-grp17k30cm0 in Flood Checks) started
[stable-22337]2022-12-31T00:33:49.775Z Rule:INFO Office Flood Detected (rule-grp17k30mqa in Flood Checks) evaluated; trigger state unchanged (false); rule state remains RESET
[stable-22337]2022-12-31T00:33:49.775Z Rule:INFO Office Flood Detected (rule-grp17k30mqa in Flood Checks) started
[stable-22337]2022-12-31T00:33:49.775Z Rule:INFO Laundry Flood Detected (rule-grp17k31kf1 in Flood Checks) evaluated; trigger state unchanged (false); rule state remains RESET
[stable-22337]2022-12-31T00:33:49.775Z Rule:INFO Laundry Flood Detected (rule-grp17k31kf1 in Flood Checks) started
[stable-22337]2022-12-31T00:33:49.775Z Rule:INFO Half-Bath Flood Detected (rule-grp17k31z13 in Flood Checks) evaluated; trigger state unchanged (false); rule state remains RESET
[stable-22337]2022-12-31T00:33:49.775Z Rule:INFO Half-Bath Flood Detected (rule-grp17k31z13 in Flood Checks) started
[stable-22337]2022-12-31T00:33:49.775Z Rule:INFO Upstairs Bath Flood Detected (rule-grp17k327c0 in Flood Checks) evaluated; trigger state unchanged (false); rule state remains RESET
[stable-22337]2022-12-31T00:33:49.776Z Rule:INFO Upstairs Bath Flood Detected (rule-grp17k327c0 in Flood Checks) started
[stable-22337]2022-12-31T00:33:49.776Z Rule:INFO Garage Tilt Sensor Battery Low (rule-grp17k3frdb in Battery Checks) evaluated; trigger state unchanged (false); rule state remains RESET
[stable-22337]2022-12-31T00:33:49.776Z Rule:INFO Garage Tilt Sensor Battery Low (rule-grp17k3frdb in Battery Checks) started
[stable-22337]2022-12-31T00:33:49.782Z Rule:ERR Rule#rule-grp17k3ui8q trigger evaluation failed: [ReferenceError] Entity Vera (vera>system) has no attribute "x_vera_sys.reloads" [-]
[stable-22337]2022-12-31T00:33:49.782Z Rule:CRIT ReferenceError: Entity Vera (vera>system) has no attribute "x_vera_sys.reloads" [-]
ReferenceError: Entity Vera (vera>system) has no attribute "x_vera_sys.reloads"
at Predicate._evaluateCondition (/home/tbully/reactor/server/lib/Predicate.js:373:27)
at Predicate._evaluateGroup (/home/tbully/reactor/server/lib/Predicate.js:748:106)
at Predicate._evaluateCondition (/home/tbully/reactor/server/lib/Predicate.js:354:47)
at Predicate.evaluate (/home/tbully/reactor/server/lib/Predicate.js:60:37)
at Rule._evaluate (/home/tbully/reactor/server/lib/Rule.js:875:54)
at async /home/tbully/reactor/server/lib/Rule.js:830:17
[stable-22337]2022-12-31T00:33:49.782Z Rule:INFO LuupReload (rule-grp17k3ui8q in House Reactor) evaluated; trigger state changed ((null)), but rule state remains NULL
[stable-22337]2022-12-31T00:33:49.783Z Rule:INFO LuupReload (rule-grp17k3ui8q in House Reactor) started
[stable-22337]2022-12-31T00:33:49.783Z Rule:INFO VeraSecureTriggered (rule-grplg89w7x in House Reactor) evaluated; trigger state unchanged (false); rule state remains RESET
[stable-22337]2022-12-31T00:33:49.783Z Rule:INFO VeraSecureTriggered (rule-grplg89w7x in House Reactor) started
[stable-22337]2022-12-31T00:33:49.783Z Rule:INFO TurnOffPantryLights (rule-grplt8fpma in Basement Reactor) evaluated; trigger state unchanged (false); rule state remains RESET[stable-22337]2022-12-31T00:33:49.902Z <Rule:INFO> Garage Lights Off - After Auto On (rule-grpp2yoxfg in Garage Reactor) evaluated; trigger state unchanged (false); rule state remains RESET [stable-22337]2022-12-31T00:33:49.902Z <Rule:INFO> Garage Reactor (rule-492 in Garage Reactor) evaluation complete [stable-22337]2022-12-31T00:33:49.902Z <Rule:INFO> Garage Lights Off - After Auto On (rule-grpp2yoxfg in Garage Reactor) evaluation complete [stable-22337]2022-12-31T00:33:49.907Z <httpapi:NOTICE> httpapi: listening [stable-22337]2022-12-31T00:33:49.921Z <app:NOTICE> Starting WSAPI... [stable-22337]2022-12-31T00:33:49.922Z <wsapi:NOTICE> wsapi: starting version 22320 [stable-22337]2022-12-31T00:33:50.112Z <Engine:INFO> [Engine]Engine#1 master timer tick, local time "12/30/2022, 7:33:50 PM" (TZ offset -300 mins from UTC) [stable-22337]2022-12-31T00:33:50.120Z <app:NOTICE> Shutdown signal (SIGTERM) received. Stopping Reaction Engine... [stable-22337]2022-12-31T00:33:50.121Z <app:NOTICE> Closing APIs... [stable-22337]2022-12-31T00:33:50.121Z <wsapi:NOTICE> wsapi: closing... [stable-22337]2022-12-31T00:33:50.121Z <httpapi:NOTICE> HTTP API closing... [stable-22337]2022-12-31T00:33:50.121Z <app:NOTICE> Stopping Engine... [stable-22337]2022-12-31T00:33:50.128Z <Rule:NOTICE> Turn Off Upstairs Hall Light (rule-grprsxsoqm in UpstairsHall Reactor) stopping [stable-22337]2022-12-31T00:33:50.129Z <Rule:NOTICE> Run Hot Water Recirculation (rule-l7ey8s4w in House Reactor) stopping [stable-22337]2022-12-31T00:33:50.130Z <Rule:NOTICE> Run Fans (rule-l6pi77c2 in House Reactor) stopping [stable-22337]2022-12-31T00:33:50.130Z <Rule:NOTICE> VeraSecureTriggered (rule-grplg89w7x in House Reactor) stopping
[stable-22337]2022-12-31T00:33:50.329Z <Rule:NOTICE> Half-Bath Flood Detected (rule-grp17k31z13 in Flood Checks) stopped [stable-22337]2022-12-31T00:33:50.330Z <Rule:NOTICE> Upstairs Bath Flood Detected (rule-grp17k327c0 in Flood Checks) stopped [stable-22337]2022-12-31T00:33:50.417Z <Engine:NOTICE> [Engine]Engine#1 has shut down. [stable-22337]2022-12-31T00:33:50.417Z <app:NOTICE> Closing Structure... [stable-22337]2022-12-31T00:33:50.418Z <Structure:INFO> Structure#1 Stopping controllers... [stable-22337]2022-12-31T00:33:50.418Z <Controller:NOTICE> VeraController#vera stopping [stable-22337]2022-12-31T00:33:50.524Z <HassController:NOTICE> HassController#hass stopping [stable-22337]2022-12-31T00:33:50.526Z <HassController:WARN> HassController#hass websocket error during open/negotation: [Error] WebSocket was closed before the connection was established [-] [stable-22337]2022-12-31T00:33:50.526Z <HassController:WARN> HassController#hass ws error code (undefined) [stable-22337]2022-12-31T00:33:50.526Z <HassController:WARN> HassController#hass failed to connect/initialize communication: [Error] WebSocket was closed before the connection was established [-] [stable-22337]2022-12-31T00:33:50.527Z <HassController:NOTICE> HassController#hass websocket to ws://192.168.34.17:8123/api/websocket closed during open/negotiation [stable-22337]2022-12-31T00:33:50.527Z <Controller:NOTICE> HassController#hass stopping [stable-22337]2022-12-31T00:33:50.803Z <Controller:NOTICE> SystemController#reactor_system stopping [stable-22337]2022-12-31T00:33:50.811Z <Controller:ERR> Controller SystemController#reactor_system is off-line! [stable-22337]2022-12-31T00:33:50.814Z <Structure:INFO> Structure#1 Final data sync... [stable-22337]2022-12-31T00:33:50.838Z <Structure:NOTICE> Structure Structure#1 stopped [stable-22337]2022-12-31T00:33:50.839Z <app:NOTICE> Stopping timers... [stable-22337]2022-12-31T00:33:50.840Z <app:NOTICE> Shutdown complete, process ID 7240
-
Reactor Start - System Crash/RestartHello All -
I upgraded my OS to Ubuntu 20.04 today and have been regretting it for several hours. I have most of my system up. However, I've found that, when I start Reactor, it panics / reboots my OS. I've included the syslog during startup below. There's a benign message about not finding a Vera device just before the reboot but that's it.Needless to say, I've learned my lesson regarding OS upgrades.
Bare metal Linux / Ubuntu 20.04 (Running inside VirtualBox)
Reactor Version: stable-22337-1a0a685fDec 30 19:33:46 homeauto03 systemd[1]: Started Multi System Reactor. Dec 30 19:33:46 homeauto03 weewx[6592] INFO weewx.restx: Wunderground-RF: Published record 2022-12-30 19:33:46 EST (1672446826) Dec 30 19:33:46 homeauto03 node[7240]: Reactor stable-22337-1a0a685f app 22328 configuration from /home/tbully/reactor/config Dec 30 19:33:46 homeauto03 node[7240]: NODE_PATH /home/tbully/reactor Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.745Z <app:null> Reactor build stable-22337-1a0a685f starting on v17.9.0 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.746Z <app:null> Process ID 7240 user/group 1000/1000; bare-metal; platform linux/x64 #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022; locale en_CA.UTF-8 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.746Z <app:null> Basedir /home/tbully/reactor; data in /home/tbully/reactor/storage Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.747Z <app:null> NODE_PATH=/home/tbully/reactor Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.764Z <Structure:null> Module Structure v22323 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.765Z <Capabilities:null> Module Capabilities v22283 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.819Z <Plugin:null> Module Plugin v22300 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.827Z <TimerBroker:null> Module TimerBroker v22283 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.831Z <Entity:null> Module Entity v22314 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.835Z <Controller:null> Module Controller v22323 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.847Z <default:null> Module Ruleset v22293 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.848Z <default:null> Module Rulesets v21096 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.854Z <GlobalExpression:null> Module GlobalExpression v21333 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.864Z <Predicate:null> Module Predicate v22305 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.867Z <AlertManager:null> Module AlertManager v22283 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.869Z <Rule:null> Module Rule v22335 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.872Z <GlobalReaction:null> Module GlobalReaction v22320 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.873Z <Engine:null> Module Engine v22320 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.877Z <httpapi:null> Module httpapi v22337 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.886Z <wsapi:null> Module wsapi v22320 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.949Z <TaskQueue:null> Module TaskQueue 21351 Dec 30 19:33:46 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:46.950Z <VeraController:null> Module VeraController v22325 Dec 30 19:33:47 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:47.200Z <HassController:null> Module HassController v22334 Dec 30 19:33:48 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:48.294Z <SystemController:null> Module SystemController v22306 Dec 30 19:33:48 homeauto03 weewx[6592] INFO weewx.restx: Wunderground-RF: Published record 2022-12-30 19:33:48 EST (1672446828) Dec 30 19:33:49 homeauto03 node[7240]: [stable-22337]2022-12-31T00:33:49.110Z <Rule:CRIT> ReferenceError: Can't find entity "vera>device_368" [-] Dec 30 19:33:49 homeauto03 node[7240]: ReferenceError: Can't find entity "vera>device_368" Dec 30 19:33:49 homeauto03 node[7240]: at Predicate._evaluateCondition (/home/tbully/reactor/server/lib/Predicate.js:366:27) Dec 30 19:33:49 homeauto03 node[7240]: at Predicate._evaluateGroup (/home/tbully/reactor/server/lib/Predicate.js:748:106) Dec 30 19:33:49 homeauto03 node[7240]: at Predicate._evaluateCondition (/home/tbully/reactor/server/lib/Predicate.js:354:47) Dec 30 19:33:49 homeauto03 node[7240]: at Predicate.evaluate (/home/tbully/reactor/server/lib/Predicate.js:60:37) Dec 30 19:33:49 homeauto03 node[7240]: at Rule._evaluate (/home/tbully/reactor/server/lib/Rule.js:875:54) Dec 30 19:33:49 homeauto03 node[7240]: at async /home/tbully/reactor/server/lib/Rule.js:830:17 Dec 30 19:33:49 homeauto03 systemd[1]: Stopping Session 14 of User tbully...
-
Where Used Functionality?I have the rules migrated and running on the external Reactor (doing some tweaking as you mentioned). That's not my issue.
My issue is I'm now starting to exclude some devices from Vera and adding them to HASS. For the most part, I've been successful in knowing where the device is used in my ruleset. However, on a few occasions, I've forgotten / missed some rules.
It would be great to look up an entity in MSR and see where it's used (either in rules or reactions) so I can account for the myriad places some devices exist.
-
Where Used Functionality?Hello All -
I'm still working on moving dozens of devices from Vera (internal Reactor) to HASS and (external - bare metal) Reactor.
One thing I've noticed is sometimes I move a few ZWave/Vera devices and find myself digging through rules finding where a device was used. Has anyone found a good way to do this?
I plan on digging in to this thread but thought I'd check to see if there's anything more recent.
https://smarthome.community/topic/483/entities-where-used-and-what-triggered-it?_=1669137134654
-
Hot Water Recirc - Global Date/Time VariableAll -
I took a different approach. I didn't feel like asking the forum a bunch of stupid questions.
- Setup a global variable ("ReadyForRecirc") which will contain a true or false
- Utilize my global "Start Hot Water Recirculation" reaction. After starting the reaction, wait for 60 minutes before "ReadyForRecirc" is set to TRUE.
- Where I have logic to run recirculation, call the "Start Hot Water Recirculation" reaction, wait 5 seconds, set "ReadyForRecirc" to FALSE.
Seems to work OK.
p.s. I don't know why I have to manually enter true/false for my motions but seems to be OK.
-
Hot Water Recirc - Global Date/Time VariableInteresting on the time() eval. Makes sense. I have to rethink this as I want it to be rather responsive without MSR constantly running the function. In other words, I don't want to wait a minute (as an example) for recirc to start when someone enters the bathroom.
Also agree on boolean vs. string and thought it was weird that it wanted a string. Because it was a test (and that part worked), I didn't put much thought in to it.
The time piece is really the issue at the moment.
-
Hot Water Recirc - Global Date/Time Variable@crille
Argh. Thanks. I meant time and clearly saw it in the manual. I was caught up on the function / call and syntax so this was helpful.Can someone check me on my logic? As a test, I'm looking for recirc to be ran 10 minutes or later and motion in the workshop.
-
Hot Water Recirc - Global Date/Time VariableHello All -
I've finally gotten to the point where I can start / stop hot water recirculation using MSR and a HASS service call, reliably.I'd like to start with some simple automation to start circulation in certain instances (e.g. motion in bathroom, etc).
That said, I do not want to obsessively run circulation in the spirit of energy conservation and equipment abuse. So I'd like to use a time stamp of last run and perhaps limit the execution to something like once per hour.
I read the manual and see references to date handling in expressions. I see that response to the date() call is in EPOCH. That's great and should make math easy. However, in the reaction to start the circulation, I'm having a hard time setting a global variable to the current date/time.
Can someone point me to examples? Using a 'Set Variable' and date() just puts "date()" in as a string value.
Thanks.
-
"changes from" operator stops to detect changeSigh. So this is weird. I updated to the latest and no change.
I then took your advice and just was manually changing the Value8 variable in Vera from alpha to beta. It still didn't help. I finally took the 600 second delay out and noted that the set/reset started working. Put the delay back and all is good (I think).
I'll keep an eye on it. Thanks for sticking with me on this one.
-
"changes from" operator stops to detect changeApologies for the silence. The work week got away from me.
While I wouldn't put it past me, the rule is indeed enabled.
I'm doing something similar to your suggestion in order to test.
- MSR status up in one window (see screenshot)
- In Vera console in another window, I disarm/arm SiteSensor. As you're aware, this causes a re-fire of the recipe.
- I can then visual see the Value8 value change in the window.
Is that a good enough test or should I go further somehow? (e.g. manually modifying Value8) Is there a way to increase debug level so we can see the payload coming back from Vera to MSR?
-
"changes from" operator stops to detect change@toggledbits
I have thought about that. But I just checked again. Value 8 updates (to the second) each time it successfully runs. This is the observation time from the weather station itself (the station at my home). This is important as it's that lack-of-update that I'm trying to detect. Otherwise, I would agree that time() would be sufficient.Another interesting fact is that this rule/reaction works OK in the "Vera Instance" of Reactor.
-
Home Assistant Service Call - JSON/Formatting Question@Pabla - Thanks again for your help. This was finally the answer (for anyone searching later)....
{ "recirculation_minutes" : 5, "entity_id": "water_heater.bully_house_water_heater" }
-
Home Assistant Service Call - JSON/Formatting Question@pabla Closer! Passes the parser and now a new error... I will play with this a bit later after meetings...
[stable-22168]2022-08-23T12:27:07.386Z <HassController:null> HassController#hass: sending payload for x_hass_system.call_service on System#hass>system action: [Object]{ "type": "call_service", "service_data": { "recirculation_minutes": "5", "target": { "entity_id": "water_heater.bully_house_water_heater" } }, "domain": "rinnai", "service": "start_recirculation" } [stable-22168]2022-08-23T12:27:07.391Z <HassController:ERR> HassController#hass request 1661257627388<2022-08-23, 8:27:07 a.m.> (call_service) failed: [Object]{ "id": 1661257627388, "type": "result", "success": false, "error": { "code": "invalid_format", "message": "value must be one of [5, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195, 210, 225, 240, 255, 270, 285, 300] for dictionary value @ data['recirculation_minutes']" } }
-
Home Assistant Service Call - JSON/Formatting QuestionThanks @pabla . I did read your thread and tried a few ideas from it. When I drop "data", I get a parser error.....
-
Home Assistant Service Call - JSON/Formatting QuestionUpdated version was able to get past the parser but then get the below error from HASS.
[stable-22168]2022-08-22T21:54:52.506Z <HassController:null> HassController#hass: sending payload for x_hass_system.call_service on System#hass>system action: [Object]{ "type": "call_service", "service_data": { "data": "recirculation_minutes: 5", "target": { "entity_id": "water_heater.bully_house_water_heater" } }, "domain": "rinnai", "service": "start_recirculation" } [stable-22168]2022-08-22T21:54:52.511Z <HassController:ERR> HassController#hass request 1661205292508<2022-08-22, 5:54:52 p.m.> (call_service) failed: [Object]{ "id": 1661205292508, "type": "result", "success": false, "error": { "code": "invalid_format", "message": "extra keys not allowed @ data['data']" } }
Clearly doesn't like "data" being sent again. But I'm unclear how to send the "recirculation_minutes" and then the following "target" / "entity_id" parameter.