Geräte in einer Schleife ausschalten

Hi,

ich möchte mir eine Routine schreiben, die beim Umschalten des Hausstatus auf sleeping, bestimmte Verbraucher kontrolliert und diese abschaltet. Mit den Wallplugs und RGBWs funktioniert das auch problemfrei, allerdings mit den Hues nicht. Ich möchte, dass im ersten Schritt kontrolliert wird, ob Verbraucher eingeschaltet sind und der Ausschaltbefehl auch nur an die aktivierten Verbraucher geht. Für die Wallplugs sieht das zb so aus.

wallIDs = {873, 944, 875, 923, 233, 776, 946}

function switchwalls(IDs, turnwalls)
for i=1, #IDs do
if (tonumber(fibaro:getValue(wallIDs[i], “value”)) == 1)
then
fibaro:call(IDs[i],turnwalls)
fibaro:debug(‘Wallplug mit der ID ‘…IDs[i]…’ geschaltet’)
fibaro:sleep(4000)
else
fibaro:debug(‘Wallplug mit der ID ‘…IDs[i]…’ bereits ausgeschaltet’)
fibaro:sleep(4000)
end
end
end

switchwalls(wallIDs, “turnOff”)

Der Befehl check wie gewollt die Wallplugs und schaltet aktive Wallplugs aus. Bei den Hues findet er auch die aktiven Hues, nur scheint der Befehl nicht zu funktionieren.
Mit dem SetSlider Befehl laesst sich sonst auch einzeln jede Hue ausschalten,halt nur in der Abfrage so nicht. Kann mir jemand sagen, wo das Problem unten liegt ?

huesIDs = {814, 816, 812, 811, 778, 815, 813}

function switchhues(IDs, turnhues)
for i=1, #IDs do
if (tonumber(fibaro:getValue(huesIDs[i], “ui.sldBrightness.value”)) > 0)
then
fibaro:call(IDs[i],turnhues)
fibaro:debug(‘Philips Hue mit der ID ‘…IDs[i]…’ geschaltet’)
fibaro:sleep(4000)
else
fibaro:debug(‘Philips Hue mit der ID ‘…IDs[i]…’ bereits ausgeschaltet’)
fibaro:sleep(4000)
end
end
end

switchhues(huesIDs, “setSlider”, “1”, “0”)

Oder kann ich den Befehl so nicht absetzen ?

         Flamos

Hi,
nein, so geht das nicht. Du übergibst 4 Parameter ((huesIDs, „setSlider“, „1“, „0“) an die Function, aber empfangen tust Du nur 2. Das heißt die Function bekommt nur die HuesIDs und ein setSlider. Da ich aber keine HUES habe kann ich nicht mehr dazu sagen.

Hi Jeep,

danke für Deinen Einwand, ich hab in der Funktion jetzt einfach anstelle von 2 dann jetzt 4 Parameter definiert und jetzt klappt es wie gewünscht. Danke für Deinen Gedankenanstoss.

        Flamos