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.
wmarcolinW

wmarcolin

@wmarcolin
[MSR] Copy&past of actions and/or drag&drop between set/reset
therealdbT
Hey @toggledbits One thing that bothers me while doing work on new systems/new features, is that I cannot copy&paste actions, and I cannot drag&drop between set and resets. #1 is for when I want to copy an action between different rules opened in two separate browser windows, while #2 is when I just need to flip a bunch of actions in the reset, or move some logic back and forth. Both will be appreciated, but I understand the technical challenges. Thanks!
Multi-System Reactor
Alexa for MSR, any interest?
MikeReadingtonM
Topic thumbnail image
Multi-System Reactor
openLuup console disappeared - 500 - Internal Server Error
A
Love openLuup - it just keeps working perfectly. I started looking at trying to add a gen4 Shelly device to the Shelly plugin via L_ShellyBridge.lua. The plugin is a little uncooked (no rudeness intended), so a bit of a rabbit hole for me. All of a sudden no console pages available in either Firefox or Chrome. AltUI works perfectly and all the log files indicate no errors. openLuup still running everything works as it should - just no console pages. I possibly screwed something up but any recently changes files show no problems. The original/ backup of L_ShellyBridge.lua was reinstated but still no console. Bit stumped on this one. Not sure how to debug. Any ideas?
Plugins
Ezlo Paid Subscription for Vera Cloud Services
toggledbitsT
It appears that Ezlo is going to new levels of paid subscription for cloud services supporting Vera hubs. I have to congratulate them. It will soon be 8 years since Ezlo acquired Vera, and despite their purported financial and "intellectual" capital, they have to date not produced a viable full replacement for Vera. Now they are going to charge extra for services for a platform that they stopped updating years ago. If you know anyone who hasn't yet fully moved on from Captain Ahab's White Whale Chase, please remind them that my Decouple project is still up on Github to decouple a Vera Plus/Secure/Edge from Vera/Ezlo's cloud services. Veras have been said to misbehave when they can't reach the mother ship. I have also written my first new Vera plugin in... six years? more?... the AlertPushover project will send Vera hub alerts to Pushover, so you can still get messages generated by your Vera hub without paying for Ezlo's cloud service. It's crude but functional (i.e. better than nothing/worth every penny paid). These two projects won't replace the functionality of their cloud service and app for those who need those things. But any that don't, this may help bridge the gap. Hopefully these stragglers who have waited so long and been disappointed so often will get the idea that it's time to move on.
General Discussion
[RESOLVED] Telegram notification broke with latest update
3
Topic thumbnail image
Multi-System Reactor
[RESOLVED] Phantom device, “INFO” appears
wmarcolinW
Topic thumbnail image
Multi-System Reactor
[RESOLVED] Mode Status NULL
wmarcolinW
Topic thumbnail image
Multi-System Reactor
Reactor (Multi-System/Multi-Hub) Announcements
toggledbitsT
Build 21228 has been released. Docker images available from DockerHub as usual, and bare-metal packages here. Home Assistant up to version 2021.8.6 supported; the online version of the manual will now state the current supported versions; Fix an error in OWMWeatherController that could cause it to stop updating; Unify the approach to entity filtering on all hub interface classes (controllers); this works for device entities only; it may be extended to other entities later; Improve error detail in messages for EzloController during auth phase; Add isRuleSet() and isRuleEnabled() functions to expressions extensions; Implement set action for lock and passage capabilities (makes them more easily scriptable in some cases); Fix a place in the UI where 24-hour time was not being displayed.
Multi-System Reactor
[RESOLVED] HTTP query failing after version 26177
wmarcolinW
Topic thumbnail image
Multi-System Reactor
Question about the find function
wmarcolinW
Topic thumbnail image
Multi-System Reactor
[Answered] OK to remove old json files?
3
Topic thumbnail image
Multi-System Reactor
Deprecation Announcement: 32-bit ARM *docker* images
toggledbitsT
If you are using the armv7l docker image, the OpenJS Foundation that publishes node is no longer producing 32-bit builds as of v24. That means the last supported LTS version of node for armv7l is v22, which will go End-of-Life in May 2027. Therefore, the Reactor armv7l image is now deprecated and will only be produced until node v22 goes EOL, and I will not publish armv7l images beyond that date. If you are running an RPi 3 or earlier with Reactor, you are on this image, and will need to upgrade hardware to a 64-bit model and use the arm64 image. If you need help getting it done, ask in this category.
Multi-System Reactor
[Solved] build 26150 - engine not starting
G
@toggledbits I pulled the image (well, Watchtower did) and within minutes the whole system went offline. The log looks like it ends with 26143. [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-mkahsmgf/26qq82mw-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lqyfljfi/22f8on0t-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lsb61rw8/24oenqi2-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lrh58he0/rule-lrh58he0:S-1c00gfib-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lrh58he0/1c00dylr-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lrh58he0/1nam9w5u-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-miuh2qqi/22ls4lql-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-kwc6rmci/rule-kwc6rmci:S-1vj8sdfc-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-kwc6rmci/rule-kwc6rmci:S-1qanz01x-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-ladyja6a/24lq19p6-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-mk0o8iox/23oy468y-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-miscg2h3/rule-miscg2h3:S-22gmbq1c-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-kxgrfjke/238p0old-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-m7ccsso5/re-m7ccsso5-1r0myjxa-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-ladyja6a/19nl9wq2-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-ladyja6a/rule-ladyja6a:S-yl3xk9t-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-ladyja6a/rule-ladyja6a:S-yl3vv5m-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-ln7j2nqp/re-ln7j2nqp-22mx9lzd-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-ln7j2nqp/22mx87c8-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-licneppy/1mzwe7ht-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-ml3194ih/25jqt1j4-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-kxgrg7kf/227hshak-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-reactorexmachina/13ua1p95-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-reactorexmachina/13uagam7-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-grpvl9oypg/rule-grpvl9oypg:R-134x4cbv-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-grpvl9oypg/rule-grpvl9oypg:R-134x2fyl-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-lscjrws1/238p5c22-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lbwr0jvq/1xkczf03-cons [latest-26143]2026-05-31T15:23:44.547Z <Structure:NOTICE> Structure Structure#1 stopped [latest-26143]2026-05-31T15:23:44.547Z <app:NOTICE> Closing APIs... [latest-26143]2026-05-31T15:23:44.547Z <wsapi:NOTICE> wsapi: closing... [latest-26143]2026-05-31T15:23:44.547Z <wsapi:NOTICE> wsapi: disconnecting from "192.168.1.23#82" (1001 service closing) [latest-26143]2026-05-31T15:23:44.548Z <httpapi:NOTICE> HTTP API closing... [latest-26143]2026-05-31T15:23:44.549Z <wsapi:NOTICE> wsapi: server closed [latest-26143]2026-05-31T15:23:44.549Z <httpapi:INFO> HTTP server closed. [latest-26143]2026-05-31T15:23:44.549Z <app:NOTICE> Stopping timers... [latest-26143]2026-05-31T15:23:44.551Z <app:null> Shutdown complete, process ID 1 [latest-26143]2026-05-31T15:23:44.551Z <app:null> Closing logs... [latest-26143]2026-05-31T15:23:44.551Z <default:null> Closing log I can SSH to the VM. Alas, I do not have the previous image for 26143 as I'm a little too quick sometimes on housekeeping.
Multi-System Reactor
Farewell, oh good and faithful servant!
CatmanV2C
Today marks another milestone in my Home Automation journey. After tripping the main breaker once, and shedding more blood than is normally recommended, the underfloor heating (which was the last Z-wave device on my system) has been replaced with a Zigbee one. Edited reactor.conf Disabled z-way-server Disabled Openluup Z-wave is no more.... C
General Discussion
http request action & digest auth
tunnusT
I’m using the HTTP Request action in MSR and need to authenticate against an endpoint that uses HTTP Digest authentication. Now that endpoint was changed to use SHA-256 in digest auth, so I would like to know if MSR supports it, or is it limited to MD5-based digest auth?
Multi-System Reactor
Cloning actions in reactions does not work
tunnusT
With build 26140 (on Docker) I'm not able to clone any actions in reactions. Using Chrome if it has any relevance.
Multi-System Reactor
Has ping command been removed?
tunnusT
Topic thumbnail image
Multi-System Reactor
ReferenceError with Home Assistant data & build 26140
tunnusT
Topic thumbnail image
Multi-System Reactor
Integrations and 'Loaded'
CatmanV2C
Thanks again for the recent release. One thing I wanted to ask about integrations and their 'loaded' condition: Is there something similar that applies to the entire controller? So if I have (for example) a helper in HA that is used to trigger an automation in MSR, is it possible to effectively exclude it until MSR is 'happy' that HA is stable and its values can be trusted? This, actually goes back to the issue I had. I've got a use case where a 30 second delay from triggering is a bit of a PITA (sustained for...) and was just wondering if there's a way of knowing that 'native' HA functions are working correctly. Probably asking wrong, or it's hideously obvious, but... TIA C
Multi-System Reactor
Possible mismatch between binary_sensor in HA and MSR
CatmanV2C
Hi. First off this is an unsupported version of HS 2026.5.2 so happy to be told it's that. Currently running latest-26130-3d2a489a on a Debian Buster bare metal VM. I've been working on moving away from OpenLuup completely and up until now have been using some virtual switches t manage things like 'Is there anyone home' I have a binary sensor in HA that provides the same thing binary_sensor.someone_home which appears in MSR as hass>binary_sensor_someone_home HA shows on or off. MSR shows true or false All fine. The odd thing happened after an update of HA and a restart. From HA 13:07:04 it turned off 13:07:11 it turned on However that does not appear to have been reflected in MSR which turned all the heating and so on off as it is supposed to do, and I got all my notifications as I should. Here's a huge log section (sorry) as I wanted to show how MSR identifies that HA is up and running at 12:07:08 (Zulu) but triggers the 'There's no one here' at 12:07:17 some 6 seconds after HA updated to on. Checking in the interface MSR said the status was 'False' while HA stated 'On' rule-mkwk2fwa.dval:[{"id":1,"container":2,"value":3,"serial":92,"tss":93,"tsc":93},"rule-mkwk2fwa","rules",{"id":1,"serial":4,"triggers":5,"constraints":21,"expressions":24,"name":25,"react_set":26,"react_reset":88,"ruleset":91},16,{"type":6,"id":7,"op":8,"conditions":9,"editor_version":20},"group","trig","and",[10],{"id":11,"type":12,"data":13},"condmkwk2fwa","entity",{"entity":14,"attribute":15,"op":16,"value":17},"hass>person_rachel_matthews","x_hass.state","change",[18,19],null,"not_home",25351,{"type":6,"id":22,"op":8,"conditions":23},"cons",[],{},"Rachel is on the move",{"id":27,"actions":28,"rule":1,"editor_version":87,"set":61},"rule-mkwk2fwa:S",[29,35,62,83],{"id":30,"type":31,"data":32},"24kv27go","setvar",{"var":33,"value":34},"g_CurrentHour","${{int(strftime(\"%H\", time()))}}",{"id":36,"type":6,"actions":37,"constraints":46},"rule-mkwk2fwa:S-24kv7qgg",[38],{"id":39,"type":12,"data":40},"24kv4y1v",{"entity":41,"action":42,"args":43},"hass>system","x_hass_system.call_service",{"service":44,"data":45},"notify.alexa_media","{\n\"message\":\"Good ${{g_Greeting}} Chris. , Rachel has left the ${{g_rachel_last_area}} zone and is in transit \",\n\"data\":{\"type\":\"announce\", \"method\":\"speak\"},\n\"target\":[\"media_player.everywhere\"]\n}",{"id":47,"name":48,"type":6,"op":8,"conditions":49,"editor_version":20},"rule-mkwk2fwa:S-24kv7qgg-cons","Group Constraints Copy",[50,55],{"id":51,"type":52,"data":53},"cond24kv89zv","comment",{"comment":54},"Should speak only when I'm home",{"id":56,"type":12,"data":57},"cond24kv7qgh",{"entity":58,"attribute":59,"op":60,"value":61},"mqqt>catman_iphone","binary_sensor.state","=",true,{"id":63,"type":6,"actions":64,"constraints":72},"rule-mkwk2fwa:S-24kv2lon",[65],{"id":66,"type":67,"data":68},"28xz6paf","notify",{"method":69,"message":70,"profile":71},"Telegram","Rachel has left the ${{g_rachel_last_area}} zone and is in transit","default",{"id":73,"name":48,"type":6,"op":8,"conditions":74,"editor_version":20},"rule-mkwk2fwa:S-24kv2lon-cons",[75,79],{"id":76,"type":52,"data":77},"cond24kvlpae",{"comment":78},"Should telegram while I am away",{"id":80,"type":12,"data":81},"cond24kvkyz7",{"entity":58,"attribute":59,"op":60,"value":82},false,{"id":84,"type":52,"data":85},"24kv7hvk",{"comment":86},"Enter comment text",25314,{"id":89,"actions":90,"rule":1,"set":82},"rule-mkwk2fwa:R",[],"rs-l5sdq41x",2,1779017869959] rule-mkwk2fwa.json:{"id":"rule-mkwk2fwa","container":"rules","value":{"id":"rule-mkwk2fwa","serial":16,"triggers":{"type":"group","id":"trig","op":"and","conditions":[{"id":"condmkwk2fwa","type":"entity","data":{"entity":"hass>person_rachel_matthews","attribute":"x_hass.state","op":"change","value":[null,"not_home"]}}],"editor_version":25351},"constraints":{"type":"group","id":"cons","op":"and","conditions":[]},"expressions":{},"name":"Rachel is on the move","react_set":{"id":"rule-mkwk2fwa:S","actions":[{"id":"24kv27go","type":"setvar","data":{"var":"g_CurrentHour","value":"${{int(strftime(\"%H\", time()))}}"}},{"id":"rule-mkwk2fwa:S-24kv7qgg","type":"group","actions":[{"id":"24kv4y1v","type":"entity","data":{"entity":"hass>system","action":"x_hass_system.call_service","args":{"service":"notify.alexa_media","data":"{\n\"message\":\"Good ${{g_Greeting}} Chris. , Rachel has left the ${{g_rachel_last_area}} zone and is in transit \",\n\"data\":{\"type\":\"announce\", \"method\":\"speak\"},\n\"target\":[\"media_player.everywhere\"]\n}"}}}],"constraints":{"id":"rule-mkwk2fwa:S-24kv7qgg-cons","name":"Group Constraints Copy","type":"group","op":"and","conditions":[{"id":"cond24kv89zv","type":"comment","data":{"comment":"Should speak only when I'm home"}},{"id":"cond24kv7qgh","type":"entity","data":{"entity":"mqqt>catman_iphone","attribute":"binary_sensor.state","op":"=","value":true}}],"editor_version":25351}},{"id":"rule-mkwk2fwa:S-24kv2lon","type":"group","actions":[{"id":"28xz6paf","type":"notify","data":{"method":"Telegram","message":"Rachel has left the ${{g_rachel_last_area}} zone and is in transit","profile":"default"}}],"constraints":{"id":"rule-mkwk2fwa:S-24kv2lon-cons","name":"Group Constraints Copy","type":"group","op":"and","conditions":[{"id":"cond24kvlpae","type":"comment","data":{"comment":"Should telegram while I am away"}},{"id":"cond24kvkyz7","type":"entity","data":{"entity":"mqqt>catman_iphone","attribute":"binary_sensor.state","op":"=","value":false}}],"editor_version":25351}},{"id":"24kv7hvk","type":"comment","data":{"comment":"Enter comment text"}}],"rule":"rule-mkwk2fwa","editor_version":25314,"set":true},"react_reset":{"id":"rule-mkwk2fwa:R","actions":[],"rule":"rule-mkwk2fwa","set":false},"ruleset":"rs-l5sdq41x"},"serial":2,"tss":1779017869959,"tsc":1779017869959} rule-mkwlg11o.dval:[{"id":1,"container":2,"value":3,"serial":92,"tss":93,"tsc":93},"rule-mkwlg11o","rules",{"id":1,"serial":4,"triggers":5,"constraints":20,"expressions":23,"name":24,"react_set":25,"react_reset":88,"ruleset":91},5,{"type":6,"id":7,"op":8,"conditions":9,"editor_version":19},"group","trig","and",[10],{"id":11,"type":12,"data":13},"condmkwk2fwa","entity",{"entity":14,"attribute":15,"op":16,"value":17},"hass>person_rachel_matthews","x_hass.state","change",[18],"not_home",25351,{"type":6,"id":21,"op":8,"conditions":22},"cons",[],{},"Rachel has arrived",{"id":26,"actions":27,"rule":1,"editor_version":87,"set":65},"rule-mkwlg11o:S",[28,33,39,66,83],{"id":29,"type":30,"data":31},"24kvboht","script",{"expr":32},"g_rachel_last_area = getEntity(\"hass>person_rachel_matthews\").attributes['x_hass'].state",{"id":34,"type":35,"data":36},"24kvbohu","setvar",{"var":37,"value":38},"g_CurrentHour","${{int(strftime(\"%H\", time()))}}",{"id":40,"type":6,"actions":41,"constraints":50},"rule-mkwlg11o:S-rule-mkwlg11o-24kvbohv",[42],{"id":43,"type":12,"data":44},"24kvbohw",{"entity":45,"action":46,"args":47},"hass>system","x_hass_system.call_service",{"service":48,"data":49},"notify.alexa_media","{\n\"message\":\"Good ${{g_Greeting}} Chris. , Rachel has arrived in the ${{g_rachel_last_area}} zone.\",\n\"data\":{\"type\":\"announce\", \"method\":\"speak\"},\n\"target\":[\"media_player.everywhere\"]\n}",{"id":51,"name":52,"type":6,"op":8,"conditions":53,"editor_version":19},"24kvbohv-cons","Group Constraints Copy",[54,59],{"id":55,"type":56,"data":57},"cond24kv89zv","comment",{"comment":58},"Should speak only when I'm home",{"id":60,"type":12,"data":61},"cond24kv7qgh",{"entity":62,"attribute":63,"op":64,"value":65},"mqqt>catman_iphone","binary_sensor.state","=",true,{"id":67,"type":6,"actions":68,"constraints":76},"rule-mkwlg11o:S-rule-mkwlg11o-24kvbohx",[69],{"id":70,"type":71,"data":72},"24kvbohy","notify",{"method":73,"message":74,"profile":75},"Telegram","Rachel has arrived in the ${{g_rachel_last_area}} zone.","default",{"id":77,"name":52,"type":6,"op":8,"conditions":78,"editor_version":19},"24kvbohx-cons",[79],{"id":80,"type":12,"data":81},"cond24kvmzfp",{"entity":62,"attribute":63,"op":64,"value":82},false,{"id":84,"type":56,"data":85},"24kvbohz",{"comment":86},"Enter comment text",25314,{"id":89,"actions":90,"rule":1,"set":82},"rule-mkwlg11o:R",[],"rs-l5sdq41x",1,1770023368433] rule-mkwlg11o.json:{"id":"rule-mkwlg11o","container":"rules","value":{"id":"rule-mkwlg11o","serial":5,"triggers":{"type":"group","id":"trig","op":"and","conditions":[{"id":"condmkwk2fwa","type":"entity","data":{"entity":"hass>person_rachel_matthews","attribute":"x_hass.state","op":"change","value":["not_home"]}}],"editor_version":25351},"constraints":{"type":"group","id":"cons","op":"and","conditions":[]},"expressions":{},"name":"Rachel has arrived","react_set":{"id":"rule-mkwlg11o:S","actions":[{"id":"24kvboht","type":"script","data":{"expr":"g_rachel_last_area = getEntity(\"hass>person_rachel_matthews\").attributes['x_hass'].state"}},{"id":"24kvbohu","type":"setvar","data":{"var":"g_CurrentHour","value":"${{int(strftime(\"%H\", time()))}}"}},{"id":"rule-mkwlg11o:S-rule-mkwlg11o-24kvbohv","type":"group","actions":[{"id":"24kvbohw","type":"entity","data":{"entity":"hass>system","action":"x_hass_system.call_service","args":{"service":"notify.alexa_media","data":"{\n\"message\":\"Good ${{g_Greeting}} Chris. , Rachel has arrived in the ${{g_rachel_last_area}} zone.\",\n\"data\":{\"type\":\"announce\", \"method\":\"speak\"},\n\"target\":[\"media_player.everywhere\"]\n}"}}}],"constraints":{"id":"24kvbohv-cons","name":"Group Constraints Copy","type":"group","op":"and","conditions":[{"id":"cond24kv89zv","type":"comment","data":{"comment":"Should speak only when I'm home"}},{"id":"cond24kv7qgh","type":"entity","data":{"entity":"mqqt>catman_iphone","attribute":"binary_sensor.state","op":"=","value":true}}],"editor_version":25351}},{"id":"rule-mkwlg11o:S-rule-mkwlg11o-24kvbohx","type":"group","actions":[{"id":"24kvbohy","type":"notify","data":{"method":"Telegram","message":"Rachel has arrived in the ${{g_rachel_last_area}} zone.","profile":"default"}}],"constraints":{"id":"24kvbohx-cons","name":"Group Constraints Copy","type":"group","op":"and","conditions":[{"id":"cond24kvmzfp","type":"entity","data":{"entity":"mqqt>catman_iphone","attribute":"binary_sensor.state","op":"=","value":false}}],"editor_version":25351}},{"id":"24kvbohz","type":"comment","data":{"comment":"Enter comment text"}}],"rule":"rule-mkwlg11o","editor_version":25314,"set":true},"react_reset":{"id":"rule-mkwlg11o:R","actions":[],"rule":"rule-mkwlg11o","set":false},"ruleset":"rs-l5sdq41x"},"serial":1,"tss":1770023368433,"tsc":1770023368433} catman@openluup:~/reactor/storage/rules$ exit logout Connection to 192.168.70.249 closed. catman@ChrisMBP2021 ~ % ./NotVera ** WARNING: connection is not using a post-quantum key exchange algorithm. ** This session may be vulnerable to "store now, decrypt later" attacks. ** The server may need to be upgraded. See https://openssh.com/pq.html Linux openluup 4.19.0-20-amd64 #1 SMP Debian 4.19.235-1 (2022-03-17) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Mon May 18 12:13:38 2026 from 192.168.70.69 cdcatman@openluup:~$ cd reactor/lo locales/ logs/ catman@openluup:~$ cd reactor/logs/ catman@openluup:~/reactor/logs$ ls console.log hass_config.json hass_services-2025-11-1.json hass_services-2026-1-0.json hass_services-2026-5-2.json reactor.log reactor.log.4 vera-user_data-initial.json device_32 hass_device_registry.json hass_services-2025-11-2.json hass_services-2026-1-1.json hass_services.json reactor.log.1 reactor.log.5 e hass_entity_registry.json hass_services-2025-11-3.json hass_services-2026-4-2.json hass_sources.json reactor.log.2 unhandled.json hass_area_registry.json hass_integrations.json hass_services-2025-7-2.json hass_services-2026-4-4.json hass_states.json reactor.log.3 vera-status-initial.json catman@openluup:~/reactor/logs$ less reactor.log catman@openluup:~/reactor/logs$ tail reactor.log [latest-26130]2026-05-19T12:20:08.296Z <httpapi:INFO> httpapi#1 API request from ::ffff:192.168.70.249: GET /api/v1/netstatus [latest-26130]2026-05-19T12:21:03.391Z <httpapi:INFO> httpapi#1 API request from ::ffff:192.168.70.249: GET /api/v1/netstatus [latest-26130]2026-05-19T12:21:08.729Z <Rule:INFO> Rule#rule-mova0cpn re-evaluating local variable L_Cinema_Light_Level for dependency notification from ValueSensor#hass>sensor_cinema_multi_sensor_illuminance [latest-26130]2026-05-19T12:21:08.734Z <Rule:INFO> Rule#rule-mova0cpn requesting eval for changed dependent locals Array(1) ["L_Cinema_Light_Level"] [latest-26130]2026-05-19T12:22:03.501Z <httpapi:INFO> httpapi#1 API request from ::ffff:192.168.70.249: GET /api/v1/netstatus [latest-26130]2026-05-19T12:22:08.614Z <Rule:INFO> Rule#rule-mova0cpn re-evaluating local variable L_Cinema_Light_Level for dependency notification from ValueSensor#hass>sensor_cinema_multi_sensor_illuminance [latest-26130]2026-05-19T12:22:08.624Z <Rule:INFO> Rule#rule-mova0cpn requesting eval for changed dependent locals Array(1) ["L_Cinema_Light_Level"] [latest-26130]2026-05-19T12:23:03.590Z <httpapi:INFO> httpapi#1 API request from ::ffff:192.168.70.249: GET /api/v1/netstatus [latest-26130]2026-05-19T12:23:08.503Z <Rule:INFO> Rule#rule-mova0cpn re-evaluating local variable L_Cinema_Light_Level for dependency notification from ValueSensor#hass>sensor_cinema_multi_sensor_illuminance [latest-26130]2026-05-19T12:23:08.506Z <Rule:INFO> Rule#rule-mova0cpn requesting eval for changed dependent locals Array(1) ["L_Cinema_Light_Level"] catman@openluup:~/reactor/logs$ less reactor.log [latest-26130]2026-05-19T12:07:17.946Z <Rule:INFO> Cyrus Stream Vol+ (rule-ml9yjy9z in Living Room) starting rule state evaluation; because predicate-state-changed Predicate#rule-ml9yjy9z/trig [latest-26130]2026-05-19T12:07:17.947Z <Rule:INFO> Cyrus Stream Vol+ (rule-ml9yjy9z in Living Room) evaluated; rule state transition from RESET to 'SET' [latest-26130]2026-05-19T12:07:17.961Z <Rule:INFO> Cyrus Stream Vol- (rule-ml9ylxw3 in Living Room) starting rule state evaluation; because predicate-state-changed Predicate#rule-ml9ylxw3/trig [latest-26130]2026-05-19T12:07:17.962Z <Rule:INFO> Cyrus Stream Vol- (rule-ml9ylxw3 in Living Room) evaluated; rule state transition from RESET to 'SET' [latest-26130]2026-05-19T12:07:17.995Z <Engine:INFO> Enqueueing "Heating Control Mode is Home<RESET>" (rule-l680lif2:R) [latest-26130]2026-05-19T12:07:17.996Z <Engine:INFO> Enqueueing "House Mode is Home<RESET>" (rule-l5sdqazh:R) [latest-26130]2026-05-19T12:07:17.997Z <Engine:INFO> Enqueueing "Cyrus Stream Play / Pause<SET>" (rule-ml9y0xqo:S) [latest-26130]2026-05-19T12:07:17.997Z <Engine:INFO> Enqueueing "Cyrus Stream Vol+<SET>" (rule-ml9yjy9z:S) [latest-26130]2026-05-19T12:07:17.998Z <Engine:INFO> Enqueueing "Cyrus Stream Vol-<SET>" (rule-ml9ylxw3:S) [latest-26130]2026-05-19T12:07:18.000Z <Engine:NOTICE> Starting reaction Heating Control Mode is Home<RESET> (rule-l680lif2:R) [latest-26130]2026-05-19T12:07:18.000Z <Engine:INFO> Engine#1 perform power_switch.off on Entity#hass>input_boolean_heating_mode with { } by reaction Heating Control Mode is Home<RESET> (rule-l680lif2:R) step 1 [latest-26130]2026-05-19T12:07:18.000Z <HassController:INFO> HassController#hass perform power_switch.off on Entity#hass>input_boolean_heating_mode with { } [latest-26130]2026-05-19T12:07:18.001Z <HassController:INFO> HassController#hass service homeassistant.turn_off target data is { } (empty), assuming default entity target [latest-26130]2026-05-19T12:07:18.001Z <HassController:INFO> HassController#hass: sending payload for power_switch.off on Entity#hass>input_boolean_heating_mode action: { "type": "call_service", "service_data": { }, "domain": "homeassistant", "service": "turn_off", "target": { "entity_id": "input_boolean.heating_mode" } } [latest-26130]2026-05-19T12:07:18.017Z <Engine:NOTICE> Starting reaction House Mode is Home<RESET> (rule-l5sdqazh:R) [latest-26130]2026-05-19T12:07:18.018Z <Engine:INFO> House Mode is Home<RESET> all actions completed. [latest-26130]2026-05-19T12:07:18.074Z <Engine:NOTICE> Starting reaction Cyrus Stream Play / Pause<SET> (rule-ml9y0xqo:S) [latest-26130]2026-05-19T12:07:18.076Z <Engine:INFO> Engine#1 perform x_hass.call_service on Entity#hass>text_living_room_remote_ir_code_to_send with { "service": "text.set_value", "data": "{ \"value\": \"BfcG9wZ8A+ABAeABDRP3BvcGfAN8A/cG9wb///cG9wZ8A+ABAeABDRP3BvcGfAN8A/cG9wb///cG9wZ8A+ABAeABDQv3BvcGfAN8A/cG9wY=\" }" } by reaction Cyrus Stream Play / Pause<SET> (rule-ml9y0xqo:S) step 1 [latest-26130]2026-05-19T12:07:18.076Z <HassController:INFO> HassController#hass perform x_hass.call_service on Entity#hass>text_living_room_remote_ir_code_to_send with { "service": "text.set_value", "data": "{ \"value\": \"BfcG9wZ8A+ABAeABDRP3BvcGfAN8A/cG9wb///cG9wZ8A+ABAeABDRP3BvcGfAN8A/cG9wb///cG9wZ8A+ABAeABDQv3BvcGfAN8A/cG9wY=\" }" } [latest-26130]2026-05-19T12:07:18.077Z <HassController:INFO> HassController#hass: sending payload for x_hass.call_service on Entity#hass>text_living_room_remote_ir_code_to_send action: { "type": "call_service", "service_data": { "value": "BfcG9wZ8A+ABAeABDRP3BvcGfAN8A/cG9wb///cG9wZ8A+ABAeABDRP3BvcGfAN8A/cG9wb///cG9wZ8A+ABAeABDQv3BvcGfAN8A/cG9wY=" }, "domain": "text", "service": "set_value", "target": { "entity_id": "text.living_room_remote_ir_code_to_send" } } [latest-26130]2026-05-19T12:07:18.090Z <Engine:NOTICE> Starting reaction Cyrus Stream Vol+<SET> (rule-ml9yjy9z:S) [latest-26130]2026-05-19T12:07:18.091Z <Engine:INFO> Engine#1 perform x_hass.call_service on Entity#hass>text_living_room_remote_ir_code_to_send with { "service": "text.set_value", "data": "{ \"value\": \"BXsDewP3BkABAXsD4AUBBfcG9wZ7A+ABAQf//3sDewP3BkABAXsD4AUBBfcG9wZ7A+ABAQf//3sDewP3BkABAXsD4AUBD/cG9wZ7A3sDewN7A3sDewM=\" }" } by reaction Cyrus Stream Vol+<SET> (rule-ml9yjy9z:S) step 1 [latest-26130]2026-05-19T12:07:18.092Z <HassController:INFO> HassController#hass perform x_hass.call_service on Entity#hass>text_living_room_remote_ir_code_to_send with { "service": "text.set_value", "data": "{ \"value\": \"BXsDewP3BkABAXsD4AUBBfcG9wZ7A+ABAQf//3sDewP3BkABAXsD4AUBBfcG9wZ7A+ABAQf//3sDewP3BkABAXsD4AUBD/cG9wZ7A3sDewN7A3sDewM=\" }" } [latest-26130]2026-05-19T12:07:18.092Z <HassController:INFO> HassController#hass: sending payload for x_hass.call_service on Entity#hass>text_living_room_remote_ir_code_to_send action: { "type": "call_service", "service_data": { "value": "BXsDewP3BkABAXsD4AUBBfcG9wZ7A+ABAQf//3sDewP3BkABAXsD4AUBBfcG9wZ7A+ABAQf//3sDewP3BkABAXsD4AUBD/cG9wZ7A3sDewN7A3sDewM=" }, "domain": "text", "service": "set_value", "target": { "entity_id": "text.living_room_remote_ir_code_to_send" } } [latest-26130]2026-05-19T12:07:18.093Z <Engine:NOTICE> Starting reaction Cyrus Stream Vol-<SET> (rule-ml9ylxw3:S) [latest-26130]2026-05-19T12:07:18.093Z <Engine:INFO> Engine#1 perform x_hass.call_service on Entity#hass>text_living_room_remote_ir_code_to_send with { "service": "text.set_value", "data": "{ \"value\": \"AXoD4AEBA/EGegPgBQEF8QbxBnoDgAFACQP//3oD4AEBQBHgBQEP8QbxBnoDegN6A3oD8QZ6Aw==\" }" } by reaction Cyrus Stream Vol-<SET> (rule-ml9ylxw3:S) step 1 [latest-26130]2026-05-19T12:07:18.094Z <HassController:INFO> HassController#hass perform x_hass.call_service on Entity#hass>text_living_room_remote_ir_code_to_send with { "service": "text.set_value", "data": "{ \"value\": \"AXoD4AEBA/EGegPgBQEF8QbxBnoDgAFACQP//3oD4AEBQBHgBQEP8QbxBnoDegN6A3oD8QZ6Aw==\" }" } [latest-26130]2026-05-19T12:07:18.111Z <HassController:INFO> HassController#hass: sending payload for x_hass.call_service on Entity#hass>text_living_room_remote_ir_code_to_send action: { "type": "call_service", "service_data": { "value": "AXoD4AEBA/EGegPgBQEF8QbxBnoDgAFACQP//3oD4AEBQBHgBQEP8QbxBnoDegN6A3oD8QZ6Aw==" }, "domain": "text", "service": "set_value", "target": { "entity_id": "text.living_room_remote_ir_code_to_send" } } [latest-26130]2026-05-19T12:07:18.113Z <Rule:INFO> Rule#rule-l5sdqazh reaction rule-l5sdqazh:R completed This is hardly the end of the world as HA restarting is rare and I simply hit refresh on the entity in MSR but is this some kind of race condition or something that needs addressing? Hoping I've given enough data to make it sensible C
Multi-System Reactor
About
Posts
315
Topics
37
Shares
0
Groups
0
Followers
0
Following
2

Posts

Recent Best Controversial

  • Alexa for MSR, any interest?
    wmarcolinW wmarcolin

    I also use Alexa via HA, but my biggest wish is for Alexa to serve as another notification method, if possible. Just as we already have email, Telegram, and Alert, it could be another notification feature.

    I even recently mentioned to @toggledbits the possibility of adding Twilio for phone calls (similar config Telegram), it’s an exceptional service, not too expensive, and great for notifying users that an alarm has been triggered. I use Twilio with a Shell Command to trigger the node, but it limits me to pre-programmed messages.

    Multi-System Reactor

  • [RESOLVED] Mode Status NULL
    wmarcolinW wmarcolin

    Wow, what a headache. I don't know if this is also related to the Node.js issue, but I just added another scenario that I'm now seeing in the log—an INFO warning for a device that doesn't exist. I don't know if it's related. I'm going through the entire error log and reactor.log to see if I can spot anything else unusual in the information.

    Multi-System Reactor

  • [RESOLVED] Phantom device, “INFO” appears
    wmarcolinW wmarcolin

    Hi

    I'm seeing multiple warnings "INFO" like the one below in the Reactor log file.

    [latest-26177]2026-06-28T23:19:39.784Z <Engine:INFO> Resuming reaction HOME UPDATE 30/30<SET> (rule-me9cq25r:S) from step 5
    [latest-26177]2026-06-28T23:19:39.784Z <Engine:INFO> HOME UPDATE 30/30<SET> all actions completed.
    [latest-26177]2026-06-28T23:19:39.791Z <Engine:INFO> Engine#1 task 114 (rule-me9cq25r:S) has completed after restart
    [latest-26177]2026-06-28T23:19:40.211Z <HubitatController:INFO> HubitatController#hubitat ignoring DEVICE event for device 225 (Ping VM Reactor); device not enumerated by Maker API
    [latest-26177]2026-06-28T23:19:40.214Z <HubitatController:INFO> HubitatController#hubitat ignoring DEVICE event for device 225 (Ping VM Reactor); device not enumerated by Maker API
    [latest-26177]2026-06-28T23:19:40.312Z <HubitatController:INFO> HubitatController#hubitat ignoring DEVICE event for device 225 (Ping VM Reactor); device not enumerated by Maker API
    [latest-26177]2026-06-28T23:19:40.314Z <HubitatController:INFO> HubitatController#hubitat ignoring DEVICE event for device 225 (Ping VM Reactor); device not enumerated by Maker API
    [latest-26177]2026-06-28T23:19:40.413Z <HubitatController:INFO> HubitatController#hubitat ignoring DEVICE event for device 225 (Ping VM Reactor); device not enumerated by Maker API
    [latest-26177]2026-06-28T23:19:40.414Z <HubitatController:INFO> HubitatController#hubitat ignoring DEVICE event for device 225 (Ping VM Reactor); device not enumerated by Maker API
    [latest-26177]2026-06-28T23:19:40.513Z <HubitatController:INFO> HubitatController#hubitat ignoring DEVICE event for device 225 (Ping VM Reactor); device not enumerated by Maker API
    [latest-26177]2026-06-28T23:19:40.515Z <HubitatController:INFO> HubitatController#hubitat ignoring DEVICE event for device 225 (Ping VM Reactor); device not enumerated by Maker API
    [latest-26177]2026-06-28T23:19:40.615Z <HubitatController:INFO> HubitatController#hubitat ignoring DEVICE event for device 225 (Ping VM Reactor); device not enumerated by Maker API
    [latest-26177]2026-06-28T23:19:40.616Z <HubitatController:INFO> HubitatController#hubitat ignoring DEVICE event for device 225 (Ping VM Reactor); device not enumerated by Maker API
    [latest-26177]2026-06-28T23:19:40.716Z <HubitatController:INFO> HubitatController#hubitat ignoring DEVICE event for device 225 (Ping VM Reactor); device not enumerated by Maker API
    [latest-26177]2026-06-28T23:19:41.453Z <Rule:INFO> Panel Tripped (rule-mfdbsyrp in SharpTools) starting rule state evaluation; because predicate-state-changed Predicate#rule-mfdbsyrp/trig
    [latest-26177]2026-06-28T23:19:41.454Z <Rule:INFO> Panel Tripped (rule-mfdbsyrp in SharpTools) evaluated; rule state transition from SET to 'RESET'
    
    

    And that's correct; this device hasn't been exported from Hubitat to MSR.

    I ran a query to see if it was in any of the reactor's files, and the only thing I found was the information in the log.

    
    root@reactor:/home/wilson/reactor# grep -rl "hubitat>225" .
    root@reactor:/home/wilson/reactor# grep -rl "device 225" .
    ./logs/reactor.log.1
    ./logs/reactor.log.2
    ./logs/reactor.log.3
    ./logs/reactor.log
    root@reactor:/home/wilson/reactor#
    
    

    I looked in the entity directory, and this device isn't there either.

    root@reactor:/home/wilson/reactor# cd storage/
    root@reactor:/home/wilson/reactor/storage# ls
    access_token.hex  default.dval  default.json.corrupted  expressions.dval  hostkey.key  reactions               reactor.pid  rulesets
    baseurl.sh        default.json  entities                expressions.json  hostkey.pub  reactor_inet_check.dat  rules        states
    root@reactor:/home/wilson/reactor/storage# cd entities/
    root@reactor:/home/wilson/reactor/storage/entities# cd hubitat/
    root@reactor:/home/wilson/reactor/storage/entities/hubitat# ls
    109.dval  138.json  147.dval  15.json   170.dval  211.json  24.dval   261.json  29.dval  48.json  62.dval   656.json  668.dval  679.json  76.dval  87.json
    109.json  139.dval  147.json  163.dval  170.json  219.dval  24.json   262.dval  29.json  49.dval  62.json   657.dval  668.json  67.dval   76.json  98.dval
    112.dval  139.json  148.dval  163.json  182.dval  219.json  253.dval  262.json  2.dval   49.json  63.dval   657.json  669.dval  67.json   7.dval   98.json
    112.json  13.dval   148.json  165.dval  182.json  21.dval   253.json  263.dval  2.json   51.dval  63.json   658.dval  669.json  681.dval  7.json   99.dval
    118.dval  13.json   149.dval  165.json  190.dval  21.json   254.dval  263.json  32.dval  51.json  64.dval   658.json  66.dval   681.json  83.dval  99.json
    118.json  142.dval  149.json  166.dval  190.json  220.dval  254.json  264.dval  32.json  57.dval  64.json   659.dval  66.json   68.dval   83.json  controller_all.dval
    11.dval   142.json  14.dval   166.json  19.dval   220.json  257.dval  264.json  3.dval   57.json  653.dval  659.json  676.dval  68.json   84.dval  controller_all.json
    11.json   143.dval  14.json   167.dval  19.json   224.dval  257.json  265.dval  3.json   58.dval  653.json  65.dval   676.json  69.dval   84.json  sys_hsm.dval
    123.dval  143.json  150.dval  167.json  201.dval  224.json  259.dval  265.json  46.dval  58.json  654.dval  65.json   677.dval  69.json   85.dval  sys_hsm.json
    123.json  144.dval  150.json  168.dval  201.json  22.dval   259.json  27.dval   46.json  60.dval  654.json  666.dval  677.json  70.dval   85.json  sys_mode.dval
    12.dval   144.json  151.dval  168.json  20.dval   22.json   260.dval  27.json   47.dval  60.json  655.dval  666.json  678.dval  70.json   86.dval  sys_mode.json
    12.json   146.dval  151.json  169.dval  20.json   23.dval   260.json  28.dval   47.json  61.dval  655.json  667.dval  678.json  74.dval   86.json  system.dval
    138.dval  146.json  15.dval   169.json  211.dval  23.json   261.dval  28.json   48.dval  61.json  656.dval  667.json  679.dval  74.json   87.dval  system.json
    root@reactor:/home/wilson/reactor/storage/entities/hubitat#
    
    

    Obviously, I can't find anything when I search in the Reactor GUI either.

    1daf0706-f0d0-4505-9d64-613ed6207202-image.png

    Where else should I look to try to resolve this situation?

    Thanks.

    Multi-System Reactor

  • [RESOLVED] Telegram notification broke with latest update
    wmarcolinW wmarcolin

    Now that the log file has fewer errors (Node.js), I can see this log message appear—I'm not sure if it helps.

    [latest-26177]2026-06-28T23:20:20.829Z <NotifyTelegram:CRIT> Error: NotifyTelegram request failed [-]
    Error: NotifyTelegram request failed
        at NotifyTelegram.notify (/home/wilson/reactor/server/lib/NotifyTelegram.js:304:23)
        at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
        at async NotifyTelegram.sendNotification (/home/wilson/reactor/server/lib/Notifier.js:188:145)
    [latest-26177]2026-06-28T23:20:20.830Z <Engine:ERR> Engine#1 reaction rule-mevuuj8w:S step 3 notification (Telegram) failed: [Error] NotifyTelegram request failed [-]
    [latest-26177]2026-06-28T23:20:20.830Z <Engine:CRIT> Error: NotifyTelegram request failed [-]
    Error: NotifyTelegram request failed
        at NotifyTelegram.notify (/home/wilson/reactor/server/lib/NotifyTelegram.js:304:23)
        at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
        at async NotifyTelegram.sendNotification (/home/wilson/reactor/server/lib/Notifier.js:188:145)
    [latest-26177]2026-06-28T23:20:20.831Z <NotifyTelegram:ERR> NotifyTelegram failure response text: {"ok":false,"error_code":400,"description":"Bad Request: chat not found"}
    
    
    
    Multi-System Reactor

  • [RESOLVED] Mode Status NULL
    wmarcolinW wmarcolin

    Shouldn't there be a release note for this update to version 26177 regarding the Node.js version?

    Because when I performed the update, that’s when I noticed this Mode issue—actually, it was already happening before, I’m sure, when I updated Hubitat—but it became more apparent because, as I showed in this and other posts (like the one about the HTTP query), I started getting various communication errors with Hubitat, such as loss of connection and timeouts.

    And now everything has disappeared.

    I’m still dealing with an issue involving Telegram, which I reported in the other dedicated chat.

    Multi-System Reactor

  • [RESOLVED] HTTP query failing after version 26177
    wmarcolinW wmarcolin

    After updating Node.js, the query is working.

    Multi-System Reactor

  • [RESOLVED] Telegram notification broke with latest update
    wmarcolinW wmarcolin

    @toggledbits I ran tests after upgrading Node.js, and the scenario is as described above; for the second profile, it only works if you enter the Chat ID.

    Multi-System Reactor

  • [RESOLVED] Mode Status NULL
    wmarcolinW wmarcolin

    Upgrade DONE

    root@reactor:/home/wilson# node -v
    v24.18.0
    root@reactor:/home/wilson# npm -v
    11.16.0
    root@reactor:/home/wilson#

    New roboot... all ok

    New sequence stop start

    root@reactor:/home/wilson# systemctl stop reactor
    root@reactor:/home/wilson# systemctl start reactor

    PERFECT!!!!!!

    image.png

    Additional test perfect too!!!

    84c38228-25a5-4862-a1d7-74b45f5993ff-image.png

    39418122-219e-4267-8809-2d8cb3ed15d0-image.png

    Multi-System Reactor

  • [RESOLVED] Telegram notification broke with latest update
    wmarcolinW wmarcolin

    I think my situation with Telegram is a little different. Version 26177 has actually partially resolved the sending issue.

    I have two profiles set up, with two token and two ChatID, as you can see below (change the token and ChatID). For the first profile, I can send a message without entering the Chat ID in “Set Reaction.” For the second profile, if I leave it blank, it doesn’t send the message—it doesn’t use the settings I’ve configured. If I enter the Chat ID for the second profile, then the message sends perfectly.

      # Telegram
      Telegram:
        profiles:
          default:
            # description - A friendly description of this profile (for menus)
            description: Default Familia
            #
            # api_url - NOTIFICATION Access URL for Telegram API. Default is https://api.telegram.org/
            api_url: https://api.telegram.org
            #
            # bot_token - (required) Bot Token, from Telegram. See: https://core.telegram.org/bots
            bot_token: "xxxxxxxxxx:AAEOr9ZY4LxxxxxxxKPYJBSBxxxxxxxxxx"
            #
            # default_chat_id - (required) Default chat ID to use if not specified in message. See
            #                   this link for how to get chat ID:
            #                   https://stackoverflow.com/questions/32423837/telegram-bot-how-to-get-a-group-chat-id
            default_chat_id: "-1234567890"
            #
            # default_disable_notification - Default notification flag, may be either "true"
            #                                or "false". The system default is "false"
            #                                (false == notification enabled/not disabled).
            default_disable_notification: "false"
            #
            # default_parse_mode - Default message format/parse mode. The system default is
            #                      blank, for plain text. Other options: MarkdownV2, HTML
            #                      See: https://core.telegram.org/bots/api#formatting-options
            default_parse_mode: "HTML"
          wilson:
            # description - INFORMATION A friendly description of this profile (for menus)
            description: Default Wilson
            #
            # api_url - Access URL for Telegram API. Default is https://api.telegram.org/
            api_url: https://api.telegram.org
            #
            # bot_token - (required) Bot Token, from Telegram. See: https://core.telegram.org/bots
            bot_token: "xxxxxxxxxx:AAEFPoERxxxxxxxxkKFdEHc3txxxxxxxxxx"
            #
            # default_chat_id - (required) Default chat ID to use if not specified in message. See
            #                   this link for how to get chat ID:
            #                   https://stackoverflow.com/questions/32423837/telegram-bot-how-to-get-a-group-chat-id
            # 6272 default_chat_id: "1544809334"
            default_chat_id: "-1234567890"
            #
            # default_disable_notification - Default notification flag, may be either "true"
            #                                or "false". The system default is "false"
            #                                (false == notification enabled/not disabled).
            default_disable_notification: "false"
            #
            # default_parse_mode - Default message format/parse mode. The system default is
            #                      blank, for plain text. Other options: MarkdownV2, HTML
            #                      See: https://core.telegram.org/bots/api#formatting-options
            default_parse_mode: "HTML"
    
    
    
    Multi-System Reactor

  • [RESOLVED] Mode Status NULL
    wmarcolinW wmarcolin
    1. Post the first 20 lines of Reactor startup messages
    [latest-26177]2026-06-28T21:34:59.107Z <app:null> Reactor build latest-26177-3f86f4af starting on v24.17.0 /usr/bin/node
    [latest-26177]2026-06-28T21:34:59.107Z <app:null> Process ID 1679 user/group 1000/1000; bare-metal; platform linux/x64 #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026; locale en_US>
    [latest-26177]2026-06-28T21:34:59.107Z <app:null> Basedir /home/wilson/reactor; data in /home/wilson/reactor/storage
    [latest-26177]2026-06-28T21:34:59.107Z <app:null> NODE_PATH=/home/wilson/reactor
    [latest-26177]2026-06-28T21:34:59.127Z <app:null> Resolved timezone=America/Panama, environment TZ=(undefined); offset minutes from UTC=-300
    [latest-26177]2026-06-28T21:34:59.128Z <default:null> Module i18n v26144
    [latest-26177]2026-06-28T21:34:59.128Z <app:null> Configured locale (undefined); selected locale(s) en_US.UTF-8
    [latest-26177]2026-06-28T21:34:59.137Z <app:null> Loaded locale en-US for en-US
    [latest-26177]2026-06-28T21:34:59.137Z <app:null> Local date/time using configured timezone and locale formatting is "6/28/2026, 4:34:59 PM"
    [latest-26177]2026-06-28T21:34:59.139Z <Structure:null> Module Structure v26094
    [latest-26177]2026-06-28T21:34:59.140Z <Capabilities:null> Module Capabilities v24312
    [latest-26177]2026-06-28T21:34:59.147Z <Capabilities:NOTICE> System capabilities loaded from core distribution, data version 26146 revision 1
    [latest-26177]2026-06-28T21:34:59.156Z <Plugin:null> Module Plugin v25141
    [latest-26177]2026-06-28T21:34:59.174Z <Timer:null> Module Timer v25330
    [latest-26177]2026-06-28T21:34:59.174Z <TimerBroker:null> Module TimerBroker v26164
    [latest-26177]2026-06-28T21:34:59.175Z <Entity:null> Module Entity v26167
    [latest-26177]2026-06-28T21:34:59.177Z <Controller:null> Module Controller v26150
    [latest-26177]2026-06-28T21:34:59.178Z <AlertManager:null> Module AlertManager v26135
    [latest-26177]2026-06-28T21:34:59.184Z <default:null> Module Ruleset v25283
    [latest-26177]2026-06-28T21:34:59.185Z <default:null> Module Rulesets v25141
    [latest-26177]2026-06-28T21:34:59.190Z <GlobalExpression:null> Module GlobalExpression v25341
    [latest-26177]2026-06-28T21:34:59.199Z <Predicate:null> Module Predicate v26138
    [latest-26177]2026-06-28T21:34:59.201Z <Rule:null> Module Rule v26144
    [latest-26177]2026-06-28T21:34:59.202Z <GlobalReaction:null> Module GlobalReaction v25292
    [latest-26177]2026-06-28T21:34:59.202Z <Engine:null> Module Engine v26149
    [latest-26177]2026-06-28T21:34:59.208Z <httpapi:null> Module httpapi v26175
    [latest-26177]2026-06-28T21:34:59.221Z <wsapi:null> Module wsapi v26175
    [latest-26177]2026-06-28T21:34:59.222Z <app:NOTICE> Starting Structure...
    
    
    1. npm ls
    root@reactor:/home/wilson/reactor# npm ls
    reactor-multi-system@1.6.3-26177 /home/wilson/reactor
    ├── @eslint/js@10.0.1
    ├── @fontsource/open-sans@5.2.7
    ├── @influxdata/influxdb-client@1.35.0
    ├── @popperjs/core@2.11.8
    ├── body-parser@2.2.2
    ├── bootstrap-icons@1.13.1
    ├── bootstrap@5.3.8
    ├── devalue@5.8.1
    ├── digest-fetch@2.0.3
    ├── diskusage-ng@1.0.4
    ├── eslint@10.4.1
    ├── express@5.2.1
    ├── form-data@4.0.5
    ├── globals@17.6.0
    ├── gridstack@12.6.0
    ├── javascript-obfuscator@4.2.2
    ├── jquery-ui@1.14.2
    ├── jquery@3.7.1
    ├── js-yaml@4.2.0
    ├── node-fetch@2.7.0
    ├── node-stream-zip@1.15.0
    ├── nodemailer@7.0.13
    ├── ping@1.0.0
    ├── serve-static@2.2.1
    ├── showdown@2.1.0
    ├── uuid@11.1.1
    └── ws@7.5.11
    
    
    1. Hubitat version

    67c57b63-086f-4f31-a687-ffd61dc95eb8-image.png

    1. HubitratController
      - id: hubitat
        enabled: true
        implementation: HubitatController
        name: Hubitat Elevation System
        config:
          # Copy the entire URL from the Maker API app page on your Hubitat UI. A quick, easy way is to
          # right-click the "Get All Devices" link and choose "Copy link location", the paste it below.
          source: "http://192.168.1.15/apps/api/8/devices?access_token=e6d0afa6-caad-4f01-a0f3-e27bb8098221"
          #
          # dump_all_devices - This is for troubleshooting. Do not enable unless asked.
          dump_all_devices: false
          # OPCIONAL TEMPORIZADOR ENTRE ACOES - 0,500s entre acoes - ou 2 acoes por segundo
          action_pace: 500
          warn_unresponsive: true
          probe_device: 7
          probe_action: x_hubitat_Refresh.refresh
    
    

    Thanks.

    Multi-System Reactor

  • [RESOLVED] Mode Status NULL
    wmarcolinW wmarcolin

    Hi @toggledbits

    I'm noticing a new issue: the state is becoming null again in this sequence of operations.

    Complete sequence of the test:

    1. Reboot the VM
    2. Resume with the same state

    b47ad8cb-da52-48dd-816a-5c80a6300813-image.png

    1. Than
    root@reactor:/home/wilson/reactor# systemctl stop reactor
    root@reactor:/home/wilson/reactor# systemctl start reactor
    
    
    1. Update value to null

    7dec0631-d5b8-4fff-9d08-e24490d50d3c-image.png

    I'm trying to understand the error logs, and I only recognize the HTTP issue we're discussing in another chat; I can't make sense of the rest—sorry. I'm sending the full log starting from the last line where the variable is set to null, in case you can spot anything.

    [latest-26177]2026-06-28T18:39:56.863Z <app:null> Reactor build latest-26177-3f86f4af starting on v24.17.0 /usr/bin/node
    [latest-26177]2026-06-28T18:39:56.864Z <app:null> Process ID 1376 user/group 1000/1000; bare-metal; platform linux/x64 #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026; locale en_US.UTF-8
    [latest-26177]2026-06-28T18:39:56.864Z <app:null> Basedir /home/wilson/reactor; data in /home/wilson/reactor/storage
    [latest-26177]2026-06-28T18:39:56.865Z <app:null> NODE_PATH=/home/wilson/reactor
    [latest-26177]2026-06-28T18:39:56.889Z <app:null> Resolved timezone=America/Panama, environment TZ=(undefined); offset minutes from UTC=-300
    [latest-26177]2026-06-28T18:39:56.892Z <default:null> Module i18n v26144
    [latest-26177]2026-06-28T18:39:56.892Z <app:null> Configured locale (undefined); selected locale(s) en_US.UTF-8
    [latest-26177]2026-06-28T18:39:56.903Z <app:null> Loaded locale en-US for en-US
    [latest-26177]2026-06-28T18:39:56.903Z <app:null> Local date/time using configured timezone and locale formatting is "6/28/2026, 1:39:56 PM"
    [latest-26177]2026-06-28T18:39:56.907Z <Structure:null> Module Structure v26094
    [latest-26177]2026-06-28T18:39:56.908Z <Capabilities:null> Module Capabilities v24312
    [latest-26177]2026-06-28T18:39:56.923Z <Plugin:null> Module Plugin v25141
    [latest-26177]2026-06-28T18:39:56.950Z <Timer:null> Module Timer v25330
    [latest-26177]2026-06-28T18:39:56.951Z <TimerBroker:null> Module TimerBroker v26164
    [latest-26177]2026-06-28T18:39:56.953Z <Entity:null> Module Entity v26167
    [latest-26177]2026-06-28T18:39:56.957Z <Controller:null> Module Controller v26150
    [latest-26177]2026-06-28T18:39:56.958Z <AlertManager:null> Module AlertManager v26135
    [latest-26177]2026-06-28T18:39:56.971Z <default:null> Module Ruleset v25283
    [latest-26177]2026-06-28T18:39:56.972Z <default:null> Module Rulesets v25141
    [latest-26177]2026-06-28T18:39:56.978Z <GlobalExpression:null> Module GlobalExpression v25341
    [latest-26177]2026-06-28T18:39:56.990Z <Predicate:null> Module Predicate v26138
    [latest-26177]2026-06-28T18:39:56.994Z <Rule:null> Module Rule v26144
    [latest-26177]2026-06-28T18:39:56.997Z <GlobalReaction:null> Module GlobalReaction v25292
    [latest-26177]2026-06-28T18:39:56.998Z <Engine:null> Module Engine v26149
    [latest-26177]2026-06-28T18:39:57.003Z <httpapi:null> Module httpapi v26175
    [latest-26177]2026-06-28T18:39:57.015Z <wsapi:null> Module wsapi v26175
    [latest-26177]2026-06-28T18:39:57.035Z <HassController:null> Module HassController v26173
    [latest-26177]2026-06-28T18:39:57.313Z <TaskQueue:null> Module TaskQueue 24138
    [latest-26177]2026-06-28T18:39:57.313Z <HubitatController:null> Module HubitatController v26108
    [latest-26177]2026-06-28T18:39:57.395Z <DynamicGroupController:null> Module DynamicGroupController v26150
    [latest-26177]2026-06-28T18:39:57.416Z <OWMWeatherController:null> Module OWMWeatherController v25268
    [latest-26177]2026-06-28T18:39:57.422Z <NUTController:null> Module NUTController v25288
    [latest-26177]2026-06-28T18:39:57.429Z <SystemController:null> Module SystemController v25330
    [latest-26177]2026-06-28T18:39:57.491Z <HassController:ERR> HassController#hass implementation data has no/empty mapping section; supplying default mapping
    [latest-26177]2026-06-28T18:39:57.681Z <Engine:ERR> Engine#1: error evaluating expression HistShow: [ReferenceError] Invalid scope in reference to member daily of (object)null [-]
    [latest-26177]2026-06-28T18:39:57.681Z <Engine:ERR> Engine#1: expression: join((each i in 5..0 :
            format( "{0} {1} {2:4.1f}mm<br>",
              substr(HistPrecipitation.daily.time[i],8,2),
              if HistPrecipitation.daily.precipitation_sum[i] <= 2
                then "💦" else "🌧️" endif,
              HistPrecipitation.daily.precipitation_sum[i])), " ")
    [latest-26177]2026-06-28T18:39:57.681Z <Engine:CRIT> ReferenceError: Invalid scope in reference to member daily of (object)null [-]
    ReferenceError: Invalid scope in reference to member daily of (object)null
        at _run (/home/wilson/reactor/common/lexp.js:1611:31)
        at _run (/home/wilson/reactor/common/lexp.js:1605:33)
        at _run (/home/wilson/reactor/common/lexp.js:1605:33)
        at /home/wilson/reactor/common/lexp.js:1702:33
        at Array.forEach (<anonymous>)
        at _run (/home/wilson/reactor/common/lexp.js:1701:28)
        at /home/wilson/reactor/common/lexp.js:1702:33
        at Array.forEach (<anonymous>)
        at _run (/home/wilson/reactor/common/lexp.js:1701:28)
        at _run (/home/wilson/reactor/common/lexp.js:1725:41)
    [latest-26177]2026-06-28T18:39:57.685Z <Engine:ERR> Engine#1: error evaluating expression HistLastRain: [ReferenceError] Invalid scope in reference to member daily of (object)null [-]
    [latest-26177]2026-06-28T18:39:57.685Z <Engine:ERR> Engine#1: expression: if HistPrecipitation.daily.precipitation_sum[5] > 2
      then format( "{0} {1} {2:4.1f}mm", substr(HistPrecipitation.daily.time[5],8,2),
                   "🌧️", HistPrecipitation.daily.precipitation_sum[5])
      else
        HistLastRain
    endif
    [latest-26177]2026-06-28T18:39:57.685Z <Engine:CRIT> ReferenceError: Invalid scope in reference to member daily of (object)null [-]
    ReferenceError: Invalid scope in reference to member daily of (object)null
        at _run (/home/wilson/reactor/common/lexp.js:1611:31)
        at _run (/home/wilson/reactor/common/lexp.js:1605:33)
        at _run (/home/wilson/reactor/common/lexp.js:1605:33)
        at _run (/home/wilson/reactor/common/lexp.js:1436:34)
        at _run (/home/wilson/reactor/common/lexp.js:1623:26)
        at /home/wilson/reactor/common/lexp.js:1426:29
        at Array.forEach (<anonymous>)
        at _run (/home/wilson/reactor/common/lexp.js:1425:28)
        at Object.run (/home/wilson/reactor/common/lexp.js:1855:24)
        at Engine._eval_expr (/home/wilson/reactor/server/lib/Engine.js:1242:165)
    [latest-26177]2026-06-28T18:39:57.736Z <Rule:ERR> Panel Bike Adri Update (rule-mhxipiux in SharpTools): error evaluating expression KmBici: [ReferenceError] Invalid scope in reference to member [object Object] of (object)null [-]
    [latest-26177]2026-06-28T18:39:57.736Z <Rule:ERR> Full expression: case
      when XPosition >= 0: BiciAdri[(1+XPosition)]
      else int( getEntity( "hass>sensor_strava_adriane_marcolin_stats_all_ride_distance").attributes.string_sensor.value )
    end
    [latest-26177]2026-06-28T18:39:57.737Z <Rule:CRIT> ReferenceError: Invalid scope in reference to member [object Object] of (object)null [-]
    ReferenceError: Invalid scope in reference to member [object Object] of (object)null
        at _run (/home/wilson/reactor/common/lexp.js:1611:31)
        at _run (/home/wilson/reactor/common/lexp.js:1784:35)
        at /home/wilson/reactor/common/lexp.js:1426:29
        at Array.forEach (<anonymous>)
        at _run (/home/wilson/reactor/common/lexp.js:1425:28)
        at Object.run (/home/wilson/reactor/common/lexp.js:1855:24)
        at Rule._eval_rule_expr (/home/wilson/reactor/server/lib/Rule.js:1223:182)
        at Rule.evaluateExpressions (/home/wilson/reactor/server/lib/Rule.js:1424:131)
        at Rule._evaluate (/home/wilson/reactor/server/lib/Rule.js:1498:259)
        at /home/wilson/reactor/server/lib/Rule.js:1445:44
    [latest-26177]2026-06-28T18:39:57.745Z <Rule:ERR> Panel Bike Wilson Update (rule-mhulh79h in SharpTools): error evaluating expression KmBici: [ReferenceError] Invalid scope in reference to member [object Object] of (object)null [-]
    [latest-26177]2026-06-28T18:39:57.745Z <Rule:ERR> Full expression: case
      when XPosition >= 0: BiciWilson[(1+XPosition)]
      else int( getEntity( "hass>sensor_strava_wilson_marcolin_stats_all_ride_distance").attributes.string_sensor.value )
    end
    [latest-26177]2026-06-28T18:39:57.745Z <Rule:CRIT> ReferenceError: Invalid scope in reference to member [object Object] of (object)null [-]
    ReferenceError: Invalid scope in reference to member [object Object] of (object)null
        at _run (/home/wilson/reactor/common/lexp.js:1611:31)
        at _run (/home/wilson/reactor/common/lexp.js:1784:35)
        at /home/wilson/reactor/common/lexp.js:1426:29
        at Array.forEach (<anonymous>)
        at _run (/home/wilson/reactor/common/lexp.js:1425:28)
        at Object.run (/home/wilson/reactor/common/lexp.js:1855:24)
        at Rule._eval_rule_expr (/home/wilson/reactor/server/lib/Rule.js:1223:182)
        at Rule.evaluateExpressions (/home/wilson/reactor/server/lib/Rule.js:1424:131)
        at Rule._evaluate (/home/wilson/reactor/server/lib/Rule.js:1498:259)
        at /home/wilson/reactor/server/lib/Rule.js:1445:44
    [latest-26177]2026-06-28T18:39:57.769Z <Rule:ERR> Bike Adri Maintenance (rule-mhldpqi1 in Automation): error evaluating expression BiciShow: [ReferenceError] Invalid scope in reference to member [object Object] of (object)null [-]
    [latest-26177]2026-06-28T18:39:57.770Z <Rule:ERR> Full expression: case
      when XPosition >= 0: BiciAdri[(0+XPosition)]
      else "Total acumulado"
    end
    [latest-26177]2026-06-28T18:39:57.770Z <Rule:CRIT> ReferenceError: Invalid scope in reference to member [object Object] of (object)null [-]
    ReferenceError: Invalid scope in reference to member [object Object] of (object)null
        at _run (/home/wilson/reactor/common/lexp.js:1611:31)
        at _run (/home/wilson/reactor/common/lexp.js:1784:35)
        at /home/wilson/reactor/common/lexp.js:1426:29
        at Array.forEach (<anonymous>)
        at _run (/home/wilson/reactor/common/lexp.js:1425:28)
        at Object.run (/home/wilson/reactor/common/lexp.js:1855:24)
        at Rule._eval_rule_expr (/home/wilson/reactor/server/lib/Rule.js:1223:182)
        at Rule.evaluateExpressions (/home/wilson/reactor/server/lib/Rule.js:1424:131)
        at Rule._evaluate (/home/wilson/reactor/server/lib/Rule.js:1498:259)
        at /home/wilson/reactor/server/lib/Rule.js:1445:44
    [latest-26177]2026-06-28T18:39:57.770Z <Rule:ERR> Bike Adri Maintenance (rule-mhldpqi1 in Automation): error evaluating expression KmBici: [ReferenceError] Invalid scope in reference to member [object Object] of (object)null [-]
    [latest-26177]2026-06-28T18:39:57.770Z <Rule:ERR> Full expression: case
      when XPosition >= 0: BiciAdri[(1+XPosition)]
      else int( getEntity( "hass>sensor_strava_adriane_marcolin_stats_all_ride_distance").attributes.string_sensor.value )
    end
    [latest-26177]2026-06-28T18:39:57.771Z <Rule:CRIT> ReferenceError: Invalid scope in reference to member [object Object] of (object)null [-]
    ReferenceError: Invalid scope in reference to member [object Object] of (object)null
        at _run (/home/wilson/reactor/common/lexp.js:1611:31)
        at _run (/home/wilson/reactor/common/lexp.js:1784:35)
        at /home/wilson/reactor/common/lexp.js:1426:29
        at Array.forEach (<anonymous>)
        at _run (/home/wilson/reactor/common/lexp.js:1425:28)
        at Object.run (/home/wilson/reactor/common/lexp.js:1855:24)
        at Rule._eval_rule_expr (/home/wilson/reactor/server/lib/Rule.js:1223:182)
        at Rule.evaluateExpressions (/home/wilson/reactor/server/lib/Rule.js:1424:131)
        at Rule._evaluate (/home/wilson/reactor/server/lib/Rule.js:1498:259)
        at /home/wilson/reactor/server/lib/Rule.js:1445:44
    [latest-26177]2026-06-28T18:39:57.774Z <Rule:ERR> Bike Wilson Maintenance (rule-mhp74b2v in Automation): error evaluating expression BiciShow: [ReferenceError] Invalid scope in reference to member [object Object] of (object)null [-]
    [latest-26177]2026-06-28T18:39:57.774Z <Rule:ERR> Full expression: case
      when XPosition >= 0: BiciWilson[(0+XPosition)]
      else "Total acumulado"
    end
    [latest-26177]2026-06-28T18:39:57.774Z <Rule:CRIT> ReferenceError: Invalid scope in reference to member [object Object] of (object)null [-]
    ReferenceError: Invalid scope in reference to member [object Object] of (object)null
        at _run (/home/wilson/reactor/common/lexp.js:1611:31)
        at _run (/home/wilson/reactor/common/lexp.js:1784:35)
        at /home/wilson/reactor/common/lexp.js:1426:29
        at Array.forEach (<anonymous>)
        at _run (/home/wilson/reactor/common/lexp.js:1425:28)
        at Object.run (/home/wilson/reactor/common/lexp.js:1855:24)
        at Rule._eval_rule_expr (/home/wilson/reactor/server/lib/Rule.js:1223:182)
        at Rule.evaluateExpressions (/home/wilson/reactor/server/lib/Rule.js:1424:131)
        at Rule._evaluate (/home/wilson/reactor/server/lib/Rule.js:1498:259)
        at /home/wilson/reactor/server/lib/Rule.js:1445:44
    [latest-26177]2026-06-28T18:39:57.775Z <Rule:ERR> Bike Wilson Maintenance (rule-mhp74b2v in Automation): error evaluating expression KmBici: [ReferenceError] Invalid scope in reference to member [object Object] of (object)null [-]
    [latest-26177]2026-06-28T18:39:57.775Z <Rule:ERR> Full expression: case
      when XPosition >= 0: BiciWilson[(1+XPosition)]
      else int( getEntity( "hass>sensor_strava_wilson_marcolin_stats_all_ride_distance").attributes.string_sensor.value )
    end
    [latest-26177]2026-06-28T18:39:57.775Z <Rule:CRIT> ReferenceError: Invalid scope in reference to member [object Object] of (object)null [-]
    ReferenceError: Invalid scope in reference to member [object Object] of (object)null
        at _run (/home/wilson/reactor/common/lexp.js:1611:31)
        at _run (/home/wilson/reactor/common/lexp.js:1784:35)
        at /home/wilson/reactor/common/lexp.js:1426:29
        at Array.forEach (<anonymous>)
        at _run (/home/wilson/reactor/common/lexp.js:1425:28)
        at Object.run (/home/wilson/reactor/common/lexp.js:1855:24)
        at Rule._eval_rule_expr (/home/wilson/reactor/server/lib/Rule.js:1223:182)
        at Rule.evaluateExpressions (/home/wilson/reactor/server/lib/Rule.js:1424:131)
        at Rule._evaluate (/home/wilson/reactor/server/lib/Rule.js:1498:259)
        at /home/wilson/reactor/server/lib/Rule.js:1445:44
    [latest-26177]2026-06-28T18:39:58.260Z <HubitatController:WARN> HubitatController#hubitat native capability URL no definition data; skipped
    [latest-26177]2026-06-28T18:39:58.521Z <app:ERR> Trapped unhandled Promise rejection: [FetchError] Invalid response body while trying to fetch http://192.168.1.15/apps/api/8/postURL?access_token=e6d0afa6-caad-4f01-a0f3-e27bb8098221: Premature close [-]
    [latest-26177]2026-06-28T18:39:58.521Z <app:CRIT> FetchError: Invalid response body while trying to fetch http://192.168.1.15/apps/api/8/postURL?access_token=e6d0afa6-caad-4f01-a0f3-e27bb8098221: Premature close [-]
    FetchError: Invalid response body while trying to fetch http://192.168.1.15/apps/api/8/postURL?access_token=e6d0afa6-caad-4f01-a0f3-e27bb8098221: Premature close
        at PassThrough.<anonymous> (/home/wilson/reactor/node_modules/node-fetch/lib/index.js:217:52)
        at PassThrough.emit (node:events:509:28)
        at PassThrough.emit (node:domain:489:12)
        at emitErrorNT (node:internal/streams/destroy:170:8)
        at emitErrorCloseNT (node:internal/streams/destroy:129:3)
        at process.processTicksAndRejections (node:internal/process/task_queues:90:21)
    [latest-26177]2026-06-28T18:39:58.522Z <app:ERR> Please refer to the console log for trace
    [latest-26177]2026-06-28T18:39:58.524Z <HassController:ERR> HassController#hass failed to complete startup: [Error] Hub reports it is starting but not yet ready [-]
    [latest-26177]2026-06-28T18:39:58.524Z <HassController:CRIT> Error: Hub reports it is starting but not yet ready [-]
    Error: Hub reports it is starting but not yet ready
        at /home/wilson/reactor/server/lib/HassController.js:1561:61
        at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
    [latest-26177]2026-06-28T18:39:58.788Z <HubitatController:ERR> HubitatController#hubitat error retrieving current mode: [FetchError] Invalid response body while trying to fetch http://192.168.1.15/apps/api/8/modes?access_token=e6d0afa6-caad-4f01-a0f3-e27bb8098221: Premature>
    [latest-26177]2026-06-28T18:39:59.551Z <HubitatController:ERR> HubitatController#hubitat enqueued action task2amerd76 (perform.hubitat>163.power_switch.off) failed: [FetchError] Invalid response body while trying to fetch http://192.168.1.15/apps/api/8/devices/163/off?acces>
    [latest-26177]2026-06-28T18:40:00.098Z <HubitatController:ERR> HubitatController#hubitat enqueued action task2amerd79 (perform.hubitat>21.power_switch.off) failed: [FetchError] Invalid response body while trying to fetch http://192.168.1.15/apps/api/8/devices/21/off?access_>
    [latest-26177]2026-06-28T18:40:00.635Z <HubitatController:ERR> HubitatController#hubitat enqueued action task2amerd7a (perform.hubitat>138.power_switch.off) failed: [FetchError] Invalid response body while trying to fetch http://192.168.1.15/apps/api/8/devices/138/off?acces>
    [latest-26177]2026-06-28T18:40:01.206Z <HubitatController:ERR> HubitatController#hubitat enqueued action task2amerd7b (perform.hubitat>74.power_switch.off) failed: [FetchError] Invalid response body while trying to fetch http://192.168.1.15/apps/api/8/devices/74/off?access_>
    [latest-26177]2026-06-28T18:40:03.855Z <HassController:ERR> HassController#hass failed to complete startup: [Error] Hub reports it is starting but not yet ready [-]
    [latest-26177]2026-06-28T18:40:03.855Z <HassController:CRIT> Error: Hub reports it is starting but not yet ready [-]
    Error: Hub reports it is starting but not yet ready
        at /home/wilson/reactor/server/lib/HassController.js:1561:61
        at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
    [latest-26177]2026-06-28T18:40:08.922Z <HassController:ERR> HassController#hass failed to complete startup: [Error] Hub reports it is starting but not yet ready [-]
    [latest-26177]2026-06-28T18:40:08.922Z <HassController:CRIT> Error: Hub reports it is starting but not yet ready [-]
    Error: Hub reports it is starting but not yet ready
        at /home/wilson/reactor/server/lib/HassController.js:1561:61
        at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
    [latest-26177]2026-06-28T18:40:14.135Z <HubitatController:ERR> HubitatController#hubitat enqueued action task2amerox3 (perform.hubitat>163.power_switch.off) failed: [FetchError] Invalid response body while trying to fetch http://192.168.1.15/apps/api/8/devices/163/off?acces>
    [latest-26177]2026-06-28T18:40:16.757Z <HassController:CRIT> HassController#hass refreshing 0 entities: Array(0) []
    [latest-26177]2026-06-28T18:40:32.807Z <HubitatController:ERR> HubitatController#hubitat enqueued action task2ames3cq (perform.hubitat>28.power_switch.off) failed: [FetchError] Invalid response body while trying to fetch http://192.168.1.15/apps/api/8/devices/28/off?access_>
    
    

    Sorry to bother you—maybe these are just issues with my installation. I actually just deleted everything and reinstalled the latest version. I only left the “config” and “storage” directories; I removed everything else. From the ‘storage’ directory, I deleted the “state” file. I know that was a drastic move, but I'm trying to figure out what happened to my installation.

    Multi-System Reactor

  • Question about the find function
    wmarcolinW wmarcolin

    Fantastic!! Another master class in knowledge—thank you. And I learned another function I didn't know about: slipt(). It's super useful—really great.

    Multi-System Reactor

  • Question about the find function
    wmarcolinW wmarcolin

    In the example below, I have a variable that contains a string (Origen), and I want to dynamically extract the value between the first comma and the dot, in other words, the value 300 in this image.

    c9199bf8-f91b-4619-b724-9c81bac37fdf-image.png

    The first TestFind variable attempts to identify the position of “dot,” and note that the return value is zero (0).

    So I used the match function to check the term, and it returns the letter “t,” which is exactly at position 0.

    To verify that find works with a comma ",", I ran a second test, and it correctly locates the comma at position 4.

    Is there a limitation to the find function when searching for text?

    Thanks.

    Multi-System Reactor

  • [RESOLVED] HTTP query failing after version 26177
    wmarcolinW wmarcolin

    Hi @toggledbits

    The HTTP query below worked perfectly in Set Reaction

    https://api.open-meteo.com/v1/forecast?latitude=9.0714&longitude=-79.3834&daily=precipitation_sum&timezone=America%2FChicago&past_days=6&forecast_days=0
    

    And when performed directly in the browser, it returns the information correctly

    b1e09772-6bb2-4916-8f08-be0888e32094-image.png

    However, now with the new version 26177, the response is null.

    d1f6d2de-2ee8-4667-9cec-8af3bc30ed71-image.png

    Log.

    [latest-26177]2026-06-28T00:38:17.105Z <OWMWeatherController:null> Module OWMWeatherController v25268
    [latest-26177]2026-06-28T00:38:17.113Z <NUTController:null> Module NUTController v25026
    [latest-26177]2026-06-28T00:38:17.119Z <SystemController:null> Module SystemController v25330
    [latest-26177]2026-06-28T00:38:17.191Z <HassController:ERR> HassController#hass implementation data has no/empty mapping section; supplying default mapping
    [latest-26177]2026-06-28T00:38:17.234Z <DynamicGroupController:WARN> DynamicGroupController#groups group dgc_Device_IMOTION attempts to include entity hubitat>50; not found
    [latest-26177]2026-06-28T00:38:17.526Z <Engine:ERR> Engine#1: error evaluating expression HistShow: [ReferenceError] Invalid scope in reference to member daily of (object)null [-]
    [latest-26177]2026-06-28T00:38:17.526Z <Engine:ERR> Engine#1: expression: join((each i in 5..0 :
            format( "{0} {1} {2:4.1f}mm<br>",
              substr(HistPrecipitation.daily.time[i],8,2),
              if HistPrecipitation.daily.precipitation_sum[i] <= 2
                then "💦" else "🌧️" endif,
              HistPrecipitation.daily.precipitation_sum[i])), " ")
    [latest-26177]2026-06-28T00:38:17.526Z <Engine:CRIT> ReferenceError: Invalid scope in reference to member daily of (object)null [-]
    ReferenceError: Invalid scope in reference to member daily of (object)null
        at _run (/home/wilson/reactor/common/lexp.js:1611:31)
        at _run (/home/wilson/reactor/common/lexp.js:1605:33)
        at _run (/home/wilson/reactor/common/lexp.js:1605:33)
        at /home/wilson/reactor/common/lexp.js:1702:33
        at Array.forEach (<anonymous>)
        at _run (/home/wilson/reactor/common/lexp.js:1701:28)
        at /home/wilson/reactor/common/lexp.js:1702:33
        at Array.forEach (<anonymous>)
        at _run (/home/wilson/reactor/common/lexp.js:1701:28)
        at _run (/home/wilson/reactor/common/lexp.js:1725:41)
    [latest-26177]2026-06-28T00:38:17.530Z <Engine:ERR> Engine#1: error evaluating expression HistLastRain: [ReferenceError] Invalid scope in reference to member daily of (object)null [-]
    [latest-26177]2026-06-28T00:38:17.530Z <Engine:ERR> Engine#1: expression: if HistPrecipitation.daily.precipitation_sum[5] > 2
      then format( "{0} {1} {2:4.1f}mm", substr(HistPrecipitation.daily.time[5],8,2),
                   "🌧️", HistPrecipitation.daily.precipitation_sum[5])
      else
        HistLastRain
    endif
    [latest-26177]2026-06-28T00:38:17.530Z <Engine:CRIT> ReferenceError: Invalid scope in reference to member daily of (object)null [-]
    ReferenceError: Invalid scope in reference to member daily of (object)null
        at _run (/home/wilson/reactor/common/lexp.js:1611:31)
        at _run (/home/wilson/reactor/common/lexp.js:1605:33)
        at _run (/home/wilson/reactor/common/lexp.js:1605:33)
        at _run (/home/wilson/reactor/common/lexp.js:1436:34)
        at _run (/home/wilson/reactor/common/lexp.js:1623:26)
        at /home/wilson/reactor/common/lexp.js:1426:29
        at Array.forEach (<anonymous>)
        at _run (/home/wilson/reactor/common/lexp.js:1425:28)
        at Object.run (/home/wilson/reactor/common/lexp.js:1855:24)
        at Engine._eval_expr (/home/wilson/reactor/server/lib/Engine.js:1235:165)
    [latest-26177]2026-06-28T00:38:17.870Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.1.6":3493: [Error] connect ECONNREFUSED 192.168.1.6:3493 [-]
    [latest-26177]2026-06-28T00:38:17.935Z <app:ERR> Trapped unhandled Promise rejection: [FetchError] Invalid response body while trying to fetch http://192.168.1.15/apps/api/8/modes?access_token=e6d0afa6-caad-4f01-a0f3-e>
    [latest-26177]2026-06-28T00:38:17.935Z <app:CRIT> FetchError: Invalid response body while trying to fetch http://192.168.1.15/apps/api/8/modes?access_token=e6d0afa6-caad-4f01-a0f3-e27bb8098221: Premature close [-]
    FetchError: Invalid response body while trying to fetch http://192.168.1.15/apps/api/8/modes?access_token=e6d0afa6-caad-4f01-a0f3-e27bb8098221: Premature close
        at PassThrough.<anonymous> (/home/wilson/reactor/node_modules/node-fetch/lib/index.js:217:52)
        at PassThrough.emit (node:events:509:28)
    
    
    Multi-System Reactor

  • [RESOLVED] Mode Status NULL
    wmarcolinW wmarcolin

    It worked, my friend. I did a fresh install, restarted the VM, and now it's working perfectly. Thank you very much.

    A quick question: we used to open these topics in Mantis, but I no longer have access to it. Is it okay to continue here on the forum?

    Multi-System Reactor

  • [RESOLVED] Mode Status NULL
    wmarcolinW wmarcolin

    Hi @toggledbits

    In version 26177, the query response now returns a value—great!

    image.png

    image.png

    So we're still getting a null response to this query.

    0f30249a-b112-401b-a465-69dbd669e9f1-image.png

    However, we now have an additional problem: previously, when we went to Hubutat and changed the Mode—for example, from Day to Evening—it would apply the change and start working; now this is no longer happening, and the response remains permanently “null.”

    The part of the log where I'm getting an error is shown below; I'm not sure if this helps.

    
    [latest-26177]2026-06-27T17:02:07.252Z <DynamicGroupController:INFO> DynamicGroupController#groups registering zwave_device.debug for Group#groups>dgc_PowerOutlet_OFF
    [latest-26177]2026-06-27T17:02:07.252Z <DynamicGroupController:INFO> DynamicGroupController#groups registering zwave_device.ping for Group#groups>dgc_PowerOutlet_OFF
    [latest-26177]2026-06-27T17:02:07.253Z <DynamicGroupController:INFO> DynamicGroupController#groups registering energy_sensor.reset for Group#groups>dgc_PowerOutlet_OFF
    [latest-26177]2026-06-27T17:02:07.297Z <HubitatController:INFO> HubitatController#hubitat Maker API responded with 101 devices
    [latest-26177]2026-06-27T17:02:07.329Z <HubitatController:WARN> HubitatController#hubitat native capability URL no definition data; skipped
    [latest-26177]2026-06-27T17:02:07.330Z <HubitatController:INFO> HubitatController#hubitat found configured probe/health check device 'Hub Information' ("7")
    [latest-26177]2026-06-27T17:02:07.485Z <Controller:INFO> HubitatController#hubitat 0 dead entities older than 86400000s purged
    [latest-26177]2026-06-27T17:02:07.503Z <HubitatController:INFO> HubitatController#hubitat connecting to hub's eventsocket WebSocket API at ws://192.168.1.15/eventsocket
    [latest-26177]2026-06-27T17:02:07.510Z <OWMWeatherController:ERR> OWMWeatherController#weather location home failed fetching https://api.openweathermap.org/data/2.5/weather?lat=8.975962&lon=-79.507854&appid=650d94f1d61f6e237b>
    [latest-26177]2026-06-27T17:02:07.511Z <OWMWeatherController:CRIT> FetchError: request to https://api.openweathermap.org/data/2.5/weather?lat=8.975962&lon=-79.507854&appid=650d94f1d61f6e237bebec455f062ec7&units=standard&_r=17>
    FetchError: request to https://api.openweathermap.org/data/2.5/weather?lat=8.975962&lon=-79.507854&appid=650d94f1d61f6e237bebec455f062ec7&units=standard&_r=1782579726389 failed, reason:
        at ClientRequest.<anonymous> (/home/wilson/reactor/node_modules/node-fetch/lib/index.js:1501:11)
        at ClientRequest.emit (node:events:509:28)
        at ClientRequest.emit (node:domain:489:12)
        at emitErrorEvent (node:_http_client:109:11)
        at TLSSocket.socketErrorListener (node:_http_client:593:5)
        at TLSSocket.emit (node:events:509:28)
        at TLSSocket.emit (node:domain:489:12)
        at emitErrorNT (node:internal/streams/destroy:170:8)
        at emitErrorCloseNT (node:internal/streams/destroy:129:3)
        at processTicksAndRejections (node:internal/process/task_queues:90:21)
    [latest-26177]2026-06-27T17:02:07.512Z <OWMWeatherController:NOTICE> OWMWeatherController#weather failures Array(1) [{ "status": "rejected", "reason": FetchError(FetchError: request to https://api.openweathermap.org/data/2.5/>
    [latest-26177]2026-06-27T17:02:07.512Z <OWMWeatherController:INFO> OWMWeatherController#weather done; 1 locations, 1 failed
    [latest-26177]2026-06-27T17:02:07.513Z <Controller:NOTICE> Controller OWMWeatherController#weather is now online.
    [latest-26177]2026-06-27T17:02:12.753Z <app:ERR> Trapped unhandled Promise rejection: [FetchError] Invalid response body while trying to fetch http://192.168.1.15/apps/api/8/postURL?access_token=e6d0afa6-caad-4f01-a0f3-e27bb8>
    [latest-26177]2026-06-27T17:02:12.753Z <app:CRIT> FetchError: Invalid response body while trying to fetch http://192.168.1.15/apps/api/8/postURL?access_token=e6d0afa6-caad-4f01-a0f3-e27bb8098221: Premature close [-]
    FetchError: Invalid response body while trying to fetch http://192.168.1.15/apps/api/8/postURL?access_token=e6d0afa6-caad-4f01-a0f3-e27bb8098221: Premature close
        at PassThrough.<anonymous> (/home/wilson/reactor/node_modules/node-fetch/lib/index.js:217:52)
        at PassThrough.emit (node:events:509:28)
        at PassThrough.emit (node:domain:489:12)
        at emitErrorNT (node:internal/streams/destroy:170:8)
        at emitErrorCloseNT (node:internal/streams/destroy:129:3)
        at process.processTicksAndRejections (node:internal/process/task_queues:90:21)
    [latest-26177]2026-06-27T17:02:12.754Z <app:ERR> Please refer to the console log for trace
    [latest-26177]2026-06-27T17:02:12.776Z <DynamicGroupController:INFO> DynamicGroupController#groups processing pending updates for Array(4) ["dgc_Device_ENTRANCE", "dgc_Device_TRIPPED", "dgc_ColorLed_ON", "dgc_Device_SMOKE"]
    [latest-26177]2026-06-27T17:02:12.784Z <DynamicGroupController:INFO> DynamicGroupController#groups registering power_switch.on for Group#groups>dgc_ColorLed_ON
    [latest-26177]2026-06-27T17:02:12.784Z <DynamicGroupController:INFO> DynamicGroupController#groups registering power_switch.off for Group#groups>dgc_ColorLed_ON
    [latest-26177]2026-06-27T17:02:12.784Z <DynamicGroupController:INFO> DynamicGroupController#groups registering power_switch.set for Group#groups>dgc_ColorLed_ON
    [latest-26177]2026-06-27T17:02:12.784Z <DynamicGroupController:INFO> DynamicGroupController#groups registering toggle.toggle for Group#groups>dgc_ColorLed_ON
    [latest-26177]2026-06-27T17:02:12.784Z <DynamicGroupController:INFO> DynamicGroupController#groups registering color_temperature.set for Group#groups>dgc_ColorLed_ON
    [latest-26177]2026-06-27T17:02:12.784Z <DynamicGroupController:INFO> DynamicGroupController#groups registering rgb_color.set for Group#groups>dgc_ColorLed_ON
    [latest-26177]2026-06-27T17:02:12.784Z <DynamicGroupController:INFO> DynamicGroupController#groups registering rgb_color.set_rgb for Group#groups>dgc_ColorLed_ON
    [latest-26177]2026-06-27T17:02:12.784Z <DynamicGroupController:INFO> DynamicGroupController#groups registering hs_color.set_hs for Group#groups>dgc_ColorLed_ON
    [latest-26177]2026-06-27T17:02:12.785Z <DynamicGroupController:INFO> DynamicGroupController#groups registering hs_color.set_hue for Group#groups>dgc_ColorLed_ON
    [latest-26177]2026-06-27T17:02:12.785Z <DynamicGroupController:INFO> DynamicGroupController#groups registering hs_color.set_saturation for Group#groups>dgc_ColorLed_ON
    [latest-26177]2026-06-27T17:02:12.785Z <DynamicGroupController:INFO> DynamicGroupController#groups registering dimming.set for Group#groups>dgc_ColorLed_ON
    [latest-26177]2026-06-27T17:02:12.785Z <DynamicGroupController:INFO> DynamicGroupController#groups registering dimming.up for Group#groups>dgc_ColorLed_ON
    [latest-26177]2026-06-27T17:02:12.785Z <DynamicGroupController:INFO> DynamicGroupController#groups registering dimming.down for Group#groups>dgc_ColorLed_ON
    [latest-26177]2026-06-27T17:02:12.791Z <Rule:INFO> Panel Tripped (rule-mfdbsyrp in SharpTools) starting rule state evaluation; because predicate-state-changed Predicate#rule-mfdbsyrp/trig
    [latest-26177]2026-06-27T17:02:12.791Z <Rule:INFO> Panel Tripped (rule-mfdbsyrp in SharpTools) evaluated; rule state transition from SET to 'RESET'
    
    
    Multi-System Reactor

  • [RESOLVED] Mode Status NULL
    wmarcolinW wmarcolin

    I'm trying to explore the scenario further by making the query directly via an HTTP request

    image.png

    I receive the information through the browser, but when I try to include it in a reaction, the response is null.

    8f3ef2bd-a073-4d2f-9592-f3531a89406f-image.png

    Multi-System Reactor

  • [RESOLVED] Telegram notification broke with latest update
    wmarcolinW wmarcolin

    If it might help with the investigation, here is the error message I'm getting when I run the query.

    systemctl status reactor
    ● reactor.service - Multi System Reactor
    Loaded: loaded (/etc/systemd/system/reactor.service; enabled; preset: enabled)
    Drop-In: /etc/systemd/system/reactor.service.d
    └─override.conf
    Active: active (running) since Fri 2026-06-26 14:48:22 EST; 38min ago
    Main PID: 6370 (MainThread)
    Tasks: 11 (limit: 4599)
    Memory: 112.8M (peak: 157.1M)
    CPU: 28.239s
    CGroup: /system.slice/reactor.service
    └─6370 /usr/bin/node app -p

    Jun 26 15:06:23 reactor node[6370]: at async NotifyTelegram.sendNotification (/home/wilson/reactor/server/lib/Notifier.js:189:137)
    Jun 26 15:06:23 reactor node[6370]: [latest-26174]2026-06-26T20:06:23.394Z Engine:CRIT Error: NotifyTelegram request failed [-]
    Jun 26 15:06:23 reactor node[6370]: Error: NotifyTelegram request failed
    Jun 26 15:06:23 reactor node[6370]: at NotifyTelegram.notify (/home/wilson/reactor/server/lib/NotifyTelegram.js:300:23)
    Jun 26 15:06:23 reactor node[6370]: at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
    Jun 26 15:06:23 reactor node[6370]: at async NotifyTelegram.sendNotification (/home/wilson/reactor/server/lib/Notifier.js:189:137)
    Jun 26 15:11:10 reactor node[6370]: [latest-26174]2026-06-26T20:11:10.209Z Engine:CRIT Error: terminated [preempted by rule state change]
    Jun 26 15:11:10 reactor node[6370]: Error: terminated
    Jun 26 15:11:10 reactor node[6370]: at Engine._process_reaction_queue (/home/wilson/reactor/server/lib/Engine.js:2091:47)
    Jun 26 15:11:10 reactor node[6370]: at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
    root@reactor:/home/wilson/reactor/logs#

    Multi-System Reactor

  • [RESOLVED] Mode Status NULL
    wmarcolinW wmarcolin

    Hi @toggledbits

    Up to version 26130, this statement worked perfectly to update the global variable.

    667972c3-b9b2-4bb5-8324-f8991fca591b-image.png

    It used to assign the mode correctly to the variable.

    However, now, when I restart the system—which is already on version 26174—I see that the value reverts to null, forcing me to change the mode so that the status is updated.

    If it is NULL, this action also has no effect.

    068d2583-a42c-4136-b95f-da46a8f66cf9-image.png

    Thanks.

    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