I need a handful of victims volunteers to help test previews of the next build of Reactor. A long-standing request was for "a simple login mechanism," but in practice, adding user authentication and competent access control turned out to be a pretty big project with a lot of big changes on both server and client sides. It's a bit more than I'm comfortable testing myself and springing out to everyone at once, so I'd like to work with a small group to put it through "sea trials."
Major changes/features include:
User authentication with hashed password storage; User group configuration with application restriction (admin, dashboard, API); Detailed control over API access, with user- and token-based authentication/authorization; Improvements to the HTTPS service; Improvements to UI coordination with the core for Rules and Reactions.If this sounds like something you'd like to help with, drop me a reply here in this thread or privately.
@toggledbits I have finally finished up the SSL using Let's Encrypt and am getting this from my local browser:
f3d0ac22-272e-46c1-b7e3-57b08bdd1555-image.png
21c04fe1-1760-4ce6-a4de-2285d3349940-image.png
3a7022db-5add-40a1-b9a2-0c0b97fa211b-image.png
I know you said in the docs that using a self-signed could lead to this but this is LE.
Hi @toggledbits,
I don't know if I'm the only one, so I'm reporting here first instead of opening a bug.
Basically, with the latest 2-3 updates of Reactor and MQTTController, after a restart previous statuses are lost (for both Virtual and MQTT entities), until they're restored.
It's particularly annoying for Virtual Entities, because I have to set them all over again (I've coded some defaults at startup if the values are empty, but sometimes these are not the correct values before the update).
Not easy to reproduce, and logs are gone, but the first time I tought it was me hallucinating, the second one didn't bother too much, after the third I realized it's something not coming from me.
the behavior could be seen in this screenshot:
1c007fc2-4dbc-4476-8dca-e5aa111e4642-image.png
Any hint is appreciated.
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.I'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 🙂
Good morning,
So Home Assistant decided to change the default weather home format that I've been using for the past year and a half. I had two Global Expressions set up to pull the high and low temp forecast for the day. Now it's pulling null values.
094c9205-cc9e-4fcc-ac4f-1bf54acea299-image.png
In the dev tools, it now uses a new service (Weather. get forecasts), plural, where the old Weather.get forecast is depreciated and now longer functions.
8c7a1fcc-dd3f-4268-a0b7-29d542f86adc-image.png
It shows a templow field, and a temperature field, which I presume is the forecast high.
When I head back over to MSR, I'm having a hard time finding those values in the Entities tab.
c5ea1048-a72e-4647-9c50-9d0c5fd20767-image.png
wx.asoftime=null wx.ceiling=null wx.ceiling_unit=null wx.cloud_cover=null wx.condition_code=null wx.description="partlycloudy" wx.feels_like=null wx.humidity=57 wx.humidity_unit="%" wx.icon=null wx.location=null wx.precipitation_1hr=null wx.precipitation_24hr=null wx.precipitation_other=null wx.precipitation_type=null wx.precipitation_unit="in" wx.pressure=30 wx.pressure_unit="inHg" wx.temperature=55 wx.temperature_unit="°F" wx.visibility=null wx.visibility_unit="mi" wx.wind_compass=210.3 wx.wind_conditions=null wx.wind_direction="SSW" wx.wind_gust=null wx.wind_speed=6.28 wx.wind_speed_unit="mph" x_hass.domain="weather" x_hass.entity_id="weather.forecast_home" x_hass.services=["weather"] x_hass.state="partlycloudy" x_hass_attr.attribution="Weather forecast from met.no, delivered by the Norwegian Meteorological Institute." x_hass_attr.cloud_coverage=85.9 x_hass_attr.dew_point=40 x_hass_attr.friendly_name="New Windsor Weather" x_hass_attr.humidity=57 x_hass_attr.precipitation_unit="in" x_hass_attr.pressure=30 x_hass_attr.pressure_unit="inHg" x_hass_attr.supported_features=3 x_hass_attr.temperature=55 x_hass_attr.temperature_unit="°F" x_hass_attr.visibility_unit="mi" x_hass_attr.wind_bearing=210.3 x_hass_attr.wind_speed=6.28 x_hass_attr.wind_speed_unit="mph"There is a x_hass_attr.temperature, but that appears to be the current temperature, not the high that I found on the dev tools screenshot.
Any ideas?
Running:
Core
2024.4.3
Supervisor
2024.04.0
Operating System
12.2
Frontend
20240404.2
MSR: latest-24057-e9add9f5
Hey Patrick, I recently have been noticing that MSR has been acting up ie. it's been needing restarts and has been slow. I began trouble shooting by looking at the logs and have noticed the following errors for a lot of entities. I thought maybe a simple reboot of RPi was needed and I kept seeing the same errors in the system logs. I am oddly enough not seeing these same errors in the MSR logs. Where things started getting weird is whenever I rebooted MSR it wouldn't come back online .I would have to restart the RPi then it would come back online. I just restarted MSR again to capture logs and it restarted fine, so I guess its good for now? I think this is more or so a corrupted SD card issue rather a MSR issue but well being troubleshooting from here. The SD card is about 1-2 years old.
Apologies if this post is everywhere, I cannot consistently recreate any oddities that are happening, that's what is leading me to believe my SD is going bad.
PS: If anyone knows how to diagnose a corrupt SD card please chime in.
MSR latest-24057-e9add9f5
Home Assistant 2024.4.3
Raspberry Pi 3b+
This system has been running flawlessly year after year for the time changes twice a year literally since MSR came out so I was caught off-guard when this happened this morning.
Time in MSR browser is EST, time on RPi is local time (DST).
76ed5313-b9b9-46d4-b0f9-462c40e99750-image.png
195e61c5-58a7-4453-b96a-18cebae75550-image.png
I've rebooted the RPi I've restarted MSR after double-checking the time on the RPi. Used a completely different browser to eliminate any caching concerns. Double-checked MSR reactor.yamla5f23151-d691-4343-8499-8e77a55528e5-image.png
What am I missing here @toggledbits ?
Hi,
For the standard capabilities MSR sends both a value record and a units record to InfluxDB. The latter I would like not to send as they are not really any use for me and it will reduce the number of records send to my InfluxDB.
Is there a quick way to do this with a filter_entities line like: *>units?
Or do I have to update all capabilities to read like this:
power_sensor:
attributes:
value: true
Cheers Rene
I'm trying to replicate this
wallbox_set_number.PNG
into a MQTT entity where I could set a number with a min and max value.
I can't find a standard capability that fits or any documentation on local MQTT capabilities and the only post on the forum mentioning local MQTT capabilities is this post, is it even possible in current release?
My trial and error work in local_mqtt_capabilities.yaml isn't much to show as it's just a copy of mqtt_capabilities.yaml with changed names and then I got stuck.
Any guidance, examples, documentation, future feature request or denial would be much appreciated, thanks!
Reactor 24057-e9add9f5 bare metal
MQTTController 24050
Hi guys,
I've recently bought a new Govee outdoor permanent lights set, and I love it. WAF is pretty high, and the product is good quality. I hope to never run lights in the front of the house.
This new addition has found me searching for something to control these lights, locally. Govee has officials remote and LAN APIs and Home Assistant has it supported, but some undocumented stuff that's integrated into an Homebridge plugin that seems very promising. Without this plugin, my playlist is orchestrated via the cloud and that makes zero sense.
In the past I got some inspiration from plugins running on other platforms and Homebridge seems one of the most active. I could map its devices via HomeKit-local on HA, but I've decommissioned Homebridge years ago when we settled to Alexa (and I want to stay simple), so I had an idea: why get inspiration and rewrite things, when you could write an Homebridge adapter that could load any Homebridge plugin and run them natively under Reactor (MSR)?
I'm not sure if that's viable or made any sense, so I'm posting here to get feedback, encouragement and your thoughts. Anyone could be potentially interested in such a thing?
Hi- looking for a hint in where to start. My goal is to set a PIN code in a zwave kwikset lock triggered in a rule.
The device isn’t exposing methods to help. The x-hass.call-service looks promising, but what would the service name be?
Plan b would be send the zwave controller a config command- I don’t see any way to explicitly send a command through JS Zwave in my environment.
Running reactor bare metal. JS Zwave is running as an add on inside HASS OS.
Any tips are appreciated.
Hey crew, I'm trying to use MSR to control the RGB values of a Z-Wave bulb in Home Assistant.
Problem I'm running into - I would like to use 'rgb_color.set' to control this, but it doesn't work, instead it always passes the values '255,255,255' to HA no matter what values I enter within MSR.
More notes and examples below - I'm wondering if this is a formatting issue that I'm missing? Thanks for any help!
NOTES FROM TROUBLESHOOTING:
'rgb_color.set_rgb' works successfully, which seems strange. You'd think they would both be affected I've tried a couple different formats, like adding quotes, adding/removing spaces between the RGB values, nothing has fixed it.EXAMPLES:
When I use 'rgb_color.set_rgb', the values successfully carry over to Home Assistant:
f0f4befc-a642-428e-8923-e5f856ca7e2b-image.png
0af0a4f8-50b9-4100-b1e8-52a0de4cbcbb-image.png
But when I use 'rgb_color.set', the values DO NOT successfully carry over to Home Assistant:
9e2d7004-8085-4b70-bb3e-45614b7260a0-image.png 0d630228-c74b-4db8-89bd-2572a08608a3-image.png
DETAILS:
Bulb is LZW42 by Inovelli MSR version: stable-23242-5ee8e1d4HA DETAILS
Core 2024.2.5 Supervisor 2024.02.1 Operating System 12.0Hi,
I’m running MSR in a docker container on my Synology Nas. The container is automatically updated using watchtower weekly.
It was working. Now, after the update, Reactor webpage is able to load, and all indications on the webpage suggests that it is working fine. However, the updated statuses from Home Assistant and Vera are not being detected.
The container logs show the following error
Reactor stable-23344-5aad7754 app 23344 configuration from /var/reactor/config NODE_PATH /opt/reactor:/opt/reactor/node_modules [stable-23344]2024-02-28T21:57:49.516Z <app:null> Reactor build stable-23344-5aad7754 starting on v16.15.1 [stable-23344]2024-02-28T21:57:49.517Z <app:null> Process ID 1 user/group 0/0; docker; platform linux/x64 #69057 SMP Fri Jan 12 17:02:28 CST 2024; locale (undefined) [stable-23344]2024-02-28T21:57:49.517Z <app:null> Basedir /opt/reactor; data in /var/reactor/storage [stable-23344]2024-02-28T21:57:49.517Z <app:null> NODE_PATH=/opt/reactor:/opt/reactor/node_modules [stable-23344]2024-02-28T21:57:49.696Z <Structure:null> Module Structure v23172 [stable-23344]2024-02-28T21:57:49.698Z <Capabilities:null> Module Capabilities v23331 [stable-23344]2024-02-28T21:57:49.780Z <Plugin:null> Module Plugin v22300 [stable-23344]2024-02-28T21:57:49.790Z <TimerBroker:null> Module TimerBroker v22283 [stable-23344]2024-02-28T21:57:49.794Z <Entity:null> Module Entity v22353 [stable-23344]2024-02-28T21:57:49.866Z <Controller:null> Module Controller v23069 [stable-23344]2024-02-28T21:57:50.030Z <default:null> Module Ruleset v22293 [stable-23344]2024-02-28T21:57:50.031Z <default:null> Module Rulesets v22146 [stable-23344]2024-02-28T21:57:50.066Z <GlobalExpression:null> Module GlobalExpression v23211 [stable-23344]2024-02-28T21:57:50.581Z <Predicate:null> Module Predicate v23093 [stable-23344]2024-02-28T21:57:50.595Z <AlertManager:null> Module AlertManager v22283 [stable-23344]2024-02-28T21:57:50.600Z <Rule:null> Module Rule v23107 [stable-23344]2024-02-28T21:57:50.614Z <GlobalReaction:null> Module GlobalReaction v22324 [stable-23344]2024-02-28T21:57:50.617Z <Engine:null> Module Engine v23339 [stable-23344]2024-02-28T21:57:50.635Z <httpapi:null> Module httpapi v23058 [stable-23344]2024-02-28T21:57:50.680Z <wsapi:null> Module wsapi v23172 [stable-23344]2024-02-28T21:57:50.789Z <TaskQueue:null> Module TaskQueue 21351 [stable-23344]2024-02-28T21:57:50.790Z <VeraController:null> Module VeraController v23109 [stable-23344]2024-02-28T21:57:50.971Z <HassController:null> Module HassController v23344 [stable-23344]2024-02-28T21:57:51.716Z <DynamicGroupController:null> Module DynamicGroupController v22313 [stable-23344]2024-02-28T21:57:52.253Z <SystemController:null> Module SystemController v23331 i18n: missing en-US language string: The version of nodejs you are using ({0}) is now end-of-life, and so is deprecated for use with Reactor. Please upgrade nodejs to {2}.{3} or higher as soon as possible; the current LTS version is recommended. Releases of Reactor produced after {1} will not run under this version of nodejs at all. [stable-23344]2024-02-28T21:57:52.256Z <Controller:CRIT> SyntaxError: Unexpected end of JSON input [-] SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) at /opt/reactor/server/lib/Controller.js:464:51 at Array.forEach (<anonymous>) at SystemController._restoreEntities (/opt/reactor/server/lib/Controller.js:458:36) at new Controller (/opt/reactor/server/lib/Controller.js:45:42) at new SystemController (/opt/reactor/server/lib/SystemController.js:29:9) at /opt/reactor/server/lib/Controller.js:101:37 Trace: The version of nodejs you are using ({0}) is now end-of-life, and so is deprecated for use with Reactor. Please upgrade nodejs to {2}.{3} or higher as soon as possible; the current LTS version is recommended. Releases of Reactor produced after {1} will not run under this version of nodejs at all. at _T (/opt/reactor/server/lib/i18n.js:468:37) at AlertManager.addAlert (/opt/reactor/server/lib/AlertManager.js:126:25) at /opt/reactor/app.js:381:140 [stable-23344]2024-02-28T21:57:59.313Z <app:CRIT> SyntaxError: Unexpected end of JSON input [-] SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) at IndividualFileStrategy.getDataObject (/opt/reactor/server/lib/IndividualFileStrategy.js:114:54) at DelayWriteCacheStrategy.getDataObject (/opt/reactor/server/lib/DelayWriteCacheStrategy.js:87:50) at Container.getDataObject (/opt/reactor/server/lib/Container.js:69:67) at Function.getInstance (/opt/reactor/server/lib/Data.js:37:179) at Rule.getRuleStates (/opt/reactor/server/lib/Rule.js:507:100) at Rule.getConditionState (/opt/reactor/server/lib/Rule.js:538:47) at new Rule (/opt/reactor/server/lib/Rule.js:378:47) at Function.getInstance (/opt/reactor/server/lib/Rule.js:387:36) at /opt/reactor/server/lib/Engine.js:263:53 i18n: missing en-US language string: HomeAssistant on {0:q} may be an unsupported version. The reported version ({1}) has not been certified/tested with this version of Reactor and may cause errors. You must either modify your HomeAssistant install, or see if an update to Reactor has been made available. Trace: HomeAssistant on {0:q} may be an unsupported version. The reported version ({1}) has not been certified/tested with this version of Reactor and may cause errors. You must either modify your HomeAssistant install, or see if an update to Reactor has been made available. at _T (/opt/reactor/server/lib/i18n.js:468:37) at AlertManager.addAlert (/opt/reactor/server/lib/AlertManager.js:126:25) at HassController.sendWarning (/opt/reactor/server/lib/Controller.js:197:36) at /opt/reactor/server/lib/HassController.js:1117:370 at processTicksAndRejections (node:internal/process/task_queues:96:5)I’ve tried using “latest-amd64” and it does not work either. The logs show similar json input error.
Reactor latest-24057-e9add9f5 app 24052 configuration from /var/reactor/config NODE_PATH /opt/reactor:/opt/reactor/node_modules [latest-24057]2024-02-28T22:27:30.466Z <app:null> Reactor build latest-24057-e9add9f5 starting on v20.10.0 [latest-24057]2024-02-28T22:27:30.522Z <app:null> Process ID 1 user/group 0/0; docker; platform linux/x64 #69057 SMP Fri Jan 12 17:02:28 CST 2024; locale (undefined) [latest-24057]2024-02-28T22:27:30.522Z <app:null> Basedir /opt/reactor; data in /var/reactor/storage [latest-24057]2024-02-28T22:27:30.522Z <app:null> NODE_PATH=/opt/reactor:/opt/reactor/node_modules [latest-24057]2024-02-28T22:27:30.667Z <Structure:null> Module Structure v23172 [latest-24057]2024-02-28T22:27:30.673Z <Capabilities:null> Module Capabilities v23331 [latest-24057]2024-02-28T22:27:30.780Z <Plugin:null> Module Plugin v22300 [latest-24057]2024-02-28T22:27:30.787Z <TimerBroker:null> Module TimerBroker v22283 [latest-24057]2024-02-28T22:27:30.791Z <Entity:null> Module Entity v22353 [latest-24057]2024-02-28T22:27:30.796Z <Controller:null> Module Controller v23069 [latest-24057]2024-02-28T22:27:30.811Z <default:null> Module Ruleset v22293 [latest-24057]2024-02-28T22:27:30.811Z <default:null> Module Rulesets v22146 [latest-24057]2024-02-28T22:27:30.821Z <GlobalExpression:null> Module GlobalExpression v23211 [latest-24057]2024-02-28T22:27:30.890Z <Predicate:null> Module Predicate v23093 [latest-24057]2024-02-28T22:27:30.958Z <AlertManager:null> Module AlertManager v22283 [latest-24057]2024-02-28T22:27:31.027Z <Rule:null> Module Rule v24057 [latest-24057]2024-02-28T22:27:31.033Z <GlobalReaction:null> Module GlobalReaction v22324 [latest-24057]2024-02-28T22:27:31.036Z <Engine:null> Module Engine v24023 [latest-24057]2024-02-28T22:27:31.042Z <httpapi:null> Module httpapi v24057 [latest-24057]2024-02-28T22:27:31.216Z <wsapi:null> Module wsapi v24057 [latest-24057]2024-02-28T22:27:31.296Z <TaskQueue:null> Module TaskQueue 21351 [latest-24057]2024-02-28T22:27:31.297Z <VeraController:null> Module VeraController v24050 [latest-24057]2024-02-28T22:27:31.365Z <HassController:null> Module HassController v24048 [latest-24057]2024-02-28T22:27:31.659Z <DynamicGroupController:null> Module DynamicGroupController v22313 [latest-24057]2024-02-28T22:27:31.668Z <SystemController:null> Module SystemController v23331 [latest-24057]2024-02-28T22:27:31.673Z <Controller:CRIT> SyntaxError: Unexpected end of JSON input [-] SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) at /opt/reactor/server/lib/Controller.js:464:51 at Array.forEach (<anonymous>) at SystemController._restoreEntities (/opt/reactor/server/lib/Controller.js:458:36) at new Controller (/opt/reactor/server/lib/Controller.js:45:43) at new SystemController (/opt/reactor/server/lib/SystemController.js:237:9) at /opt/reactor/server/lib/Controller.js:101:37 [latest-24057]2024-02-28T22:27:38.845Z <app:CRIT> SyntaxError: Unexpected end of JSON input [-] SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) at IndividualFileStrategy.getDataObject (/opt/reactor/server/lib/IndividualFileStrategy.js:51:45) at DelayWriteCacheStrategy.getDataObject (/opt/reactor/server/lib/DelayWriteCacheStrategy.js:89:49) at Container.getDataObject (/opt/reactor/server/lib/Container.js:69:65) at Data.getInstance (/opt/reactor/server/lib/Data.js:45:179) at Rule.getRuleStates (/opt/reactor/server/lib/Rule.js:515:101) at Rule.getConditionState (/opt/reactor/server/lib/Rule.js:546:47) at new Rule (/opt/reactor/server/lib/Rule.js:371:47) at Rule.getInstance (/opt/reactor/server/lib/Rule.js:380:36) at /opt/reactor/server/lib/Engine.js:828:53 i18n: missing en-US language string: HomeAssistant on {0:q} may be an unsupported version. The reported version ({1}) has not been certified/tested with this version of Reactor and may cause errors. You must either modify your HomeAssistant install, or see if an update to Reactor has been made available. Trace: HomeAssistant on {0:q} may be an unsupported version. The reported version ({1}) has not been certified/tested with this version of Reactor and may cause errors. You must either modify your HomeAssistant install, or see if an update to Reactor has been made available. at _T (/opt/reactor/server/lib/i18n.js:614:37) at AlertManager.addAlert (/opt/reactor/server/lib/AlertManager.js:128:25) at HassController.sendWarning (/opt/reactor/server/lib/Controller.js:197:36) at /opt/reactor/server/lib/HassController.js:1133:374 at process.processTicksAndRejections (node:internal/process/task_queues:95:5)How do I fix this?
Noticed right away last night at closing time that the open/close had become inverted with the update to v23326.
It wasn't an awful bit of lift to change all Reactions to reflect the change but it was jarring initially when everything flipped.
Are there release notes on that version, @toggledbits ?
Installing latest-24052-d039d560 and I did a dumb thing: moving too quickly, I deleted package.json instead of package-lock.json because the latter didn't exist.
Ran the installer script - but in the wrong directory so I moved package.json manually.
Everything has come back EXCEPT for my MQTT Cloud OwnTracks entities. They're erroring because of this:
eb6f35dc-1981-432a-993d-aefae54cba02-image.png
(Don't heckle my folder structure - it's run this way for three years)
reactor.yaml is fine, all MQTT configs exactly as they should be.
The folder mqtt_templates is present:
f57fa07d-516b-4c8e-8cb0-eeeeaf34de14-image.png
The file it says is "unreadable" is present and hasn't changed (today's date is the Changed date because I did a quick nonsense edit to see that it was not corrupted in some way).
b8fc46a1-f66f-417d-b095-c8e3744ccbe8-image.png
The logs show:
[latest-24052]2024-02-22T01:04:40.320Z <ZWaveJSController:WARN> zwavejs_capabilities defines x_zwave_device_cfg, which is not consistent with the recommended naming [latest-24052]2024-02-22T01:04:40.321Z <ZWaveJSController:WARN> zwavejs_capabilities defines x_zwave_mfg_spec, which is not consistent with the recommended naming [latest-24052]2024-02-22T01:04:40.321Z <ZWaveJSController:WARN> zwavejs_capabilities defines x_zwave_device_ver, which is not consistent with the recommended naming [latest-24052]2024-02-22T01:04:40.322Z <ZWaveJSController:WARN> zwavejs_capabilities defines x_zwave_values, which is not consistent with the recommended naming [latest-24052]2024-02-22T01:04:40.323Z <Controller:INFO> ZWaveJSController#zwavejs loaded zwavejs capabilities ver 23194 rev 1 format 1 [latest-24052]2024-02-22T01:04:40.338Z <Controller:INFO> ZWaveJSController#zwavejs loaded implementation data ver 23254 rev 1 format 1 [latest-24052]2024-02-22T01:04:40.339Z <Structure:INFO> Starting controller SystemController#reactor_system [latest-24052]2024-02-22T01:04:40.345Z <Controller:NOTICE> Controller SystemController#reactor_system is now online. [latest-24052]2024-02-22T01:04:40.572Z <HassController:INFO> HassController#hass device mapping data loaded; checking... [latest-24052]2024-02-22T01:04:40.574Z <HassController:WARN> HassController: implementation of capability battery_maintenance does not provide attribute state [latest-24052]2024-02-22T01:04:40.577Z <HassController:WARN> HassController: implementation of capability input_select.selector does not provide attribute values [latest-24052]2024-02-22T01:04:40.586Z <MQTTController:ERR> MQTTController#mqtt can't read/load templates from /home/reactor/Documents/reactor/config/mqtt_templates/owntracks_sensor.yaml: [Error] Function yaml.safeLoad is removed in js-yaml 4. Use yaml.load instead, which is now safe by default. [-] [latest-24052]2024-02-22T01:04:40.595Z <MQTTController:CRIT> Error: Function yaml.safeLoad is removed in js-yaml 4. Use yaml.load instead, which is now safe by default. [-] Error: Function yaml.safeLoad is removed in js-yaml 4. Use yaml.load instead, which is now safe by default. at Object.safeLoad (/home/reactor/Documents/reactor/node_modules/js-yaml/index.js:10:11) at MQTTController._load_implementation (/home/reactor/Documents/reactor/ext/MQTTController/MQTTController.js:807:38) at async MQTTController.start (/home/reactor/Documents/reactor/ext/MQTTController/MQTTController.js:95:13) at async Promise.allSettled (index 3) [latest-24052]2024-02-22T01:04:40.597Z <MQTTController:ERR> MQTTController#mqtt2 can't read/load templates from /home/reactor/Documents/reactor/config/mqtt_templates/owntracks_sensor.yaml: [Error] Function yaml.safeLoad is removed in js-yaml 4. Use yaml.load instead, which is now safe by default. [-] [latest-24052]2024-02-22T01:04:40.603Z <MQTTController:CRIT> Error: Function yaml.safeLoad is removed in js-yaml 4. Use yaml.load instead, which is now safe by default. [-] Error: Function yaml.safeLoad is removed in js-yaml 4. Use yaml.load instead, which is now safe by default. at Object.safeLoad (/home/reactor/Documents/reactor/node_modules/js-yaml/index.js:10:11) at MQTTController._load_implementation (/home/reactor/Documents/reactor/ext/MQTTController/MQTTController.js:807:38) at async MQTTController.start (/home/reactor/Documents/reactor/ext/MQTTController/MQTTController.js:95:13) at async Promise.allSettled (index 4) [latest-24052]2024-02-22T01:04:40.608Z <HassController:NOTICE> HassController#hass connecting to ws://192.168.1.198:8123/api/websocket [latest-24052]2024-02-22T01:04:40.616Z <MQTTController:INFO> MQTTController#mqtt instance topic ident is mqtt [latest-24052]2024-02-22T01:04:40.617Z <Controller:INFO> MQTTController#mqtt 0 dead entities older than 86400000s purged [latest-24052]2024-02-22T01:04:40.619Z <MQTTController:NOTICE> MQTTController#mqtt connecting to broker at mqtt://192.168.1.198:1883/ [latest-24052]2024-02-22T01:04:40.691Z <MQTTController:INFO> MQTTController#mqtt2 instance topic ident is mqtt2 [latest-24052]2024-02-22T01:04:40.692Z <MQTTController:ERR> MQTTController#mqtt2 entity owntracks_iphone14p uses_template=owntracks_sensor, template not defined [latest-24052]2024-02-22T01:04:40.697Z <MQTTController:ERR> MQTTController#mqtt2 entity owntracks_iphone8 uses_template=owntracks_sensor, template not defined [latest-24052]2024-02-22T01:04:40.726Z <MQTTController:ERR> MQTTController#mqtt2 entity owntracks_iphone14jay uses_template=owntracks_sensor, template not defined [latest-24052]2024-02-22T01:04:40.730Z <MQTTController:ERR> MQTTController#mqtt2 entity owntracks_iphone14jen uses_template=owntracks_sensor, template not defined [latest-24052]2024-02-22T01:04:40.735Z <MQTTController:ERR> MQTTController#mqtt2 entity owntracks_iphone14addie uses_template=owntracks_sensor, template not defined [latest-24052]2024-02-22T01:04:40.768Z <MQTTController:ERR> MQTTController#mqtt2 entity owntracks_iphone14bella uses_template=owntracks_sensor, template not defined [latest-24052]2024-02-22T01:04:40.773Z <MQTTController:ERR> MQTTController#mqtt2 entity owntracks_androidaa uses_template=owntracks_sensor, template not defined [latest-24052]2024-02-22T01:04:40.777Z <MQTTController:NOTICE> MQTTController#mqtt2 device owntracks_androidaa no longer available, marking BinarySensor#mqtt2>owntracks_androidaa for removal [latest-24052]2024-02-22T01:04:40.781Z <MQTTController:NOTICE> MQTTController#mqtt2 device owntracks_iphone14addie no longer available, marking BinarySensor#mqtt2>owntracks_iphone14addie for removal [latest-24052]2024-02-22T01:04:40.786Z <MQTTController:NOTICE> MQTTController#mqtt2 device owntracks_iphone14bella no longer available, marking BinarySensor#mqtt2>owntracks_iphone14bella for removal [latest-24052]2024-02-22T01:04:40.790Z <MQTTController:NOTICE> MQTTController#mqtt2 device owntracks_iphone14jay no longer available, marking BinarySensor#mqtt2>owntracks_iphone14jay for removal [latest-24052]2024-02-22T01:04:40.794Z <MQTTController:NOTICE> MQTTController#mqtt2 device owntracks_iphone14jen no longer available, marking BinarySensor#mqtt2>owntracks_iphone14jen for removal [latest-24052]2024-02-22T01:04:40.798Z <MQTTController:NOTICE> MQTTController#mqtt2 device owntracks_iphone14p no longer available, marking BinarySensor#mqtt2>owntracks_iphone14p for removal [latest-24052]2024-02-22T01:04:40.802Z <MQTTController:NOTICE> MQTTController#mqtt2 device owntracks_iphone8 no longer available, marking BinarySensor#mqtt2>owntracks_iphone8 for removal [latest-24052]2024-02-22T01:04:40.807Z <Controller:INFO> MQTTController#mqtt2 0 dead entities older than 86400000s purged [latest-24052]2024-02-22T01:04:40.808Z <MQTTController:NOTICE> MQTTController#mqtt2 connecting to broker at mqtts://7ef71f0117fe40d28c2df12205c4a0d0.s2.eu.hivemq.cloud:8883 [latest-24052]2024-02-22T01:04:40.816Z <VirtualEntityController:INFO> VirtualEntityController#virtual configuring virtual Driving Flag - 2 (virt1) [latest-24052]2024-02-22T01:04:40.826Z <VirtualEntityController:INFO> VirtualEntityController#virtual configuring virtual Far Away Flag - 2 (virt2) [latest-24052]2024-02-22T01:04:40.827Z <VirtualEntityController:INFO> VirtualEntityController#virtual configuring virtual Garage Door Momentary Contact vSwitch (virt3) [latest-24052]2024-02-22T01:04:40.828Z <Controller:INFO> VirtualEntityController#virtual 0 dead entities older than 86400000s purged [latest-24052]2024-02-22T01:04:40.829Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs connecting to ws://192.168.1.198:3000 [latest-24052]2024-02-22T01:04:40.836Z <Controller:NOTICE> Controller VirtualEntityController#virtual is now online. [latest-24052]2024-02-22T01:04:40.839Z <app:NOTICE> Starting HTTP server and API... [latest-24052]2024-02-22T01:04:40.845Z <httpapi:NOTICE> httpapi: starting HTTP service on port 8111 [latest-24052]2024-02-22T01:04:40.854Z <app:NOTICE> Starting Reaction Engine... [latest-24052]2024-02-22T01:04:40.856Z <Engine:INFO> Reaction Engine starting [latest-24052]2024-02-22T01:04:40.857Z <Engine:INFO> Checking rule sets... [latest-24052]2024-02-22T01:04:40.880Z <Engine:INFO> Checking rules... [latest-24052]2024-02-22T01:04:41.421Z <Engine:INFO> Data check complete; no corrections. [latest-24052]2024-02-22T01:04:41.571Z <Rule:NOTICE> Driving Flag (rule-l97r2umw in Shared Rules) starting [latest-24052]2024-02-22T01:04:41.572Z <Rule:NOTICE> Driving Flag - Far Away (rule-l97r814k in Shared Rules) starting [latest-24052]2024-02-22T01:04:41.573Z <Rule:NOTICE> DST (rule-l118lzpd in Shared Rules) starting [latest-24052]2024-02-22T01:04:41.573Z <Rule:NOTICE> HVAC Cooling Master (Local APIs) (rule-ktinsq18 in Shared Rules) starting [latest-24052]2024-02-22T01:04:41.574Z <Rule:NOTICE> HVAC Heating before Alarm times (rule-l7hirm3d in Shared Rules) starting [latest-24052]2024-02-22T01:04:41.574Z <Rule:NOTICE> HVAC Heating Master (Local APIs) (rule-ktio3vc1 in Shared Rules) starting [latest-24052]2024-02-22T01:04:41.575Z <Rule:NOTICE> HVAC Neutral Master (rule-ktint8c3 in Shared Rules) starting [latest-24052]2024-02-22T01:04:41.575Z <Rule:NOTICE> It's Raining (rule-lfs6r1lq in Shared Rules) starting [latest-24I'm flummoxed.
I was using this method here by @therealdb to run Lua Code from MSR on my Vera Plus but it seems to have stopped working now.
Its the one where you uploaded a file called VeraScenes.lua to your Vera hub and then you could call functions of that file to run particular bits of Lua code from an MSR reaction etc.
9233b0a7-ec07-4ae5-99c0-cdf9c709d57c-image.png
This was working well for a long time but I noticed today its not working now.
Looking in the MSR log after I ran a reaction in one of my rules I just saw this:
[latest-23338]2024-02-19T18:41:35.650Z <Engine:INFO> Enqueueing "Front Cam Motion Detection ON or OFF Old Method<RESET>" (rule-klten9w9:R) [latest-23338]2024-02-19T18:41:35.653Z <Engine:5:Engine.js:1466> [Engine]Engine#1 enqueued reaction rule-klten9w9:R as 22989 [latest-23338]2024-02-19T18:41:35.654Z <Engine:5:Engine.js:1624> _process_reaction_queue() wake-up! [latest-23338]2024-02-19T18:41:35.655Z <Engine:5:Engine.js:1563> _process_reaction_queue() running task 22989: [Object]{ "tid": 22989, "id": "rule-klten9w9:R", "rule": "rule-klten9w9", "__reaction": [RuleReaction#rule-klten9w9:R], "next_step": 0, "status": 0, "ts": 1708368095651, "parent": --null--, "__resolve": --function--, "__reject": --function--, "__promise": [object Promise] } [latest-23338]2024-02-19T18:41:35.657Z <Engine:NOTICE> Starting reaction Front Cam Motion Detection ON or OFF Old Method<RESET> (rule-klten9w9:R) [latest-23338]2024-02-19T18:41:35.659Z <Engine:5:Engine.js:1701> [Engine]Engine#1 reaction rule-klten9w9:R step 1 perform [Object]{ "entity": "vera>system", "action": "x_vera_sys.runlua", "args": { "lua": "VeraScenes.FrontCamMotionDetectionOff()" } } [latest-23338]2024-02-19T18:41:35.660Z <Engine:5:Engine.js:1577> _process_reaction_queue() task returned, new status 3; task 22989, history 1629572 [latest-23338]2024-02-19T18:41:35.663Z <Engine:5:Engine.js:1624> _process_reaction_queue ending with 1 in queue; none delayed/ready; waiting [latest-23338]2024-02-19T18:41:35.671Z <VeraController:ERR> [VeraController:performOnEntity] action request failed [latest-23338]2024-02-19T18:41:35.672Z <VeraController:CRIT> Error: Request failed: 401 Error [-] Error: Request failed: 401 Error at /home/stuart/reactor/server/lib/Controller.js:886:37 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) [latest-23338]2024-02-19T18:41:35.673Z <Engine:ERR> [Engine]Engine#1 reaction rule-klten9w9:R step 1 perform x_vera_sys.runlua failed: [Error] Request failed: 401 Error [-] [latest-23338]2024-02-19T18:41:35.673Z <Engine:INFO> [Engine]Engine#1 action args: [Object]{ "lua": "VeraScenes.FrontCamMotionDetectionOff()" } [latest-23338]2024-02-19T18:41:35.674Z <Engine:5:Engine.js:1624> _process_reaction_queue() wake-up! [latest-23338]2024-02-19T18:41:35.675Z <Engine:5:Engine.js:1563> _process_reaction_queue() running task 22989: [Object]{ "tid": 22989, "id": "rule-klten9w9:R", "rule": "rule-klten9w9", "__reaction": [RuleReaction#rule-klten9w9:R], "next_step": 2, "status": 1, "ts": 1708368095651, "parent": --null--, "__resolve": --function--, "__reject": --function--, "__promise": [object Promise], "attempts": 0, "history_id": 1629572 } [latest-23338]2024-02-19T18:41:35.676Z <Engine:INFO> Resuming reaction Front Cam Motion Detection ON or OFF Old Method<RESET> (rule-klten9w9:R) from step 2 [latest-23338]2024-02-19T18:41:35.678Z <Engine:5:Engine.js:1753> [Engine]Engine#1 reaction rule-klten9w9:R step 3 notify Telegram with [Object]{ "message": "Front Garden CAM Motion Detection Off", "profile": "default" } [latest-23338]2024-02-19T18:41:35.685Z <Engine:INFO> Front Cam Motion Detection ON or OFF Old Method<RESET> all actions completed. [Was anyone else using this method to have Lua code run on your Vera hub being called via an MSR reaction ? Does it still work for you?
Thanks
Hello all, I am trying to create a timer in home assistant that will run for the amount of seconds left in the day. To do so, my plan is to create an expression in MSR where I subtract the seconds elapsed in the day from 86400. From there I will run a service command to start the timer for the seconds I calculated in the expression. I have tried using the time () function in MSR but cannot figure out a way to just get the time elapsed today and in seconds.
Reactor (Multi-System/Multi-Hub) Announcements
-
Build 22118 (latest and zwavejs) — PLEASE READ ALL ADVISORIES BELOW
NODEJS VERSION REQUIREMENT: As previously announced, nodejs versions below 16 are no longer supported as of 2022-Mar-31. Bare-metal users (only) will need to upgrade their nodejs to version 16 (the current LTS version) or higher. Bare-metal RPi users can use the install script to do this. Docker image users needn't concern themselves; the image is built with an approved version of nodejs.
NOTE: This release includes changes to package dependencies. Bare-metal users please run
npm install --no-save --omit dev
to resolve.IMPORTANT: This update includes some significant enhancements for entity tracking. On your first startup after upgrading, you will get a lot of alerts about new devices being discovered (i.e. existing devices are being noted as new) as the enhanced tracking learns what is "normal" for your system. This is expected behavior for this version on its first startup. Just clear the alerts and go on about your day. After that, you should only receive notices when new devices are added to a hub, or new hubs are configured in Reactor.
Remember to hard-refresh all browsers after upgrading and restarting.
- PR 0000316: Variable Value condition with substitution in operand may replace expression with value in saved rule.
- PR 0000315: Improve alert message when a Rule-based reaction fails.
- PR 0000314: Fix "self-subscribe" exceptions logged after creating new Rule with local expressions and a Variable Value condition (exceptions clear after restart of Reactor).
- PR 0000312: Expressions
getEntity()
helper not listing or updating attributes correctly (fixed). - Raspberry Pi Install Script: Support for 64-bit installation on Raspbian Bullseye.
- Raspberry Pi Install Script: Can now be used to upgrade nodejs with a local (user-specific) install.
- UI: Faster core startup brings up the UI more quickly, and does not wait for controller startups, so a delay in a controller becoming ready (e.g. its associated hub is offline) will no longer delay the UI being available.
- UI: You can now add an SSL/TLS certificate and have the UI and API served over HTTPS (see How-To in documentation).
- New actions in
sys_system
capability to tell a Controller instance to purge unused entities (i.e. that no longer exist on the hub but are still present in Reactor), delete an entity (from Reactor only, not from the hub/mesh/etc.), and rename an entity (in Reactor, not at the hub/mesh/etc.). - UI/Entity Picker: You can now move the entity picker by dragging its title bar.
- UI/Entity Picker: The name search field will now also match on entity IDs.
- UI/Reaction editor: Changing from a group or while to another reaction type while editing would leave the conditions behind (they should be removed); fixed.
- Expressions: lexpjs updated, adds
yday
(day of year),isoweek
(ISO-8601 week number) anddst
(boolean) todateparts()
function result. - Status: Controller Status widget now sorts down/failed controllers first.
- Docs: Added How-Tos for serving media files from Reactor's built-in web server and set up HTTPS for the UI.
- HassController: Bless Hass version 2022.4.7.
REMINDER: If you need to post an issue related to this (or any) version, please follow the posting guidelines.
-
Build 22123 (latest and zwavejs)
This version primarily addresses a formatting problem in error messages when certain conditions (triggers and constraints) take an error (e.g. an Entity Attribute condition references an entity that no longer exists). This is cosmetic/display only and has no operational impact, but I thought it important to make a new release for the fix because of the difficulty of troubleshooting conditions with the broken messages.
If you are upgrading to this version from any version earlier than 22118, please read the release notes for 22118 in the prior post above.
-
Build 22136
NEW: This version adds the availability of 64-bit ARM docker images. This is recommended for Raspberry Pi 4 users on Raspbian Bullseye (only; Raspbian Buster users should continue to use the armv7l image). The 64-bit ARM images also work (and are tested) on the NVIDIA Jetson Nano (2GB model tested, but should work for all).
NOTE TO ALL USERS, ESP. CURRENT DOCKER USERS: Starting June 1, 2022, the naming of all deployed packages and docker images will be changed to remove the "raspbian" or "generic" component of the name. For example. the
latest-raspbian-armv7l
docker image will be named simplylatest-armv7l
, and thelatest-generic-amd64
ZIP archive will be namedlatest-amd64
. You will need to update your version upgrade procedures accordingly; users ofdocker-compose
will need to make this change in their compose files.- Additional localization updates;
- HassController: Bless Hass to 2022.5.4
-
Build 22140
NOTE TO DOCKER CONTAINER USERS: Starting with the first release in June 2022, docker images will be named only with the release branch and architecture. That is, the current
latest-generic-amd64
will becomelatest-amd64
, andlatest-raspbian-armv7l
will becomelatest-armv7l
. This will require changes to your upgrade procedure, or if you are using docker-compose, theimage
value in your compose file.- Additional localization updates;
- HassCOntroller: Bless Hass to 2022.5.5
-
Build 22142 (latest, zwavejs)
- PR 0000321: HTTP API
perform
action does not send response when it succeeds (clients then time out waiting for the response that never comes). - PR 0000320: API Docs: Fix
entity
API examples.
- PR 0000321: HTTP API
-
Build 22149 (latest, zwavejs)
- PR 0000322: EzloController: provide mapping for Xiaomi Mini Switch (a single-button remote).
- Rule: make sure clear of trouble state (on startup) is saved if necessary (so UI updates properly without need to refresh).
- VeraController: Hack for variables named
sl_
, which are the special Luup state variables that always send updates/call watches even when set to the same value they already have (all other state variables in Vera/Luup do not behave this way, they only trigger events when their values change). In particular, thesesl_
states are changed when lock codes on locks are entered, or buttons on scene controllers are pressed. For these uses, it is important that a repeated use of the same code or button signals an additional event, so Vera/Luup's uses these specialsl_
states for those. VeraController now inserts an extra_updated
attribute of the same name that can be used with the changes operator to detect when thesl_
states are updated. Refer to this forum post for more information.
-
Build 22168 (latest, zwavejs, stable)
REMINDER: As previously announced, all docker images are now named with the release branch and target architecture only. The
latest
branch docker image for all x86_64/amd64 systems is now namedlatest-amd64
(was previouslylatest-generic-amd64
). Thelatest
branch image for armv7l, which includes Raspberry Pi systems on Raspbian Buster, is now namedlatest-armv7l
(was previouslylatest-raspbian-armv7l
). Please adjust your upgrade procedures and, if used, docker-compose or Portainer configurations accordingly.- NUTController (for Network UPS Tools) is now available as an installable extra.
- Documentation updates to reflect updated installation archive and docker image names.
-
Build 22178 (latest, zwavejs)
NOTE: I will be on holiday for most of the month of July, and with limited Internet access. During this time, I will not be able to provide software support, fixes or builds, and likely will not have much time or means to read and answer questions. Please step up and provide support to your peers if questions come up!
- HassController: Set null state for switches and sensors when Hass reports them unavailable.
- HassController: Bless Hass to 2022.6.7.
- Docs: Improve details in Synology/Docker installation.
-
Build 22179 (latest, zwavejs)
NOTE: I will be on holiday for most of the month of July, and with limited Internet access. During this time, I will not be able to provide software support, fixes or builds, and likely will not have much time or means to read and answer questions. Please step up and provide support to your peers if questions come up!
- HassController: Fix an issue that may randomly affect/disable assignment of primary attributes (since 22118).
- Fix a problem in after...within (time-restricted) sequence conditions.
-
Build 22203 (latest, zwavejs)
- Expressions: the
time()
function has been extended to allow parsing of date/time values in strings in forms beyond ISO-8601; most simple date/time forms should work, particularly those that closely adhere to your locale's default. A string that contains only a time will be converted to that moment on the current date; a string that contains only a date will yield midnight on that date. If a given string cannot be converted, an error will be thrown. Refer to the documentation for Expressions for more information. - HassController: Bless Hass to 2022.7.6
- Docs: documentation for Reactions now includes additional information about rule-based reaction behaviors and action groups, and has been "modernized" to use the terminology of Multi-Hub Reactor rather than that of the Reactor for Vera plugin.
- Expressions: the
-
Build 22233 (latest, zwavejs)
BARE-METAL INSTALL USERS: When upgrading to this version, you must upgrade package dependencies after unpacking the archive file (delete any existing
package-lock.json
file and then runnpm install --no-save --omit dev
). The UI will not function properly if you fail to perform this upgrade.ALL USERS -- REMINDER: A hard refresh of your browser is necessary after upgrading to any new build.
- Upgraded the Bootstrap library to 5.2, which gave rise to a large number of required UI changes, and an opportunity for some useful cleanups. The Bootstrap Icons library was also upgraded to 1.9. All of this also means that Internet Explorer is no longer a supported browser (use its replacement, Edge).
- HassController: Bless Hass to 2022.8.6
-
Build 22240 (latest, zwavejs)
BARE-METAL USERS: If you are upgrading to this version from any version earlier than 22233, you need to update your package dependencies. Pleasee see the post for that build for instructions.
ALL USERS -- REMINDER: A hard refresh of your browser is necessary after upgrading to any new build.
- PR 0000327: Reaction Entity Action layout for additional data fields is messy.
- VeraController: Ensure
x_vera_device.failed
and.configured
are null if Vera fails to provide state for these values. - EzloController: Dead-marking and automatic removal (after delay) of entities for Ezlo devices/rooms/scenes that no longer exist (functional parity with other hub Controller objects).
- HassController: Implement mappings for scenes, scripts, and automations. All of these can have their actions run via Reactor's
script.run
action. Automations also can be en-/disabled using thepower_switch
capability actions (and entity primary state is the automation's en-/disabled state). All appear as runnable scenes in the dashboard. - UI: Improve highlighting of containing groups when sort/drop changes to conditions are made in the rules editor.
- HassController: Bless Hass to 2022.8.7
-
Just a news item: the ZWaveJSController is now an official add-on, available for download from
extras
. Instructions for installing it are in the Reactor documentation.For (only) those users who have been using the zwavejs build series for testing ZWaveJSController, you will now need to go back to the latest build series, and install ZWaveJSController as referenced above. There will be no further builds on the zwavejs branch. Also, ZWaveJSController no longer requires an authentication key to use, so you can remove the
auth
entry from configuration (it will be ignored and is harmless if you leave it). -
Reactor build 22248
Docker Container Users: After upgrading to this build image, please check your
NODE_PATH
environment value in your container configuration; it should read/opt/reactor:/opt/reactor/node_modules
. If it does not, please correct it (some container managers, including Synology, do not automatically reapply/update values from newer images to existing containers).- Run Reaction action: New option "wait for completion" causes the current reaction to wait for the started reaction to finish. When unchecked (default), the started reaction runs concurrently with the reaction that starts it. This (concurrent) is the behavior of all prior versions of Reactor, and since unchecked is the default, the behavior of your existing reactions does not change (unless you go in and change it). docref
- Internal changes to support general release of ZWaveJSController.
ZWaveJSController build 22248
- Reduce default logging level to 5.
- Remove unused dependency.
-
Reactor build 22251
Bare-metal Install Users: If you are upgrading to this version from any version prior to 22233, you need to update your package dependencies. Please see the announcement for that build for instructions.
Docker Container Users: If you are upgrading to this build from any build earlier than 22248, you need to check that your
NODE_PATH
for your container is correctly updated. See the announcement for that build for details and instructions.ALL USERS -- REMINDER: A hard refresh of your browser is necessary after upgrading to any new build.
- PR 0000328: Rule Editor: editing condition options of parent of nested groups opens child's condition options panel (fixed).
- Entities list: fix name search parity with Entity Picker (ID matches).
- Change the way object arguments to actions in reactions are stored. Previously, they were stored in the reaction as native objects by converting the given string as JSON (the input was expected to be JSON) in the UI. This made expression substitution unavailable in those (object) arguments. Now, they are stored by the UI as given (i.e. a string), so substitutions are now available in those arguments. This specifically removes the limitation that
x_hass_system.call_service
could not perform substition in itsdata
argument. It now works as expected. A deprecation warning has been added to the Engine to detect argument values stored as native objects in actions that will cause an alert to be displayed notifying the user that the reaction/action needs to be edited. Any trivial edit to the field, followed by a save of the reaction, will update the form of the data and eliminate future alerts. - Dashboard: Fix stray "x" displayed on Sensor layout when source entity's units are null.
- HassController: Bless Hass to 2022.9.0
-
Reactor build 22252
Bare-metal Install Users: If you are upgrading to this version from any version prior to 22233, you need to update your package dependencies. Please see the announcement for that build for instructions.
Docker Container Users: If you are upgrading to this build from any build earlier than 22248, you need to check that your
NODE_PATH
for your container is correctly updated. See the announcement for that build for details and instructions.ALL USERS -- REMINDER: A hard refresh of your browser is necessary after upgrading to any new build.
- PR 0000329: Rule Editor: editing sunrise/sunset condition, if only sunrise/sunset selectors are modified last, the rule does not save as configured. If other condition fields are edited after, it saves correctly.
-
Reactor build 22256
Bare-metal Install Users: If you are upgrading to this version from any version prior to 22233, you need to update your package dependencies. Please see the announcement for that build for instructions.
Docker Container Users: If you are upgrading to this build from any build earlier than 22248, you need to check that your
NODE_PATH
for your container is correctly updated. See the announcement for that build for details and instructions.ALL USERS -- REMINDER: A hard refresh of your browser is necessary after upgrading to any new build.
ALL USERS -- IMPORTANT: As a result of entity storage changes in this build, existing entity storage (cache) is invalidated and rebuilt when this build is first run. That will cause all entities to be reported as newly-discovered, even though they were known before. However, this should be minimally disruptive to your logic, if at all. You may also safely ignore any warnings you see in the logs about "incompatible serialization data" on that first run; those are expected.
- PR 0000331: In the "Pulse" output condition options, the option to limit the number of pulses vanished from the editor during the upgrade to Bootstrap 5 (i.e. since 22233). It has been restored. This did not affect the operation of existing repeat count limits on conditions. If a pulsing condition was edited, that would have removed the limit, so if you use this feature, you might check those conditions that should use it. Opening the rule detail in the Rule Sets list of rules to see the condition descriptions is sufficient to see if it's there or not -- you don't need to go into the editor to see it. When present, the condition description will include "repeat after x seconds up to y times."
- Fix spurious data format warning for HTTP Request actions.
- Entities now have metadata (data about data) for each attribute that provides the time last modified, as well as the previous value and the effective time of the previous value. In addition, any data type and other definition information known for the attribute will also be present. The quickest way to see attribute metadata is to hover over the name of an attribute in the detail panel of an entity in the Entities list. The attribute metadata is accessible in expressions via each entity's
attribute_meta
property. The subkeys of this property are capability names, and within each capability are the attribute names, and within the attribute names are the metadata elements. For example, in the commonly used form of expressiongetEntity( entity_id ).attributes.power_switch.state
we would get the value of thestate
attribute in thepower_switch
capability of whatever entity was matched; this tells us if the switch is on or off. To get the time that value was set, we would usegetEntity( entity_id ).attribute_meta.power_switch.state.last_modified
. Those of you trying to use thelastupdate
property on an entity for various purposes (such as failed node detection) should particularly take note of this change and the capability it provides. - Docs: New page Expressions with Entities & Attributes in the How-To section.
- (Advisory) HubitatController: Hub variables are limited to 255 characters by the hub firmware. Attempts to set a hub variable to a longer string will fail. See the Limitations in the HubitatController docs for more details.
- VeraController: The
sys_system.reload
action was incorrectly reloading the remote Vera hub; that's not really its job, but rather the job ofx_vera_sys.reload
. If you have been usingsys_system.reload
to restart Luup, please switch tox_vera_sys.reload
. As of this build,sys_system.reload
will cause VeraController to resync all devices and entities (i.e. it's a restart of VeraController, not your Vera). - HassController: Bless Hass to 2022.9.2
ZWaveJSController build 22256
- Send notice (displays in Status widget) when a new node is discovered.
-
Reactor build 22257
Bare-metal Install Users: If you are upgrading to this version from any version prior to 22233, you need to update your package dependencies. Please see the announcement for that build for instructions.
Docker Container Users: If you are upgrading to this build from any build earlier than 22248, you need to check that your
NODE_PATH
for your container is correctly updated. See the announcement for that build for details and instructions.ALL USERS -- REMINDER: A hard refresh of your browser is necessary after upgrading to any new build.
ALL USERS -- IMPORTANT: If you are upgrading to this build from a build earlier than 22256, please read the advisories for that build prior to proceeding.
- VeraController: Specific support for iBlinds2 (Window Blind Controller mfg 647 prod 3,13) to handle its 50%=fully open way of doing business (since the covering is made up of slats/louvers, the 0 and 100 positions are closed fully tilted one direction or the other, with 50% being "flat" between the two).
- VeraController: The generic
cover.set
action was missing, and nativetoggled
capability support was added for window coverings (toggles between open and closed, as one might expect). - Dashboard: The Cover widget (window covering) was not changing its icon when the covering changed state.
- HubitatController: Tighten checking and handling around oddly-named attributes. Apparently at least one Hubitat user has a device that has a HE-native attribute with a space in its name, causing an exception to attribute naming tightened in 22256. This was causing a no-start on the controller. This build maps out non-alphanumeric characters from Hubitat to underscores, and also provides additional error handling to prevent a single attribute from stopping the controller startup.
-
Reactor build 22258
Bare-metal Install Users: If you are upgrading to this version from any version prior to 22233, you need to update your package dependencies. Please see the announcement for that build for instructions.
Docker Container Users: If you are upgrading to this build from any build earlier than 22248, you need to check that your
NODE_PATH
for your container is correctly updated. See the announcement for that build for details and instructions.ALL USERS -- REMINDER: A hard refresh of your browser is necessary after upgrading to any new build.
ALL USERS -- IMPORTANT: If you are upgrading to this build from a build earlier than 22256, please read the advisories for that build prior to proceeding.
- VirtualEntityController: This new controller type lets you create virtual entities (devices) and manipulate them. docs.
- Entities list: Fix metadata pop-ups that sometimes "stick", caused by the entity updating and the popper losing its reference element in the DOM. Also make the pop-ups more dynamic by updating them when the attribute updates.
- HassController: Devices that Hass identifies in the "motion" device class will get the
motion_sensor
capability in addition to the ubiquitousbinary_sensor
, andmotion_sensor.state
will be the primary attribute. - VeraController: Make sure all extended per-Vera-service capabilities are defined as stubs.
- HassController: Bless Hass to 2022.9.4.
-
MQTTController build 22260
- Add new template
owntracks_in_region
- Add new template