Multi-System Reactor

694 Topics 6.8k Posts
  • Urgent Help MSR stopped running

    Locked
    38
    0 Votes
    38 Posts
    749 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.

  • 0 Votes
    6 Posts
    224 Views

    What you posted was great, and I was able to see the string data in the events, so clue attained, and that's a win. We'll fix it right when I get back.

  • [Solved] Hubitat>MSR and dedicated Maker API

    Locked
    4
    0 Votes
    4 Posts
    224 Views

    @gwp1

    It would be interesting when the Make Api can do as Hubitat Z-Wave Mesh Details does and give authorization to Extended Device Data, which has very useful information to further augment the Reactor rules.

    42d39af8-0bcb-41db-a876-d9313ed6b089-image.png

  • Zen32 question

    Locked
    12
    0 Votes
    12 Posts
    340 Views

    Would that have cleaned up all the blue alerts in the status page about devices being deleted and added. I was getting hundreds of those.

  • ZwaveJS crashing

    Locked
    13
    0 Votes
    13 Posts
    332 Views

    Got it. That's good. In any case, the first point... I have no idea how zwavejs reports board/interface communication or other problems (I mean, I see how it's supposed to, and I have coded for that, but I have never seen a detected change, so can't confirm that their mechanism is actually working as advertised). And Hass and ZwaveJSController can only present the data they are given. Given that you seem to not be seeing any change in the Hass entity, and same on the Reactor side, and given that my experience with an Aeotec Z-Stick Gen 5+ is similar, that's an issue for the zwavejs devs.

  • 0 Votes
    51 Posts
    2k Views

    Build 22067

    A few more device tweaks; Performance improvements; Update mechanism for data files, so that I can post device updates without having to publish a build.

    This version is fully in sync with fixes and improvements in latest release 22067.

  • 0 Votes
    25 Posts
    773 Views

    Option 2 seems like the way to go. I'll make that change and wait for nothing to happen ☺

  • 2 Votes
    55 Posts
    2k Views

    Thinks for the tips. Figured out the DNS issue was a setting in pihole. Had interface settings set to only respond on interface eth0, changed it to local requests and the install script ran fine. Got me some learnin today, thanks,

  • Strange temperature readings from OpenWeather

    Locked
    4
    0 Votes
    4 Posts
    167 Views

    @toggledbits My Node-red weather is using the onecall URL.

  • Wish list...

    Locked
    1
    0 Votes
    1 Posts
    72 Views
    No one has replied
  • Moving MSR to Docker

    Locked
    5
    0 Votes
    5 Posts
    227 Views

    @toggledbits
    In this case "scorched earth" worked.
    Unfortunately, I did it before I read your reply so we will never know the exact reason why adding the second controller returned a 404 error.

    Now onto MQTT and other temptations such as Fronius to InfluxBD but those are off topic for this thread. Thanks again.

  • Setting button LED color on Zen32

    Locked
    3
    0 Votes
    3 Posts
    193 Views

    Thanks, That worked.

  • Docker container update - documentation

    Locked
    4
    0 Votes
    4 Posts
    146 Views

    @toggledbits, any thoughts?

  • Local variable in delay field?

    Locked Solved
    3
    0 Votes
    3 Posts
    113 Views

    After a reminder, thanks for that, I am using latest-22044-3bb5e21 version of MSR.

  • 0 Votes
    10 Posts
    499 Views

    Fixed by version 22052. 💪

  • 0 Votes
    3 Posts
    200 Views

    Yup, all back to normal now. Personnaly I preffer the reactor and Zwavejs logs without the serial interface info leaving that to the server log if needed. It is much cleaner.

    Thanks

  • General question: MSR and multiple HE hubs

    Locked
    4
    0 Votes
    4 Posts
    114 Views

    They are not using the Hubitat mesh. They are completely separate.

  • question on button.state

    Locked
    2
    0 Votes
    2 Posts
    86 Views

    Will work on that. Capabilities and attributes also have some information here

  • Plugin InfluxFeed - some data missing

    Locked Solved
    4
    0 Votes
    4 Posts
    155 Views

    Forgot to mention, the 22044 build includes some new InfluxDB measurement control capabilities. Documentation

  • Problem with median function

    Locked Solved
    5
    0 Votes
    5 Posts
    195 Views

    Thanks for the MSR update. I've checked the related Expressions several times and they are working fine. Of course, the only way I found this was when lights did not come on when I thought they should so difficult to detect when things are always working correctly.

    Related, I tried to set up a Scope to watch the expressions and found they can not be watched in the Scope feature. Will that change in the future?

    Thanks again,
    Tom

Recent Topics