-
I have a use case where I need to have a boolean variable that will be set to true/false by reactions.
I see that i can define a local variable by giving it a name and leaving the definition empty. This leaves it at state "null" until a reaction tells it that its a boolean.
Is there a way to tell it that it should start out as "false" (i.e when reactor has restarted), and not null?
Am i going about this the wrong way?
-- The use case is that I have a sensor on my fireplace, and the following logic is for notifying when its time to get up en refill with firewood.. I also want to reset the MaxInInterval to CurrentTemp when notification is sent..
1fd2951f-cb6b-4a2f-b957-1e0698171f4d-image.png dd99634e-f0ad-4878-bb87-0284c2df5535-image.png
Edit: better screenhots. Reactor version 23010-7dd2c9e9
-
Converting from Vera Plus to Hubitat at two different locations. The two sites are interconnected via a router-to-router VPN. I currently have a Hubitat C7 running at Site One and a Vera Plus at Site Two. The MSR Raspberry Pi is co-located with the Vera Plus at Site Two. I "activated" a Hubitat C8 (ethernet connected) at Site Two including the installation of Hub Information Driver and its associated device. I also installed a single zwave outlet module (GE ZW4202). I restarted MSR. The C8 and its associated devices appear on both the Entities page and the MSR Dashboard, but the C8 reports as down on the MSR Status page and the GE outlet does not respond when "clicked". I am not sure where to look to try to find the source of the problem and will greatly appreciate any suggestions.
-
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. -
Hi guys,
I want to import my reactor sensors in the MSR addon for Home Assistant, but I can't find the app.js file anywhere. So now I don't know where to put the backup file.
I have not tried to put it in the main directory (config/reactor) yet. Wanted to know if I'm the only one with the problem.
Reactor addon: v0.0.8
MSR: 23063-c464b685
Home Assistant 2023.3.3
Supervisor 2023.03.1
Operating System 9.5
Frontend 20230202.0 - latestI started with v0.0.7, have just updated everything. Still no file.
-
I'm a little bit confused how to configure extended capabilities for the entities in the MQTTController.
mqtt_cababilities.yaml states that: "...You can add your own capabilities by adding a "capabilities" section to your own local_mqtt_capabilities.yaml file in your config directory."
So I did this in my local_mqtt_capabilities.yaml in the config directory:
version: 22353 revision: 1 format: 1 capabilities: x_my_config: attributes: partyMode: type: bool actions: some_action: topic: '%topic/write' payload: "some value"And in my reactor.yaml I have following configuration entry:
my-config: name: 'My custom configuration' topic: 'my-config' query: "%topic%/read" init: "%topic%/read" capabilities: - x_my_config primary_attribute: x_my_config.partyMode events: "%topic%/status": "x_my_config.partyMode": json_payload: true expr: "payload.partyMode"This sort of works but not quite. The partyMode attribute gets updated when messages arrive for that specific topic, so that's fine. But I don't see x_my_config capability in the Capabilities list in the UI and also the some_action is missing.
Screenshot from 2023-03-09 19-42-49.png
Addition to that the primary value is not set and I'm getting the following error:
Screenshot from 2023-03-09 19-30-42.pngHave I completely misunderstood the idea behind the capability extension and the attributes? If so, could someone point me to the right direction with few explanatory example configs.
What I'm trying to achieve is a set of configuration options that could be updated thru the MQTT, and also provide some actions that the rules could invoke.
Reactor (Multi-hub) latest-23063-c464b685 + MQTTController [0.1.23010]
br,
mgvra -
-
Installing MQTTController on Home Assistant Core when Reactor is installed as an Add-In (VirtualBox)
Running Home Assistant Core under VirtualBox (on Windows) and Reactor is installed and working fine as an add-in. What I can't figure out is how to install MQTTController in this situation. I can upload the files and unzip them, but I can't run install.sh in a terminal window because npm is not a part of the Core installation.
It does appear that somewhere in the stack there is a version of docker there between VirtualBox and HA, (I see some references go by in the VirtualBox startup log) but it appears minimal and will not execute the install via the docker technique in your documentation from the VB console.
Is there a way to do this?
Thanks.
-
I've done a bit of repackaging of MSR to make it work as an add-on under Home Assistant mostly for my own purposes but hopefully it makes it a bit easier to install and get going.
GitHub - mrw298/hassio-reactor-addon GitHub - mrw298/hassio-reactor-addon
Contribute to mrw298/hassio-reactor-addon development by creating an account on GitHub.
-
@toggledbits somewhere I thought I read that MSR goes thru the items in set reaction and reset reaction in stack order, ie from top to bottom/first to last.
Am I mistaken?
-
Reactor 23063 running on Windows Bare Metal.
Home assistant 2023.3.1
ESPHome 2023.2.4I've been trying a few ways using some results from search to call a Hass service as a reaction in a Reactor rule.
Specifically, when the PIR in the room senses motion, wake the NsPanel screen.
My Reactions otherwise so far are basic If this then that so I'm way behind what others are doing.
What I want to call as a Reaction:
Capture1.PNGWhat I've tried (a few variations on):
Capture2.PNGWhat happens:
[latest-23063]2023-03-07T07:45:21.688Z <wsapi:ERR> wsapi: error thrown handling client message [Object]{ "command": "perform", "entity": "WOKHASS1>system", "action": "x_hass_system.call_service", "parameters": { "service": "ESPHome: nspensuite_send_command_printf", "data": "page home" }, "qid": 75 } [latest-23063]2023-03-07T07:45:21.688Z <wsapi:CRIT> TypeError: Cannot read properties of null (reading '1') [-] TypeError: Cannot read properties of null (reading '1') at HassController.performOnEntity (C:\reactor\reactor\server\lib\HassController.js:584:108) at System.perform (C:\reactor\reactor\server\lib\Entity.js:707:56) at WSAPI.clientMessage (C:\reactor\reactor\server\wsapi\wsapi.js:499:48) at WebSocket.<anonymous> (C:\reactor\reactor\server\wsapi\wsapi.js:290:158) at WebSocket.emit (node:events:520:28) at WebSocket.emit (node:domain:475:12) at Receiver.receiverOnMessage (C:\reactor\reactor\node_modules\ws\lib\websocket.js:1059:20) at Receiver.emit (node:events:520:28) at Receiver.emit (node:domain:475:12) at Receiver.dataMessage (C:\reactor\reactor\node_modules\ws\lib\receiver.js:517:14)If someone can convert the 'call service' to a 'reaction' for me, or share their own similar thing I think that's what I need to achieve this goal.
I suspect if I'm even close to being on the right track, my problems are probably formatting like curly braces etc and lack thereof.
Thanks in advance.
-
@toggledbits was looking thru rule sets and updating which (new) lights I wanted REMII to impact and saw that this...
4711b0df-5e98-4992-bb25-d0e53203f0e8-image.png
...is showing as (missing) in the rule Deactivatedand looking in the dropdown of Variables it appears I cannot select that local expression (only Global) as I did when originally building this out back in 2021.
27f7025c-057e-441a-88ea-dc4bdf39614d-image.png
In looking at the rule Active Period I'm seeing:
487074ef-3bfa-4a84-b03d-ed6d920c118c-image.png which appears to be pointing to setting a variable in a rule?It's admittedly been a couple years since this was built and it's def not fresh in my memory.
-
New installation of Reactor version 23063-c464b685 on a Raspberry PI4 with Portainer/Docker.
Report :
No drop-down list on Entity Attribute in "Creation Rule Sets" interface
I can however visualize the entities.
I have configured HomeAssistant and all entities are coming up fine.
I have an unsupported Hass version 2023.3.0b5.
I'm new to Docker and can someone guide me to a solution?
Christian FABREAlert:
[latest-23063]2023-03-05T09:51:49.575Z <app:null> Process ID 1 user/group 0/0; docker; platform linux/arm64 #1595 SMP PREEMPT Wed Oct 26 11:07:24 BST 2022; locale (undefined) [latest-23063]2023-03-05T09:51:49.576Z <app:null> Basedir /opt/reactor; data in /var/reactor/storage [latest-23063]2023-03-05T09:51:49.577Z <app:null> NODE_PATH=/opt/reactor:/opt/reactor/node_modules [latest-23063]2023-03-05T09:51:49.584Z <app:INFO> Configured locale (undefined); selected locale(s) en-US.UTF-8 [latest-23063]2023-03-05T09:51:49.708Z <app:INFO> Loaded locale en-US for en-US [latest-23063]2023-03-05T09:51:49.725Z <Structure:null> Module Structure v22323 [latest-23063]2023-03-05T09:51:49.729Z <Capabilities:null> Module Capabilities v22356 [latest-23063]2023-03-05T09:51:49.806Z <Capabilities:NOTICE> System capabilities loaded from core distribution, data version 23058 revision 1 [latest-23063]2023-03-05T09:51:49.849Z <Plugin:null> Module Plugin v22300 [latest-23063]2023-03-05T09:51:49.869Z <TimerBroker:null> Module TimerBroker v22283 [latest-23063]2023-03-05T09:51:49.878Z <Entity:null> Module Entity v22353 [latest-23063]2023-03-05T09:51:49.889Z <Controller:null> Module Controller v23044 [latest-23063]2023-03-05T09:51:49.926Z <default:null> Module Ruleset v22293 [latest-23063]2023-03-05T09:51:49.928Z <default:null> Module Rulesets v22146 [latest-23063]2023-03-05T09:51:49.943Z <GlobalExpression:null> Module GlobalExpression v22146 [latest-23063]2023-03-05T09:51:49.977Z <Predicate:null> Module Predicate v22345 [latest-23063]2023-03-05T09:51:49.987Z <AlertManager:null> Module AlertManager v22283 [latest-23063]2023-03-05T09:51:49.995Z <Rule:null> Module Rule v22345 [latest-23063]2023-03-05T09:51:50.004Z <GlobalReaction:null> Module GlobalReaction v22324 [latest-23063]2023-03-05T09:51:50.008Z <Engine:null> Module Engine v23001 [latest-23063]2023-03-05T09:51:50.019Z <httpapi:null> Module httpapi v23058 [latest-23063]2023-03-05T09:51:50.078Z <wsapi:null> Module wsapi v23053 [latest-23063]2023-03-05T09:51:50.080Z <app:NOTICE> Starting Structure... [latest-23063]2023-03-05T09:51:50.100Z <Structure:NOTICE> Structure#1 plugin ID influx disabled; skipping [latest-23063]2023-03-05T09:51:50.106Z <Structure:INFO> Structure#1 loading controller interface hass (HassController) [latest-23063]2023-03-05T09:51:50.210Z <HassController:null> Module HassController v23060 [latest-23063]2023-03-05T09:51:50.639Z <Structure:INFO> Structure#1 loading controller interface groups (DynamicGroupController) [latest-23063]2023-03-05T09:51:50.649Z <DynamicGroupController:null> Module DynamicGroupController v22313 [latest-23063]2023-03-05T09:51:50.659Z <Structure:INFO> Structure#1 loading controller interface reactor_system (SystemController) [latest-23063]2023-03-05T09:51:50.672Z <SystemController:null> Module SystemController v22306 [latest-23063]2023-03-05T09:51:50.680Z <Structure:INFO> Starting controller HassController#hass [latest-23063]2023-03-05T09:51:50.682Z <HassController:NOTICE> HassController#hass starting... [latest-23063]2023-03-05T09:51:50.691Z <Controller:INFO> HassController#hass loaded hass capabilities ver 22312 rev 2 format 1 [latest-23063]2023-03-05T09:51:50.715Z <Controller:INFO> HassController#hass loaded implementation data ver 23058 rev 1 format 1 [latest-23063]2023-03-05T09:51:50.715Z <Structure:INFO> Starting controller DynamicGroupController#groups [latest-23063]2023-03-05T09:51:50.728Z <Controller:NOTICE> Controller DynamicGroupController#groups is now online. [latest-23063]2023-03-05T09:51:50.728Z <Structure:INFO> Starting controller SystemController#reactor_system [latest-23063]2023-03-05T09:51:50.733Z <Controller:NOTICE> Controller SystemController#reactor_system is now online. [latest-23063]2023-03-05T09:51:50.877Z <HassController:INFO> HassController#hass device mapping data loaded; checking... [latest-23063]2023-03-05T09:51:50.881Z <HassController:WARN> HassController: implementation of capability input_select.selector does not provide attribute values [latest-23063]2023-03-05T09:51:50.884Z <HassController:NOTICE> HassController#hass connecting to ws://192.168.1.31:8123/api/websocket [latest-23063]2023-03-05T09:51:50.894Z <app:NOTICE> Starting HTTP server and API... [latest-23063]2023-03-05T09:51:50.901Z <httpapi:NOTICE> httpapi: starting HTTP service on port "8111" [latest-23063]2023-03-05T09:51:50.909Z <app:NOTICE> Starting Reaction Engine... [latest-23063]2023-03-05T09:51:50.910Z <Engine:INFO> Reaction Engine starting [latest-23063]2023-03-05T09:51:50.911Z <Engine:INFO> Checking rule sets... [latest-23063]2023-03-05T09:51:50.916Z <Engine:INFO> Checking rules... [latest-23063]2023-03-05T09:51:50.923Z <Engine:INFO> Data check complete; no corrections. [latest-23063]2023-03-05T09:51:50.938Z <Rule:NOTICE> rule-leu8xfe4 (rule-leu8xfe4 in First Rule Set) starting [latest-23063]2023-03-05T09:51:50.939Z <Engine:NOTICE> Reaction Engine running! [latest-23063]2023-03-05T09:51:50.939Z <Rule:NOTICE> rule-leu8xfe4 (rule-leu8xfe4 in First Rule Set) can't start -- rule is disabled [latest-23063]2023-03-05T09:51:50.952Z <httpapi:NOTICE> httpapi: listening [latest-23063]2023-03-05T09:51:50.981Z <app:NOTICE> Starting WSAPI... [latest-23063]2023-03-05T09:51:50.983Z <wsapi:NOTICE> wsapi: starting version 23053 [latest-23063]2023-03-05T09:51:51.080Z <Engine:INFO> [Engine]Engine#1 master timer tick, local time "3/5/2023 10:51:51 AM" (TZ offset 60 mins from UTC) [latest-23063]2023-03-05T09:51:51.119Z <HassController:NOTICE> HassController#hass connected, starting protocol [latest-23063]2023-03-05T09:51:51.127Z <httpapi:INFO> httpapi: API request from ::ffff:192.168.1.42: GET /api/v1/systime [latest-23063]2023-03-05T09:51:51.145Z <HassController:INFO> HassController#hass successful authentication with ws://192.168.1.31:8123; fetching initial data... [latest-23063]2023-03-05T09:51:51.155Z <HassController:INFO> HassController#hass Hass reports version "2023.3.0b5" location Maison timezone Europe/Paris state RUNNING safe_mode false [latest-23063]2023-03-05T09:51:51.245Z <HassController:NOTICE> HassController#hass no signature match for update.home_assistant_supervisor_update [latest-23063]2023-03-05T09:51:51.248Z <HassController:NOTICE> HassController#hass no signature match for update.home_assistant_core_update [latest-23063]2023-03-05T09:51:51.249Z <HassController:NOTICE> HassController#hass no signature match for update.terminal_ssh_update [latest-23063]2023-03-05T09:51:51.250Z <HassController:NOTICE> HassController#hass no signature match for update.file_editor_update [latest-23063]2023-03-05T09:51:51.251Z <HassController:NOTICE> HassController#hass no signature match for update.samba_backup_update [latest-23063]2023-03-05T09:51:51.252Z <HassController:NOTICE> HassController#hass no signature match for update.home_assistant_operating_system_update [latest-23063]2023-03-05T09:51:51.253Z <HassController:NOTICE> HassController#hass no signature match for sun.sun [latest-23063]2023-03-05T09:51:51.285Z <HassController:NOTICE> HassController#hass no signature match for calendar.calendrier [latest-23063]2023-03-05T09:51:51.413Z <HassController:NOTICE> HassController#hass no signature match for siren.piscine_siren [latest-23063]2023-03-05T09:51:51.419Z <HassController:NOTICE> HassController#hass no signature match for camera.portillon [latest-23063]2023-03-05T09:51:51.607Z <Controller:INFO> HassController#hass 0 dead entities older than 86400000s purged [latest-23063]2023-03-05T09:51:51.633Z <Controller:NOTICE> Controller HassController#hass is now online. [latest-23063]2023-03-05T09:51:51.634Z <DynamicGroupController:INFO> All controllers ready, setting up dynamic groups [latest-23063]2023-03-05T09:51:51.726Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.1.42 [latest-23063]2023-03-05T09:51:55.510Z <wsapi:INFO> client "192.168.1.42#1" closed, code=1001, reason= [latest-23063]2023-03-05T09:51:55.815Z <httpapi:INFO> httpapi: API request from ::ffff:192.168.1.42: GET /api/v1/lang [latest-23063]2023-03-05T09:51:55.843Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.1.42 [latest-23063]2023-03-05T09:51:56.849Z <httpapi:INFO> httpapi: API request from ::ffff:192.168.1.42: GET /api/v1/systime [latest-23063]2023-03-05T09:52:07.392Z <httpapi:INFO> httpapi: API request from ::ffff:192.168.1.42: GET /api/v1/systime---
reactor_20230305_01.png Rule :
reactor_20230305_02.png Entities:
reactor_20230305_03.png log Reactor :Log Portainer:
NODE_PATH /opt/reactor:/opt/reactor/node_modules [latest-23063]2023-03-05T08:55:17.734Z <app:null> Reactor build latest-23063-c464b685 starting on v16.15.1 [latest-23063]2023-03-05T08:55:17.736Z <app:null> Process ID 1 user/group 0/0; docker; platform linux/arm64 #1595 SMP PREEMPT Wed Oct 26 11:07:24 BST 2022; locale (undefined) [latest-23063]2023-03-05T08:55:17.737Z <app:null> Basedir /opt/reactor; data in /var/reactor/storage [latest-23063]2023-03-05T08:55:17.738Z <app:null> NODE_PATH=/opt/reactor:/opt/reactor/node_modules [latest-23063]2023-03-05T08:55:17.875Z <Structure:null> Module Structure v22323 [latest-23063]2023-03-05T08:55:17.879Z <Capabilities:null> Module Capabilities v22356 [latest-23063]2023-03-05T08:55:18.004Z <Plugin:null> Module Plugin v22300 [latest-23063]2023-03-05T08:55:18.023Z <TimerBroker:null> Module TimerBroker v22283 [latest-23063]2023-03-05T08:55:18.032Z <Entity:null> Module Entity v22353 [latest-23063]2023-03-05T08:55:18.042Z <Controller:null> Module Controller v23044 [latest-23063]2023-03-05T08:55:18.079Z <default:null> Module Ruleset v22293 [latest-23063]2023-03-05T08:55:18.080Z <default:null> Module Rulesets v22146 [latest-23063]2023-03-05T08:55:18.096Z <GlobalExpression:null> Module GlobalExpression v22146 [latest-23063]2023-03-05T08:55:18.129Z <Predicate:null> Module Predicate v22345 [latest-23063]2023-03-05T08:55:18.139Z <AlertManager:null> Module AlertManager v22283 [latest-23063]2023-03-05T08:55:18.146Z <Rule:null> Module Rule v22345 [latest-23063]2023-03-05T08:55:18.156Z <GlobalReaction:null> Module GlobalReaction v22324 [latest-23063]2023-03-05T08:55:18.159Z <Engine:null> Module Engine v23001 [latest-23063]2023-03-05T08:55:18.171Z <httpapi:null> Module httpapi v23058 [latest-23063]2023-03-05T08:55:18.232Z <wsapi:null> Module wsapi v23053 [latest-23063]2023-03-05T08:55:18.358Z <HassController:null> Module HassController v23060 [latest-23063]2023-03-05T08:55:18.780Z <DynamicGroupController:null> Module DynamicGroupController v22313 [latest-23063]2023-03-05T08:55:18.803Z <SystemController:null> Module SystemController v22306``` -
Sorry for another dumb question. Migrating from Vera Alexa to HASS Vera TTS. MSR is on bare metal, Debian Bullseye version 23049
I can get TTS from MSR and basic TTS from MSR which is great!
Trying to get some of the variables I used to use though is stumping me.
In the original MSR, I'd use:
It is now ${{OutingDays}} days until we go to ${{OutingName}}. , Sleep well!for example, and that worked fine (I've not bothered to list the variables as I know the worked)
If I use
{ "message":"It is now${{OutingDays}} days until we go to ${{OutingName}}. , Sleep well!", "data":{"type":"announce", "method":"speak"}, "target":["media_player.everywhere"] }In the data field of the hass service system call it doesn't evaluate the variables (Not really surprised)
So might someone take mercy on me and give me a clue?
TIA
C
-
I'm back from a vacation and it was the first winter one with MSR.
I have a special vacation mode that's auto-setting after the house is in away mode for at least 18 hours - and that's mostly OK. In this mode, lights are turned on/off automatically, some things are off to preverse powers, etc. Thermostats are automatically set at 17C unless there's solar power. That's mostly OK, except when you have to deal with winters and clouds on the day back home.
Long story short: back from vacation, we found the house at 17C - wife wasn't impressed.
Back in the luup days I had a special override, that I forgot to port to MSR, that was basically like this in MSR (coded on the fly):
32298706-86f7-451e-9700-2baf5d5a23b6-image.png
So, I could tell my system when I'm on vacation and have a last day flag to re-set the house to normal behavior before I'm back. It was just two strings variable in a virtual binary sensor.
I don't want to code this in global expressions, so I'm wondering if it's possible to accomplish this with a Virtual Device, but I'm failing to visualize the correct answer and I'm here for inspiration for what others are doing to tackle this.
I don't want to create 4 separate devices (start date, end date, status, last day) in order to keep it easy and I want to be able to change the start/end date from the UI, to simplify things. Any hint is appreciated 🙂
-
I updated to the latest version of Reactor this morning. I run reactor (successfully) on a Raspberry PI 4 4GB with SSD 64GB. I also run Home Assistant in Docker. After updating I noticed a disk space critical error warning!
9f4e1ea1-977a-481b-9806-d3d43a4eff04-image.png
I have tried purging the docker install (docker image prune -a)
I have rebooted the Raspberry PI also, and the error messages keep coming.
I have the following disk space:
58742ed7-e10d-4572-b380-0abda64f90b4-image.png
How do I free up space?
Any help would be appreciated.
-
Good morning,
I'm trying to recreate some notifications I received on my old Vera system based upon House mode. I migrated from Vera to Home Assistant about 6 months ago, and all the automation I have set up are working great, however, I'm noticing that there were things that were once simple in Vera that are more involved in Home Assistant.In House Modes in Vera, there was a screen where I could select all the devices I wanted to be armed in various house modes. I recreated those house modes in Home Assistant very early on, but what I'm not getting now is notifications for various sensors. For instance, if the system is in Away mode, and interior motion is detected, I would get a Vera push notification on my phone. I've been setting these up one by one using haas>system --> x_haas_system.call_service, then setting the notify device and the message, one by one, but it's repetitious and tedious. For a few devices, like motion sensors on my ground floor, it's not a big deal, but now I'm looking at all the windows in my home, which have sensors on them.
So, enough of the background thesis. Simply put, is there a way to have a group of devices ( like 16 different window sensors ) as an entity, and when they are tripped, send out a notification and state which of those sensors was tripped, all in a single rule?
If I have to copy and edit 16 different rules, I'll do that, but I'd prefer a more elegant way where there is one rule to send out the notifications that tells me what was opened.
Thanks for all your advice/help in advance.
I'm running MSR latest-23049-1fd87c91 and Home Assistant 2023.2.5, Supervisor 2023.01.1, Operating System 9.5,
BTW, @toggledbits, I noticed on the About screen for MSR it still shows copyright from 2022. I know you've released versions this year.
Reactor (Multi-hub) latest-23049-1fd87c91 © 2020-2022 Kedron Holdings LLC, All Rights Reserved; Patrick Rigney (toggledbits), Principal Engineer.
-
I'd like the "None deferred" Reset Reaction group to have multiple Conditions. Is this not possible?
Running latest version of MSR, 23049-1fd87c91
-
I have upgraded my Hubitat Hub Information Driver to v3 and after the latest MSR update latest-23028 MSR is working ok. The problem is when MSR probes the device it appears to affect the polling in the new Hub Information Device and its data does not update the data fields in Hubitat. If I remove the Hub Information Device from Maker API so MSR can't see it, The Hub information driver updates the data as expected in Hubitat. I added the device back into Maker API the same problem returns in Hubitat. I have tried to have MSR probe a different device by adding a different probe device and probe action in the reactor.yaml per the documentation but it appears then it still uses the Hub Information Device as the probe device instead of the one specified in the reactor.yaml. See Logs below. Is this the intended behavior to always use the Hub Information Driver if found and not use the device in the reactor.yaml file? Any recommendations on how to get MSR and the v3 of the driver to work correctly or can you see what I am doing wrong?
[latest-23028]2023-02-11T23:27:50.471Z <Controller:NOTICE> Controller HassController#hass is now online. [latest-23028]2023-02-11T23:27:50.471Z <Rule:INFO> Internet Check (rule-l44qss4f in Home) starting evaluation; because entity-changed System#reactor_system>system [latest-23028]2023-02-11T23:27:50.471Z <Rule:INFO> MSR Update Version Available (rule-labweim2 in Notify) starting evaluation; because entity-changed System#reactor_system>system [latest-23028]2023-02-11T23:27:50.472Z <Rule:INFO> Internet Check (rule-l44qss4f in Home) trigger evaluation result is false (previously false) [latest-23028]2023-02-11T23:27:50.472Z <Rule:INFO> Internet Check (rule-l44qss4f in Home) evaluated; trigger state unchanged (false); rule state remains RESET [latest-23028]2023-02-11T23:27:50.472Z <Rule:INFO> MSR Update Version Available (rule-labweim2 in Notify) trigger evaluation result is false (previously false) [latest-23028]2023-02-11T23:27:50.472Z <Rule:INFO> MSR Update Version Available (rule-labweim2 in Notify) evaluated; trigger state unchanged (false); rule state remains RESET [latest-23028]2023-02-11T23:27:50.472Z <Rule:INFO> Internet Check (rule-l44qss4f in Home) evaluation complete [latest-23028]2023-02-11T23:27:50.472Z <Rule:INFO> MSR Update Version Available (rule-labweim2 in Notify) evaluation complete [latest-23028]2023-02-11T23:27:50.673Z <HubitatController:INFO> HubitatController#hubitat Maker API responded with 91 devices [latest-23028]2023-02-11T23:27:50.766Z <HubitatController:INFO> HubitatController#hubitat found 'Hub Information Driver v3' device #"481"; using for probe/health checks. [latest-23028]2023-02-11T23:27:50.780Z <Controller:INFO> HubitatController#hubitat 0 dead entities older than 86400000s purged [latest-23028]2023-02-11T23:27:50.780Z <Rule:INFO> Roku Pause (rule-l3nlrzu9 in Home) starting evaluation; because entity-changed BinarySensor#hubitat>519 [latest-23028]2023-02-11T23:27:50.780Z <Rule:INFO> Stairs Light Low Light (rule-kulslls9 in Living Room) starting evaluation; because entity-changed BinarySensor#hubitat>519 [latest-23028]2023-02-11T23:27:50.780Z <Rule:INFO> Porch Motion Extended check (rule-l3kr45m8 in Porch) starting evaluation; because entity-changed BinarySensor#hubitat>519 [latest-23028]2023-02-11T23:27:50.780Z <Rule:INFO> Porch Light Manual On (rule-kmtxw155 in Porch) starting evaluation; because entity-changed BinarySensor#hubitat>519Snippet from the reactor.yaml:
# action_pace: 100 # warn_unresponsive: true # probe_device: hubitat>132 (not needed if Hub Information app installed) probe_device: hubitat>2 # probe_action: x_hubitat_Configuration.configure (not needed if Hub Information app installed) probe_action: x_hubitat_Configuration.configure # probe_action: x_hubitat_Refresh.refreshSynology Docker latest-23028
Hubitat v2.3.4.139
Hub Information Driver v3 -
Hey Patrick,
I’m trying to figure out how to run Home Assistant native push notifications from MSR. I have MSR set up to arm my home alarm every night, and when all users are out of the home. I’ve used it for years through Reactor, and it works fine, but when I ran Vera and Reactor for Vera, I would get notifications from Vera when Vera went into different home modes. (Home, Away, Night, etc). I’ve set up Home Modes in HA as well, so I’m looking to get the native push notifications from the HA companion app (i.e., System in Home Mode, System Armed Away, or Good Night, etc) Can I set up notifications from MSR to use those native push notifications, or does that need to be done from HA exclusively?I’m running latest-23028-ddc3fb14 and Home Assistant 2023.1.7.
-
Hi!
I have MSR latest-23049-1fd87c91 and Home Assistant 2023.2.5.
Every friday and saturday evening I have an active reaction/automation; if any adult is home and someone is in the kitchen, music starts playing from Sonos. That works great. I have different playlists and artist radios for each friday and saturday per month (1:st, 2:nd, ...) Some evenings when I don't play an artist radio, but an ordinary playlist, the songs are always played in the same order. I would like to randomize and stir things up. Is it possible, if so, how, to make Sonos play the songs from a Sonos playlist in random order? I always play playlists that is characterized as my Sonos favorites.
Cheers!
/Fanan
Cheapest platform on which to run MSR
-
Bloody hell they have got spendy! Unless there's a specific chip that's running short for the Pis I'd expect all similar devices to suffer from the same inflation
C
-
I'm not seeing that, at least, not here in the States, among the usual major sellers, they all seem to be sticking to normal pricing when they have product (Adafruit, Arrow, Pishop, Digi-Key, etc.). It has been reported that Raspberry is focusing on its commercial customers first, so their production has leaned more into the Compute Modules than the standalone boards, but you can still get them, and I look at that availability of 100 at Adafruit as a good sign -- it was the largest single block of product I've seen in a while. They sold off the 2GB RAM models at US$45 each, which has been MSRP since release. There are a few opportunistic new/pop-up vendors (on eBay especially, to the surprise of no one, I hope) digging for gold, but the majors seem to be toeing the line.
-
So I have taken the plunge and ordered a RPI 4 4gb with USB 3.1 cable and SSD (paid a bit over the odds, but was having no success with the approved suppliers!). No going back now! Do I install Raspbian OS? I appreciate it'll have been a while since a lot of you guys learnt linux, but can anyone recommend where I might start - i.e. a book or internet site? Thanks.
-
I'd go for Raspian
It's a dead simple set up with the imager (no reason you shouldn't be able to use the SSD with that) The server version should give you everything you need but being based on Debian it should be trivial to get any missing bits (like curl and NodeJS 16). I also am running Debian 10 and have just set up MSR on a Debian 11 VM so more than happy to help until a proper expert comes along
C
-
Agree, best at this point would be Raspbian Bullseye, which is available as a 64-bit distribution that will maximize the performance of the host. If you choose to run Reactor under docker rather than bare-metal install, there are now 64-bit (
aarch64
) images available of Reactor.IIRC, you have to bring the system up on a MicroSD card as usual, and then you can use
raspi-config
to reconfigure it to boot from the SSD. That basically means you will need to install the OS twice, in advance before your first boot... once on the MicroSD, and once on the SSD. Once it's booting from the SSD, you can (and should) remove the MicroSD card. There are several different instructions for this available by search; some will give you steps to simply copy the OS from the MicroSD to the SSD, which is fine, too.Also, I believe that starting with Bullseye builds in March 2022, the default
pi
user is no longer included in the distribution — a user had to be created during the first boot. That means you will have to have a monitor (HDMI) and keyboard (USB) connected (and mouse if using the GUI). Also note that most instructions for Pi things tend to assume that thepi
user exists and is the first user on the system, so you may want to go with that when asked. -
With the new Raspberry Pi Imager you can configure the boot sequence and user when you download (format) the card or SSD.
Click on the settings Icon (lower righthand side) that will give you access to setting User Names, SSH and more..
Make sure you use the Rasp Pi downloader for this and its a breeze.I suggest you just throw caution to the wind and buy a SSD, they aren't that much more expensive than a SD Card.
The Pi4 makes it all worth while -
@black-cat TOTALLY agree on the SSD. I found a three-pack on AMZ for a very reasonable cost and haven't looked back. Everything runs much smoother/faster than on the SD card (for obvious reasons) and the knowledge that I'm not facing a SD card failure is reassuring.
-
Thanks for all the suggestions and support. I have a 16 GB SSD coming (based on advice given). I was hoping to install the OS directly as I don't have a SD Card. Still, it's a small problem if that all that is stopping me. I was thinking of using (installing?) a Docker so that I can install other applications too, but would this be too much to bite off for a beginner?
-
@talisker said in Cheapest platform on which to run MSR:
I was thinking of using (installing?) a Docker so that I can install other applications too, but would this be too much to bite off for a beginner?
I recommend it. It takes away a lot of details. Install docker and docker-compose on the RPi like this:
sudo apt-get install docker docker-compose
I recommend using docker-compose to manage the container from the command line. The installation instructions (for Reactor on docker) give you a template docker-compose configuration file you can just copy-paste. It makes starting the Reactor container much less verbose, and it basically manages itself once started (including restarting at boot). Upgrades are this easy:
docker-compose down # stop Reactor docker-compose pull # pull updated Reactor image docker-compose up -d # restart Reactor on new image
I guess you could also install Portainer for a GUI to manage docker, but I think that's more complicated. Put the three lines above in a script file and run it whenever you need to.
I would also recommend installing Geany if you plan on using the desktop GUI. It's a very easy programmer's text editor that does syntax highlighting, so it will help you make correct changes to Reactor's YAML configuration files, shell scripts, etc.
-
I want to add that I've been using a (Raspberry Pi) Compute Module 4 with 8GB EMMC on board (and no Wi-Fi), mounted on the RPi CM4 I/O Board, and it's a great combination and alternative. I mentioned that earlier in this thread when I first got it, and now it's been about six weeks and I've got some experience with it. The overall cost was comparable to the RPi 4B+ maker/consumer board with an added SSD and USB3.1 interface (around $45 for the CM4 and $40 for the I/O board, so US$85). The CM4's are more available right now (still hard to get, but much easier than the maker board) because RPi is giving manufacturing priority to CM4 to support industry. The I/O boards are easy to get and always have been. The I/O board offers two on-board HDMI interfaces, a PCIe (x1) ssocket (for many things, like another way to get storage), a gigabit Ethernet port, two USB 2.0 connectors (hmmmph, rather see 3.x), microSD socket (for non-EMMC models), two camera connectors, two display connectors, 28 x GPIO, and a battery-backed real time clock. You can power it with a 12VDC power supply (2.1mm positive tip barrel connector), so it's easy to get the power in that the board really needs, and on a connector I regard as more stable and durable for that purpose than USB micro. It also offers a Berg-style power connector for use with, for example, a small (MeanWell) switching PSU. It has a USB micro connector for connecting to a PC, where the system then looks like a Flash drive so you can do updates or make filesystem changes on a cold system.
Below are a couple of photos of my rig in a case I designed in Fusion 360 and 3D printed.
It's a bit (1-2cm) smaller than a Vera Plus in every dimension; for non-Vera readers, that's about the size of many 4-port Ethernet switches and small routers. It's fanless, and so far, I haven't seen the need for anything other than passive/convective cooling. But I will be adding heat sinks to the CM4, just for more headroom. The I/O board has a standard four-pin fan connector that works from the 12VDC supply.
What I especially like is that the eMMC storage is bus-connected to the CPU on the same card, so it's much faster than either MicroSD or SSD-over-USB. I haven't tested PCIe storage yet. The CM4 configuration is also much less fragile. I find the USB interface cable necessary for the SSD on the maker board setup to be unwieldy to cable manage, and I've learned not to move it at all when running or I'll cause disk faults and a kernel crash (i.e. it looks and acts like cobbled together bits, where the CM4+I/O looks purpose-built). The real time clock is also great to have; many of you may remember from Those Other Forums that I am firmly of the opinion that no serious IoT platform can be built without one (so that the time is very close to correct when the system cold boots after a power loss and network time is not yet available, and thus time-bsed automations don't go crazy due to a reset/default clock).
I highly recommend this approach to anyone. For CM4 configuration, I think the 2GB RAM/8GB eMMC (MSRP US$40 without Wi-Fi, US$45 with) is good for just a basic Reactor host, but the filesystem may end up a little tight if you also want to run Hass, InfluxDB, etc. (the OS itself takes almost half of my 8GB with the desktop GUI installed). I would go up to 16GB or 32GB eMMC for those, and 4GB RAM. The maximum manufactured configuration is 8GB RAM and 32GB eMMC, with an MSRP of US$90/95 without/with Wi-Fi. Run it on the 64-bit version of Raspbian Bullseye. Unless you have some reason to want Wi-Fi, I'd save the US$5 — running your IoT automations on Wi-Fi as primary network interface is not a good idea (IMO); the I/O board's gigabit Ethernet port is The Way. Full specs for the CM4 are here, and for the I/O board here.
Just so I've said it, I don't think the maker board configuration is bad at all, it's just in a close second place for me right now (because of the form factor issues and the real time clock). Six weeks ago I didn't have enough experience with the CM4 to declare it my favorite, but as of right now, that's where it is. But I would in no way shy away from the maker board or recommend against it. I've seen some tidy rigs put together with easily-printed cases for the maker board with an SSD, and some clever right-angle USB connectors to ease the USB cabling issue. But if you're comparing cost and convenience of the two configurations, I now think the CM4+I/O configuration edges out the maker board. The best configuration for you is the one you find most agreeable, always.
-
@toggledbits said in Cheapest platform on which to run MSR:
I guess you could also install Portainer for a GUI to manage docker, but I think that's more complicated
@toggledbits, more complicated is an understatement.
I'd like to hear from anyone who has done this and not experienced difficulties, I've been able to run either (Reactor or Portainer) but not both in Portainer Container. Over to the experts..... -
@toggledbits said in Cheapest platform on which to run MSR:
I want to add that I've been using a (Raspberry Pi) Compute Module 4 with 8GB EMMC on board
Way to go, unfortunately for me, the CM4 I/O board is the only part available. The Compute Module 4 is OOS (all versions), sigh.....
BTW, I love the case.....makes it all look very professional. -
@black-cat said in Cheapest platform on which to run MSR:
The Compute Module 4 is OOS
It's terrible right now, for sure. Just a reminder, rpilocator.com may be helpful. I'm asking him if he can add AU/NZ vendors, but I see PiAustralia has starter kits available (not just board, but a kit with a board). Pricey, but if you must have, maybe worth the premium.
For anyone it helps, it appears Semaf in Austria has stock of RPI 4B 2GB at the moment, and has since last night.
Update: Core Electronics (AU) also has the starter kit and the desktop kit in stock, and both come with a Pi 4 board.
-
If anyone is interested, I've published my model for the Compute Module 4 case on printables.com.
-
@black-cat I run Reactor and Portainer on a Pi4 without any issues.
The Pi is running Node-Red (bare metal), and in Docker: Teslamate (includes Teslamate, Grafana, Traefik, PostgreSQL, MQTT), Reactor (includes InfluxDB for Reactor, Chronograf, Telegraf), Gotify (a self-hosted notification platform), and a Tesla Powerwall integration (includes 2nd instances of Telegraf and InfluxDB, Grafana, and pypowerwall). Fifteen containers when you add Portainer itself. The Portainer GUI makes this all much easier to manage.
-
@Alan_F , thanks for the reply.
The difficulty I have is not running it but setting MSR configuration.
I haven't been able to locate where the config files reside. @toggledbits, could MSR have a goto button for setting the configs in the Tools page?
That would make setting configs extremely easy. -
@black-cat said in Cheapest platform on which to run MSR:
I haven't been able to locate where the config files reside.
They live in the
config
subdirectory of the directory you created. You're using Portainer? Should be in the configuration of the existing container (it's a binding to /var/reactor inside the container). -
Love your printed case, but it is not tall or deep enough to add the PCIE adapter for an m2 SSD. Have you come across any oversized cases for the CM4 IO boards that would accommodate use of the PCI slot.
-
If you tell me how much more clearance you need, I'd be happy to model a roomier version.
-
@toggledbits I have the CM4IO currently installed in a Waveshare CM4-IO-Board- Case-A metal case. The board is mounted to standoffs inside the case. I was able to remove enough of the front rim of the case to be able to mount the board without the cover, so depth is no longer an issue (There was already a small cutout area in the rim.) Overall the case is 6 7/8" wide x 4 1/8" deep x 1 1/8" high. It needs about another 1 1/2" in height, making the total height 2 1/2". I appreciate your offer to model a roomier case, but I don't have a 3D printer so it would be of little use to me. I guess that I will have to run it without a cover until the market catches up, assuming that the CM4 on CM4 IO is selling well.