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

wmarcolin

@wmarcolin
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
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
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
288
Topics
32
Shares
0
Groups
0
Followers
0
Following
2

Posts

Recent Best Controversial

  • Set Reaction > Script Action
    wmarcolinW wmarcolin

    @Crille

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

    So using it within the configuration would not help me.

    The selection of devices is indeed within the Dynamic Group, which is perfect, but I was wondering if I could do something like a script, which would require a routine like the one I have today, where I send a list of devices to be turned on, even if they are already on, so I don't have to create a group to analyze the status of each one.

    I want to do something smarter.

    Anyway, thank you, and let's see if we have any other recommendations.

    Multi-System Reactor

  • Set Reaction > Script Action
    wmarcolinW wmarcolin

    Hi

    Use case: possibility of using a script instead of setting up an action in this way.

    4bff09e1-539b-46c8-8c37-090b1b966284-image.png

    If I have a variable that contains the device IDs within the array, could I use a script to execute the powe_switch.on command for the devices in this list?

    b4dfc617-412a-42ff-ae7b-ae8f0d65c39e-image.png

    I tried to understand in the manual (https://reactor.toggledbits.com/docs/Script-Action/) how to use this script feature, but I was unsuccessful. Are there any examples here in the forum of how to use it so I can continue my development?

    Thanks.

    Multi-System Reactor

  • [Solved] Limit HA Entity in MSR
    wmarcolinW wmarcolin

    @toggledbits

    While you're at it, could you add to Santa's list a request for a function that, when given two coordinates, returns the distance between them?

    I'll explain the use case: when Life360 worked on Hubitat, one of the variables was precisely the distance between the device and the point determined as the home. However, as I said, it hasn't worked for a long time.

    This was one of the reasons for installing Home Assistance, which works perfectly, but it doesn't have this information, so I had to do the calculation.

    I know, you're going to say what a horrible thing, what a mess, but it's working.

    I prepared a series of calculations, using the coordinates of my home as a reference, for my phone WIL and my wife's phone ADRI. The phone coordinates come from Life360.

    525b8ca4-86c2-424f-a3c6-6b11aba39730-image.png

    Next, I have the calculations.

    391c3a64-dbf9-4a7d-b01c-2a583a6bc83f-image.png

    So, I have the result.

    36c24be1-f4ec-426e-af61-485de33457de-image.png

    I used this formula Python.

    from math import radians, sin, cos, sqrt, atan2
    
    def haversine(lat1, lon1, lat2, lon2):
        R = 6371  # raio da Terra em km
    
        dlat = radians(lat2 - lat1)
        dlon = radians(lon2 - lon1)
    
        lat1 = radians(lat1)
        lat2 = radians(lat2)
    
        a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
        c = 2 * atan2(sqrt(a), sqrt(1 - a))
    
        return R * c  # distância em km
    
    

    Thanks.

    Multi-System Reactor

  • [Solved] Limit HA Entity in MSR
    wmarcolinW wmarcolin

    Hi @toggledbits

    As I mentioned, I don't think it's a performance issue. Looking at the memory and processing of the Reactor and HA VM, the consumption is insignificant. I have more than 370 devices between ZWave and ZigBee, the Reactor is connected to a Hubitat C8, Hubitat C7, Zemismart M1, Aqara, and now HA, and it doesn't even affect processing.

    My only desire was to remove elements from the Reactor in Entity that I don't care about. However, this is more a matter of usage habit than performance.

    And by the way, the implementation in the latest version of the link to go directly to the rule or devices is fantastic. You still need to tweak the Entity Widgets for the Entity list. I think that instead of calling by Entity Name, it is calling by Canonical ID, and this is not working. But the idea is fantastic.

    How is Santa's wish list coming along? You could have a post with this list just so we know what's coming down the road at some point.

    Thanks!

    Multi-System Reactor

  • [Solved] Limit HA Entity in MSR
    wmarcolinW wmarcolin

    Hi @toggledbits

    I understand, I know that the system is very robust and supports thousands of interactions, I even imagine that because the two VMs of Reactor and HASS are on the same computer, the speed of communication is enormous.

    So, apart from the overload issue that not have, I'm thinking about the practicality of using it, by removing from the list of HASS entity devices that I'm not interested in viewing in Reactor.

    Looking at the manual, excuse my incompetence, I really couldn't identify how to configure not to load the Entity in Reactor, I made several attempts and I can't remove the devices. Below is my last attempt. If you can help me with the correct configuration.

    
      - id: hass
        enabled: true
        implementation: HassController
        name: Home Assistant System
        config:
          source: 'ws://192.xxx.xxx.xxx:8123'
          access_token: "eyJhbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxc0N>
          #
          # ignore_cert - If true, suppresses certificate validation when using wss:// (Websocket
          #               with SSL/TLS) and thus allows a self-signed certificate to be used on
          #               the Hass system.
          #ignore_cert: false
          #
          # dump_all_states - This is for troubleshooting. Do not enable unless asked.
          #dump_all_states: false
          exclude_entities:
            - "hass>sensor_sun*"
    

    Thanks.

    Multi-System Reactor

  • [Solved] Limit HA Entity in MSR
    wmarcolinW wmarcolin

    Hi @toggledbits

    I'm new to HA, and I just finished integrating it with MSR. It was very easy to configure and interact between platforms.

    However, one thing that bothered me is that all HA Entities were sent to MSR, and in my opinion, this generates unnecessary integration overload. I searched the manual and here in the forum for a way to delete everything I don't want to come to MSR, such as all this information from Sun *.

    fbacfe91-6a1f-42c5-a2bf-8179f9bfdef1-image.png

    Is it possible to configure this, as we already do with Vera, for example? And if possible, would using a wildcard such as hass>sun* automatically exclude all other entities of this type?

    Thanks.

    Multi-System Reactor

  • Throttled problem
    wmarcolinW wmarcolin

    @toggledbits

    Looking for a solution, I implement this script.

    #!/bin/bash
    
    # Nome do UPS configurado em /etc/nut/ups.conf
    UPS_NAME="TrippLite"
    
    # Comando para verificar o status do UPS
    if upsc "$UPS_NAME@localhost" | grep -q "DATA-STALE"; then
        echo "$(date): DATA-STALE detectado. Reiniciando o serviço NUT." >> /var/log/monitor_nut.log
        systemctl restart nut-driver.service
        systemctl restart nut-server.service
        systemctl restart nut-monitor.service
    else
        echo "$(date): Serviço funcionando normalmente." >> /var/log/monitor_nut.log
    fi
    
    

    We'll see if it eases the problem, but here's the situation with the NUT.

    Multi-System Reactor

  • Throttled problem
    wmarcolinW wmarcolin

    @toggledbits

    I removed the crontab stop and restart process with a set time, and then restarted the MSR to follow the new logs, below.

    [latest-25016]2025-01-28T14:28:58.785Z <NUTController:null> Module NUTController v25026
    [latest-25016]2025-01-28T14:28:59.438Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.16>
    [latest-25016]2025-01-28T14:28:59.444Z <NUTController:INFO> NUTController#nut connected to "192.168.50.8":3493
    [latest-25016]2025-01-28T14:28:59.444Z <NUTController:INFO> NUTController#nut setting client username (Reactor) >
    [latest-25016]2025-01-28T14:28:59.544Z <NUTController:INFO> NUTController#nut client not yet ready; waiting
    [latest-25016]2025-01-28T14:28:59.544Z <NUTController:INFO> NUTController#nut client ready after authentication
    [latest-25016]2025-01-28T14:29:00.631Z <NUTController:INFO> NUTController#nut initial query succeeded with 1 ite>
    [latest-25016]2025-01-28T14:29:00.688Z <NUTController:INFO> NUTController#nut initializing TrippLite
    [latest-25016]2025-01-28T15:04:17.580Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T15:04:17.580Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T15:04:27.602Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T15:04:27.603Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T15:04:37.610Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T15:04:37.610Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T15:04:47.618Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T15:04:47.619Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T15:04:57.682Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T15:04:57.682Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T15:05:07.687Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T15:05:07.687Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T15:05:18.056Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T15:05:18.056Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T15:05:28.059Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T15:05:28.059Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T15:05:38.068Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T15:05:38.068Z <NUTController:CRIT> !DATA-STALE
    .
    . start the DAT-STALE
    .
    [latest-25016]2025-01-28T16:59:13.198Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T16:59:23.199Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T16:59:23.200Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T16:59:33.202Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T16:59:33.203Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T16:59:43.213Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T16:59:43.214Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T16:59:53.227Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T16:59:53.227Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T17:00:03.330Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T17:00:03.330Z <NUTController:CRIT> !DATA-STALE
    .
    . nothing change than I restart the process (
    .
    #systemctl restart nut-driver.service
    #systemctl restart nut-server.service
    #systemctl restart nut-monitor.service
    .
    [latest-25016]2025-01-28T17:00:13.332Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T17:00:13.332Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T17:00:23.336Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T17:00:23.336Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T17:00:33.362Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T17:00:33.363Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T17:00:43.414Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T17:00:43.414Z <NUTController:CRIT> !DRIVER-NOT-CONNECTED
    [latest-25016]2025-01-28T17:00:44.544Z <NUTController:NOTICE> NUTController#nut connection closed; attempting re>
    [latest-25016]2025-01-28T17:00:44.596Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.16>
    [latest-25016]2025-01-28T17:00:44.597Z <NUTController:INFO> NUTController#nut connected to "192.168.50.8":3493
    [latest-25016]2025-01-28T17:00:44.597Z <NUTController:INFO> NUTController#nut setting client username (Reactor) >
    [latest-25016]2025-01-28T17:00:44.598Z <NUTController:INFO> NUTController#nut client ready after authentication
    [latest-25016]2025-01-28T17:00:44.648Z <NUTController:INFO> NUTController#nut initial query succeeded with 1 ite>
    [latest-25016]2025-01-28T17:00:54.705Z <NUTController:INFO> NUTController#nut initial query succeeded with 1 ite>
    [latest-25016]2025-01-28T17:00:54.748Z <NUTController:INFO> NUTController#nut initializing TrippLite
    [latest-25016]2025-01-28T17:28:37.934Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T17:28:37.934Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T17:28:47.942Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T17:28:47.942Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T17:28:57.945Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T17:28:57.946Z <NUTController:CRIT> !DATA-STALE
    [latest-25016]2025-01-28T17:29:07.959Z <NUTController:ERR> NUTController#nut failed to get detail for TrippLite:>
    [latest-25016]2025-01-28T17:29:07.960Z <NUTController:CRIT> !DATA-STALE
    .
    . but after 8min DATA-STALE again
    .
    

    When it failed I consulted upsc directly and the answer I got was the one below.

    root@main:/home/wilson/reactor/logs# upsc TrippLite@192.168.50.8
    Init SSL without certificate database
    Error: Data stale
    root@main:/home/wilson/reactor/logs#
    

    Importantly, in MSR the NUT service does not crash, but it stops updating.

    654abd95-559a-41de-a535-c4ae65f81943-image.png

    See that the device goes into an uninformed/excluded status.

    ee8ca3f8-76e0-4020-8364-5644bc593555-image.png

    I don't think the problem lies with the MSR/NUTConttoler, it's a matter of the NUT itself managing the UPS. I've been in this situation for more than a year and I can't get out of the problem loop, so some time ago I adopted the stop and restart crontab to alleviate the problem.

    Multi-System Reactor

  • Throttled problem
    wmarcolinW wmarcolin

    Hi @toggledbits !!

    I installed the new version, and at the same time created a log file specifically for NUTController, below is what I captured in the first 20 minutes, remembering that every 10 minutes I stop and restart the service to mitigate the problem.

    [latest-25016]2025-01-27T18:42:31.243Z <NUTController:null> Module NUTController v25026
    [latest-25016]2025-01-27T18:42:31.840Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.168.50.8":3493; waiting for ready...
    [latest-25016]2025-01-27T18:42:31.848Z <NUTController:INFO> NUTController#nut connected to "192.168.50.8":3493
    [latest-25016]2025-01-27T18:42:31.848Z <NUTController:INFO> NUTController#nut setting client username (Reactor) and password
    [latest-25016]2025-01-27T18:42:31.887Z <NUTController:INFO> NUTController#nut client ready after authentication
    [latest-25016]2025-01-27T18:42:31.960Z <NUTController:INFO> NUTController#nut initial query succeeded with 1 items returned
    [latest-25016]2025-01-27T18:42:32.007Z <NUTController:INFO> NUTController#nut initializing TrippLite
    [latest-25016]2025-01-27T18:50:01.750Z <NUTController:NOTICE> NUTController#nut connection closed; attempting reconnect...
    [latest-25016]2025-01-27T18:50:01.808Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.168.50.8":3493; waiting for ready...
    [latest-25016]2025-01-27T18:50:01.810Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-27T18:50:01.811Z <NUTController:INFO> NUTController#nut recycling/reconnecting in 2000ms (1 fails)
    [latest-25016]2025-01-27T18:50:03.811Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.168.50.8":3493; waiting for ready...
    [latest-25016]2025-01-27T18:50:03.812Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-27T18:50:03.812Z <NUTController:INFO> NUTController#nut recycling/reconnecting in 2000ms (2 fails)
    [latest-25016]2025-01-27T18:50:05.897Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.168.50.8":3493; waiting for ready...
    [latest-25016]2025-01-27T18:50:05.898Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-27T18:50:05.911Z <NUTController:INFO> NUTController#nut recycling/reconnecting in 2000ms (3 fails)
    .
    . repeat same fail 4....28
    .
    [latest-25016]2025-01-27T18:50:58.732Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.168.50.8":3493; waiting for ready...
    [latest-25016]2025-01-27T18:50:58.733Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-27T18:50:58.734Z <NUTController:INFO> NUTController#nut recycling/reconnecting in 2000ms (29 fails)
    [latest-25016]2025-01-27T18:51:00.740Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.168.50.8":3493; waiting for ready...
    [latest-25016]2025-01-27T18:51:00.741Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-27T18:51:00.742Z <NUTController:INFO> NUTController#nut recycling/reconnecting in 2000ms (30 fails)
    [latest-25016]2025-01-27T18:51:02.762Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.168.50.8":3493; waiting for ready...
    [latest-25016]2025-01-27T18:51:02.764Z <NUTController:INFO> NUTController#nut connected to "192.168.50.8":3493
    [latest-25016]2025-01-27T18:51:02.764Z <NUTController:INFO> NUTController#nut setting client username (Reactor) and password
    [latest-25016]2025-01-27T18:51:02.764Z <NUTController:INFO> NUTController#nut client ready after authentication
    [latest-25016]2025-01-27T18:51:02.826Z <NUTController:INFO> NUTController#nut initial query succeeded with 1 items returned
    [latest-25016]2025-01-27T18:51:02.875Z <NUTController:INFO> NUTController#nut initializing TrippLite
    [latest-25016]2025-01-27T19:00:01.389Z <NUTController:NOTICE> NUTController#nut connection closed; attempting reconnect...
    [latest-25016]2025-01-27T19:00:01.440Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.168.50.8":3493; waiting for ready...
    [latest-25016]2025-01-27T19:00:01.440Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-27T19:00:01.441Z <NUTController:INFO> NUTController#nut recycling/reconnecting in 2000ms (1 fails)
    [latest-25016]2025-01-27T19:00:03.441Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.168.50.8":3493; waiting for ready...
    [latest-25016]2025-01-27T19:00:03.444Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-27T19:00:03.445Z <NUTController:INFO> NUTController#nut recycling/reconnecting in 2000ms (2 fails)
    [latest-25016]2025-01-27T19:00:05.454Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.168.50.8":3493; waiting for ready...
    [latest-25016]2025-01-27T19:00:05.455Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-27T19:00:05.462Z <NUTController:INFO> NUTController#nut recycling/reconnecting in 2000ms (3 fails)
    .
    . repeat same fail 4....28
    .
    [latest-25016]2025-01-27T19:00:58.245Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.168.50.8":3493; waiting for ready...
    [latest-25016]2025-01-27T19:00:58.246Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-27T19:00:58.246Z <NUTController:INFO> NUTController#nut recycling/reconnecting in 2000ms (29 fails)
    [latest-25016]2025-01-27T19:01:00.246Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.168.50.8":3493; waiting for ready...
    [latest-25016]2025-01-27T19:01:00.248Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-27T19:01:00.248Z <NUTController:INFO> NUTController#nut recycling/reconnecting in 2000ms (30 fails)
    [latest-25016]2025-01-27T19:01:02.250Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.168.50.8":3493; waiting for ready...
    [latest-25016]2025-01-27T19:01:02.250Z <NUTController:INFO> NUTController#nut connected to "192.168.50.8":3493
    [latest-25016]2025-01-27T19:01:02.250Z <NUTController:INFO> NUTController#nut setting client username (Reactor) and password
    [latest-25016]2025-01-27T19:01:02.251Z <NUTController:INFO> NUTController#nut client ready after authentication
    [latest-25016]2025-01-27T19:01:02.310Z <NUTController:INFO> NUTController#nut initial query succeeded with 1 items returned
    [latest-25016]2025-01-27T19:01:02.367Z <NUTController:INFO> NUTController#nut initializing TrippLite
    
    
    Multi-System Reactor

  • Throttled problem
    wmarcolinW wmarcolin

    @toggledbits download and test now.

    Multi-System Reactor

  • Throttled problem
    wmarcolinW wmarcolin

    @toggledbits hi!

    This NUT UPS issue is something I've been unable to get to work perfectly for months, not to mention year. I even posted a message to you recently.

    I tried to use an old solution from the HE community instead of the MSR solution. The information it returns is much simpler, I had to add attributes to the drive, but the problem turns out to be the same, the NUT stops working, the communication between the UPS and the VM where the NUT is located is not stable. HE upsd drive result: Satale date.

    dev:1572025-01-24 08:21:16.586 PMinfo
    connected to upsd on 192.168.50.8:3493 - monitoring TrippLite every 30 seconds
    dev:1572025-01-24 08:21:01.183 PMinfo
    connected to upsd on 192.168.50.8:3493 - monitoring TrippLite every 30 seconds
    dev:1572025-01-24 08:20:31.149 PMerror
    telnet connect error: java.net.ConnectException: Connection refused (Connection refused)
    dev:1572025-01-24 08:20:01.110 PMinfo
    disconnected from upsd
    dev:1572025-01-24 08:20:00.082 PMerror
    telnet status: send error: Broken pipe (Write failed)
    dev:1572025-01-24 08:11:15.553 PMinfo
    connected to upsd on 192.168.50.8:3493 - monitoring TrippLite every 30 seconds
    dev:1572025-01-24 08:10:45.514 PMerror
    telnet connect error: java.net.ConnectException: Connection refused (Connection refused)
    dev:1572025-01-24 08:10:30.421 PMerror
    telnet connect error: java.net.ConnectException: Connection refused (Connection refused)
    dev:1572025-01-24 08:10:00.277 PMinfo
    disconnected from upsd
    dev:1572025-01-24 08:10:00.252 PMerror
    telnet status: receive error: Stream is closed
    dev:1572025-01-24 08:10:00.228 PMwarn
    upsd: Stale data
    dev:1572025-01-24 08:10:00.216 PMwarn
    upsd: Stale data
    dev:1572025-01-24 08:10:00.203 PMwarn
    upsd: Stale data
    dev:1572025-01-24 08:10:00.122 PMwarn
    upsd: Stale data
    dev:1572025-01-24 08:10:00.111 PMwarn
    upsd: Stale data
    dev:1572025-01-24 08:10:00.098 PMwarn
    upsd: Stale data
    dev:1572025-01-24 08:10:00.069 PMwarn
    upsd: Stale data
    dev:1572025-01-24 08:09:30.112 PMwarn
    upsd: Stale data
    dev:1572025-01-24 08:09:30.101 PMwarn
    upsd: Stale data
    

    In other words, after switching from MSR to HE control, the problem continues, changing the error Throttled to ECONNREFUSED.

    Making a new test, returning to the MSR's NUTControl configuration below, with the same parameters as the HE drive.

      - id: nut
        enabled: true
        implementation: NUTController
        name: NUT UPS Controller
        config:
          server: 192.168.50.8  # modify the IP address as needed
          port: 3493            # optional, default shown
          username: "Reactor"   # optional, no user auth if not set
          password: "Mac1967"   # optional, must be specified if username is used
    
    

    The error.log log on MSR is:

    [latest-25016]2025-01-25T02:10:03.776Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-25T02:10:05.800Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-25T02:10:07.807Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-25T02:10:07.815Z <Controller:ERR> Controller NUTController#nut is off-line!
    [latest-25016]2025-01-25T02:10:09.907Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-25T02:10:11.924Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-25T02:10:13.927Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-25T02:10:15.939Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-25T02:10:18.124Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-25T02:10:20.128Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-25T02:10:22.150Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-25T02:10:24.172Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-25T02:10:26.182Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    
    

    IMPORTANT, even with this error log, the NUT control in the MSR does not stop working, it persists until it manages to communicate and collect the data, but this error scenario overloads the MSR.

    Perhaps the time solution indicated by @tunnus could help.

    In addition, parts of the ro reactor.log:

    [latest-25016]2025-01-25T02:06:46.777Z <Structure:INFO> Structure#1 loading controller interface nut (NUTController)
    [latest-25016]2025-01-25T02:06:46.779Z <NUTController:null> Module NUTController v24303
    [latest-25016]2025-01-25T02:06:46.779Z <Controller:INFO> Loaded NUTController version "0.1.24303"; Patrick Rigney/Kedron Holdings LLC <patrick@toggledbits.com> https://reactor.toggledbits.com/docs/NUTC>
    [
    .
    .
    [latest-25016]2025-01-25T02:06:46.847Z <Structure:INFO> Starting controller NUTController#nut
    .
    .
    [latest-25016]2025-01-25T02:06:47.394Z <Engine:INFO> [Engine]Engine#1 master timer tick, local time "1/24/2025 9:06:47 PM" (TZ offset -300 mins from UTC)
    [latest-25016]2025-01-25T02:06:47.395Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.168.50.8":3493; waiting for ready...
    [latest-25016]2025-01-25T02:06:47.397Z <HubitatController:NOTICE> HubitatController#hubitatC7 performing initial connection and inventory
    [latest-25016]2025-01-25T02:06:47.398Z <HubitatController:NOTICE> HubitatController#hubitatC8 performing initial connection and inventory
    [latest-25016]2025-01-25T02:06:47.405Z <NUTController:INFO> NUTController#nut connected
    [latest-25016]2025-01-25T02:06:47.455Z <NUTController:INFO> NUTController#nut setting client username (Reactor) and password
    [latest-25016]2025-01-25T02:06:47.460Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.50.9
    [latest-25016]2025-01-25T02:06:47.511Z <Controller:NOTICE> Controller NUTController#nut is now online.
    [latest-25016]2025-01-25T02:06:47.511Z <NUTController:INFO> NUTController#nut client ready
    [latest-25016]2025-01-25T02:06:47.516Z <wsapi:INFO> wsapi: connection from ::ffff:192.168.50.133
    .
    .
    [latest-25016]2025-01-25T02:10:03.774Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.168.50.8":3493; waiting for ready...
    [latest-25016]2025-01-25T02:10:03.776Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-25T02:10:03.776Z <NUTController:INFO> NUTController#nut recycling/reconnecting in 2000ms (1 fails)
    [latest-25016]2025-01-25T02:10:03.777Z <NUTController:NOTICE> NUTController#nut connection closed
    [latest-25016]2025-01-25T02:10:03.777Z <NUTController:INFO> NUTController#nut recycling/reconnecting in 2000ms (1 fails)
    .
    .
    [latest-25016]2025-01-25T02:10:05.799Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.168.50.8":3493; waiting for ready...
    [latest-25016]2025-01-25T02:10:05.800Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-25T02:10:05.801Z <NUTController:INFO> NUTController#nut recycling/reconnecting in 2000ms (2 fails)
    [latest-25016]2025-01-25T02:10:05.801Z <NUTController:NOTICE> NUTController#nut connection closed
    [latest-25016]2025-01-25T02:10:05.802Z <NUTController:INFO> NUTController#nut recycling/reconnecting in 2000ms (2 fails)
    [latest-25016]2025-01-25T02:10:07.803Z <NUTController:NOTICE> NUTController#nut starting NUT client with "192.168.50.8":3493; waiting for ready...
    [latest-25016]2025-01-25T02:10:07.807Z <NUTController:ERR> NUTController#nut unable to establish communication with "192.168.50.8":3493: [Error] connect ECONNREFUSED 192.168.50.8:3493 [-]
    [latest-25016]2025-01-25T02:10:07.815Z <Controller:ERR> Controller NUTController#nut is off-line!
    [latest-25016]2025-01-25T02:10:07.816Z <NUTController:INFO> NUTController#nut recycling/reconnecting in 2000ms (3 fails)
    [latest-25016]2025-01-25T02:10:07.829Z <NUTController:NOTICE> NUTController#nut connection closed
    [latest-25016]2025-01-25T02:10:07.830Z <NUTController:INFO> NUTController#nut recycling/reconnecting in 2000ms (3 fails)
    

    IN SUMMARY:

    • the connection parameters IP, login and password are correct, in the log you can see that it connects.
    • NUTControl works until it starts a sequence of failures.
    • In order to re-establish the service, I put a stop and start process in the crontab every 10 minutes, the problem is that it can remain idle all this time and fail.
    • I've tried changing all the synchronization and reading times in the NUT parameters, I've even increased them to 90 seconds for data collection(ie. POLLFREQALERT 30 // HOSTSYNC 30), and it doesn't change the scenario, at a certain point there's saturation and the UPS stops responding.2

    So I think the idea of making the MSR have a different collection time, longer than other devices, can at least reduce the error log, but it doesn't solve the problem.

    Thanks.

    Multi-System Reactor

  • Throttled problem
    wmarcolinW wmarcolin

    @tunnus hi!
    I like what I've read, I think it could be a solution, but it's still not very clear how to configure it, since I want to save various attributes of the device.
    I'll try it out and post the result here for you, but it could be a way forward.
    Thank you.

    Multi-System Reactor

  • Throttled problem
    wmarcolinW wmarcolin

    Hi @toggledbits

    I found this very old post that talked about a way to limit device reading to avoid the throttled problem, because it's not a question of logic, it's that the device actually sends a lot of information, in my case the NUT ups installed in HE.

    https://smarthome.community/topic/687/flapping-device?_=1737652139854

    It mentions engine section of reactor.yaml by setting update_rate_limit, but I looked in the current MSR documentation and I can't find this information, so I don't know if it's still valid, its effect and parameters.

    My situation is simple, when I have a UPS problem the NUT is sending dozens of reports per second and then I have the throttled problem. The same rule applies when the power is normal.

    This is the rule, and the parameter that fails is the Tripp Lite UPS status.

    cf9ddabf-3144-4e5a-80a4-0dc7664b9573-image.png

    a813a077-974e-4737-897c-e383085b3d8f-image.png

    All error is the same scenario.

    [latest-25016]2025-01-23T12:01:32.753Z <Rule:WARN> (13) NUT Disconected (rule-l4djr0p7 in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Throttl>
    [latest-25016]2025-01-23T12:01:32.756Z <Rule:WARN> (27) Falta de Energia (rule-l4h9ceod in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Thrott>
    [latest-25016]2025-01-23T12:01:32.769Z <Rule:WARN> (73) UPS Battery Low (rule-l4hj850o in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Throttl>
    [latest-25016]2025-01-23T12:01:32.772Z <Rule:WARN> (74) UPS Comm Fail (rule-l4kbs5cp in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Throttlin>
    [latest-25016]2025-01-23T12:01:32.776Z <Rule:WARN> (76) UPS Utility Back (rule-l4hjhs6m in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Thrott>
    [latest-25016]2025-01-23T12:01:32.780Z <Rule:WARN> UPS On Battery (rule-l4hjuka5 in Datacenter) update rate 121/min exceeds limit (120/min)! Logic loop? Throttling>
    [latest-25016]2025-01-23T12:01:32.781Z <Rule:WARN> UPS Info (rule-l4gheo63 in Datacenter) update rate 121/min exceeds limit (120/min)! Logic loop? Throttling...
    [latest-25016]2025-01-23T12:01:40.757Z <Rule:WARN> (13) NUT Disconected (rule-l4djr0p7 in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Throttl>
    [latest-25016]2025-01-23T12:01:40.759Z <Rule:WARN> (27) Falta de Energia (rule-l4h9ceod in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Thrott>
    [latest-25016]2025-01-23T12:01:40.776Z <Rule:WARN> (73) UPS Battery Low (rule-l4hj850o in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Throttl>
    [latest-25016]2025-01-23T12:01:40.777Z <Rule:WARN> (74) UPS Comm Fail (rule-l4kbs5cp in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Throttlin>
    [latest-25016]2025-01-23T12:01:40.778Z <Rule:WARN> (76) UPS Utility Back (rule-l4hjhs6m in Warning) update rate 121/min exceeds limit (120/min)! Logic loop? Thrott>
    

    Thanks.

    Multi-System Reactor

  • Log files
    wmarcolinW wmarcolin

    @toggledbits

    Friend Santa Claus, please take care of yourself, I'm changing my Christmas request so that you and yours are safe and well! Don't worry about my request.

    Thanks.

    Multi-System Reactor

  • Log files
    wmarcolinW wmarcolin

    @toggledbits 🙂

    Instead of an icon in the widget, you could use the MSR Tools group to access these log files.

    Thanks

    Multi-System Reactor

  • Log files
    wmarcolinW wmarcolin

    @toggledbits

    As always, you are very quick and attentive; thank you.

    The point I mentioned about Windget having an icon to open plain text would be to show the log file in a browser. To see this file today, I have to use PuTTY, log in to my VM, search for the directory, and then open the file with Nano.

    I wanted a faster way to view the file in a browser without having to install Apache or a Python SimpleHTTPServer.

    Thanks.

    Multi-System Reactor

  • Log files
    wmarcolinW wmarcolin

    Hi!

    Is it possible to generate two additional log files, the first being the replica of what is displayed on screen by the Rule History widgets and the other with Recently Changed Entities?

    And could I configure the generation of one file per day, and delete the older ones? For example, store the last 5 days?

    And being more ambitious, does Windget have an icon to open these TXT files in the navigated?

    Well, we're approaching Christmas, so here's my request to Santa Claus @toggledbits 🙂

    Multi-System Reactor

  • Rule Execution Sequence
    wmarcolinW wmarcolin

    @toggledbits I understood, and I really understand that since the shutdown command doesn't return anything, this scenario is invalid and will remain in a constant loop.

    Breaking the action as @tunnus commented doesn't work either, the effect is the same.

    Ok, I'll try something then, like triggering a script that gives a return to the Reactor so that it understands that it has completed the task to continue.

    Is there any chance that the shell command triggered by the reactor might not wait for a return to proceed?

    Thank you.

    Multi-System Reactor

  • Rule Execution Sequence
    wmarcolinW wmarcolin

    Hi, @toggledbits!

    I have a question about the execution behavior. See the code below, and I'll explain the situation.

    12957c3e-ff06-46c9-929d-b53f936665df-image.png

    This is a routine that, at a certain point, determines that the desktop on which the VM hosting the Reactor is located receives an instruction to perform a shutdown (Shell Command).

    When this happens, the desktop is turned off, and then Hubitat detects by a "ping" that the VM has been down, waits 15 seconds, turns off the power to this desktop, and then 15 seconds later turns on the desktop with the Reactor VM again.

    After restarting the desktop, the VM is loaded, and the Reactor is triggered. Still, the following problem occurs: I expected that when the rule was continued to be executed again, the next step would be executed, that of the 900-second delay after shutdown, but the Shell command is executed again, and then it goes into a loop, the rule does not advance.

    To break the loop, I first have to make the VM not load, change the desktop password, and then start the VM. In this case, Reactor generates an error when trying to execute the Shell Command because of the invalid password and then finishes the routine following the 900 delay step.

    b58b0d4a-d6c1-4fe3-bab7-4222acea9607-image.png

    Is my interpretation that when it returns, the routine should continue to the next step that has not yet been executed incorrectly? Or does Reactor, through the shutdown command, interpret that it hasn't finished this step and keep trying, which is the correct reaction?

    Thanks for clarifying.

    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