Skip to content
  • 0 Votes
    6 Posts
    290 Views
    cw-kidC

    OK thanks, I think that works!

    So I have two rules now the main 1st rule that detects Motion on the IP Camera and also a Virtual Switch must be True, those are the two triggers, this is the rule with the Actions in it.

    In the Constraints I am referencing the "Rule State" of the 2nd new rule and that must be False.

    ffb990d2-5b0f-419f-88e3-4cde28ed51b0-image.png

    This is the new 2nd rule and I have just used the Triggers with the "Changes" operator.

    So if any of these devices change their state within the X number of Seconds the OR group will be True thus the 1st main rule would NOT run its Actions in that case.

    But if none of these devices have changed their state within the X number of Seconds the OR group will be False thus the 1st main rule would run its Actions.

    e972131c-82e8-44b6-819f-dfe9a217692a-image.png

  • Reactor-Editor / Reactor-ui-Status Errors

    Locked Multi-System Reactor
    15
    0 Votes
    15 Posts
    883 Views
    V

    Thanks for the update and sorry about the timeout issue, I was not aware of it.

    Here is the requested rule:

    ac60b96d-b639-4baf-95d4-853332bc62be-image.png

    10cbe2e7-0af9-4ede-afa8-060b0f99befe-image.png

    f9282548-9462-4c52-a125-dc57fc9c3fa6-image.png

  • 0 Votes
    2 Posts
    286 Views
    toggledbitsT

    @vezinpi said in Reactor-Editor / Reactor-ui-Status Errors:

    Not sure that it is the same issue but just got this on built 24302 when running a reaction for testing purpose. Despite the error message, the reaction ran properly.

    That was fixed in 24343. The reaction apparently runs long (lots of delays?), so it was causing the API to time out waiting for the reaction to finish. All works differently in 24343 and beyond.

  • every X days field uneditable

    Locked Multi-System Reactor
    11
    0 Votes
    11 Posts
    478 Views
    G

    @tunnus yes, the rule is working and @toggledbits indicated as such (that it would work) but he raised a potential issue regarding the crossing of midnight that I was asking about there being a better approach.

  • 2 Votes
    1 Posts
    165 Views
    No one has replied
  • Darker Reactor style

    Locked Multi-System Reactor
    11
    1 Votes
    11 Posts
    685 Views
    therealdbT

    small update to align to 24343. https://gist.github.com/dbochicchio/825098ac13b7f8cac22012eae37ff7ce

  • Which user to install nodejs as ? Debian Linux

    Locked Multi-System Reactor
    20
    0 Votes
    20 Posts
    1k Views
    G

    @therealdb I have the hardware, just haven't had the time yet, to do exactly this.

  • OpenAI Controller for Reactor

    Locked Multi-System Reactor
    2
    1 Votes
    2 Posts
    222 Views
    therealdbT

    Thanks to @toggledbits for guidance and the new option to capture response from actions into variables. It was quite fun to write this controller!

  • Thanksgiving lighting took a holiday

    Locked Multi-System Reactor
    5
    0 Votes
    5 Posts
    362 Views
    G

    Ok, oddly, the correct lights came on last night. 🤷♂

  • [How-to] Managing holidays in Reactor

    How-To
    3
    0 Votes
    3 Posts
    287 Views
    therealdbT

    @gwp1 That's not too different from Easter. I have another virtual switch for the current program (as a string). it's set to default unless a specific program is found. My logic is quite easy:

    at 1 am, get the current holiday via webcal.guru/fixed dates. save it to a virtual entity. try to match current holiday with pre-defined light programs. save the value to a virtual entity. when dark, cycle every 15 minutes and randomize lights according to the current light program.

    For Christmas Time after Thanksgiving, you could set a virtual entity/global variable (Christmas Time) to true when it's Thanksgiving and run the corresponding lights only if both are not true. Then, the day after, you'll still have the variable/entity to true, but a different holiday. I have a fixed Christmas Time (1 Dec to 6 Jan), because that's the range we usually have in Italy, so it's easier for me.

    I was thinking of creating a specific Controller for Holiday Lights, integrated with webcal.guru or similar, but I fear what every one of us is doing is quite different.

  • Reference error - null object

    Locked Solved Multi-System Reactor
    4
    0 Votes
    4 Posts
    366 Views
    toggledbitsT

    @tunnus et al, please don't post screen shots of code/expressions or logs. Screen shots often end up displaying at a reduced size that makes them very difficult to read. Just copy-paste the actual text and use a fenced code block.

    To the question, as @therealdb said, judicious use of the coalesce operators will generally help here, particularly if you apply local knowledge of the desired outcome. There's another one that's often helpful when working with sources for numeric values that can be occasionally null:

    The ?# operator will take any left side expression and convert it to a number or the value on the right side, so someexp ?# -1 would produce -1 if the value of someexp can't be converted to a number or is null or NaN. In other words, the general form somexp ?# altval is shorthand for do local t=float(someexp), isvalue(t) ? t : altval done

    You can use this to produce, for example, an "off scale low" value that wouldn't trip a "greater than" operator on a trigger for a temporary missing value on an entity. This would let you write your expression more tightly as:

    round( getEntity( "..." )?.attributes?.current_sensor?.value ?# 0 * getEntity( "..." )?.attributes?.x_hubitat_extra_values?.voltagePhase1 ?# 0, 0 )

    Note that the ?# operator has higher precedence than the math operators (like * and +) so you don't need parentheses around the subexpression in this case.

    That said, if it's specifically zero you're after where there's a null, you may not need to do anything special, because the expression language follows the JavaScript semantics for null in arithmetic: null is treated as zero (e.g. null * 8 = 0 * 8 = 0 and null + 8 = 0 + 8 = 8). So this could be written even shorter as:

    round( getEntity( "..." )?.attributes?.current_sensor?.value * getEntity( "..." )?.attributes?.x_hubitat_extra_values?.voltagePhase1, 0 )
  • 0 Votes
    4 Posts
    388 Views
    therealdbT

    @gwp1 I removed the link. Let's see if @gregbowers is a bot or not 🙂

  • openLuup email server

    openLuup
    4
    0 Votes
    4 Posts
    412 Views
    A

    "AK: Your best bet would surely be to register a callback handler to listen for messages on a specific address?"

    Yep - that seems the most obvious method - just wanted to make sure I hadn't missed some other turn of events. With your own callback handler, you can clearly sort out any email encodings, etc.

    On the Doco - Goggle doesn't seem to index github io pages. Seems to me you need to have some sort of URL redirect, that looks like say https://smarthome.community/openluup, that would get indexed? ie via the web server set up or similar.

  • MSR UI on a mobile browser

    Locked Multi-System Reactor
    7
    0 Votes
    7 Posts
    499 Views
    toggledbitsT

    @mrFarmer said in MSR UI on a mobile browser:

    Toggling the hamburger menu shows most pages except status. That rarely shows a widget especially in landscape mode. I would not think about making or changing rules on a small screen, but being able to look at the status would be nice.

    Found and fixed for next build. That sent me on a bit of a mission to try to improve the general appearance on the UI, even if editing will never really be fully supported (it may work, but I'm not going to approach it as a "mobile first" redesign, because I don't think that makes sense for this project). Here are some examples of work so far.

    Screenshot_20241125_123614_Brave.jpg Screenshot_20241125_123645_Brave.jpg

    This is a Samsung Galaxy S24 phone. Reduced top (nav)bar, menu moved from left margin to top and stripped of text. Columns removed from lists at this size.

    Screenshot_20241125-123742.png Screenshot_20241125-123711.png

    This is Samsung Galaxy S2 tablet. At this size, the menu returns to the left side, but still without text.

    The Status widget problem is fixed, and in addition, there was an issue where the Status widgets would drag if you touched anywhere in them -- they're only supposed to drag from their headers. Touch is still not working great on the phone (smallest size), but I'm still chipping at it, trying to find a workaround (the gridstack library controls the touch behavior, so I'm at the mercy of their choices and issues).

  • 0 Votes
    2 Posts
    362 Views
    toggledbitsT

    Harmless. Just a warning. I'll see about quieting it for the next build.

  • High temperature sensor for Zigbee

    Zigbee
    3
    0 Votes
    3 Posts
    470 Views
    G

    To manage high temperatures (600°C) with Zigbee and Sonoff iHost, you can use a high-temperature thermocouple (like a K-type) with a MAX31855 or MAX6675 converter. Then, connect it to an ESP8266/ESP32 microcontroller with a Zigbee module (like Sonoff Zigbee). This way, you can read the temperature and integrate it into your automation stack via MQTT or HTTP.

  • New to Home Automation Looking for a Single app?

    Unsolved General Discussion
    7
    0 Votes
    7 Posts
    887 Views
    G

    @Adrian_B "a device" - so you're gonna leave us all hanging?

  • UZB/RaZberry Firmwares - Update

    Z-Wave.me
    45
    0 Votes
    45 Posts
    9k Views
    H

    I'll answer my own question for others benefit. I was able to successfully upgrade UZB from firmware 5.34 to 5.39 using Z-Way server and the all token to first downgrade and then upgrade following this path.

    5.34 → 5.33 → 5.27 → 5.36 → 5.39

    My bootloader version is 40196 and I did not upgrade the bootloader along the way, I started and ended with the same bootloader.

    I did a ResetAPI followed by a ControllerReset after each firmware downgrade/upgrade to ensure that I had a clean start. I also disabled all zwave device (unplugged/removed batteries) to ensure that any stray packets didn't interfere with the process. Be sure to backup your configuration/network before updating the firmware.

    After upgrading to 5.39 I'm now able to use the promiscuous mode in Z-Way zniffer to capture packets on the network (although it misses some packets)

    I did get a note from support, so those with firmware under 5.24 may want to pay heed to this.

    there is a batch of sticks with "dead-end" firmware and a slightly modified board topology. But given the fact that such sticks are usually impossible to upgrade above version 5.24, then you most likely have a good stick for which this operation will be possible.

  • Sending data to a USB port to interface with a wireless switch

    Unsolved General Discussion
    2
    0 Votes
    2 Posts
    472 Views
    therealdbT

    what kind of things do you need to send the USB port? because that's achievable with any language, and that's possibile with a Powershell script, to start with. but I think Excel VBA is not the right tool for the job and it's not easy to drive something from it.

  • Seeking Advice:

    Blogs
    1
    0 Votes
    1 Posts
    304 Views
    No one has replied

Recent Topics