[Released] Rule 4.0

This is what I ended up with.....seems to work well. The other example I posted you didnt work. I run my own virtual zone motion controllers to do things like this and specific cancellable times.

1 Like

Hi all,

I seem to be having the exact same problems as everyone else with motion sensors - but I dont get why mine is not working.

I have 2 motion sensors and a power monitor - basically I want that if either of the 2 motion sensors are tripped OR the power is >= 3 then set a flag (virtual switch) that we are still up - but if these conditions are not met, after 50 minutes, change the flag of Still Up to Off.

It sets the flag correctly (when I trigger the sensor) but wont reset the flag after an hour of no activity. What am I doing wrong?

stillup

Can you enable logging on the rule? I wonder if perhaps the power meter might be throwing it for a loop.

Did you ever get an answer to this? I'm trying to build a HTTP GET line to use the search function of my Sonos and I need to insert a variable in the URL.

It was ":" screwing things up in the %now% field. Other variables work fine.

How are you going to parse the response from your Sonos?

Were you ever able to get his working as a GET? I asked you in another thread and you mentioned something about time. I'd love to have a solution to:

If you set the URL formatting yourself, it still doesn't send the request? That's a little surprising. I would have thought that would have worked. The only solution I cam up with is to change over to sending POST messages instead of GET. That way I could send anything I wanted in the field since they'll be quoted.

image

I want to go back to RULE 3.0. Not a fan of 4.0 so far. Thing is I updated the firmware last night and it looks like I no longer have the option to create a 3.0 rule. How do I do that?

Thoughts? and THANKS!!!

Revert to an earlier platform version. Create a clone master as described by @bravenel here:

Then update to 2.1.5. You will have a permanent clone master to create Rule 3.0 rules.

1 Like

Thank you.

I am really struggling with rule 4.0
I get the if then else...but I want 2 conditional actions after 1 condition.

Select Actions for Home Lights ON when lux<500

IF ( NOT Mode is Night(T) [TRUE]) THEN
ELSE-IF (Illuminance of Illumination Sensor(250) is < 500(T) [TRUE]) THEN
On: Lights@Night
ELSE-IF (Illuminance of Illumination Sensor(250) is > 550(F) [FALSE]) THEN Off: Lights@Night END-IF

I am not sure if this is actually correct. What is better to do this multiple conditions? I do skip 50 lux to avoid lights on and off all the time if around a treshold value..
I also have to say that the interface is very confusing and pretty unforgiving if a line is placed in a wrong space. No real way to move a condition or action.

Feedback is appreciated and hopefully I will get the hang of this 4.0.

You want to use a nested IF rather than ELSE-IF, I think. Something like this:

IF ( NOT Mode is Night) THEN
    IF illumination < 500 THEN
        turn on lights
    ELSE
        turn off lights
    END-IF
END-IF

The ELSE could be an ELSE-IF, but it's not really necessary since that IF contains only 2 conditions.

thanks, there is a second condition..the illumination > 550. this rule above would only switch lights off at 500. Maybe the else must have the if added there?

Oh, got you. I misread your first post.

IF ( NOT Mode is Night) THEN
    IF illumination < 500 THEN
        turn on lights
    ELSE-IF illumination > 550 THEN
        turn off lights
    END-IF
END-IF
1 Like

You could also do a simple condition rather than a nested.

IF (Mode is Night) Exit rule
IF (illumination < 500) THEN
    turn on lights
ELSE-IF (illumination > 550) THEN
    turn off lights
END-IF
1 Like

thanks for the feedback!

And suppose I want to add another condition in this formula..I ask to learn to understand:

IF ( NOT Mode is Night) THEN
    IF illumination < 500 THEN
        turn on lights
    ELSE-IF illumination > 550 THEN
        turn off lights
    END-IF
END-IF

How could I add another one? Is the example below then correct?

IF ( NOT Mode is Night) THEN
    IF illumination < 500 THEN
        turn on lights
    ELSE-IF illumination > 550 THEN
        turn off lights
    ELSE-IF (illumination > 1000) THEN
      turn on THE robot (just a whatever comand linked to the same sensor)
    END-IF
END-IF

Or must I do something extra...I get the feeling that 2 ELSE-IF is incorrect to use?

You can have as many ELSE-IFs as makes sense for your logic. However, notice in what you just posted that the first ELSE-IF will always take the second one out of action. You probably need a more complex condition, such as illumination > 550 AND illumination <= 1000. Also, what happens if illumination is 525?

Hmmmm the idea is that when illumination is greater then 500 but below 550 that nothing happens..light that is on stays on and light that is off stays off depending the lux progress? a kind of do nothing value range? The trigger is lux value changes so that should work.

But I should think in this way?
if condition = A then
if condition 2 = B then action B
else-if condition 3 = C then action C
else-if condition 4 =D then action D
end-if
end-if

A=true then it will go to check B and if true nothing will continue due the else-if (or even else) If B is false then checking condition C and false leads to checking D.
If I use another IF instead of ELSE-IF then it will just run all the IFs regardless true/false of the previous IF?

I know that by not being a programmer, I need to get the thought process more clear here. I understand the simple IF-THEN-ELSE but struggle with multiple IF and ELSE-IF.
I do appreciate the help and feedback :slight_smile: