Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Unsolved
Collapse
Discussion Forum to share and further the development of home control and automation, independent of platforms.
S

sykong

@sykong
[Reactor] Help with screne controller cycling logic
therealdbT
I’ve added a couple of Shelly Wave i4 as scene controllers and I’m planning to add more, since I can just use standard buttons instead of battery-powered scene controllers, which also looks better aesthetically. That said, I’m struggling to figure out how to write a simple rule that cycles between states every time I press a button. Example: Light 1 ON → OFF, then Light 2 ON → OFF. The part I can’t get right is handling the case where Light 1 or Light 2 might already be ON independently of the rule. Maybe it’s just too much sun and relaxation clouding my brain, but any hint would be appreciated.
Multi-System Reactor
Stop the MSR by an external switch on Hubitat.
wmarcolinW
Use case: When performing home maintenance, such as air conditioning, I want all rules involving air conditioning to be disabled. To do this, to day, I have a virtual switch that I placed within all rules involving air conditioning, meaning that if I turn it off, none of them work. Then another situation: the water pump system and garden irrigation, another switch. In short, I had to create several virtual switches in Hubitat to disable rules in MSR. Unfortunately, however, I was unable to cover all scenarios, so I wondered if it would be possible for MSR to support a virtual MSR switch, which, when configured in the reactor settings, would function as a general on/off switch for MSR. If it is configured and turned off, the entire rules and actions in MSR stops working, except for the status change reading process, specifically for this switch, which, when turned on, would restart the MSR. Would it be possible to do something like this? Any recommendations from the experts?
Multi-System Reactor
[Reactor] Variables not updating correctly in latest-25201-2aa18550
therealdbT
Topic thumbnail image
Multi-System Reactor
Expose MSR entities
CatmanV2C
Probably a really dumb question. Currently I am using the owntracks_sensor for tracking phones being in region in MSR and it works great. Digging around with Home Assistant and toying with some dashboards, is there any way of exposing that sensor to HA trivially? I could set MSR to trip a virtual switch in OpenLuup which can then be exposed to HA (with all my other Vera devices) but that feels a bit in-elegant if I can do it directly. Any thoughts? Apologies if the ask is not clear/ TIA C
Multi-System Reactor
Comment in Globa Expressions
Tom_DT
I have several Global Expressions that are set by a rule so the definition area is blank. I'd like to add a comment in this area that explains what is setting the value. Commenting in this area breaks the remote setting. Any way to document what is setting the GE?
Multi-System Reactor
Little Bobby tables...
CatmanV2C
...is back.... https://arstechnica.com/google/2025/08/researchers-use-calendar-events-to-hack-gemini-control-smart-home-gadgets/?utm_source=facebook&utm_medium=social&utm_campaign=dhfacebook&utm_content=null&fbclid=IwY2xjawMBq-pleHRuA2FlbQIxMQABHlSqIalzbz1IxcJFzlw8GBE6nC3FwvxcHgR370nJhogU6JjqbmRxG-lysqgh_aem_lx9XboYFKw9tpHnedGQKUA C
General Discussion
Home Assistant Voice TTS is Easy
toggledbitsT
Topic thumbnail image
Home Assistant
Play Audio through Home Assistant Voice Unit
toggledbitsT
Topic thumbnail image
Home Assistant
Home Assistant Voice
CatmanV2C
Has anyone had a play with the local voice control for HA? I've got one on order because... https://www.home-assistant.io/voice-pe/ C
Home Assistant
Unofficial thread for compatibility
tunnusT
As there are statements about compatibility for home assistant versions in MSR new version announcements (e.g. "HassController: Bless Hass to 2025.7.3"), I thought it would be good idea to track other controllers as well. As an example, I can confirm that build "latest-25208-c53e8513" works with Hubitat Elevation C-8 platform version 2.4.2.134 using Maker API.
Multi-System Reactor
Gradually turn on lights.
Tom_DT
I have several lights that I would like to turn on very gradually over 15 or 20 seconds. from 0 to .25 in .01 increments. I have tried a few things that came nowhere near working, so here I am.
Multi-System Reactor
Reactor (Multi-System/Multi-Hub) Announcements
toggledbitsT
Build 21228 has been released. Docker images available from DockerHub as usual, and bare-metal packages here. Home Assistant up to version 2021.8.6 supported; the online version of the manual will now state the current supported versions; Fix an error in OWMWeatherController that could cause it to stop updating; Unify the approach to entity filtering on all hub interface classes (controllers); this works for device entities only; it may be extended to other entities later; Improve error detail in messages for EzloController during auth phase; Add isRuleSet() and isRuleEnabled() functions to expressions extensions; Implement set action for lock and passage capabilities (makes them more easily scriptable in some cases); Fix a place in the UI where 24-hour time was not being displayed.
Multi-System Reactor
Can't customize home page
G
I foolishly let my system wipe all cookies this morning and with it my settings for my MSR home page. Once logged back in I can no longer remove errant panes nor is the + available to add new ones. Brave Browser v1.80.122 (Jul 16, 2025) What have I done?! Will check other browsers on my M1. UPDATE: Safari exhibits same behaviour. I've tried both sans last-four public key entry and with - no change.
Multi-System Reactor
Error After Upgrade
T
Topic thumbnail image
Multi-System Reactor
Reset attribute value of entity in event handler
R
Topic thumbnail image
Multi-System Reactor
Need help figuring out how to delay a reset on reaction
T
Topic thumbnail image
Multi-System Reactor
Way to search for rules (rule state) in other rules
T
@toggledbits, not sure if this is a feature request or I'm using the search tool wrong. You have a "Search for rule" in the Rules Set tab in MSR. It works nicely to find a rule and bring up said rule, but can it/could it be used for as a "where used?" global search? For instance, I have a fairly large set of rules, divided up into 10 different rulesets. There's easily a hundred individual rules, and many of the rules have Rule State triggers, which of course refer to other rules. Amongst my troubleshooting today, I came across what may have been a duplicate or troubleshooting attempt, but I can't tell if it's actually used as a Rule State in another rule without opening each rule that I suspect it may be a part of. Thanks.
Multi-System Reactor
Links to MSR from HA
Tom_DT
I am using Home Assistant a lot recently. On a dashboard showing the devices, I would like to show a link to the MSR rule that controls the devices. Is there a way to link directly into MSR?
Multi-System Reactor
Set Reaction > Script Action
wmarcolinW
Topic thumbnail image
Multi-System Reactor
Wiring Samotech SM308-S into light fitting
F
Hi Smart Home Community. I have used a Sonos inline WiFi switch to make one of my light fittings smart, but it requires a hard reset for WiFi changes, plus it isn't zigbee compatible, which means I can't use the Hue app to control it with the rest of the lights. To that end I bought a Samotech SM308-S as it is recommended as the better than the Sonos equivalent. I am however not exactly sure how to wire it in. The manual is available here Can anyone help me by clarifying which ports I need to use, and whether I should be using the live or switched live line for live etc. I will be keeping using standard switches for a while, although hope to upgrade to tap dials once I have all the fittings upgraded. Thanks
Hardware
About
Posts
4
Topics
2
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • MSR “Unexpected end of JSON input” after container update
    S sykong

    I noticed the filename in the log. This file is indeed also 0kb. I deleted it and rector is now working fine.

    [latest-24057]2024-02-28T23:56:28.806Z IndividualFileStrategy:ERR [IndividualFileStrategy][IndividualFileStrategy#/var/reactor/storage/states] failed to read cs-rule-ll4rewlj in /var/reactor/storage/states/cs-rule-ll4rewlj.json: [SyntaxError] Unexpected end of JSON input [-]

    Multi-System Reactor

  • MSR “Unexpected end of JSON input” after container update
    S sykong

    Thank you for the quick reply. I didn’t intentionally remove any logs. I copied whatever was showing as the container logs in portainer (100 lines?) without realising that there is a reactor log file. I’ve now included the logs from the log file for the latest restart below.

    [latest-24057]2024-02-28T23:56:27.199Z <app:null> Reactor build latest-24057-e9add9f5 starting on v20.10.0
    [latest-24057]2024-02-28T23:56:27.200Z <app:null> Process ID 1 user/group 0/0; docker; platform linux/x64 #69057 SMP Fri Jan 12 17:02:28 CST 2024; locale (undefined)
    [latest-24057]2024-02-28T23:56:27.201Z <app:null> Basedir /opt/reactor; data in /var/reactor/storage
    [latest-24057]2024-02-28T23:56:27.201Z <app:null> NODE_PATH=/opt/reactor:/opt/reactor/node_modules
    [latest-24057]2024-02-28T23:56:27.204Z <app:INFO> Configured locale (undefined); selected locale(s) en-US.UTF-8
    [latest-24057]2024-02-28T23:56:27.265Z <app:INFO> Loaded locale en-US for en-US
    [latest-24057]2024-02-28T23:56:27.269Z <Structure:null> Module Structure v23172
    [latest-24057]2024-02-28T23:56:27.271Z <Capabilities:null> Module Capabilities v23331
    [latest-24057]2024-02-28T23:56:27.301Z <Capabilities:NOTICE> System capabilities loaded from core distribution, data version 24004 revision 1
    [latest-24057]2024-02-28T23:56:27.337Z <Plugin:null> Module Plugin v22300
    [latest-24057]2024-02-28T23:56:27.344Z <TimerBroker:null> Module TimerBroker v22283
    [latest-24057]2024-02-28T23:56:27.347Z <Entity:null> Module Entity v22353
    [latest-24057]2024-02-28T23:56:27.351Z <Controller:null> Module Controller v23069
    [latest-24057]2024-02-28T23:56:27.368Z <default:null> Module Ruleset v22293
    [latest-24057]2024-02-28T23:56:27.368Z <default:null> Module Rulesets v22146
    [latest-24057]2024-02-28T23:56:27.376Z <GlobalExpression:null> Module GlobalExpression v23211
    [latest-24057]2024-02-28T23:56:27.392Z <Predicate:null> Module Predicate v23093
    [latest-24057]2024-02-28T23:56:27.396Z <AlertManager:null> Module AlertManager v22283
    [latest-24057]2024-02-28T23:56:27.399Z <Rule:null> Module Rule v24057
    [latest-24057]2024-02-28T23:56:27.402Z <GlobalReaction:null> Module GlobalReaction v22324
    [latest-24057]2024-02-28T23:56:27.405Z <Engine:null> Module Engine v24023
    [latest-24057]2024-02-28T23:56:27.422Z <httpapi:null> Module httpapi v24057
    [latest-24057]2024-02-28T23:56:27.439Z <wsapi:null> Module wsapi v24057
    [latest-24057]2024-02-28T23:56:27.440Z <app:NOTICE> Starting Structure...
    [latest-24057]2024-02-28T23:56:27.445Z <Structure:NOTICE> Structure#1 plugin ID influx disabled; skipping
    [latest-24057]2024-02-28T23:56:27.447Z <Structure:INFO> Structure#1 loading controller interface vera (VeraController)
    [latest-24057]2024-02-28T23:56:27.494Z <TaskQueue:null> Module TaskQueue 21351
    [latest-24057]2024-02-28T23:56:27.495Z <VeraController:null> Module VeraController v24050
    [latest-24057]2024-02-28T23:56:27.545Z <Structure:INFO> Structure#1 loading controller interface hass (HassController)
    [latest-24057]2024-02-28T23:56:27.558Z <HassController:null> Module HassController v24048
    [latest-24057]2024-02-28T23:56:27.799Z <Structure:INFO> Structure#1 loading controller interface groups (DynamicGroupController)
    [latest-24057]2024-02-28T23:56:27.804Z <DynamicGroupController:null> Module DynamicGroupController v22313
    [latest-24057]2024-02-28T23:56:27.808Z <Structure:INFO> Structure#1 loading controller interface reactor_system (SystemController)
    [latest-24057]2024-02-28T23:56:27.815Z <SystemController:null> Module SystemController v23331
    [latest-24057]2024-02-28T23:56:28.493Z <SystemController:NOTICE> SystemController#reactor_system resetting (reactor_system capability updated)
    [latest-24057]2024-02-28T23:56:28.497Z <Structure:INFO> Starting controller VeraController#vera
    [latest-24057]2024-02-28T23:56:28.497Z <VeraController:NOTICE> VeraController#vera starting...
    [latest-24057]2024-02-28T23:56:28.506Z <Controller:INFO> VeraController#vera loaded vera capabilities ver 22253 rev 1 format 1 
    [latest-24057]2024-02-28T23:56:28.532Z <Controller:INFO> VeraController#vera loaded implementation data ver 23109 rev 1 format 1 
    [latest-24057]2024-02-28T23:56:28.532Z <Structure:INFO> Starting controller HassController#hass
    [latest-24057]2024-02-28T23:56:28.532Z <HassController:NOTICE> HassController#hass starting...
    [latest-24057]2024-02-28T23:56:28.535Z <Controller:INFO> HassController#hass loaded hass capabilities ver 23289 rev 1 format 1 
    [latest-24057]2024-02-28T23:56:28.555Z <Controller:INFO> HassController#hass loaded implementation data ver 24004 rev 3 format 1 
    [latest-24057]2024-02-28T23:56:28.555Z <Structure:INFO> Starting controller DynamicGroupController#groups
    [latest-24057]2024-02-28T23:56:28.564Z <Controller:NOTICE> Controller DynamicGroupController#groups is now online.
    [latest-24057]2024-02-28T23:56:28.565Z <Structure:INFO> Starting controller SystemController#reactor_system
    [latest-24057]2024-02-28T23:56:28.569Z <Controller:NOTICE> Controller SystemController#reactor_system is now online.
    [latest-24057]2024-02-28T23:56:28.698Z <VeraController:INFO> VeraController: deviceclass room capability sys_group does not provide attribute members
    [latest-24057]2024-02-28T23:56:28.698Z <VeraController:INFO> VeraController: deviceclass room capability sys_group does not provide attribute empty
    [latest-24057]2024-02-28T23:56:28.700Z <HassController:INFO> HassController#hass device mapping data loaded; checking...
    [latest-24057]2024-02-28T23:56:28.700Z <HassController:WARN> HassController: implementation of capability battery_maintenance does not provide attribute state
    [latest-24057]2024-02-28T23:56:28.701Z <HassController:WARN> HassController: implementation of capability input_select.selector does not provide attribute values
    [latest-24057]2024-02-28T23:56:28.707Z <HassController:NOTICE> HassController#hass connecting to ws://192.168.20.230:8123/api/websocket
    [latest-24057]2024-02-28T23:56:28.711Z <app:NOTICE> Starting HTTP server and API...
    [latest-24057]2024-02-28T23:56:28.714Z <httpapi:NOTICE> httpapi: starting HTTP service on port "8111"
    [latest-24057]2024-02-28T23:56:28.717Z <app:NOTICE> Starting Reaction Engine...
    [latest-24057]2024-02-28T23:56:28.717Z <Engine:INFO> Reaction Engine starting
    [latest-24057]2024-02-28T23:56:28.718Z <Engine:INFO> Checking rule sets...
    [latest-24057]2024-02-28T23:56:28.721Z <Engine:INFO> Checking rules...
    [latest-24057]2024-02-28T23:56:28.806Z <IndividualFileStrategy:ERR> [IndividualFileStrategy][IndividualFileStrategy#/var/reactor/storage/states] failed to read cs-rule-ll4rewlj in /var/reactor/storage/states/cs-rule-ll4rewlj.json: [SyntaxError] Unexpected end of JSON input [-]
    [latest-24057]2024-02-28T23:56:28.806Z <app:ERR> Failed to start engine: [SyntaxError] Unexpected end of JSON input [-]
    [latest-24057]2024-02-28T23:56:28.806Z <app:CRIT> SyntaxError: Unexpected end of JSON input [-]
    SyntaxError: Unexpected end of JSON input
        at JSON.parse (<anonymous>)
        at IndividualFileStrategy.getDataObject (/opt/reactor/server/lib/IndividualFileStrategy.js:51:45)
        at DelayWriteCacheStrategy.getDataObject (/opt/reactor/server/lib/DelayWriteCacheStrategy.js:89:49)
        at Container.getDataObject (/opt/reactor/server/lib/Container.js:69:65)
        at Data.getInstance (/opt/reactor/server/lib/Data.js:45:179)
        at Rule.getRuleStates (/opt/reactor/server/lib/Rule.js:515:101)
        at Rule.getConditionState (/opt/reactor/server/lib/Rule.js:546:47)
        at new Rule (/opt/reactor/server/lib/Rule.js:371:47)
        at Rule.getInstance (/opt/reactor/server/lib/Rule.js:380:36)
        at /opt/reactor/server/lib/Engine.js:828:53
    [latest-24057]2024-02-28T23:56:28.813Z <httpapi:NOTICE> httpapi: listening
    [latest-24057]2024-02-28T23:56:28.824Z <app:NOTICE> Starting WSAPI...
    [latest-24057]2024-02-28T23:56:28.824Z <wsapi:NOTICE> wsapi: starting version 24057
    [latest-24057]2024-02-28T23:56:28.946Z <HassController:NOTICE> HassController#hass connected, starting protocol
    [latest-24057]2024-02-28T23:56:28.950Z <HassController:INFO> HassController#hass successful authentication with ws://192.168.20.230:8123; fetching initial data...
    [latest-24057]2024-02-28T23:56:28.955Z <HassController:INFO> HassController#hass Hass reports version "2024.2.5" location Home timezone Asia/Singapore state RUNNING safe_mode false
    [latest-24057]2024-02-28T23:56:28.960Z <HassController:ERR> HassController#hass reported Hass version "2024.2.5" is not supported!
    [latest-24057]2024-02-28T23:56:29.000Z <HassController:NOTICE> HassController#hass no signature match for sun.sun
    [latest-24057]2024-02-28T23:56:29.065Z <HassController:NOTICE> HassController#hass no signature match for fan.living_rm_fan
    [latest-24057]2024-02-28T23:56:29.066Z <HassController:NOTICE> HassController#hass no signature match for fan.dining_rm_fan
    [latest-24057]2024-02-28T23:56:29.066Z <HassController:NOTICE> HassController#hass no signature match for fan.mbr_fan
    [latest-24057]2024-02-28T23:56:29.066Z <HassController:NOTICE> HassController#hass no signature match for fan.br2_fan
    [latest-24057]2024-02-28T23:56:29.067Z <HassController:NOTICE> HassController#hass no signature match for fan.br3_fan
    [latest-24057]2024-02-28T23:56:29.076Z <HassController:NOTICE> HassController#hass no signature match for remote.rm_mini3_d5
    [latest-24057]2024-02-28T23:56:29.077Z <HassController:NOTICE> HassController#hass no signature match for remote.rm_pro_f5
    [latest-24057]2024-02-28T23:56:29.077Z <HassController:NOTICE> HassController#hass no signature match for remote.rm_mini3_b3
    [latest-24057]2024-02-28T23:56:29.077Z <HassController:NOTICE> HassController#hass no signature match for remote.rm_pro_15
    [latest-24057]2024-02-28T23:56:29.142Z <HassController:NOTICE> HassController#hass no signature match for update.us_8_60w
    [latest-24057]2024-02-28T23:56:29.143Z <HassController:NOTICE> HassController#hass no signature match for update.uap_nanohd
    [latest-24057]2024-02-28T23:56:29.156Z <HassController:NOTICE> HassController#hass no signature match for update.uap_ac_lite
    [latest-24057]2024-02-28T23:56:29.179Z <HassController:NOTICE> HassController#hass no signature match for fan.smartmi_2s_fan
    [latest-24057]2024-02-28T23:56:29.200Z <HassController:NOTICE> HassController#hass no signature match for update.eap615_wall_firmware_update
    [latest-24057]2024-02-28T23:56:29.207Z <HassController:NOTICE> HassController#hass no signature match for update.eap615_mbr_firmware_update
    [latest-24057]2024-02-28T23:56:29.213Z <Controller:INFO> HassController#hass 0 dead entities older than 86400000s purged
    [latest-24057]2024-02-28T23:56:29.220Z <Controller:NOTICE> Controller HassController#hass is now online.
    [latest-24057]2024-02-28T23:56:29.298Z <Controller:INFO> VeraController#vera 0 dead entities older than 86400000s purged
    [latest-24057]2024-02-28T23:56:29.301Z <Controller:NOTICE> Controller VeraController#vera is now online.
    [latest-24057]2024-02-28T23:56:29.302Z <DynamicGroupController:INFO> All controllers ready, setting up dynamic groups
    [latest-24057]2024-02-29T00:01:25.492Z <httpapi:INFO> httpapi: API request from ::ffff:127.0.0.1: GET /api/v1/alive
    [latest-24057]2024-02-29T00:05:32.389Z <httpapi:INFO> httpapi: API request from ::ffff:192.168.20.220: GET /api/v1/lang
    [latest-24057]2024-02-29T00:05:32.590Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:05:34.507Z <httpapi:INFO> httpapi: API request from ::ffff:192.168.20.220: GET /api/v1/systime
    [latest-24057]2024-02-29T00:06:10.134Z <wsapi:INFO> client "192.168.20.220#1" closed, code=1006, reason=
    [latest-24057]2024-02-29T00:06:20.158Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:06:26.166Z <httpapi:INFO> httpapi: API request from ::ffff:127.0.0.1: GET /api/v1/alive
    [latest-24057]2024-02-29T00:07:34.988Z <wsapi:INFO> client "192.168.20.220#2" closed, code=1006, reason=
    [latest-24057]2024-02-29T00:07:46.603Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:08:18.063Z <wsapi:INFO> client "192.168.20.220#3" closed, code=1006, reason=
    [latest-24057]2024-02-29T00:09:14.411Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:10:35.124Z <httpapi:INFO> httpapi: API request from ::ffff:192.168.20.220: GET /api/v1/systime
    [latest-24057]2024-02-29T00:11:16.348Z <wsapi:INFO> client "192.168.20.220#4" closed, code=1006, reason=
    [latest-24057]2024-02-29T00:11:26.971Z <httpapi:INFO> httpapi: API request from ::ffff:127.0.0.1: GET /api/v1/alive
    [latest-24057]2024-02-29T00:16:27.973Z <httpapi:INFO> httpapi: API request from ::ffff:127.0.0.1: GET /api/v1/alive
    [latest-24057]2024-02-29T00:21:03.150Z <httpapi:INFO> httpapi: API request from ::ffff:192.168.20.220: GET /api/v1/systime
    [latest-24057]2024-02-29T00:21:03.318Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:21:26.486Z <wsapi:INFO> client "192.168.20.220#5" closed, code=1006, reason=
    [latest-24057]2024-02-29T00:21:29.616Z <httpapi:INFO> httpapi: API request from ::ffff:127.0.0.1: GET /api/v1/alive
    [latest-24057]2024-02-29T00:24:53.554Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:25:03.217Z <wsapi:INFO> client "192.168.20.220#6" closed, code=1006, reason=
    [latest-24057]2024-02-29T00:25:58.102Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:26:03.789Z <httpapi:INFO> httpapi: API request from ::ffff:192.168.20.220: GET /api/v1/systime
    [latest-24057]2024-02-29T00:26:03.902Z <wsapi:INFO> client "192.168.20.220#7" closed, code=1001, reason=
    [latest-24057]2024-02-29T00:26:04.461Z <httpapi:INFO> httpapi: API request from ::ffff:192.168.20.220: GET /api/v1/lang
    [latest-24057]2024-02-29T00:26:04.669Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:26:07.368Z <httpapi:INFO> httpapi: API request from ::ffff:192.168.20.220: GET /api/v1/systime
    [latest-24057]2024-02-29T00:26:32.453Z <httpapi:INFO> httpapi: API request from ::ffff:127.0.0.1: GET /api/v1/alive
    [latest-24057]2024-02-29T00:28:13.706Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:28:13.953Z <wsapi:INFO> client "192.168.20.220#8" closed, code=1006, reason=
    [latest-24057]2024-02-29T00:28:34.125Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:28:39.981Z <wsapi:INFO> client "192.168.20.220#9" closed, code=1006, reason=
    [latest-24057]2024-02-29T00:28:47.556Z <wsapi:INFO> client "192.168.20.220#10" closed, code=1006, reason=
    [latest-24057]2024-02-29T00:28:52.218Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:29:23.273Z <Notifier:null> Module Notifier v22283
    [latest-24057]2024-02-29T00:29:23.314Z <default:null> Module NotifyAlert v21092
    [latest-24057]2024-02-29T00:29:23.384Z <default:null> Module NotifySMTP v21083
    [latest-24057]2024-02-29T00:29:23.393Z <default:null> Module NotifyProwl v21195
    [latest-24057]2024-02-29T00:29:23.397Z <default:null> Module NotifyPushover v21195
    [latest-24057]2024-02-29T00:29:23.402Z <default:null> Module NotifySyslog v21083
    [latest-24057]2024-02-29T00:29:23.407Z <default:null> Module NotifyCallMeBot v21195
    [latest-24057]2024-02-29T00:29:23.412Z <default:null> Module NotifyTelegram v21221
    [latest-24057]2024-02-29T00:31:12.183Z <httpapi:INFO> httpapi: API request from ::ffff:192.168.20.220: GET /api/v1/systime
    [latest-24057]2024-02-29T00:31:32.546Z <wsapi:WARN> wsapi: timed out waiting for ping reply (pong) from client "192.168.20.220#11"
    [latest-24057]2024-02-29T00:31:32.547Z <wsapi:INFO> client "192.168.20.220#11" closed, code=1006, reason=
    [latest-24057]2024-02-29T00:31:33.457Z <httpapi:INFO> httpapi: API request from ::ffff:127.0.0.1: GET /api/v1/alive
    [latest-24057]2024-02-29T00:31:39.848Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:32:31.496Z <wsapi:INFO> client "192.168.20.220#12" closed, code=1006, reason=
    [latest-24057]2024-02-29T00:33:34.831Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:36:13.198Z <httpapi:INFO> httpapi: API request from ::ffff:192.168.20.220: GET /api/v1/systime
    [latest-24057]2024-02-29T00:36:34.075Z <httpapi:INFO> httpapi: API request from ::ffff:127.0.0.1: GET /api/v1/alive
    [latest-24057]2024-02-29T00:38:26.909Z <wsapi:INFO> client "192.168.20.220#13" closed, code=1001, reason=
    [latest-24057]2024-02-29T00:38:27.833Z <httpapi:INFO> httpapi: API request from ::ffff:192.168.20.220: GET /api/v1/lang
    [latest-24057]2024-02-29T00:38:28.403Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:38:31.988Z <httpapi:INFO> httpapi: API request from ::ffff:192.168.20.220: GET /api/v1/systime
    [latest-24057]2024-02-29T00:41:35.501Z <httpapi:INFO> httpapi: API request from ::ffff:127.0.0.1: GET /api/v1/alive
    [latest-24057]2024-02-29T00:42:57.382Z <wsapi:INFO> client "192.168.20.220#14" closed, code=1006, reason=
    [latest-24057]2024-02-29T00:43:13.705Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:43:32.393Z <httpapi:INFO> httpapi: API request from ::ffff:192.168.20.220: GET /api/v1/systime
    [latest-24057]2024-02-29T00:44:00.527Z <wsapi:INFO> client "192.168.20.220#15" closed, code=1006, reason=
    [latest-24057]2024-02-29T00:44:35.635Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:45:46.136Z <wsapi:INFO> client "192.168.20.220#16" closed, code=1006, reason=
    [latest-24057]2024-02-29T00:46:36.540Z <httpapi:INFO> httpapi: API request from ::ffff:127.0.0.1: GET /api/v1/alive
    [latest-24057]2024-02-29T00:47:18.038Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:47:33.185Z <wsapi:INFO> client "192.168.20.220#17" closed, code=1005, reason=
    [latest-24057]2024-02-29T00:48:00.759Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:48:33.177Z <httpapi:INFO> httpapi: API request from ::ffff:192.168.20.220: GET /api/v1/systime
    [latest-24057]2024-02-29T00:49:01.074Z <wsapi:INFO> client "192.168.20.220#18" closed, code=1006, reason=
    [latest-24057]2024-02-29T00:49:33.746Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.20.220
    [latest-24057]2024-02-29T00:50:04.365Z <wsapi:INFO> client "192.168.20.220#19" closed, code=1006, reason=
    

    I deleted the “storage/entities/reactor_system” folder and restarted Reactor. The entity states are updated when viewing “entities”. But the states are not updated when viewing via the rules.

    There were no 0 kb sized file in the rules folder for me to delete. I did find a zero sized file in states “cs-rule-ll4rewlj.json” but that corresponding rule “rule-ll4rewlj.json” was last modified in 2023. Should I delete the entire rules folder?

    To restore the rules from a backup, do I just copy the files in?

    Multi-System Reactor

  • MSR “Unexpected end of JSON input” after container update
    S sykong

    Hi,

    I’m running MSR in a docker container on my Synology Nas. The container is automatically updated using watchtower weekly.

    It was working. Now, after the update, Reactor webpage is able to load, and all indications on the webpage suggests that it is working fine. However, the updated statuses from Home Assistant and Vera are not being detected.

    The container logs show the following error

    Reactor stable-23344-5aad7754 app 23344 configuration from /var/reactor/config
    NODE_PATH /opt/reactor:/opt/reactor/node_modules
    [stable-23344]2024-02-28T21:57:49.516Z <app:null> Reactor build stable-23344-5aad7754 starting on v16.15.1
    [stable-23344]2024-02-28T21:57:49.517Z <app:null> Process ID 1 user/group 0/0; docker; platform linux/x64 #69057 SMP Fri Jan 12 17:02:28 CST 2024; locale (undefined)
    [stable-23344]2024-02-28T21:57:49.517Z <app:null> Basedir /opt/reactor; data in /var/reactor/storage
    [stable-23344]2024-02-28T21:57:49.517Z <app:null> NODE_PATH=/opt/reactor:/opt/reactor/node_modules
    [stable-23344]2024-02-28T21:57:49.696Z <Structure:null> Module Structure v23172
    [stable-23344]2024-02-28T21:57:49.698Z <Capabilities:null> Module Capabilities v23331
    [stable-23344]2024-02-28T21:57:49.780Z <Plugin:null> Module Plugin v22300
    [stable-23344]2024-02-28T21:57:49.790Z <TimerBroker:null> Module TimerBroker v22283
    [stable-23344]2024-02-28T21:57:49.794Z <Entity:null> Module Entity v22353
    [stable-23344]2024-02-28T21:57:49.866Z <Controller:null> Module Controller v23069
    [stable-23344]2024-02-28T21:57:50.030Z <default:null> Module Ruleset v22293
    [stable-23344]2024-02-28T21:57:50.031Z <default:null> Module Rulesets v22146
    [stable-23344]2024-02-28T21:57:50.066Z <GlobalExpression:null> Module GlobalExpression v23211
    [stable-23344]2024-02-28T21:57:50.581Z <Predicate:null> Module Predicate v23093
    [stable-23344]2024-02-28T21:57:50.595Z <AlertManager:null> Module AlertManager v22283
    [stable-23344]2024-02-28T21:57:50.600Z <Rule:null> Module Rule v23107
    [stable-23344]2024-02-28T21:57:50.614Z <GlobalReaction:null> Module GlobalReaction v22324
    [stable-23344]2024-02-28T21:57:50.617Z <Engine:null> Module Engine v23339
    [stable-23344]2024-02-28T21:57:50.635Z <httpapi:null> Module httpapi v23058
    [stable-23344]2024-02-28T21:57:50.680Z <wsapi:null> Module wsapi v23172
    [stable-23344]2024-02-28T21:57:50.789Z <TaskQueue:null> Module TaskQueue 21351
    [stable-23344]2024-02-28T21:57:50.790Z <VeraController:null> Module VeraController v23109
    [stable-23344]2024-02-28T21:57:50.971Z <HassController:null> Module HassController v23344
    [stable-23344]2024-02-28T21:57:51.716Z <DynamicGroupController:null> Module DynamicGroupController v22313
    [stable-23344]2024-02-28T21:57:52.253Z <SystemController:null> Module SystemController v23331
    i18n: missing en-US language string: The version of nodejs you are using ({0}) is now end-of-life, and so is deprecated for use with Reactor. Please upgrade nodejs to {2}.{3} or higher as soon as possible; the current LTS version is recommended. Releases of Reactor produced after {1} will not run under this version of nodejs at all.
    [stable-23344]2024-02-28T21:57:52.256Z <Controller:CRIT> SyntaxError: Unexpected end of JSON input [-]
    SyntaxError: Unexpected end of JSON input
        at JSON.parse (<anonymous>)
        at /opt/reactor/server/lib/Controller.js:464:51
        at Array.forEach (<anonymous>)
        at SystemController._restoreEntities (/opt/reactor/server/lib/Controller.js:458:36)
        at new Controller (/opt/reactor/server/lib/Controller.js:45:42)
        at new SystemController (/opt/reactor/server/lib/SystemController.js:29:9)
        at /opt/reactor/server/lib/Controller.js:101:37
    Trace: The version of nodejs you are using ({0}) is now end-of-life, and so is deprecated for use with Reactor. Please upgrade nodejs to {2}.{3} or higher as soon as possible; the current LTS version is recommended. Releases of Reactor produced after {1} will not run under this version of nodejs at all.
        at _T (/opt/reactor/server/lib/i18n.js:468:37)
        at AlertManager.addAlert (/opt/reactor/server/lib/AlertManager.js:126:25)
        at /opt/reactor/app.js:381:140
    [stable-23344]2024-02-28T21:57:59.313Z <app:CRIT> SyntaxError: Unexpected end of JSON input [-]
    SyntaxError: Unexpected end of JSON input
        at JSON.parse (<anonymous>)
        at IndividualFileStrategy.getDataObject (/opt/reactor/server/lib/IndividualFileStrategy.js:114:54)
        at DelayWriteCacheStrategy.getDataObject (/opt/reactor/server/lib/DelayWriteCacheStrategy.js:87:50)
        at Container.getDataObject (/opt/reactor/server/lib/Container.js:69:67)
        at Function.getInstance (/opt/reactor/server/lib/Data.js:37:179)
        at Rule.getRuleStates (/opt/reactor/server/lib/Rule.js:507:100)
        at Rule.getConditionState (/opt/reactor/server/lib/Rule.js:538:47)
        at new Rule (/opt/reactor/server/lib/Rule.js:378:47)
        at Function.getInstance (/opt/reactor/server/lib/Rule.js:387:36)
        at /opt/reactor/server/lib/Engine.js:263:53
    i18n: missing en-US language string: HomeAssistant on {0:q} may be an unsupported version. The reported version ({1}) has not been certified/tested with this version of Reactor and may cause errors. You must either modify your HomeAssistant install, or see if an update to Reactor has been made available.
    Trace: HomeAssistant on {0:q} may be an unsupported version. The reported version ({1}) has not been certified/tested with this version of Reactor and may cause errors. You must either modify your HomeAssistant install, or see if an update to Reactor has been made available.
        at _T (/opt/reactor/server/lib/i18n.js:468:37)
        at AlertManager.addAlert (/opt/reactor/server/lib/AlertManager.js:126:25)
        at HassController.sendWarning (/opt/reactor/server/lib/Controller.js:197:36)
        at /opt/reactor/server/lib/HassController.js:1117:370
        at processTicksAndRejections (node:internal/process/task_queues:96:5)
    

    I’ve tried using “latest-amd64” and it does not work either. The logs show similar json input error.

    Reactor latest-24057-e9add9f5 app 24052 configuration from /var/reactor/config
    NODE_PATH /opt/reactor:/opt/reactor/node_modules
    [latest-24057]2024-02-28T22:27:30.466Z <app:null> Reactor build latest-24057-e9add9f5 starting on v20.10.0
    [latest-24057]2024-02-28T22:27:30.522Z <app:null> Process ID 1 user/group 0/0; docker; platform linux/x64 #69057 SMP Fri Jan 12 17:02:28 CST 2024; locale (undefined)
    [latest-24057]2024-02-28T22:27:30.522Z <app:null> Basedir /opt/reactor; data in /var/reactor/storage
    [latest-24057]2024-02-28T22:27:30.522Z <app:null> NODE_PATH=/opt/reactor:/opt/reactor/node_modules
    [latest-24057]2024-02-28T22:27:30.667Z <Structure:null> Module Structure v23172
    [latest-24057]2024-02-28T22:27:30.673Z <Capabilities:null> Module Capabilities v23331
    [latest-24057]2024-02-28T22:27:30.780Z <Plugin:null> Module Plugin v22300
    [latest-24057]2024-02-28T22:27:30.787Z <TimerBroker:null> Module TimerBroker v22283
    [latest-24057]2024-02-28T22:27:30.791Z <Entity:null> Module Entity v22353
    [latest-24057]2024-02-28T22:27:30.796Z <Controller:null> Module Controller v23069
    [latest-24057]2024-02-28T22:27:30.811Z <default:null> Module Ruleset v22293
    [latest-24057]2024-02-28T22:27:30.811Z <default:null> Module Rulesets v22146
    [latest-24057]2024-02-28T22:27:30.821Z <GlobalExpression:null> Module GlobalExpression v23211
    [latest-24057]2024-02-28T22:27:30.890Z <Predicate:null> Module Predicate v23093
    [latest-24057]2024-02-28T22:27:30.958Z <AlertManager:null> Module AlertManager v22283
    [latest-24057]2024-02-28T22:27:31.027Z <Rule:null> Module Rule v24057
    [latest-24057]2024-02-28T22:27:31.033Z <GlobalReaction:null> Module GlobalReaction v22324
    [latest-24057]2024-02-28T22:27:31.036Z <Engine:null> Module Engine v24023
    [latest-24057]2024-02-28T22:27:31.042Z <httpapi:null> Module httpapi v24057
    [latest-24057]2024-02-28T22:27:31.216Z <wsapi:null> Module wsapi v24057
    [latest-24057]2024-02-28T22:27:31.296Z <TaskQueue:null> Module TaskQueue 21351
    [latest-24057]2024-02-28T22:27:31.297Z <VeraController:null> Module VeraController v24050
    [latest-24057]2024-02-28T22:27:31.365Z <HassController:null> Module HassController v24048
    [latest-24057]2024-02-28T22:27:31.659Z <DynamicGroupController:null> Module DynamicGroupController v22313
    [latest-24057]2024-02-28T22:27:31.668Z <SystemController:null> Module SystemController v23331
    [latest-24057]2024-02-28T22:27:31.673Z <Controller:CRIT> SyntaxError: Unexpected end of JSON input [-]
    SyntaxError: Unexpected end of JSON input
        at JSON.parse (<anonymous>)
        at /opt/reactor/server/lib/Controller.js:464:51
        at Array.forEach (<anonymous>)
        at SystemController._restoreEntities (/opt/reactor/server/lib/Controller.js:458:36)
        at new Controller (/opt/reactor/server/lib/Controller.js:45:43)
        at new SystemController (/opt/reactor/server/lib/SystemController.js:237:9)
        at /opt/reactor/server/lib/Controller.js:101:37
    [latest-24057]2024-02-28T22:27:38.845Z <app:CRIT> SyntaxError: Unexpected end of JSON input [-]
    SyntaxError: Unexpected end of JSON input
        at JSON.parse (<anonymous>)
        at IndividualFileStrategy.getDataObject (/opt/reactor/server/lib/IndividualFileStrategy.js:51:45)
        at DelayWriteCacheStrategy.getDataObject (/opt/reactor/server/lib/DelayWriteCacheStrategy.js:89:49)
        at Container.getDataObject (/opt/reactor/server/lib/Container.js:69:65)
        at Data.getInstance (/opt/reactor/server/lib/Data.js:45:179)
        at Rule.getRuleStates (/opt/reactor/server/lib/Rule.js:515:101)
        at Rule.getConditionState (/opt/reactor/server/lib/Rule.js:546:47)
        at new Rule (/opt/reactor/server/lib/Rule.js:371:47)
        at Rule.getInstance (/opt/reactor/server/lib/Rule.js:380:36)
        at /opt/reactor/server/lib/Engine.js:828:53
    i18n: missing en-US language string: HomeAssistant on {0:q} may be an unsupported version. The reported version ({1}) has not been certified/tested with this version of Reactor and may cause errors. You must either modify your HomeAssistant install, or see if an update to Reactor has been made available.
    Trace: HomeAssistant on {0:q} may be an unsupported version. The reported version ({1}) has not been certified/tested with this version of Reactor and may cause errors. You must either modify your HomeAssistant install, or see if an update to Reactor has been made available.
        at _T (/opt/reactor/server/lib/i18n.js:614:37)
        at AlertManager.addAlert (/opt/reactor/server/lib/AlertManager.js:128:25)
        at HassController.sendWarning (/opt/reactor/server/lib/Controller.js:197:36)
        at /opt/reactor/server/lib/HassController.js:1133:374
        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    

    How do I fix this?

    Multi-System Reactor

  • Admin user required for Home Assistant Controller status and reactions
    S sykong

    Hi,

    Took me a while to realise the issue here. Just want to share to save others the time of trying to figure out what's wrong.

    • Reactor (Multi-hub) stable-22337-1a0a685f
    • Home Assistant 2022.11.5

    Home Assistant integration with non-admin user (access token) will caused the Home Assistant status in Reactor to show as down. Entity info from Home Assistant, however, is being updated. But Reactor is unable to execute any reactions.

    If the user is changed to an admin user in Home Assistant, the status is changed to up and reactions work.

    Multi-System Reactor
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Unsolved