Multi-System Reactor

693 Topics 6.8k Posts
  • 0 Votes
    3 Posts
    141 Views

    Ok, I’ve used the first approach after my initial post and it’s working. I’m intrigued by the other parts and I’ll take a look later today to the docs, since I want to apply this logic to my logic for the solar excess. Thanks.

  • Status of MSR in Home Assistant

    Locked
    3
    0 Votes
    3 Posts
    143 Views

    Thanks, a project for tomorrow

  • Notifications from Alerts

    Locked
    25
    0 Votes
    25 Posts
    945 Views

    I am running a z-wave.me hat on a rpi. That is the device that is loosing connectivity occasionally. Since it is intermittent, it is hard to find a time when it occurs that I can look at the error and try to figure out the syntax of local expression. Anyone know of a commend that I can run from the terminal in HASS OS to kill the connection to force the error that won't screw up my zwave after a reboot?

  • Invocable rules via MQTT

    Locked
    8
    0 Votes
    8 Posts
    230 Views

    For anyone trying to do the same in future, here's what I did, in detail:

    I defined a global variable named scenefrommqtt (leave it empty, so it's settable) I'm publishing an MQTT message under reactor/mqtt/Expr/scenefrommqtt/set, with value "mykey" (the quotes are important) On Reactor's side, I'm using the variable as a trigger, using the same name defined for the Rule Set

    It's working very well for me, and it's easy to setup. Thanks @toggledbits for both MSR and for pushing me to think of current features, instead of asking for new complicated ones 🙂

    Now I have just one single vera code running, and I'll migrate it later, leaving the Vera just as a glorified ZWave bridge until it'll work.

  • 0 Votes
    4 Posts
    195 Views

    @sethlampman said in Home Assistant Script, Reaction requires seclection that isnt there:

    I basically just want to be able to publish a value that I specify to aqualinkd/Filter_Pump/RPM/set. Is there an easy way to make that work?

    Yes. No templates required. All you need to do is this (assuming you have MQTTController configured):

    13283531-e082-431d-a64c-2427d5c0e3e9-image.png

    As I said in my earlier reply, the publish action lives on MQTTController's system entity, which has the canonical ID mqtt>system (assuming your MQTTController ID is mqtt as shown in the docs).

  • 0 Votes
    4 Posts
    200 Views

    @maddios said in Installed latest MSR container and host time is wrong:

    I'll poke around and see if i can find one that got corrupted.

    Just look in the log a few lines before the error you posted. It should be named there.

  • Rule to detect failed devices on an Ezlo hub?

    Locked
    8
    0 Votes
    8 Posts
    249 Views

    Any time you edit a config file and then Reactor doesn't start, you've likely corrupted the file. There's a troubleshooting section for startup in the documentation that will help you look at the logs (yes, once again, go look at the logs), and there are tools like https://yamlchecker.com that will also help you find errors, and there's this handy YAML editor https://onlineyamltools.com/edit-yaml

    Edit: I wanted to add here that I routinely break my config files, so as fluent as I consider myself to be with YAML (begrudgingly, I'll admit), it's just touchy and mistakes are easy to make. I am working on a graphical editor for settings in the background, but it's a huge undertaking and a bit of an "all or nothing" deal, so it's got a long road ahead of it (or, really, I do).

  • 0 Votes
    22 Posts
    703 Views

    Ah, OK, I wasn't clear. I am now. That's clearly a bug. Thanks.

  • 0 Votes
    9 Posts
    177 Views

    Nevermind. Under the Strips guard 700 name I can see status changes in zwavejs

  • Variable Missing but working

    Locked
    2
    0 Votes
    2 Posts
    92 Views

    I found a thread where it was stated this was a MSR bug that allowed you to select variable from other rules. I assume these rules were created before build 21267. I have read the docs and understand that this method is not possible. I will change to use global expressions. Strange the rules still work as is.

  • Summer Time : fonction interval

    Locked
    10
    0 Votes
    10 Posts
    298 Views

    Keep going. Tell me what your trip through the UI would look like in configuring such a thing.

  • SOLVED: Use of multiple Hubitat hubs with MSR

    Locked
    13
    0 Votes
    13 Posts
    393 Views

    Good sleuthing. That's an interesting resolution. In a way it makes sense, because I could see docker reserving the resource (a network interface and its desired address) whether the container is running or not, but it's not the obvious thing for it to do (IMO), especially given that the side-effect is to let the host OS handle requests when the guest is down. That actually seems like is has potential security implications...

  • MSR/MQTT - detecting broker offline status

    Locked
    2
    0 Votes
    2 Posts
    78 Views

    Yeah, the underlying mqtt package has an odd rhythm to its events that I can do a better job handling, I think. I just put up a new version of MQTTController. Give that one a try.

  • 0 Votes
    2 Posts
    869 Views

    That error means that the Influx client library used by InfluxFeed is unable to connect to your InfluxDB server and service.

    You are sort of indicating that you changed something. It would be good to know what. If you've been shuffling containers around, or recreated/upgraded any containers, you've likely not gotten the network setup right for one or both containers and they can't see each other, or at least, the Reactor container cannot access the InfluxDB container.

  • MSR connecting to Ezlo Plus

    Locked Solved
    5
    0 Votes
    5 Posts
    157 Views

    @tom_d Edit the title of your original post by using the meatball menu (three vertical dots) to the right of your signature, next to the Reply Quote.

  • 0 Votes
    14 Posts
    242 Views

    Awesome! Enjoy your round.

  • MSR feature requests

    Locked
    1
    0 Votes
    1 Posts
    78 Views
    No one has replied
  • 0 Votes
    7 Posts
    193 Views

    @toggledbits I saw your release notes and immediately dropped 22080 in place and went straight to the variable rules I'd built from @Alan_F's comment and disabled them in favor of the system's SunInfo dst flag. I didn't delete the others - I really want to fully grasp latching.

    I'm not holding my breath on the possible law - it was written back in 2021 and the House keeps putting it in committee.

    Fingers crossed!

  • [RESOLVED] Missing attributes for a device

    Locked
    5
    0 Votes
    5 Posts
    148 Views

    Not related to one specific controller, rather to a specific capability that applies to the devices reported in the PR. All good. Happy to hear it's working for you now.

  • Urgent Help MSR stopped running

    Locked
    38
    0 Votes
    38 Posts
    743 Views

    Losing state will cause rules to possibly run unexpectedly. For example, say you had a rule that triggers between sunrise and sunset. If state was lost due to disk full corruption such as this in mid-day, discarding the state at restart will cause the rule to have no state, therefore think it has a transition into the sunrise (triggered) period and fire. This may or may not be a desirable side-effect, depending entirely on how the user determines the rules to work, and I cannot predetermine whether re-running a rule would have side-effects in the user environment or not. Since this can occur unattended (such as while on vacation or at a remote vacation home), it's potentially very troublesome and should at least be corrected with the full awareness of the user, as you have in this case.

    My number one recommendation is that you manage filesystem space well on the system. This is always an issue on all systems, and in Linux/Unix systems in particular, processes can die (due to errors) and files can become (logically) corrupt due to disk full conditions. It is something that needs to be managed. In your case, I would remember what log files were deleted, and investigate why those were so large and not being rotated and expired or archived. In your case, it appears you have a single root volume with everything on it. That means any subsystem running on the box can potentially fill the filesystem and cause other applications to misbehave. Best practices for system management often call for segmenting files/directories out. It is not uncommon, for example, to have /var, /usr and /home all on separate filesystems, that any one of them filling (/var often has this issue because it holds system logs and other fast-changing files) would not result in other files in the other directories to become corrupt or truncated. Taking this to an extreme, but if hardening Reactor is mission-critical to you, it is possible to create a small volume and mount it as /var/reactor at boot time, and use that as the home for the storage directory (and config, but not Reactor's logs), thereby isolating and protecting Reactor's storage from everything else. This is all Linux system management stuff, so not really appropriate to deep dive into, but if you're going to use and maintain these systems as part of your infrastructure, well worth spending the time to learn. A must really, because when it goes wrong, and it will go wrong, your fluency in system management will directly determine the time it takes to recover, and how well (or not) you recover.

    I can take more mitigating steps to harden startup, and I will definitely do that. I will also see about adding Status page alerts for disk space problems. The way Reactor works, if the disk space problem is mitigated before a restart of Reactor (i.e. while Reactor is running), Reactor will (eventually) rewrite the files with state (which is cached in RAM during operation) -- at shutdown, Reactor writes the RAM state back to disk as a final assurance that they are in sync, just for this reason. But I cannot protect those files from every eventuality, and every other subsystem on the machine works pretty much the same way (rebooting after fixing a no-space condition is always recommended, because many daemons will just die when they can't write a file).

    And as I've said again and again and again, please read the documentation and look at your log files. If you see something in the log files that points to obvious issue, handle it. If you don't know how to handle it, post the log file snippet and remember that context is vital, so posting 2-3 lines of a log file may provide little or no useful information (even when the error contains module names and line numbers); it often takes a dozen or more lines of context prior to really interpret how the system got to the crash point, so you must post a least a dozen or more lines prior to any error message you are inquiring about. Fortunately in this case, it was pretty obvious.

    Pardon errors. Tapping this out on a bluetooth keyboard and over my home VPN on sketchy Internet made this a bit of a chore. Onward.

Recent Topics