ich möchte einen Hue-Taster auswerten und switch-case ist übersichtlicher als es mit verschachtelten If zu machen.
Die KI meinte es gibt die Funktion auch in Blockly, aber ich finde es nicht. Kann mir da mal jemand auf die Sprünge helfen
Danke Talli
Code: Alles auswählen
rule "miniswitch_snzb01_01"
when
Channel 'mqtt:topic:danny:snzb0101:click' triggered //eckig
then
var GenericItem itZiel
val strReceivedEvent = String::format("%1$-6s", receivedEvent)
switch(receivedEvent) {
case "single" : itZiel = LidlLedLamp_01
case "double" : itZiel = Be2709w_01
case "long" : itZiel = zbminil2_01_state
default : {
logWarn("miniswitch_snzb01_01","Da ist was schief gegangen! Unbekanntes Event {} empfangen!", strReceivedEvent)
return;
}
}
var strLocation = getLocation(itZiel).label // Location Label ermitteln
val strOnOff = if(itZiel.state != ON) "ein" else "aus" // künftiger Zustand
val strItLabel = String::format("%1$-17s", itZiel.label)
logInfo("miniswitch_snzb01_01", "{} - {} {}geschaltet: {}", strReceivedEvent, strItLabel, String::format("%1$3s", strOnOff ), strLocation)
itZiel.sendCommand(if(itZiel.state != ON) ON else OFF)
end
Code: Alles auswählen
2026-05-26 20:47:11.439 [INFO ] [re.model.script.miniswitch_snzb01_01] - single - Birne Lidl LED 01 eingeschaltet: Zimmer York
2026-05-26 20:48:38.925 [INFO ] [re.model.script.miniswitch_snzb01_01] - single - Birne Lidl LED 01 ausgeschaltet: Zimmer York