Yes. It’s just the part where you need to understand paths and ports mapping. The a couple of cli command with docker compose and you’re good to go. Portability and backups are super easy (and fast).
therealdb
Posts
-
Can you run MSR on Home Assistant OS ? -
HA and AIIt surely depends on the model. I’ve seen great results with Claude 4.5, Gemini 3 and GPT 5+. I’m lucky to have all them accessible thru GitHub CoPilot Pro.
But I agree. Giving the best context with your instructions surely makes a difference.
-
Can you run MSR on Home Assistant OS ?It’s just the first phase that’s complicated. In terms of every day operations, it’s very easy to manage and automate. Plus, no need to backup the entire vm but you’re good with just data and less memory/cpu intensive by design. Worth to explorer when doing a major re-design imho.
-
How to upgrade from an old version of MSR?Yes to Zwave js ui. Zwa2 range is impressive. You’ll thank me later

There’s zigbee2mqtt that’s basically the same route as Zwave js and home assistant has a zigbee usb key as well.
Everything is then exposed and orchestrated via reactor.Regrading AI, I’m more and more offloading dev tasks to GitHub Copilot Agent inside VS Code and I love it. I have a special chat with custom instructions for reactor where I ask about logic guidance and checks. This is the sort of tasks that generative AI excels at.
-
How to upgrade from an old version of MSR?@cw-kid exactly. You’ll be able to use in reactor as the entities coming from other controllers, or in home assistant for your dashboards.
-
How to upgrade from an old version of MSR?@cw-kid ZwaveJS is a piece of software, like reactor, specifically meant to provide Zwave software service. As such, it requires some usb key in order to work. No need to use home assistant. Nabu casa has some hardware as Zwave usb key that’s the best in town at the moment, known as ZWA-2. Together they make the same hw+sw as in Vera or Hubitat, but open and well maintained.
Install Zwave js ui, plug the usb key and you’re ready to go.ZwaveJS UI => https://github.com/zwave-js/zwave-js-ui
Home Assistant ZWA-2 Zwave key => https://www.home-assistant.io/connect/zwa-2/ -
Can you run MSR on Home Assistant OS ?Docker is the way to go. I have two distinct hosts (one mainly as failover) and dozens of docker containers running alongside. The best feature is separation between them, so that if you mess with them, your system will run stable anyway and just the problematic containers will be impacted. Also, using docker compose file setup is a breeze. Not an easy learning curve, but doable.
-
How to upgrade from an old version of MSR?@cw-kid nope, this is an hardware Zwave key from the guys working on home assistant that will work with anything you want and does not require home assistant at all. In fact, we’re running Zwave from ZwaveJS inside our own mini pc, no external hardware needed.
-
How to upgrade from an old version of MSR?I’d go with ZwaveJS. I migrated from Vera Zwave radio to a new usb radio and then to home assistant Zwave dongle. I recommend their antenna because the range is incredible. Zero lags and zero packet lost. See my older posts.
-
[Reactor] Problem with Global Reactions and groups@toggledbits yes, fixed! thanks.
-
[Reactor] Problem with Global Reactions and groupsI have this Global Reaction doing some work around lights, based on the season:
When I run it, both the lights in Summer and Winter groups are turned on. Very, very strange. I tried removing and adding the groups again, with no joy.
I see these on the logs:
[latest-25328]2026-01-11T18:23:11.847Z <Engine:CRIT> TypeError: this[_0x3c7c88(...)][_0x3c7c88(...)] is not a function [-] TypeError: this[_0x3c7c88(...)][_0x3c7c88(...)] is not a function at GlobalReactionPredicateContext.toString (/opt/reactor/server/lib/PredicateContext.js:87:126) at Logger.getLogger (/opt/reactor/server/lib/Logger.js:417:31) at new GlobalReactionPredicateContext (/opt/reactor/server/lib/GlobalReactionPredicateContext.js:62:93) at Engine._resume_reaction (/opt/reactor/server/lib/Engine.js:2136:55) at Engine._process_reaction_queue (/opt/reactor/server/lib/Engine.js:2031:133) at process.processTicksAndRejections (node:internal/process/task_queues:103:5) [latest-25328]2026-01-11T18:23:12.155Z <Engine:CRIT> Engine#1 alarm() context is rule Rule#rule-mf29005p condition condmf29005q Script; timer ID will be alarm:rule:rule-mf29005p:cond:condmf29005q [latest-25328]2026-01-11T18:23:13.159Z <Engine:CRIT> Engine#1 alarm() context is rule Rule#rule-mf29005p condition condmf29005q Script; timer ID will be alarm:rule:rule-mf29005p:cond:condmf29005q [latest-25328]2026-01-11T18:23:14.376Z <Engine:CRIT> TypeError: this[_0x3c7c88(...)][_0x3c7c88(...)] is not a function [-] TypeError: this[_0x3c7c88(...)][_0x3c7c88(...)] is not a function at GlobalReactionPredicateContext.toString (/opt/reactor/server/lib/PredicateContext.js:87:126) at Logger.getLogger (/opt/reactor/server/lib/Logger.js:417:31) at new GlobalReactionPredicateContext (/opt/reactor/server/lib/GlobalReactionPredicateContext.js:62:93) at Engine._resume_reaction (/opt/reactor/server/lib/Engine.js:2136:55) at Engine._process_reaction_queue (/opt/reactor/server/lib/Engine.js:2031:133)Maybe some old format that was corrupted in the rule? @toggledbits
-
[HowTo] Using HABridge with Reactor@CatmanV2 said in [HowTo] Using HABridge with Reactor:
Which I don't think needs URL encoding. (Well the URL encoder I checked didn't make any changes)
Nope, canonical IDs in HASS always require encoding. Ask me why I know this...
The request is failing otherwise. Trust me
-
[Reactor] Bug when sending MQTT boolean payloadsYes, thanks. I usually send json and numbers, so I assumed it would automatically convert to string anyway. Not a big deal, but it made me check my sanity for a couple of hours, until I realized it was not me.
-
Genuinely impressed with Zigbee and HA / Reactor -
Genuinely impressed with Zigbee and HA / ReactorYes, same here. Once discovered, you have to stick with it.
I’m calling reactor endpoints to control hass devices. I posted the urls in a previous post, but I could post it again if needed.
-
Difficulty defining repeating annual periodCan’t you just use “after Dec 15th” and then add an OR for just “before Jan 15th”?
I have a global variable named ChristmasTime that’s set daily, so it’s easier to use in multiple reactions. Just a suggestion to simplify things.
-
Need help with sequenceI will change my logic to just check for your state to be disarmed (so, no changes) for at least 5 secs, or as already suggested, just use OR with all the possible variations you’d get.
-
[Reactor] Bug when sending MQTT boolean payloadsHey @toggledbits.
I found a strange bug while sending boolean MQTT payloads in actions. Latest MQTT/Reactor builds.
Basically, if I send a true/false, it gets logged but it's not sent:
[latest-25328]2025-12-31T11:36:23.958Z <MQTTController:INFO> MQTTController#mqtt x_mqtt.publish publishing foo/cmd/foo payload falseIf I change to ${{ str(1 == 1) }}, it goes thru. No apparent errors in logs.
-
Possible feature request?I did a "replace script" that's parsing JSON files and replacing references. Every time I change a device (i.e.: I pair a new Zwave device or replace some Wi-Fi thing with ZigBee/Zwave), I run it with old device and new device as params. Back in the days I mostly did it manually.
Here's the todo list:- Stop reactor
- Copy storage folder (and make a backup)
- Search for the old device ID and change accordingly
- Save files, copy to storage folder
- Start Reactor again
I agree a much needed feature will be the ability to filter rules by device. At least you'll easily spot the ones not used in code blocks and that will be useful when you don't remember the exact rule that is doing something with a particular device.
-
Genuinely impressed with Zigbee and HA / ReactorI tried different things and after all I’ve just switched to my own emulated hue bridge, calling reactor HTTP endpoints. I was toying with the idea of sending MQTT commands, but HTTP just works. I did my own bridge because I have 100 switches/scenes/virtual switches mapped to Alexa and ha-bridge has not the ability to define multiple bridges on the same host, so I wrote mine

But ha-bridge should just work. Never tried HASS native hue emulation. I tried matter bridge and unfortunately Alexa will only see 20 devices.









