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

prophead

@prophead
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
[Solved] Rulesets with multiple groups in Set Reaction not working post-26116
G
Topic thumbnail image
Multi-System Reactor
About
Posts
124
Topics
15
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • SNMP - Is anyone leveraging info via the Simple Network Management Protocol ?
    propheadP prophead

    @parkerc sounds like a permissions issue. Debug on command line before trying to script. I would also avoid use of the public access to snmp as it’s a potential security issue. I always setup private domain the proceedure differs by manufacturers. You can use snmpwalk for debugging then move to snmpget once you’re ready to drill down. Good luck.

    General Discussion

  • SNMP - Is anyone leveraging info via the Simple Network Management Protocol ?
    propheadP prophead

    @parkerc as you can see it's virtually same because SNMP is pretty standardized. Yes, this is the ubiquity edgerouter, a great $60 piece of kit. I use it for ISP failover and firewall.

    General Discussion

  • SNMP - Is anyone leveraging info via the Simple Network Management Protocol ?
    propheadP prophead

    @parkerc

    -- SNMP BWmon
    -- read stored in/out values
    local files = ""
    local f = io.open("/tmp/INO.txt")
    if not f then os.execute("touch /tmp/INO.txt") end
       for line in f:lines() do
          files = line
       end
    f:close()
    
    local OINO = files
    
    local f = io.open("/tmp/OUTO.txt")
    if not f then os.execute("touch /tmp/OUTO.txt") end
       for line in f:lines() do
          files = line
       end
    f:close()
    if not files then files = "Counter32: (0)" end
    local OOUTO = files
    
    -- parse values
    local ROINO = string.match(OINO, ".*Counter32: (%d+)")
    local ROOUTO = string.match(OOUTO, ".*Counter32: (%d+)")
    
    -- read snmp
    os.execute("/usr/bin/snmpget -r 1 -v1 -c PASSWORD 172.16.0.1 iso.3.6.1.2.1.2.2.1.10.4 >/tmp/INO.txt")
    local f = io.open("/tmp/INO.txt")
       if not f then return end  
       for line in f:lines() do
          files = line
       end
    f:close()
    local INO = files
    
    --print (INO)
    
    files = ""  
     os.execute("/usr/bin/snmpget -r 1 -v1 -c PASSWORD 172.16.0.1 iso.3.6.1.2.1.2.2.1.16.4 >/tmp/OUTO.txt")
     local f = io.open("/tmp/OUTO.txt")
        if not f then return end
        for line in f:lines() do
            files = line
        end
    f:close()
    local OUTO = files
    
    --print (OUTO)
    
    --parse
    local RINO = 0 
    RINO = string.match(INO, ".*Counter32: (%d+)")
    local ROUTO = 0
    ROUTO = string.match(OUTO, ".*Counter32: (%d+)")
    
    --print (RINO)
    --print (ROUTO)
    
    --maths
    local RINB = 0
    RINB = RINO --* 8
    local ROINB = 0
    ROINB = ROINO --* 8
    local ROUTB = 0
    ROUTB = ROUTO --* 8
    local ROOUTB = 0
    ROOUTB = ROOUTO --* 8
    
    --deltas
    local INt = 0
    INt = RINB - ROINB
    local OUTt = 0
    OUTt = ROUTB - ROOUTB
    
    local max32 = 4294966864
    
    --debug
    --luup.log ('RINB ='..RINB..', ROINB ='..ROINB)
    --luup.log ('ROUTB ='..ROUTB..', ROOUTB ='..ROOUTB)
    
    -- handle rotation
    if RINB < ROINB then INt = max32 - ROINB + RINB end
    if ROUTB < ROOUTB then OUTt = max32 - ROOUTB + ROUTB end
    if INt > max32 or INt<0 then INt = max(RINB,ROINB) end
    if OUTt > max32 or OUTt<0 then OUTt = max(ROUTB,ROOUTB) end
    
    --luup.log ('INt ='..INt..', OUTt ='..OUTt)
    
    -- 60 is 1 min interval and 1024 makes kBps
    local kbpsINt = ((INt/60)/1024)
    local kbpsOUTt = ((OUTt/60)/1024)
    local total = kbpsINt + kbpsOUTt
    
    luup.variable_set("urn:upnp-org:serviceId:altui1", "ComcastKBps", total, 11)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "ComcastInKBps", kbpsINt, 11)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "ComcastOutKBps", kbpsOUTt, 11)
    
    General Discussion

  • SNMP - Is anyone leveraging info via the Simple Network Management Protocol ?
    propheadP prophead

    @parkerc
    FC4656C3-8DD1-4493-9E74-5DC71923C335.jpeg F2329C8D-3B50-4C93-914B-8BA3FF49656C.jpeg

    General Discussion

  • SNMP - Is anyone leveraging info via the Simple Network Management Protocol ?
    propheadP prophead

    @parkerc I’m going to point you here:

    GitHub - jertel/vuegraf: Populate metrics from your Emporia Vue energy monitoring devices into an InfluxDB

    GitHub - jertel/vuegraf: Populate metrics from your Emporia Vue energy monitoring devices into an InfluxDB

    Populate metrics from your Emporia Vue energy monitoring devices into an InfluxDB - jertel/vuegraf

    For more energy centric metrics then snmp. I love the vue devices and the grafana integration with this link is stellar for really understanding your energy use.

    General Discussion

  • SNMP - Is anyone leveraging info via the Simple Network Management Protocol ?
    propheadP prophead

    @parkerc then I use grafana to graph
    F6CFFAB5-D8A7-42D2-A1B2-2C5299DC5CB6.jpeg

    General Discussion

  • SNMP - Is anyone leveraging info via the Simple Network Management Protocol ?
    propheadP prophead

    Altui on a pi

    General Discussion

  • SNMP - Is anyone leveraging info via the Simple Network Management Protocol ?
    propheadP prophead

    @parkerc this is the Dlink 8 port SNMP switch lua:

    -- SNMP 8 port BWmon
    -- read stored in/out values
    local lines = ""
    local Din = {}
    local Dout = {}
    local Oin = {}
    local Oout = {}
    local Nin = {}
    local Nout = {}
    local T = {}
    local i,j
    
    --check for switch
    local ping = os.execute("ping -c 1 192.168.1.11")
    if ping ~= 0 then
      luup.log("Dlink 8: Switch down. Aborted.")
      do return end
    end
    
    for i = 1,8 do
    -- read stored values
       local f = io.open("/tmp/8"..i.."I.txt")
       if f then
       for line in f:lines() do
         lines = line
       end -- for each line
      f:close()
      else os.execute("touch /tmp/8"..i.."I.txt")
      end
    
      if not lines then lines = "0" end
      Oin[i] = lines
      --print (Oin[i])
      
       local f = io.open("/tmp/8"..i.."O.txt")
       if f then
         for line in f:lines() do
           lines = line
         end -- for each line
       f:close()
       else os.execute("touch /tmp/8"..i.."O.txt")
       end
    
      if not lines then lines = "0" end
      Oout[i] = lines
      --print (Oout[i])
    
    end -- for each port read
    
    -- parse values
    for j = 1,8 do
    
    Oin[j] = string.match(Oin[j], ".*Counter32: (%d+)")
    if Oin[j] == "" or Oin[j] == nil then Oin[j] = 0 end
    Oout[j] = string.match(Oout[j], ".*Counter32: (%d+)")
    if Oout[j] == "" or Oout[j] == nil then Oout[j] = 0 end
    
    -- read snmp
    lines = ""
    os.execute("/usr/bin/snmpget -r 1 -v1 -c PASSWORD 192.168.1.11 iso.3.6.1.2.1.2.2.1.10."..j.." >/tmp/8"..j.."I.txt")
    local f = io.open("/tmp/8"..j.."I.txt")
       if not f then return end  
       for line in f:lines() do
          lines = line
       end
    f:close()
    Nin[j] = lines
    --print (Nin[j])
    
    lines = ""
    os.execute("/usr/bin/snmpget -r 1 -v1 -c PASSWORD 192.168.1.11 iso.3.6.1.2.1.2.2.1.16."..j.." >/tmp/8"..j.."O.txt")
    local f = io.open("/tmp/8"..j.."O.txt")
       if not f then return end  
       for line in f:lines() do
          lines = line
       end
    f:close()
    Nout[j] = lines
    --print (Nout[j])
    
    --parse
    Nin[j] = string.match(Nin[j], ".*Counter32: (%d+)")
    if Nin[j] == "" or Nin[j] == nil then Nin[j] = 0 end
    Nout[j] = string.match(Nout[j], ".*Counter32: (%d+)")
    if Nout[j] == "" or Nout[j] == nil then Nout[j] = 0 end
    
    --print (Nin[j])
    --print (Nout[j])
    
    --deltas
    Din[j] = Nin[j] - Oin[j]
    Dout[j] = Nout[j] - Oout[j]
    
    local max32 = 4294967295
    --local max32 = 4294966864
    
    -- handle rotation
    if Nin[j] < Oin[j] then Din[j] = max32 - Oin[j] + Nin[j] end
    if Nout[j] < Oout[j] then Dout[j] = max32 - Oout[j] + Nout[j] end
    if Din[j] > max32 or Din[j]<0 then Din[j] = 0 end --math.max(Oin[j],Nin[j]) end
    if Dout[j] > max32 or Dout[j]<0 then Dout[j] = 0 end --math.max(Oout[j],Nout[j]) end
    
    end -- end for each port write
    
    -- add real time interval tracking
    -- read old time
    lines = ""
    local ot = ""
    local f = io.open("/tmp/lastDlink8run.txt")
        if not f then os.execute("touch /tmp/lastDlink8run.txt") return end
        for line in f:lines() do
            ot = line
        end
    f:close()
    if not ot then ot = "300" end -- default to five minutes
    
    -- write new time
    local nt = tonumber(os.time())
    local t = assert(io.open("/tmp/lastDlink8run.txt", "w"), "Failed to open lastDlink8run.txt")
    t:write(nt)
    io.close(t)
    
    -- delta seconds
    local nds = nt - ot
    
    -- bounds
    if nds < 24 then nds = 24 end
    if nds > 900 then nds = 900 end
    
    -- debugging
    local t = assert(io.open("/tmp/Dlink8nds.txt", "w"), "Failed to open Dlink8nds.txt")
    t:write(nds)
    io.close(t)
    
    -- maths
    for k = 1,8 do
    Din[k] = ((Din[k]/nds)/1024)
    if Din[k] > 1500000 then Din[k] = 0 end
    Dout[k] = ((Dout[k]/nds)/1024)
    if Dout[k] > 1500000 then Dout[k] = 0 end
    T[k] = Din[k]+Dout[k]
    end -- end for each K conversion
    
    -- set luup device variables for device 12, LAN
    luup.variable_set("urn:upnp-org:serviceId:altui1", "DoorBirdINKBps", Din[1] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "DoorBirdOUTKBps", Dout[1] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "DoorBirdKBps", T[1] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "RoomHubINKBps", Din[2] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "RoomHubOUTKBps", Dout[2] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "RoomHubKBps", T[2] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "BedroomINKBps", Din[3] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "BedroomOUTKBps", Dout[3] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "BedroomKBps", T[3] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "DownstairsINKBps", Din[4] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "DownstairsOUTKBps", Dout[4] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "DownstairsKBps", T[4] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "LivingRoomINKBps", Din[5] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "LivingRoomOUTKBps", Dout[5] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "LivingRoomKBps", T[5] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "KitchenINKBps", Din[6] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "KitchenOUTKBps", Dout[6] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "KitchenKBps", T[6] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "UpstairsINKBps", Din[7] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "UpstairsOUTKBps", Dout[7] , 12)
    luup.variable_set("urn:upnp-org:serviceId:altui1", "UpstairsKBps", T[7] , 12)
    
    General Discussion

  • SNMP - Is anyone leveraging info via the Simple Network Management Protocol ?
    propheadP prophead

    @parkerc Yes, I have 3 lua scenes, one for each switch for LAN monitoring and one for my Edgerouter for WAN monitoring. Each uses the same basic snmp framework with device specific tweaks and then saves results to an empty device and then I graph those device variables. I'm happy to share my code below:

    General Discussion

  • Semantics
    propheadP prophead

    When I stopped calling it a smart home and started calling it a home automation system my waf went up significantly. Go figure.

    General Discussion

  • SNMP - Is anyone leveraging info via the Simple Network Management Protocol ?
    propheadP prophead

    I use a lua scene to read snmp network usage from my switches. Working great for a couple of years now.

    General Discussion

  • Facial recognition triggering automation
    propheadP prophead

    Thats very impressive. Well done mate.

    IPCam

  • Vera-openLuup Ecobee Plugin
    propheadP prophead

    Donno but my dehang script recorded the ecobee plugin as the last log line before hang every single time. Either getting updates or revisions found

    Plugins

  • Vera-openLuup Ecobee Plugin
    propheadP prophead

    This strategy has proved fruitful. 48 hours with no hangs.

    Plugins

  • Vera-openLuup Ecobee Plugin
    propheadP prophead

    Got sick of ecobee plugin hanging my openluup box so I built a new pi just for the ecobee plugin and a scene which pushes values onto my main openluup box.

    Plugins

  • Water level sensor
    propheadP prophead

    How do you intend to mount your sensor?

    Hardware

  • Water level sensor
    propheadP prophead

    Keep us posted. I’m very interested in this.

    Hardware

  • Water level sensor
    propheadP prophead

    Float valves fail. Regularly. Pressure switch has no moving parts and has been significantly more reliable for me.

    Hardware

  • Water level sensor
    propheadP prophead

    Two (high and low)of these(bare wire):

    274 CAD

    The Parrot ATO System

    The Parrot ATO System

    The Parrot ATO system Intelligent, observant, long lived, colorful and always repetitive, the Parrot will be the companion you won't know how you lived without. Along with the fun new name comes the pedigree of a proven winner. How do you make improvements to the ATO with an unrivaled reputation...

    And two of these:
    Ecolink Intelligent Technology Z-Wave Easy Install, Battery Operated, Door/Window Sensor, White & Brown (DWZWAVE2-ECO) https://www.amazon.com/dp/B00HPIYJWU/ref=cm_sw_r_cp_api_i_3Je6Eb7ECMY2V

    And bob’s your uncle
    |-<:)

    Hardware
  • Login

  • Don't have an account? Register

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