Not enough room for settings

In order to create my desired rule (turning on living room lights, triggered by multiple motion sensors, and to different configurations according to time of day), I need to create several nested If statements. However, once I nest more than 2 levels, the input box for me to input the level of lights disappears, mainly because there is not enough room horizontally. Am I doing something wrong?

Maybe this is just a bug in the web software - perhaps I’m missing a change to “zoom in” to that block or expand the screen horizontally - there’s tons of room on each side but the blocks are a fixed size in the middle

1 Like

It’s not a bug. That’s what happens with multiple nested IFs. Most people use separate rules or somehow figure out how to not use so many nested IFs.

This is a real weakness in the UI (and not an entirely uncommon consequence of responsive web design) and is prominent on Desktop PCs, however, there are a couple of ways to work with this.

  1. Rethink your logic. This kind of nested piston logic was very common in webCoRE. If you’re moving from webCoRE, you may want to rethink your rule structures. Instead of nested IF/THEN/ELSE statements, you can in many instances use multiple sequential IF/THEN statements. The trick is to set one more variables under under THEN statement to use as conditions in your subsequent IF statements, i.e.,

IF CAT
THEN
–DO CAT STUFF
–SET VARIABLE catVariable to TRUE
ENDIF

IF catVariable IS FALSE
–AND DOG
THEN
–DO DOG STUFF
–SET dogVARIABLE TO TRUE
ENDIF

IF dogVariable IS FALSE
–AND catVariable IS FALSE
–AND TURTLE
THEN
–DO TURTLESTUFF
ENDIF

The above gives you a nice, easy to read vertical flow without all flows getting mushed in the process.

  1. Another very simple solution for editing on a PC. While editing, drag the right edge of the browser window to the left and narrow the window as far as it will let you. When you do this, all those IF/THEN/ELSE statement become vertically stacked and legible again, like this:

3 Likes

Yep, happened to me as well, with multiple if, the UI cannot be use as normal, we cannot be sure that our change are ok

It look like a responsive issue on the way the page is design

Thanks everyone, very helpful. Yes I am moving from Webcore. The other thing I miss is grouping conditions - e.g. if((A OR B) AND C), although I suppose I can use sequential If statments and variables to accomplish the same thing

You should be able to accomplish this by reversing the logic and using a nested if statement, no variables needed.

if (C) {
if (A or B) {
Do thing
}
}

1 Like