Adjusting color temperature like a dimmer

I have a Pico remote to control my dining room chandelier, which has five Zigbee bulbs. I would like to be able to increase or decrease color temperature by pressing buttons. I can see how we can adjust dimming levels by a set percentage with a press of a button, but do not see how I can adjust color temperature that way.

I presume it is more than possible to do this -- can anyone share any advice on how to make it happen?

Thank you in advance!

That should be doable by button controller.

1 Like

Create a variable that you use for the CT. Increment/decrement the value on button presses.

3 Likes

Dimming is a bit easier for some devices because there are startLevelChange() and stopLevelChange() commands many such devices support, and all the work is (with rare exception, like LIFX) done on the device side, so you can do something like start dimming up or down on button press or hold and stop (wherever the level ends up being at that point) on release. Unfortunately for your case, no such thing exists for color temperature.

But, it would be pretty easy to create something yourself. Button Controller is an easy place to start, though you'll have to do a tiny bit of work outside this by creating a hub variable (of type Number) to store a value. Rule Machine can do this with local variables, but then your button things will be spread across multiple rule apps, so Button Controller may be a bit cleaner. Here's the general idea, no matter how you implement it:

For the button event to go "down"/warmer in color temperature:

Set variable to device attribute (bulb color temperature)
Set variable to variable - 200 (or whatever you want)
Set Color Temperature on bulb to variable

For the button event to go up, just do +200 instead of -200, or whatever values make sense to you. You could try to get a bit fancier by making sure these values stay within range of whatever your devices support (by adding conditional actions to check the new values), but this should get you started. Note also that this is just a button press (or hold or whatever event you assign to this action) that steps the color temperature up or down with each press or whatever--not a smooth "press and hold, then release to stop" thing. That would be a lot more work and may not work well since it risks flooding your network with commands (to constantly change CT) in a short time, but depending on your devices and mesh, it might.

Alternatively, you can do what I do and know a few other people do as well: just cycle through your favorite, predefined color temperatures with successive button presses (or assign them directly to different button events). Not what you're asking, but since I rarely want in-betweens, it works well for me. :smiley:

3 Likes

I use rule machine and store the current value in a variable called "intColorTemp." I use local. There is no reason to have it global as it reads the current value and sets it to the next increment.

The value cycles through a list of presets that I like. You could do something similar with a set of increments. But, you are going to want to be mindful of the min and max values you want (Or that the bulb actually works with). I made mine loop back to the lower color temperature if I was maxed out.

For the down button, I did the same thing in reverse.

Once you press the button, In the first (BIG) if block, it cycles to the next value and stores it in "intColorTemp".

The final separate "IF block" is because I only want it to adjust the light if it is actually on. I am actually controlling two sets of lights. So, I only want it to control whichever one is on (or both if they are both on). There is another if block for the other set below it that is identical. But, I did not want to confuse too much. It just activates the color temp stored in the variable IF the light is already on.

ColorTempDimmerRuleUp

ColorTempDimmerRuleDown

LocalVariableSetup

1 Like

The others have given you good answers - using a variable is the way to go. To cycle, you need to use bounds that correspond to the lowest and highest CT value for your zigbee bulbs.

For example, if your bulb goes from 1500-9000K (like LIFX bulbs), those numbers would correspond to the bounds. So to cycle using a Pico, you'd need something like this:

if variable > 9000, set variable to 1500
if variable < 1500, set variable to 9000
1 Like

Allβ€” thank you so much!! Will give it a shot tonight!

1 Like

This is my first time attempting to work with variables, so please forgive my novice questions!

How do I define the local variable? Within Button Controller, I do not see where to do it.

When you create a new rule, you can create a local variable. See below.

If you want to share a variable between rules, then create a Hub variable from the Settings screen.

1 Like

Here's a complete functional rule that does what you went - the CT is raised or lowered in steps of 300, when button 2 or button 4 of a Pico remote is pushed.

If you want to import it, you can use the JSON pasted below.

Pico CT Controller

{"deviceReplacements":{"4654":{"deviceName":"Guest Nightstand on HubitatM","deviceLabel":"Guest Nightstand","deviceTypeName":"Group Bulb Dimmer-2.1","deviceTypeNamespace":"hubitat"},"22":{"deviceName":"13","deviceLabel":"Guest Bedroom Pico","deviceTypeName":"Lutron Pico","deviceTypeNamespace":"hubitat"}},"appReplacements":{"5784":{"appTypeName":"Rule-5.1","appTypeNamespace":"hubitat","appType":"sys","appName":"Rule-5.1","appLabel":"Pico CT Controller","parentAppInstalledAppId":"5523","parentAppTypeName":"Rule Machine","parentAppTypeNamespace":"hubitat","parentAppName":"Rule Machine","parentAppLabel":"Rule Machine","childApps":{},"singleInstance":false}},"appData":{"5784":{"state":{"parens":{"1":0},"actionDone":true,"ndx":8,"dateFormat":"yyyy-MM-dd","installedRules":[],"nestedBlock":[],"clonedName":"Pico CT Controller","oldConst2":300,"tCustomAttrType.1":"NUMBER","selectActionsParams":{"label":"Pico CT Controller"},"editCondIf":null,"waitDone":{},"stopOnST":false,"usesTime":false,"nestedIf":[],"inIf":null,"trigCustoms":[],"repeating":null,"capabDone":true,"skipping":false,"lastEvtName":"Guest Bedroom Pico","locationBlocked":[],"pbFixed":true,"inRepIf":null,"ruleNdx":2,"actionList":["1","3","4","11","5","6","7","8","9","10"],"firstR":{"1":false},"timeTriggers":[],"locVars":{"CT":{"attribute":null,"type":"Number","value":3000,"deviceId":null}},"allVarsO":["CT"],"actLabelIndent":"","varSettingsUpdated":true,"certainTimes":[],"allVarsS":[],"allVarsT":[],"oldConst":null,"prevState":{"CT":5300,"PB":"true","22:pushed":4},"blockIf":false,"eval":{"1":[3]},"lastEvtText":"Guest Bedroom Pico button 4 was pushed [physical]","capabstrue":{"1":"Guest Bedroom Pico button 2 pushed","2":"Guest Bedroom Pico button 4 pushed"},"installedCapabs":["Configuration","RelativeHumidityMeasurement","ColorMode","HealthCheck","Initialize","PowerSource","SpeechSynthesis","Momentary","DoubleTapableButton","Light","TamperAlert","Battery","Valve","CarbonMonoxideDetector","ZwMultichannel","PresenceSensor","ColorControl","SignalStrength","Polling","ChangeLevel","PowerMeter","Switch","IlluminanceMeasurement","Tone","Bulb","Sensor","WaterSensor","EnergyMeter","ThreeAxis","VoltageMeasurement","ContactSensor","Notification","Refresh","ReleasableButton","ColorTemperature","SwitchLevel","HoldableButton","MotionSensor","DoorControl","Outlet","Telnet","UltravioletIndex","Actuator","Thermostat","AudioVolume","LockCodes","PressureMeasurement","PushableButton","GarageDoorControl","Lock","TemperatureMeasurement","AccelerationSensor","Alarm","SmokeDetector","Chime"],"nestedSkipAll":[],"skipType":"if","lastEvtDate":"2022-08-01","nestedInIf":[],"actions":{"11":{"wait":null,"delay":"","modes":{},"method":"getSetVariable","indent":"\\t","rule":null,"label":"\\tIF (Variable CT<span style='color:black'>(3000)</span> > 9000<span style='color:orange'> FALSE</span>) Set CT to 1500\\n","cond":7},"1":{"wait":null,"delay":"","modes":{},"method":"getSetVariable","indent":"","rule":null,"label":"Set CT to Guest Nightstand colorTemperature<span style='color:black'>(3500)</span>\\n","cond":0},"3":{"wait":null,"delay":"","modes":{},"method":"getIfThen","indent":"","rule":1,"label":"IF (Last Event Device pushed = 2.0<span style='color:orange'>(F)</span><span style='color:orange'> [FALSE]</span>) THEN\\n","cond":0},"4":{"wait":null,"delay":"","modes":{},"method":"getSetVariable","indent":"\\t","rule":null,"label":"\\tSet CT to (CT<span style='color:black'>(3000)</span> + 300)\\n","cond":0},"5":{"wait":null,"delay":"","modes":{},"method":"getSetColorTemp","indent":"\\t","rule":null,"label":"\\tColor Temperature: Guest Nightstand: CT<span style='color:black'>(3000)</span> -> Level: 100\\n","cond":0},"6":{"wait":null,"delay":"","modes":{},"method":"getElse","indent":"\\t","rule":null,"label":"ELSE\\n","cond":0},"7":{"wait":null,"delay":"","modes":{},"method":"getSetVariable","indent":"\\t","rule":null,"label":"\\tSet CT to (CT<span style='color:black'>(3000)</span> - 300)\\n","cond":0},"8":{"wait":null,"delay":"","modes":{},"method":"getSetVariable","indent":"\\t","rule":null,"label":"\\tIF (Variable CT<span style='color:black'>(3000)</span> < 1500<span style='color:orange'> FALSE</span>) Set CT to 9000\\n","cond":6},"9":{"wait":null,"delay":"","modes":{},"method":"getSetColorTemp","indent":"\\t","rule":null,"label":"\\tColor Temperature: Guest Nightstand: CT<span style='color:black'>(3000)</span> -> Level: 100\\n","cond":0},"10":{"wait":null,"delay":"","modes":{},"method":"getEndIf","indent":"","rule":null,"label":"END-IF\\n","cond":0}},"usesDate":false,"actNdx":12,"lastEvtValue":"4","allVarsGT":[],"installed":true,"waitEvents":[],"private":"true","waitNdx":{},"rCustomAttrType_3":"NUMBER","allVars":{"CT":{"attribute":null,"type":"Number","value":3000,"deviceId":null}},"simpleCond":false,"changedValues":true,"nestedRepIf":[],"lastEvtTime":"19:30","condOper":"cond","nestedElse":[],"allVarsI":["CT"],"formerState":"CT","varTriggersFixed":true,"skipAll":null,"needWaitCancel":false,"cutAction":[],"allVarsD":["CT"],"broken":false,"stopped":false,"rulesList":[],"nestedLabel":[],"oldInputAct":true,"inputAct":true,"lastEvtDevId":"22","lv_CT":{"name":"CT","attribute":null,"type":"integer","value":5300,"deviceId":null},"waitCondNdx":1,"token":0,"hasElse":null,"capabsfalse":{"3":"Last Event Device pushed = 2.0","6":"Variable CT<span style='color:black'>(3000)</span> < 1500","7":"Variable CT<span style='color:black'>(3000)</span> > 9000"},"stPrimed":true,"timeTriggersW":{},"allLocalVars":{"CT":{"attribute":null,"type":"integer","value":3000,"deviceId":null}},"varSettingsOld":{},"timeFormat":"HH:mm","olddValues":true,"needWaitDone":false},"appSettings":[{"deviceList":null,"multiple":true,"name":"copyAct","type":"enum","value":null},{"deviceList":null,"multiple":false,"name":"actSubType.6","type":"enum","value":"getElse"},{"deviceList":null,"multiple":false,"name":"butEndIf","type":"button","value":""},{"deviceList":null,"multiple":false,"name":"actSubType.7","type":"enum","value":"getSetVariable"},{"deviceList":null,"multiple":false,"name":"uVar3.9","type":"bool","value":""},{"deviceList":null,"multiple":false,"name":"actSubType.8","type":"enum","value":"getSetVariable"},{"deviceList":null,"multiple":true,"name":"disableAct","type":"enum","value":null},{"deviceList":null,"multiple":false,"name":"actSubType.9","type":"enum","value":"getSetColorTemp"},{"deviceList":null,"multiple":false,"name":"cond","type":"enum","value":null},{"deviceList":null,"multiple":false,"name":"uVar3.5","type":"bool","value":""},{"deviceList":null,"multiple":false,"name":"varType","type":"enum","value":""},{"deviceList":null,"multiple":false,"name":"actSubType.1","type":"enum","value":"getSetVariable"},{"deviceList":null,"multiple":false,"name":"tstate1","type":"enum","value":"pushed"},{"deviceList":null,"multiple":false,"name":"tstate2","type":"enum","value":"pushed"},{"deviceList":null,"multiple":false,"name":"actSubType.3","type":"enum","value":"getIfThen"},{"deviceList":null,"multiple":false,"name":"actSubType.4","type":"enum","value":"getSetVariable"},{"deviceList":null,"multiple":false,"name":"butElse","type":"button","value":""},{"deviceList":null,"multiple":false,"name":"actSubType.5","type":"enum","value":"getSetColorTemp"},{"deviceList":null,"multiple":false,"name":"xVarV.11","type":"enum","value":"CT"},{"deviceList":null,"multiple":false,"name":"actType.1","type":"enum","value":"modeActs"},{"deviceList":null,"multiple":false,"name":"editToken","type":"button","value":""},{"deviceList":null,"multiple":false,"name":"uVar.4","type":"bool","value":"true"},{"deviceList":null,"multiple":false,"name":"xVar_7","type":"enum","value":"CT"},{"deviceList":null,"multiple":false,"name":"uVar.5","type":"bool","value":"true"},{"deviceList":null,"multiple":false,"name":"xVar_6","type":"enum","value":"CT"},{"deviceList":null,"multiple":false,"name":"hbVar","type":"text","value":""},{"deviceList":null,"multiple":false,"name":"useCond.2","type":"bool","value":""},{"deviceList":null,"multiple":false,"name":"uVar.9","type":"bool","value":"true"},{"deviceList":{"4654":"Guest Nightstand"},"multiple":false,"name":"customDev.1","type":"capability.*","value":null},{"deviceList":null,"multiple":false,"name":"delayAct.7","type":"enum","value":"none"},{"deviceList":null,"multiple":false,"name":"editGV~CT","type":"button","value":""},{"deviceList":null,"multiple":false,"name":"delayAct.8","type":"enum","value":"none"},{"deviceList":null,"multiple":false,"name":"delayAct.9","type":"enum","value":"none"},{"deviceList":null,"multiple":false,"name":"xVar4.4","type":"enum","value":"(constant)"},{"deviceList":null,"multiple":false,"name":"useCond.8","type":"bool","value":""},{"deviceList":null,"multiple":false,"name":"valMathOp.4","type":"enum","value":"+"},{"deviceList":null,"multiple":false,"name":"xVar.9","type":"enum","value":"CT"},{"deviceList":null,"multiple":false,"name":"valMathOp.7","type":"enum","value":"-"},{"deviceList":null,"multiple":false,"name":"xVar4.7","type":"enum","value":"(constant)"},{"deviceList":null,"multiple":false,"name":"actType.3","type":"enum","value":"condActs"},{"deviceList":null,"multiple":true,"name":"logging","type":"enum","value":null},{"deviceList":null,"multiple":false,"name":"editCond","type":"enum","value":""},{"deviceList":null,"multiple":false,"name":"xVar.5","type":"enum","value":"CT"},{"deviceList":null,"multiple":false,"name":"delayAct.1","type":"enum","value":"none"},{"deviceList":null,"multiple":false,"name":"xVar.4","type":"enum","value":""},{"deviceList":null,"multiple":false,"name":"actType.5","type":"enum","value":"dimmerActs"},{"deviceList":null,"multiple":false,"name":"actType.4","type":"enum","value":"modeActs"},{"deviceList":null,"multiple":false,"name":"actType.7","type":"enum","value":"modeActs"},{"deviceList":null,"multiple":false,"name":"delayAct.4","type":"enum","value":"none"},{"deviceList":null,"multiple":false,"name":"actType.6","type":"enum","value":""},{"deviceList":null,"multiple":false,"name":"updateRule","type":"button","value":""},{"deviceList":null,"multiple":false,"name":"delayAct.5","type":"enum","value":"none"},{"deviceList":null,"multiple":false,"name":"actType.9","type":"enum","value":"dimmerActs"},{"deviceList":null,"multiple":false,"name":"hasRule","type":"button","value":""},{"deviceList":null,"multiple":false,"name":"actType.8","type":"enum","value":"modeActs"},{"deviceList":null,"multiple":false,"name":"cancelGV","type":"button","value":""},{"deviceList":{"22":"Guest Bedroom Pico"},"multiple":false,"name":"rDev_3","type":"capability.*","value":null},{"deviceList":null,"multiple":false,"name":"rCustomAttr_3","type":"enum","value":"pushed"},{"deviceList":null,"multiple":false,"name":"uVar2.5","type":"bool","value":""},{"deviceList":null,"multiple":false,"name":"uVar2.4","type":"bool","value":""},{"deviceList":null,"multiple":false,"name":"tCustomAttr.1","type":"enum","value":"colorTemperature"},{"deviceList":null,"multiple":false,"name":"uVar2.9","type":"bool","value":""},{"deviceList":null,"multiple":false,"name":"pointless","type":"button","value":""},{"deviceList":null,"multiple":true,"name":"cutAct","type":"enum","value":null},{"deviceList":null,"multiple":false,"name":"valConst2.7","type":"number","value":"300"},{"deviceList":null,"multiple":false,"name":"valConst2.4","type":"number","value":"300"},{"deviceList":null,"multiple":false,"name":"refresh","type":"button","value":""},{"deviceList":null,"multiple":false,"name":"xVar3.4","type":"enum","value":"CT"},{"deviceList":null,"multiple":false,"name":"moreVar","type":"button","value":""},{"deviceList":null,"multiple":false,"name":"ctFade.5","type":"number","value":""},{"deviceList":null,"multiple":false,"name":"xVar3.7","type":"enum","value":"CT"},{"deviceList":null,"multiple":false,"name":"ctFade.9","type":"number","value":""},{"deviceList":null,"multiple":true,"name":"deleteAct","type":"enum","value":null},{"deviceList":null,"multiple":false,"name":"ctLevel.4","type":"number","value":""},{"deviceList":null,"multiple":false,"name":"oper","type":"enum","value":null},{"deviceList":null,"multiple":false,"name":"ctLevel.5","type":"number","value":"100"},{"deviceList":null,"multiple":false,"name":"ctLevel.9","type":"number","value":"100"},{"deviceList":null,"multiple":false,"name":"tCapab1","type":"enum","value":"Button"},{"deviceList":null,"multiple":false,"name":"isVar_7","type":"bool","value":""},{"deviceList":null,"multiple":false,"name":"tCapab2","type":"enum","value":"Button"},{"deviceList":null,"multiple":false,"name":"isVar_6","type":"bool","value":""},{"deviceList":null,"multiple":false,"name":"actionDone","type":"button","value":""},{"deviceList":null,"multiple":false,"name":"isVar_3","type":"bool","value":""},{"deviceList":null,"multiple":false,"name":"actSubType.10","type":"enum","value":"getEndIf"},{"deviceList":null,"multiple":false,"name":"tCapab3","type":"enum","value":""},{"deviceList":null,"multiple":false,"name":"actSubType.11","type":"enum","value":"getSetVariable"},{"deviceList":null,"multiple":false,"name":"xVarV.7","type":"enum","value":"CT"},{"deviceList":null,"multiple":false,"name":"xVarV.8","type":"enum","value":"CT"},{"deviceList":null,"multiple":false,"name":"valNumber.11","type":"number","value":"1500"},{"deviceList":null,"multiple":false,"name":"useST","type":"bool","value":""},{"deviceList":null,"multiple":false,"name":"xVarV.1","type":"enum","value":"CT"},{"deviceList":null,"multiple":false,"name":"valNumber.8","type":"number","value":"9000"},{"deviceList":null,"multiple":false,"name":"xVarV.4","type":"enum","value":"CT"},{"deviceList":null,"multiple":false,"name":"deleteGV~CT","type":"button","value":""},{"deviceList":null,"multiple":false,"name":"refreshActions","type":"button","value":""},{"deviceList":null,"multiple":false,"name":"dValues","type":"bool","value":"true"},{"deviceList":null,"multiple":false,"name":"ButtontDev2","type":"number","value":"4"},{"deviceList":null,"multiple":false,"name":"ButtontDev1","type":"number","value":"2"},{"deviceList":null,"multiple":false,"name":"hasAll","type":"button","value":""},{"deviceList":null,"multiple":false,"name":"cancelCapab","type":"button","value":""},{"deviceList":null,"multiple":false,"name":"RelrDev_3","type":"enum","value":"="},{"deviceList":null,"multiple":false,"name":"ctL.4","type":"number","value":""},{"deviceList":null,"multiple":false,"name":"ctL.5","type":"number","value":""},{"deviceList":null,"multiple":false,"name":"numOp.7","type":"enum","value":"variable math"},{"deviceList":null,"multiple":false,"name":"RelrDev_6","type":"enum","value":"<"},{"deviceList":null,"multiple":false,"name":"numOp.8","type":"enum","value":"number"},{"deviceList":null,"multiple":false,"name":"RelrDev_7","type":"enum","value":">"},{"deviceList":null,"multiple":false,"name":"ctL.9","type":"number","value":""},{"deviceList":null,"multiple":false,"name":"numOp.1","type":"enum","value":"device attribute"},{"deviceList":null,"multiple":false,"name":"origLabel","type":"text","value":"Pico CT Controller"},{"deviceList":null,"multiple":false,"name":"eraseRule","type":"button","value":""},{"deviceList":null,"multiple":false,"name":"numOp.4","type":"enum","value":"variable math"},{"deviceList":null,"multiple":false,"name":"delayAct.11","type":"enum","value":"none"},{"deviceList":null,"multiple":false,"name":"delete","type":"enum","value":""},{"deviceList":null,"multiple":false,"name":"actType.10","type":"enum","value":""},{"deviceList":{"22":"Guest Bedroom Pico"},"multiple":true,"name":"tDev2","type":"capability.pushableButton","value":null},{"deviceList":{"4654":"Guest Nightstand"},"multiple":true,"name":"ct.9","type":"capability.colorTemperature","value":null},{"deviceList":{"22":"Guest Bedroom Pico"},"multiple":true,"name":"tDev1","type":"capability.pushableButton","value":null},{"deviceList":null,"multiple":false,"name":"actType.11","type":"enum","value":"modeActs"},{"deviceList":{"4654":"Guest Nightstand"},"multiple":true,"name":"ct.5","type":"capability.colorTemperature","value":null},{"deviceList":null,"multiple":false,"name":"actionCancel","type":"button","value":""},{"deviceList":{"4654":"Guest Nightstand"},"multiple":true,"name":"ct.4","type":"capability.colorTemperature","value":null},{"deviceList":null,"multiple":false,"name":"numOp.11","type":"enum","value":"number"},{"deviceList":null,"multiple":false,"name":"state_7","type":"number","value":"9000"},{"deviceList":null,"multiple":false,"name":"comments","type":"textarea","value":""},{"deviceList":null,"multiple":false,"name":"state_6","type":"number","value":"1500"},{"deviceList":null,"multiple":false,"name":"useCond.11","type":"bool","value":""},{"deviceList":null,"multiple":false,"name":"state_3","type":"decimal","value":"2"},{"deviceList":null,"multiple":false,"name":"rCapab_3","type":"enum","value":"Last Event Device"},{"deviceList":null,"multiple":false,"name":"not6","type":"bool","value":""},{"deviceList":null,"multiple":false,"name":"varValue","type":"number","value":null},{"deviceList":null,"multiple":false,"name":"not3","type":"bool","value":""},{"deviceList":null,"multiple":false,"name":"not7","type":"bool","value":""},{"deviceList":null,"multiple":false,"name":"rCapab_7","type":"enum","value":"Variable"},{"deviceList":null,"multiple":false,"name":"rCapab_6","type":"enum","value":"Variable"},{"deviceList":null,"multiple":false,"name":"actType.12","type":"enum","value":""},{"deviceList":null,"multiple":false,"name":"insertAct","type":"enum","value":""},{"deviceList":null,"multiple":false,"name":"editAct","type":"enum","value":""}],"subscriptions":[{"handler":"allHandlerX","name":"pushed.2","type":"DEVICE","typeId":22,"typeName":"Guest Bedroom Pico","filter":"true"},{"handler":"allHandlerX","name":"pushed.4","type":"DEVICE","typeId":22,"typeName":"Guest Bedroom Pico","filter":"true"}]}}}

2 Likes

You can't; Button Controller doesn't support local variables. If you want a local variable, you can use Rule Machine, but you'd need a separate rule for each button event you want to respond to. (Button Controller groups them all under one "child app," though there is still technically a "grandchild app" for each button number/event combo.) You'll have to use a hub variable if you want to use a variable in Button Controller. A bit overkill, but it works. :smiley: Otherwise, Rule Machine technically works, too, just a bit differently (though the UI is pretty similar otherwise).

1 Like

Why? Can you not use conditional actions - I did so in the sample rule I posted. It only responds to button 2 and 4 of a Pico, but in principle could do all of the five.

1 Like

Yeah, I suppose that works. The approach just seems messier to me than triggering on the specific event you want (since there is one) compared to having to use conditional actions to figure things out ... but logically, it should work. :smiley:

2 Likes

I have all my button events in one rule. They are separate triggers and no conditionals are needed other than what I want the button to do. This is not all that different than the button controller creating child apps. I actually find rule machine easier as the button presses are all in one rule.

RuleMachineButtons

So...this was possible in earlier Rule Machine versions. It is no longer available in Rule 5.x, in favor of the new Button Controller app. They did once replace Button Controller with this RM feature (in an effort to simplify; both had been around a while), then changed their mind. :slight_smile:

Ahhh, I haven't upgraded my rules as they all work well.

Got this to work! Really appreciate the help!

1 Like