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

toggledbits

@toggledbits
Set Reaction > Script Action
wmarcolinW
Topic thumbnail image
Multi-System Reactor
Wiring Samotech SM308-S into light fitting
F
Hi Smart Home Community. I have used a Sonos inline WiFi switch to make one of my light fittings smart, but it requires a hard reset for WiFi changes, plus it isn't zigbee compatible, which means I can't use the Hue app to control it with the rest of the lights. To that end I bought a Samotech SM308-S as it is recommended as the better than the Sonos equivalent. I am however not exactly sure how to wire it in. The manual is available here Can anyone help me by clarifying which ports I need to use, and whether I should be using the live or switched live line for live etc. I will be keeping using standard switches for a while, although hope to upgrade to tap dials once I have all the fittings upgraded. Thanks
Hardware
Errors after updating to MQTTController build 25139
tunnusT
I'm running MSR build 25139 on Docker, using MQTT controller 24293, and everything working as expected. But if I try to upgrade to MQTTController build 25139, I'm getting the following errors on MSR UI: An Entity Attribute condition in "Lay-Z-Spa auto heating off" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute value_sensor.god Last 11:20:37 An Entity Attribute condition in "Lay-Z-Spa auto heating off" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute temperature_sensor.green Last 11:20:37 An Entity Attribute condition in "Lay-Z-Spa filter pump auto off" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute temperature_sensor.red Last 11:20:37 An Entity Attribute condition in "Lay-Z-Spa filter pump auto run" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute value_sensor.pump Last 11:20:37 An Entity Attribute condition in "Lay-Z-Spa watchdog" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute value_sensor.status Last 11:20:37 My MQTT configuration (local_mqtt_devices.yaml) for the related entity is: layzspa_message: type: ValueSensor capabilities: ["temperature_sensor", "value_sensor", "power_sensor"] primary_attribute: power_sensor.value events: "layzspa/message": "power_sensor.value": json_payload: true if_expr: '! isnull( payload?.PWR )' expr: "float(payload.PWR)" "value_sensor.air": json_payload: true if_expr: '! isnull( payload?.AIR )' expr: "float(payload.AIR)" "value_sensor.pump": json_payload: true if_expr: '! isnull( payload?.FLT )' expr: "float(payload.FLT)" "value_sensor.god": json_payload: true if_expr: '! isnull( payload?.GOD )' expr: "float(payload.GOD)" "value_sensor.lock": json_payload: true if_expr: '! isnull( payload?.LCK )' expr: "float(payload.LCK)" "value_sensor.unit": json_payload: true if_expr: '! isnull( payload?.UNT )' expr: "float(payload.UNT)" "value_sensor.error": json_payload: true if_expr: '! isnull( payload?.ERR )' expr: "float(payload.ERR)" "temperature_sensor.green": json_payload: true if_expr: '! isnull( payload?.GRN )' expr: "float(payload.GRN)" "temperature_sensor.red": json_payload: true if_expr: '! isnull( payload?.RED )' expr: "float(payload.RED)" "temperature_sensor.target": json_payload: true if_expr: '! isnull( payload?.TGT )' expr: "float(payload.TGT)" "temperature_sensor.value": json_payload: true if_expr: '! isnull( payload?.TMP )' expr: "float(payload.TMP)" "temperature_sensor.virtual": json_payload: true if_expr: '! isnull( payload?.VTM )' expr: "round(float(payload.VTM), 1)" "temperature_sensor.ambient": json_payload: true if_expr: '! isnull( payload?.AMB )' expr: "float(payload.AMB)" "layzspa/Status": "value_sensor.status": if_expr: '! isnull( payload )' expr: "payload" "layzspa/button": "value_sensor.button": if_expr: '! isnull( payload )' expr: "payload" and in reactor.yaml I have: "layzspa_states": name: "Lay-Z-Spa States" friendly_name: 'Lay-Z-Spa States' include: layzspa_message I realize my MQTT configuration might be a bit unorthodox, but could there still be something unintentional in the latest MQTTController build? If needed, I can provide detailed logs.
Multi-System Reactor
🎉 My very first MSR controller: OpenSprinkler
therealdbT
Since today is my birthday - and I still pretend to be unconventional - I'm giving away a present to this wonderful community and I'm releasing my first OpenSprinkler controller for MSR. It was real fun to code it - and while it's still WIP, it seems to work OK for me. It's polling-based at the moment, but I'll add support for updates via MQTT very soon (it's already partially coded). Get it at (install is similar to MQTTController and such): https://github.com/dbochicchio/reactor-opensprinkler Feel free to try it. It's beta software, but it's stable. I'll update it weekly until all the tasks from my todo list are empty. Since I've learnt a lot from this controller, I'll explore new controllers soon.
Multi-System Reactor
Advice reqeusted to migrate MSR from Bare Metal to Container
T
Good day all, I'm in the process of trying to shut down my 10 year old Linux home server that served many purposes, but primarily it's what I used for my NAS/Plex Media server. I migrated the NAS aspect of the server in November of last year to a true NAS solution (Ubiquti UNAS Pro), which is rack mount and much more efficient than my old tower, which it's only side benefit was heating my home office during the winter. Unfortunately it also means heating my home office during the summer, which were about to be in full swing. I have two things running on this 10 year old server at this point. MSR and pi-hole. I'm running Plex Media Server on Fedora Workstation in Podman on mini PC, which is much more energy efficient than my old tower. My next step is to migrate MSR. I know there are images of MSR out there, and creating it is well documented. I'm going to be using Podman instead of Docker for various reasons, but they work very similar. What I don't know, is what I need to do to migrate my existing Bare Metal installation over to a container. Has anyone done this? Any advice?
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
Z-Wave Future....
DesTD
https://forum.z-wave.me/viewtopic.php?f=3417&t=36140 That's not a good thing I think Time to switch again?
Z-Wave.me
Can´t restart or upgrade/deploy MSR
F
Topic thumbnail image
Multi-System Reactor
[Solved] Limit HA Entity in MSR
wmarcolinW
Topic thumbnail image
Multi-System Reactor
Disaster recovery and virtualisation
CatmanV2C
Following on from my last thread, some progress has been made over the weekend. With 18G of spanky RAM in my Synology DS224+. I've jumped into the murky world of virtualisation and already eliminated the need for two Raspberry Pi's from my system. Home Assistant: In theory they provide an OVA file which is supported by the Synology. I couldn't get it to work, however, so grabbed a copy of the .img file they supply, renamed it .iso and imported it as a VM. Restored from my full back up and that all seems fantastic. Minidnla Music server: Trivial. Grabbed a Debian .iso for Bookworm and copied that onto the NAS. Created a new machine which mirrored the specs of the Raspberry Pi, booted from the ISO then did an expert install. Once that was all stable with a basic core of stuff and networking, I've made a copy of that as a good base system. Then fired up minidnla on it, mounted my media and that's also woking. Not bad for a short weekend's work. Still not sure about the main NUC though. I'm thinking of buying a new USB stick so I can mess around getting it working on the Synology before I do anything drastic. Once that hurdle is sorted I'm torn between: Using a brand new install of Bookworm, re-installing Z-way server, OpenLuup, AltUI, MSR and HA bridge, then restoring across or Making an ISO of the current system, importing that and upgrading in place (which will be pretty risk free since I can snapshot everything before I make any changes.) Decisions, decisions. C
General Discussion
Remote access of Zwave stick from Z-wave server
CatmanV2C
Topic thumbnail image
Software
Organizing/ structuring rule sets and rules
R
Hi guys, Just wondering how you guys organize your rule sets and rules. I wish I had an extra layer to have some more granularity, but my feature request was not popular. Maybe there are better ways to organize my rule sets. I use the rule sets now primarily for rooms. So a rule set per room. But maybe grouping by functionality works better. Any examples/ suggestions would be appreciated.
Multi-System Reactor
Moving MSR from a QNAP container to RP 5 - some issues
Tom_DT
Topic thumbnail image
Multi-System Reactor
Widget deletion does not work and landing page (status) is empy
M
Topic thumbnail image
Multi-System Reactor
Need help reducing false positive notifications
T
Topic thumbnail image
Multi-System Reactor
Deleting widgets
tunnusT
Hopefully a trivial question, but how do you delete widgets in a status page? Using build 22266
Multi-System Reactor
MQTT configuration question
tunnusT
I have the following yaml configuration in local_mqtt_devices file x_mqtt_device: set_speed: arguments: speed: type: str topic: "command/%friendly_name%" payload: type: json expr: '{ "fan": parameters.speed }' While this works fine, I'm wondering how this could be changed to "fixed" parameters, as in this case "fan" only accepts "A", "Q" or a numeric value of 1-5?
Multi-System Reactor
System Configuration Check - time is offset
F
Hi! I get this message when I'm on the status tab: System Configuration Check The time on this system and on the Reactor host are significantly different. This may be due to incorrect system configuration on either or both. Please check the configuration of both systems. The host reports 2025-04-01T15:29:29.252Z; browser reports 2025-04-01T15:29:40.528Z; difference 11.276 seconds. I have MSR installed as a docker on my Home Assistant Blue / Hardkernel ODROID-N2/N2+. MSR version is latest-25082-3c348de6. HA versions are: Core 2025.3.4 Supervisor 2025.03.4 Operating System 15.1 I have restarted HA as well as MSR multiple times. This message didn´t show two weeks ago. Don´t know if it have anything to do with the latest MSR version. Do anyone know what I can try? Thanks in advance! Let's Be Careful Out There (Hill Street reference...) /Fanan
Multi-System Reactor
Programmatically capture HTTP Request action status code or error
therealdbT
I have a very strange situation, where if InfluxDB restarts, other containers may fail when restarting at the same time (under not easy to understand circumstances), and InfluxDB remains unreachable (and these containers crashes). I need to reboot these containers in an exact order, after rebooting InfluxDB. While I understand what's going on, I need a way to reliable determine that InfluxDB is not reachable and these containers are not reachable, in order to identify this situation and manually check what's going on - and, maybe, in the future, automatically restart them if needed. So, I was looking at HTTP Request action, but I need to capture the HTTP response code, instead of the response (becase if ping is OK, InfluxDB will reply with a 204), and, potentially, a way to programmatically detect that it's failing to get the response. While I could write a custom HTTP controller for this or a custom HTTP virtual device, I was wondering if this is somewhat on you roadmap @toggledbits Thanks!
Multi-System Reactor
ZwaveJSUI - RGBWW BULB - Warm/Cold White interfered with RGB settings - Bulb doesn't change color if in WarmWhite state.
N
Hi , I'm on -Reactor (Multi-hub) latest-25067-62e21a2d -Docker on Synology NAS -ZWaveJSUI 9.31.0.6c80945 Problem with ZwaveJSUI: When I try to change color to a bulb RGBWW, it doesn't change to the RGB color and the bulb remains warm or cold white. I tryed with Zipato RGBW Bulb V2 RGBWE2, Hank Bulb HKZW-RGB01, Aentec 6 A-ZWA002, so seems that it happens with all RGBWW bulb with reactor/zwavejsui. I'm using from reator the entity action: "rgb_color.set" and "rgb_color.set_rgb". After I send the reactor command, It changes in zwavejsui the rgb settings but doesn't put the white channel to "0", so the prevalent channel remains warm/cold White and the bulb doesn't change into the rgb color. This is the status of the bulb in zwavejsui after "rgb_color.set" (235,33,33,) and the bulb is still warmWhite. x_zwave_values.Color_Switch_currentColor={"warmWhite":204,"coldWhite":0,"red":235,"green":33,"blue":33} The "cold white" and "warm white" settings interfer with the rgb color settings. Reactor can change bulb colors with rgb_color set — (value, ui8, 0x000000 to 0xffffff) or rgb_color set_rgb — (red, green, blue, all ui1, 0 to 255) but if warm or cold white are not to "0", zwavejsui doesn't change them and I can't find a way to change into rgb or from rgb back to warm white. So if I use from reactor: rgb_color set_rgb — (235,33,33) in zwavejsui I have x_zwave_values.Color_Switch_targetColor={"red":235,"green":33,"blue":33} 14/03/2025, 16:43:57 - value updated Arg 0: └─commandClassName: Color Switch └─commandClass: 51 └─property: targetColor └─endpoint: 0 └─newValue └──red: 235 └──green: 33 └──blue: 33 └─prevValue └──red: 235 └──green: 33 └──blue: 33 └─propertyName: targetColor 14/03/2025, 16:43:57 - value updated Arg 0: └─commandClassName: Color Switch └─commandClass: 51 └─property: currentColor └─endpoint: 0 └─newValue └──warmWhite: 204 └──coldWhite: 0 └──red: 235 └──green: 33 └──blue: 33 └─prevValue └──warmWhite: 204 └──coldWhite: 0 └──red: 235 └──green: 33 └──blue: 33 └─propertyName: currentColor In zwavejsui, the bulb changes rgb set but warm White remains to "204" and the bulb remais on warm White channel bacause is prevalent on rgb set. x_zwave_values.Color_Switch_currentColor_0=204 x_zwave_values.Color_Switch_currentColor_1=0 x_zwave_values.Color_Switch_currentColor_2=235 x_zwave_values.Color_Switch_currentColor_3=33 x_zwave_values.Color_Switch_currentColor_4=33 Is it possible to targetColor also for "warmWhite" and "coldWhite" and have something similar to this? x_zwave_values.Color_Switch_targetColor={"warmWhite":0,"coldWhite":0,"red":235,"green":33,"blue":33} Thanks in advance.
Multi-System Reactor
About
Posts
2.7k
Topics
40
Shares
0
Groups
1
Followers
18
Following
0

Posts

Recent Best Controversial

  • Errors after updating to MQTTController build 25139
    toggledbitsT toggledbits

    Most controllers rebuild their entities when upgraded. Capabilities can change, and the new definition needs to be properly applied. Because you've chosen to add your own attributes to system-defined capabilities, those are not restored when the entity is rebuilt because Reactor knows nothing about them. In fact, to Reactor, they look like attributes from an old definition of the capability that have been removed from the most recent definition.

    As I've said before, your attributes will eventually be created when the event that writes them (layzspa/message), with a correct payload (e.g. { AIR: 123.456 }), is received by MQTTController. You can wait it out, or force the device to send those events.

    Or, you could do this the way Reactor expects, which is to define a local capability for yourself (e.g. x_mqtt_tunnus_layzspa) and define your own attributes for all of the things you need. Or, break up your single entity into multiple entities that use the system capabilities unmodified.

    Multi-System Reactor

  • Errors after updating to MQTTController build 25139
    toggledbitsT toggledbits

    @tunnus said in Errors after updating to MQTTController build 25139:

    I understood correctly, in the latest MQTTController build it won’t define these kind of attributes automatically which it used to do earlier?

    No, that's incorrect. It never created those attributes automatically at startup before, and it still doesn't.

    Your extra attributes will be created, just not automatically at startup. They will be created when the event that writes them is received by MQTTController and processed with a valid result value, but not before. That's as it always has been. I suspect you think otherwise because when you first created the entity, there were no rules to tell you those attributes didn't exist, and by the time you got around to creating those rules, the events had been received and the attributes were added.

    Multi-System Reactor

  • Errors after updating to MQTTController build 25139
    toggledbitsT toggledbits

    You've added attribute values that aren't defined by the standard capabilities that you are using, so Reactor won't define them automatically to make sure they exist. Generally, this isn't a good idea, and one reason why custom capabilities (e.g. x_mqtt_etc_etc_etc are supported). You can do what you are doing for now, but these attributes won't be defined until events that set them are seen by MQTTController.

    Multi-System Reactor

  • Set Reaction > Script Action
    toggledbitsT toggledbits

    @wmarcolin said in Set Reaction > Script Action:

    Thank you for your comment, but I need this to be executed by an action already within the routines I program in Reactor.

    @crille is spot on. That's exactly what his suggestion does. Here's a trivial example of what he's saying:

    20d61d39-a97d-42a0-b863-3957f7bbf438-image.png

    In this case, I'm not using the contents of a dynamic group, I'm just building a list on the fly using matchEntities(), but the effect is the same. At midnight every night, this rule turns all things that have the power_switch capability off.

    If your listed switches are in a group, either created using DynamicGroupController, or an expression of some grouping the underlying controller has (Vera and Hubitat have groups and Reactor expresses those as group entities you can use), then you can easily modify this example.

    And in fact, you don't even need to do that, because Reactor understands how to do actions on groups, so you can just do one action on the group entity (in a regular Entity Action or by calling performOnEntity() in a Script Action) and Reactor will perform that action on all members of the group (so, you don't even need the each expression construction).

    3be9e0e4-2184-490f-974b-b2c089bdeab8-image.png

    Multi-System Reactor

  • Advice reqeusted to migrate MSR from Bare Metal to Container
    toggledbitsT toggledbits

    @tamorgen said in Advice reqeusted to migrate MSR from Bare Metal to Container:

    Any advice?

    I know nothing about Podman and can't provide much help there, but I can tell you how the Docker images are built, and you can probably use that info to help with building your own Podman images.

    The biggest structural difference between bare-metal and the docker image is that all of the writable subdirectories are moved to /var/reactor within the image. They do not live under the Reactor install directory as they do in a bare-metal system. This is done by setting the REACTOR_DATA_PREFIX environment variable within the image to /var/reactor. Reactor will apply this prefix when it goes hunting for those data directories: config, storage, logs, ext, and locales. In the case of docker, it's then easy to bind this /var/reactor directory inside the image to a user directory on the real user file system outside the image (a thing docker does). The goal is that no writable directory lives inside the eventual container, and this is important, because the container is temporary — it is destroyed and recreated when the image is updated, and possibly even when the container is stopped, and if your writable data was in there, you'd lose your entire configuration and states every time. When a docker user installs Reactor, they create a directory (usually in their home directory) to house all this data. They configure the container to map /var/reactor inside the container to this data directory outside the container, so whenever Reactor writes to configuration or storage, it ends up writing to files inside that data directory. If the container is deleted and recreated, that data isn't lost because it's now living outside the container.

    Reactor runs as root inside the Docker container. This is a legacy docker-ism. Containers exist so that things could be run as root but still be... well, contained... prevented from fully exercising root's (absolute) power over other things in the host system. Within the docker container, Reactor runs as root but it's only going to be able to manipulate things inside the container. It can't stop other system processes, take over system devices that haven't been configured for it, or go mad infecting or deleting files outside the container. Podman apparently likes to run tasks in user land (i.e. as a user other than root), and this is something you'll need to research how to handle. That may also determine where inside the image you choose to put the Reactor build itself.

    Under docker specifically, Reactor is aware that it's running in a container, because I manipulate data inside the image so it will know that, but it's just informational. It doesn't modify its behavior in any meaningful way, so you won't need to change anything else about Reactor, I think.

    I think the long pole here is that you're going to have to create your own image to use with Podman. I don't think it will use docker images directly. There is some suggestion that you can run a docker container inside a Podman container or something to that effect, but that sounds to me like it will complicate your configuration and therefore your troubleshooting when things aren't going well, and I don't recommend it. Your Podman image/container will need to have all of the same dependencies resolved as a bare-metal install, so the image needs to have a good version of nodejs (LTS, 20+) and all of the npm package dependencies installed. You will likely need to configure some kind of virtual network interface that the running container will use internally to access the network externally, etc. (this is simpler than it sounds, but necessary for LAN and WAN access).

    A key consideration before you venture forth may be this: I don't use or support Podman, and am not likely to. I have enough work handling the configurations I do support. You would be making yourself the subject matter expert in this community for Podman. That could be very good if you're the kind of person who loves to dig in themselves when things aren't working and figure it out, build up a knowledge base, and start using it to help others, track to my build releases and keep your images fresh. But otherwise, you could end up in the "I used a bunch of Google search/AI results full of commands I don't understand to build something complicated that I don't understand, and it has been working since _______ but doesn't work today; WAF is low" mode, and your only paths forward would be (a) more Google/AI spelunking, or (b) fall back to one of the supported configurations.

    Multi-System Reactor

  • Reactor (Multi-System/Multi-Hub) Announcements
    toggledbitsT toggledbits

    Reactor STABLE Update

    The stable branch of Reactor is now updated to build 25139. Please scroll back and see the changes and advisories listed for builds here since the previous stable branch build (which was 24257, 13-Sep-2024), or whatever build you are currently running.

    ALL USERS: It's always recommended to back up your Reactor system before upgrading.

    IMPORTANT: Bare-metal users (only) need to do the following:

    • Update dependent packages by executing npm run deps in the Reactor install directory.
    • Reactor no longer supports nodejs versions before 20. If you are running on an earlier version, please upgrade nodejs before upgrading to this build, and make sure your current environment is working. Once you are sure Reactor is happy on the upgraded nodejs, then and only then should you upgrade Reactor to this new stable build. An even-numbered LTS (Long-Term Support) version of nodejs is recommended; the current LTS version is 22.
    • If you are running extension controllers like ZWaveJSController or MQTTController in your configuration, you will need to upgrade those to their respective latest versions.
    Multi-System Reactor announcements

  • Can´t restart or upgrade/deploy MSR
    toggledbitsT toggledbits

    @Fanan Great!

    A little more digging on my end, without a complete picture of your end, leads me to CORS. That is exactly the wording of an error I'd expect from CORS, and since HA Blue proxies for its add-ons, I'm betting that's where the issue lies. I don't know what that means for your (HA + Portainer) configuration, but I'd start with the Portainer add-on's support forums. This isn't really Reactor-related.

    Multi-System Reactor

  • Can´t restart or upgrade/deploy MSR
    toggledbitsT toggledbits

    @Fanan 69909784-e3ec-4a62-8aa5-d43acaa51a55-image.png

    689b273f-2092-4863-822d-e171df6c2deb-image.png

    @Fanan said in Can´t restart or upgrade/deploy MSR:

    I guess it have something to do with nodejs

    Doubtful. The image provides its own nodejs, and doesn't use any version available outside the container.

    Seems more like a Portainer problem to me. Was Portainer or HassOS upgraded recently?

    Multi-System Reactor

  • Z-Wave Future....
    toggledbitsT toggledbits

    @Tom_D said in Z-Wave Future....:

    I think it is too soon to plan the Z-Wave funeral.

    I don't think they're suggesting Z-Wave is headed for a dirt nap, just Z-Wave.me.

    Z-Wave.me

  • [Solved] Limit HA Entity in MSR
    toggledbitsT toggledbits

    @wmarcolin By the way, if you really are concerned about performance/load, the other way to accomplish this is to tell HA that you don't need those entities by disabling them through their UI (Settings > Integrations).

    Multi-System Reactor

  • [Solved] Limit HA Entity in MSR
    toggledbitsT toggledbits

    HassController uses filter_entity not exclude_entities. Here are some examples:

      - id: hass
        implementation: HassController
        config:
          source: 'ws://192.xxx.xxx.xxx:8123'
          access_token: "xxxxxxxxxxxxxxxxxxxxxx"
          filter_entity:
            - sun_sun  # using Reactor entity ID, filter out the entire matching entity
            - "sun.sun"  # using HA domain.entity_id form, filter out entire entity
    

    There are no wildcards.

    You can also filter down to the HA attribute level. In this form, you use the HA domain.entity_id form combined with HA attribute names (you need to know/discover these from reading HA's integration documentation or examining your hass_states.json log file).

          filter_entity:
            # This is the abbreviated syntax for a single HA attribute
            "sun.sun": "last_updated"  # ignores only this *one* HA attribute
            #
            # This is the full syntax for one or more HA attributes
            "sun.sun":
              - last_reported
              - last_updated
    

    Filtering at the attribute level is intended for when an attribute on the entity changes frequently but isn't of use to your configuration -- by filtering the attribute out, Reactor won't post changes for its interpretation of that attribute, and thus Rules that depend on the entity won't be notified that it may have changed.

    Multi-System Reactor

  • Reactor (Multi-System/Multi-Hub) Announcements
    toggledbitsT toggledbits

    Reactor build 25139

    BARE-METAL USERS: You must execute the shell command npm run deps in your Reactor install directory after upgrading, to update package dependencies. The UI may not start if you fail to do this. This advisory does not apply to docker containers.

    BARE-METAL USERS: nodejs version 18 is End of Life (EOL) as of April 30, 2025, and is no longer supported. For best results and longevity, upgrade to an even-numbered version of nodejs. The current LTS (Long Term Support) version (recommended) is 22 and will go EOL in April 2027.

    BREAKING CHANGE FOR DEVELOPERS: If you use Entity.registerAction() and specify a function, the target function now takes the canonical action name as its second argument, and the action parameters will be the third argument (the target entity remains the first argument). That is, the signature of the function has changed from targetFunc( entity, params) to targetFunc( entity, actionName, params).

    • Engine: Improve the approach of Rule State conditions to changes in the subject rule's state that don't end up changing the top-level rule state. This should considerably reduce potential throttling that can occur when inter-related/co-dependent rules change.
    • Reactor UI: On the Entities list, fixed a minor display error in the display of atttribute values when an attribute other than the entity's primary is selected.
    • Reactor UI: Reworked the URL routing so that linking to tabs and objects is possible. For this build, this will be most visible in many (but not all) of the Status tab widgets. More linking will be done in future. There's a lot more to do; please don't bother reporting areas where objects are not linked at this time.
    • Reactor UI: The Rule Sets offcanvas navigation now has a search field that allows you to search for a rule by name.
    • Upgraded some packages used by Reactor to maintainer's latest versions.
    • HassController: Bless Hass to 2025.5.2

    ZWaveJSController build 25139

    • Minor bug fixes for initialization of devices with scene controller capability.

    MQTTController build 25139

    NOTE: Uses latest mqtt package, which is version 5.11 as of this writing. You must run npm run deps in the MQTTController install directory to update the package.

    • New template support for Shelly Plus 1PM (use include: shellyplus1pm) and Shelly 1 Mini Gen3 (use include: shelly1minig3).
    • The query directive in a device configuration now supports payload construction using the same semantics as that for action payload constructions. Principally, this gives you access to expr for query payloads, which facilitates more dynamic construction of payload fields where devices or templates need.
    • New inbound topic reactor/:ident/Reaction/:reaction_id/:command; the command may be run, stop, or query to run (enqueue), stop (if running), or query the status of the specified global or Ruleset-based Reaction. You cannot run, stop, or query the state of the SET or RESET Reactions in a Rule. The query command requires Reactor build 25111 or higher for accurate response.
    Multi-System Reactor announcements

  • [Solved] Limit HA Entity in MSR
    toggledbitsT toggledbits

    @wmarcolin said in Limit HA Entity in MSR:

    in my opinion, this generates unnecessary integration overload

    What's your basis for that opinion? On the HA side, all entities and events are published for everything on HAs websocket API, without filtering, so the data is coming to Reactor regardless. On the Reactor side, even with thousands of entities in my home environment, the load overall is low to Reactor and its host (load average <0.1 at 1, 5, and 15 minute measurement periods on an RPi 4), and HassController is only a fraction of that total load.

    You can filter out entities, but it won't stop HA from sending data about them, and it won't stop Reactor from receiving that data and having to process it enough to know it should ignore it. What you want to know is in the docs, if you're committed to it.

    Multi-System Reactor

  • Organizing/ structuring rule sets and rules
    toggledbitsT toggledbits

    I do a mix. I have rule sets for each room. Generally, these manage lighting, and maybe a small number of specific devices in that area. I have functional rule sets for other things like determining house mode (which is really a blend of season, day of week, time of day, and other switches I can throw for when we're having a party or overnight guests). Functional rule sets also cover room- or level-spanning rules. For example, I bring management of all leak detectors to a single utility rule set.

    There's no harm in moving things around. Rules in rule sets have unique IDs that are not affected by their parent location, so moving them changes nothing operationally, it's just an organizational tool for the user. Make a structure and evolve it as you find need. You'll settle into something that works for you.

    Multi-System Reactor

  • Moving MSR from a QNAP container to RP 5 - some issues
    toggledbitsT toggledbits

    I know I sound like a broken record, but look at the logs. At startup, much is logged, and if there are problems with file permissions (which I suspect), you'll see it mentioned there in some form.

    Multi-System Reactor

  • Reactor (Multi-System/Multi-Hub) Announcements
    toggledbitsT toggledbits

    Reactor build 25097

    • Expression syntax enhancement: it is now possible to use a variable's value as a key when creating an object on the fly. For example, if the variable cmd contains the word "econo" (presumably derived from configuration or some other dynamic source), it is now possible to create an object { econo: true } by enclosing the key source in square brackets: obj = { [cmd]: true }. For reference, this syntax mimicks JavaScript.
    • Fixed a UI crash when bringing up Reactor initially after using the About page bypass.
    • OWMWeatherController: implement sys_system.restart, which will cause all locations to be refreshed immediately.
    • OWMWeatherController: new config option (boolean) ignore_certs can be set to ignore certificate errors. These seem to pop up occasionally, perhaps because of a misconfiguration in the load balancing at OWM.
    Multi-System Reactor announcements

  • Deleting widgets
    toggledbitsT toggledbits

    As of build 24343, widget deletion is accomplished by dragging the widget to the top navigation bar (only). Dragging to the left margin no longer deletes the widget.

    Multi-System Reactor

  • Widget deletion does not work and landing page (status) is empy
    toggledbitsT toggledbits

    image.png

    This change was also mentioned in the release notes for build 24343.

    Multi-System Reactor

  • Need help reducing false positive notifications
    toggledbitsT toggledbits

    @tamorgen Frankly, it looks like you've made an overly simplistic sensor that you're trying to improve on in the rule... you're taking a low-res image of the device and trying to make it back into something higher-res.

    I'd just look at the power directly in Reactor:

    46f847d7-6b73-4bcd-9151-fee570153cc8-image.png

    c3f94ddc-050e-4692-b663-d1d9ad530432-image.png

    Multi-System Reactor

  • Need help reducing false positive notifications
    toggledbitsT toggledbits

    @tamorgen said in Need help reducing false positive notifications:

    Any thoughts? I know I can set up a a condition to monitor the power sensor value, and make sure it is above 3.5 for 5 minutes, but the condition I need is for the power value to go to the standby value of under 2.9 after that condition is met. That's what I'm unclear how to do.

    Look at the condition options (for any condition). You'll see the ability to sequence conditions there -- set a condition so it can only go true after another condition has gone true.

    Your problem seems simpler to me, though. Maybe I just don't get the full scope from what you wrote, but what you asked for can be done without sequencing.

    If you just want to know if the machine is running, make a rule for power >5W (your 3.7W plus some headroom) sustained for at least 5 minutes (see condition options again). If you want to know if the machine is not running, make a rule for (guessing) power < 15W sustained for 5 minutes. I think you'll find these pretty effectively ignore the transitions between cycles and bumps at the controls or door left open (light on) if you get the power values right for your machine's behavior.

    Now you have two rules, one to tell you that it appears to be idle, and the other that it appears to be running. We could use one rule, but by using two rules with a gap between the power values, we create additional hysteresis to prevent those false positives. For you rules that need to react to the machine going idle, use a Rule State condition to check your idle rule; for rules that need to react to the machine running, check the running rule.

    Multi-System Reactor
  • Login

  • Don't have an account? Register

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