It’s been a while since I looked at openLuup as it had been running nicely and quietly in the background doing some basic tasks. With my VeraPlus looking like it’s finally succumbing to old age, I want to shift a number of the global module I have over to openLuup.
To do this, I have added the files (example would be xxpushover.lua to the cmh-ludl folder and the following to the startup
require “xxpushover”
The xxpushover.lua file itself starts with the following..
module("xxpushover", package.seeall)
And I always have a line in these files to allow me to check it’s been read in the start up related logs, which in this case it is..
The challenge I’m having is that when I try to call any of the functions within the module, it returns the following error..
"[string "ALTUI - LuaRunHandler"]:1: attempt to index global 'xxpushover' (a nil value)”
I’m no doubt missing something obvious, can anyone help me find out what it is ? Many thanks
Thanks to @toggledbits for adding a custom CSS. I've started doing a darker Reactor style.
Here's the file: https://gist.github.com/dbochicchio/825098ac13b7f8cac22012eae37ff7ce
A couple of things are still too bright and I'll eventually catch-up. Just place it under your /config directory, naming the file as customstyles.css. Hard refresh your browser.
Hi
I have just connected a bunch of EzloPi controllers to MSR to import some ESP based devices etc.
They all seemed to have worked and imported in to MSR apart from I have one missing device. It is a Digital Gas Sensor device.
This is how that device looks in the Ezlo API.
Devices Info:
_id: "10696001" deviceTypeId: "ezlopi" parentDeviceId: "10696000" category: "level_sensor" subcategory: "" gatewayId: "457a5069" batteryPowered: false name: "Gas Sensor Digital" type: "sensor" reachable: true persistent: true serviceNotification: false armed: false roomId: "" security: "no" ready: true status: "idle" parentRoom: true protectConfig: "default"Items Info:
_id: "20696001" deviceId: "10696001" hasGetter: true hasSetter: false name: "smoke_density" show: true valueType: "substance_amount" scale: "parts_per_million" value: 2.7472610473632812 valueFormatted: "2.75" status: "idle"There is also an Analog Gas sensor that one did import in to MSR OK.
68d63dab-b871-4f44-912b-cf6e0b9eb4c6-image.png
Devices Info:
_id: "10696000" deviceTypeId: "ezlopi" parentDeviceId: "10696000" category: "security_sensor" subcategory: "gas" gatewayId: "457a5069" batteryPowered: false name: "Gas Sensor Analog" type: "sensor" reachable: true persistent: true serviceNotification: false armed: false roomId: "" security: "no" ready: true status: "idle" parentRoom: true protectConfig: "default"Items Info:
_id: "20696000" deviceId: "10696000" hasGetter: true hasSetter: false name: "gas_alarm" show: true valueType: "token" enum: 0: "no_gas" 1: "combustible_gas_detected" 2: "toxic_gas_detected" 3: "unknown" valueFormatted: "no_gas" value: "no_gas" status: "idle"And this is how this MQ2 Gas Sensor looks like on their dashboard:
Digital
cb77dfa3-4af5-4d06-9635-89207a716a89-image.png
Analog
4fb4da1b-e946-4b89-876c-bcd9f5699b6c-image.png
They have an EzloPi website here you can create your own sensor projects using ESP boards, which is very interesting stuff!
And I just wrote on the Ezlo forum here, how to connect an EzloPi controller to MSR.
THANKS.
Build 21228 has been released. Docker images available from DockerHub as usual, and bare-metal packages here.
Home Assistant up to version 2021.8.6 supported; the online version of the manual will now state the current supported versions; Fix an error in OWMWeatherController that could cause it to stop updating; Unify the approach to entity filtering on all hub interface classes (controllers); this works for device entities only; it may be extended to other entities later; Improve error detail in messages for EzloController during auth phase; Add isRuleSet() and isRuleEnabled() functions to expressions extensions; Implement set action for lock and passage capabilities (makes them more easily scriptable in some cases); Fix a place in the UI where 24-hour time was not being displayed.Hi @toggledbits,
I have lots of logs with this:
<Engine:ERR> Assignment to alarm ignored -- expression-driven global cannot be set by assignmentAny hints to where look at to avoid this? Thanks.
A couple of things for you @toggledbits, since you mentioned that this release has new features and some tweaks are expected.
Local expressions cannot be deleted. Pushing the X button has no effect for me.
When cloning an entity action, the result is strange (first is cloned one, second is the original action):
a92ea094-9e2c-4aaa-bf47-2d07a6ffdbd0-image.png
When changing the action on the cloned element, the params are added to the original one. See screenshot:
92ac3011-83c8-466b-bd23-47d483ad7a52-image.png
Dark theme has a couple of strange contrasts. One is visible in the previous screenshots (white text on yellow background). Another one is in groups (blue text on blue background):
9b3c4988-53ef-44e6-9672-30e744cacb75-image.png
Overall, I found blue, yellow, red and green (in buttons and forms) to be too bright.
On the bright side:
I love the new script action: thank you! The dark theme is a great start to avoid getting blinded at night I promise I'll try very soon the new features around actions. Thanks!@toggledbits
I just upgraded to version MSR 24293, bare metal running on Fedora. Upon restart, I am getting a error banner:
I followed the new directions about npm
npm i --no-save --no-package-lock --omit dev
Any idea what the issue is?
Seems like switching the UI to the newly added dark mode (thank you for this) does nothing. The UI stays in light mode and only a few buttons turn into dark mode (see screenshot)
Things I have tried:
Hard refresh
Different browser
Different computer
Restarting Reactor
Failed troubleshooting attempts:
No errors in Chrome console
No relevant errors in Reactor log (can still PM the full log file)
Reactor version: latest-24293-ea42a81d
Hardware: Odroid N2+
Linux version: Ubuntu 24.04.1 LTS
3df2806f-9146-485b-9ec1-d056e91cefe5-image.png Dark mode enabled
ff823023-c079-4684-b01f-d6ac6527d31a-image.png Light mode enabled
I've been using Vera Plus for nearly 10 years now but it's time to move on. On top of that we've moved from the previous house whereupon I took all the Z-wave door sensors, locks and switches with me and reverted the pool to manual control, grabbing the Autelis which I won't use now since the new pool we built has Pentair IntelliCenter.
I have the Vera Plus connected and have it controlling a couple of Honeywell Z-Wave thermostats and a couple of lights but It seems to just be slower and slower as it ages. I have an intel i3 NUC that is probably 6 years old but figure it's probably powerful enough to control HA going forward. I also dabbled with HomeSeer but it seems to cost a fortune for plugins. I have HS4 and a G3 Z-Wave Plus dongle from them.
How do I get started? I'm thinking I'll just unpair all my devices from the Vera Plus and add them to HA and then set up Reactor to do the logic but is there a way to migrate? Should I use Open LUA instead?
Lots of questions but I'm ready to get started an any help would be appreciated.
Good morning,
I have a service MQTT service that needs a restart occasionally. The add-on (Smartbed MQTT) is for the smart bed base for my bed. It has a "safety light" that I can control from HAAS & MSR as a light entity, and also moves the head of the bed to a preset at bedtime, and then lies it back flat in the morning The problem is, from time to time, the light becomes "unavailable" Restarting from the Add-ons tab in HAAS always fixes it, but I should be able to detect when it happens when "light.tempur_pedic_safety_lights" is not true or false, i.e., unavailable.
What I don't know how to do is how to restart that service. Does anybody have experience in restarting add-ons from MSR?
Running:
Reactor (Multi-hub) latest-24212-3ce15e25 ZWaveJSController [0.1.24232]HAAS:
RPi5-64 (8GB) Core 2024.7.3 Supervisor 2024.08.0 Operating System 13.0 Frontend 20240710.0Hello lovely people. Long time and all that. Hope you're all doing OK.
Bit of a left field one here, looking for extra eyes more than an answer and you're the most logical bunch I know 🙂
Part of our HA system is a Logitech Elite hub and remote control.
This is programmed to control my Cyrus Stereo, our TV, and HDMI switch and our Virgin V6 box.
I've been away for a couple of days. Got back this evening to (eventually) work out that the V6 box appears to be not accepting any commands from the Logitech.
Everything has been rebooted.
Logitech uses IR to control
Cyrus: Fine
TV: Fine
HDMI: Fine
Remote control uses Bluetooth to control Hub.
All commands from the Remote to the hub are executed (one might assume correctly) as the activity LED responds, and if you're controlling (say) the Cyrus, all works fine.
iOS App can be used to control Hub over the WLAN:
All commands from the App re executed (one might assume correctly) as the activity LED responds, and if you're controlling (say) the Cyrus, all works fine.
Native remote (that uses as far as I know bluetooth) to control the V6 box works fine.
V6 box refuses to acknowledge any command other than from the native remote. Remote or app provoke absolutely zero response from the V6 box.
This is annoying, but damned if I can think of any logical reason. One might assume a firmware update on the V6 box, but given that the Hub simply emulates the native remote, that seems unlikely.
I'm struggling to think of where even to start troubleshooting this, so any random thoughts would be appreciated.
My initial approach is to buy another hub in case there's a different radio set that's failed in the hub...
TIA!
C
Hi!
Is it possible to generate two additional log files, the first being the replica of what is displayed on screen by the Rule History widgets and the other with Recently Changed Entities?
And could I configure the generation of one file per day, and delete the older ones? For example, store the last 5 days?
And being more ambitious, does Windget have an icon to open these TXT files in the navigated?
Well, we're approaching Christmas, so here's my request to Santa Claus @toggledbits 🙂
After the veralert service was shut down and Richard confirmed that it will not be available again, I searched for a new notification service to use in my vere secure. I signed up for the PushOver service.
I want to take a snapshot from a camera with camera snapshot address “192.168.4.37/img/snapshot.cgi?size=4&quality=1” and video address “192.168.4.37/img/video.mjpeg” according to a trigger.
Actually, someone (Tlex) did a work about this years ago on the vera forum, but I couldn't understand that script. I also wrote to him to be more descriptive, but I didn't get an answer. Can you help me with this?
Hi @toggledbits
I'm working on a controller to generate llm response from a prompt in reactor. I have http response coming thru an http request action at the moment, capturing the response inside a local variable. So, it's practically sync.
I want to create a controller, so I don't have to rely on a proxy (and have a simpler architecture), and duplicate absurd http actions, but AFAIK in the current implementation, actions are async only. But if I have multiple requests going on, I cannot be sure what it's really inside an attribute. I also thought that something like a correlation id when sending the request could be used to identity multiple responses, but I wanted to double check with you before starting with something too complicated. I also noticed that some actions in home assistant (ie forecast) are sync and I'm wondering if you have any plan or hint to address this situation. Thanks.
Thanks.
I currently have an HVAC system in the attic - for heating and A/C. 120v is supplied to the unit to run the gas heating. A/C uses 240v. I have an ecobee thermostat...which sometimes goes offline....not often. When it goes offline, I need to turn the 120v power to the HVAC system off and then back on (the ecobee gets its power from the HVAC system). That resets the ecobee and all is fine. I spend the summer away from this house and if the ecobee goes offine..I have no current method to reset the HVAC 120v power remotely. My idea is to replace the current 120v plug in the attic with a smart plug...then I can remotely turn the 120v power off and the ecobee will reset and come back online. I use Wyze and Lutron Casita in the house currently and was hoping I could find an in-wall smart plug from Wyze or Lutron. Obviously, I don't need diming, etc...just the ability to turn the plug power on/off. I've seen some options...but one problem I have is the attic can reach up to 135F in the summer...many of the smart plugs I've seen are not rated for that temperature. Might any of you have any thoughts on a smart plug I might want to look at? I don't want to invest in anything that would require a new hub - so either WiFi based or Casita HUB based. I need 120v and 15amp ratings. Thanks in advance.
We're working on a (giant) new door for our house, and I'm exploring HomeKey locks, because I have CarKey on my cars and I love it - but unfortunately, due to Apple and their demands to have the lock and the reader all in a single hardware piece, door locks in Europe with HomeKey are few - and the few available are after market solutions, so not aesthetically WAF-approved. And then, I wondered, how cool could it be to open the garage door with the same HomeKey?
So I went down thru a rabbit hole and then found this:
ESP32 HomeKit Lock with support for Apple Home Key - rednblkx/HomeKey-ESP32
I ordered a couple of things, and started tinkering. After a couple of hours, I had it implemented under Reactor via MQTT and on my desk, turning ON a light when the key is recognized. It costed about 20 bucks per entry, so not bad at all.
We only have iPhones at home, because of CarKeys and CarPlay - but we're not really using Home, so I had to buy an HomeHub in order to share the key - I got an Apple TV 4k that's basically just doing the HomeHub part. I'll eventually expose other things to Siri via Homebridge or HomeAssistant - or maybe not. HomeKey is the feature, for me.
Using Express mode, you just pass your watch/device on the reader and the key is recognized. You get the same key, but different device ID for a different watch/phone.
The logic is MQTT-based, so every time you pass a tag (MiFare is supported, but it's less secure because easily duplicable), you get a message at a given endpoint. You grab the keys via your virtual device, and check if they're valid in your own logic. I have a tag capability mapped to represent the key id, the device id, and a very easy logic to determine if the data is valid and the entry should be open. Remember, Key ID will be the same, Device ID will be unique across your devices (watches, phones) per person (the key is easily shareable in your family). See this screenshot:
e36899f0-2bf2-45b0-9c80-4e7593a0f7ba-image.png
You need to map the virtual lock in Reactor to the real status of the entry it's representing - but that's done using the lock capability of the device mapped via MQTT. See my template for it https://github.com/dbochicchio/reactor-mqtt-contrib
Setup is very easy.
Since the reader itself isn't doing anything special, it's the same security as a ZWave door lock: if they open the case, no contacts is exposed, since this is just a reader, where the security is inside your phone/watch. You have -of course - to use it to drive your real lock. Easy job for the garage, doable for the new proprietary lock for the door, with 12v input to unlock - via ZWave or whatever - and auto-lock feature.
A couple of photos of the various steps - and the final case I found for 5 bucks on Ali, to mount it securely outside (it had the original electronics and I took it apart to insert mine - I recommend a smaller ESP32 if you have better soldering skills than mine).
15b12d35-028e-4e90-8490-21e3eea82dbb-image.png
b9b9d242-211b-40bb-b8f1-6b2181c659b0-image.png
8a5975eb-479d-4937-8b16-53d058023dc1-image.png
cccfacf5-fc85-445a-89a7-70ba0db7cc9f-image.png
I'll mount it with the Garage Door outside - very handy during pool season, since this is the easiest way to the bathroom after some time chilling. It's powered by a 3,3 converter housed inside the house, eliminating the need for the bulky USB connector. The reader is completely covered, so the fact that is not really IP-6x is not a problem: it will not get splashes at all.
Feel free to ask me anything, if you want to embark into a new adventure.
@togglebits I am curious as to why the tilt_sensor.state (primary) = NULL. I believe it should show true or false. I have to use binary_sensor.state instead in my rules.
Again, not sure if this is related to Reactor/ZwaveJSController implementation or the actual Z-Wave JS UI docker version. I have copied, below, the attributes of the tilt sensor in hopes it can help.
Thanks in advance.
Reactor version 23302
ZWaveJSController version 23254
Z-Wave JS UI version 9.3.0.724519f
zwave-js version 12.2.3
@toggledbits I have noticed after upgrading both Reactor and ZWaveJSController to version 24257 that two of my devices/entities, TILT-ZWAVE2.5-ECO and Zooz ZSE18, had their entity re-named in an unusual way and also appears to be duplicated.
Reactor version 24257
ZWaveJSController version 24257
Z-Wave JS UI version 9.18.1
zwave-js version 13.2.0
Vestibule Motion Sensor State attributes/partial screenshot of entities it created. All entities have the same attributes.
motion_sensor.state=true x_zwave_values.Notification_Home_Security_Motion_sensor_status=8 zwave_device.capabilities=[113] zwave_device.endpoint=0 zwave_device.failed=null zwave_device.manufacturer_info=null zwave_device.node_id=23 zwave_device.valueId=[113,"Notification","Home Security","Home Security","Motion sensor status","Motion sensor status"] zwave_device.version_info=nullTilt Sensor Door State and Tilt Sensor Door State Simple attributes/partial screenshot of entities it created. All entities have similar attributes with exception of x_zwave_values.Notification_Access_Control_Door_State = 22 or 23.
tilt_sensor.state=true x_zwave_values.Notification_Access_Control_Door_state=22 zwave_device.capabilities=[113] zwave_device.endpoint=0 zwave_device.failed=null zwave_device.manufacturer_info=null zwave_device.node_id=24 zwave_device.valueId=[113,"Notification","Access Control","Access Control","Door state","Door state"] zwave_device.version_info=null tilt_sensor.state=true x_zwave_values.Notification_Access_Control_Door_state_simple=22 zwave_device.capabilities=[113] zwave_device.endpoint=0 zwave_device.failed=null zwave_device.manufacturer_info=null zwave_device.node_id=24 zwave_device.valueId=[113,"Notification","Access Control","Access Control","Door state (simple)","Door state (simple)"] zwave_device.version_info=null tilt_sensor.state=false x_zwave_values.Notification_Access_Control_Door_state=23 zwave_device.capabilities=[113] zwave_device.endpoint=0 zwave_device.failed=null zwave_device.manufacturer_info=null zwave_device.node_id=24 zwave_device.valueId=[113,"Notification","Access Control","Access Control","Door state","Door state"] zwave_device.version_info=null tilt_sensor.state=false x_zwave_values.Notification_Access_Control_Door_state_simple=23 zwave_device.capabilities=[113] zwave_device.endpoint=0 zwave_device.failed=null zwave_device.manufacturer_info=null zwave_device.node_id=24 zwave_device.valueId=[113,"Notification","Access Control","Access Control","Door state (simple)","Door state (simple)"] zwave_device.version_info=nullI'm slowly migrating all my stuff to MQTT under MSR, so I have a central place to integrate everything (and, in a not-so-distant future, to remove virtual devices from my Vera and leave it running zwave only).
Anyway, here's my reactor-mqtt-contrib package:
Contrib MQTT templates for Reactor. Contribute to dbochicchio/reactor-mqtt-contrib development by creating an account on GitHub.
Simply download yaml files (everything or just the ones you need) and you're good to go.
I have mapped my most useful devices, but I'll add others soon. Feel free to ask for specific templates, since I've worked a lot in the last weeks to understand and operate them.
The templates are supporting both init and query, so you have always up-to-date devices at startup, and the ability to poll them. Online status is supported as well, so you can get disconnected devices with a simple expression.
Many-many thanks to @toggledbits for its dedication, support, and patience with me and my requests 🙂
A recent thread on supporting the ZRC-90 Z-Wave scene controller got me to wonder, what does everybody use and like?
I'll start... oh, and no dashboards. I want to hear from you all about dedicated scene controller devices. Dashboards and apps are great to a point, but my experience is that higher WAF is achieved with (a) a dedicated device (b) in a known location (c) with predictable functions and (d) no extra steps to operate (just walk up to it and push a button -- same effort as a light switch/dimmer). She's not wrong. It's a pain to unlock the phone, find the app, open the app, find the device, tap the device, when you can just walk across the room and push a button. Bonus points for something that can be labeled readably (low WAF for stuck-on tape/thermal labels).
I have a ZRC-90 and it's great, but it was temperamental to get working on Vera, and wasn't smooth sailing when it made the move to Z-Wave JS either. A couple of include/exclude cycles were needed to get it fully working on both. Since then, I've done a battery change, and while the buttons work as reliably as ever, the device continues to report the old battery level despite having a measurably fresh battery for over a year now. But I would still recommend it.
I have a Hank 4-button that is probably the best and most reliable battery-operated scene controller I have ever used. It's small and unobtrusive, so it lives on a lamp base in our living room and controls the room's mood lighting. I'm not sure they're still available. RIP.
I just ran across the Minoston MR40Z on Amazon, and I may try one of those. It looks like an installed (in-wall) Decora switch, but the buttons are actually a removable remote that you can pull off the wall and take to the couch. No line power required. Kinda cool. Maybe a good Hank replacement. But, I've never heard of this manufacturer before, and the concern is always "will I be able to buy more/replacements in one/two/five years?"
Among the wired controllers, the Zooz ZEN32 seems to be the most popular modern unit. I like it, but the LEDs are too small for my aging eyes to discern their color in daylight -- they are pin-head sized. Four of the five buttons are too small to label, so low WAF.
When I started my Z-Wave network, I used the Leviton four-button scene/zone controllers (VRCS4 and VRCZ4), and these are still all over my house. They're glitchy first-gen Z-Wave stuff (Vizia RF+ actually, so compatible but with proprietary features that aren't usable). They're now discontinued for Z-Wave. Leviton's newer units are WiFi, so if I go that route, it's HomeKit via Home Assistant for those.
During the pandemic lock-downs, I built a touch-screen scene controller using an Adafruit PyPortal. It had screens with 1 to 8 labeled, colorable soft buttons that could either perform a device function (i.e. publish to MQTT) or take you to another screen, so it was the love-child of scene controller and dashboard. Wife found it agreeable. But it was just a prototype. Memory limitation of the device was an issue because the PyPortal is really an inexpensive teaching device with a big load of Circuit Python overhead, and the graphic display needs a lot of RAM, so it was severely limited. I'm sure it could work out with the right micro and programming closer to the bare metal. Packaging and powering would also need to be addressed. And, at the end of the day, while "cute," it doesn't seem like something I would want to sell with the house if we ended up moving some day.
So, I'm interested in what others are doing and using, or more specifically, what your significant others are comfortable with and willing to use.