Szene abfragen

Hallo,

wie kann ich meine erstellten Szene abfragen, ob diese momentan “aktiv” oder “nicht aktiv” sind?

GRuß
Robert

fibaro:isSceneEnabled(sceneID)

Name
Function name must be always the same: fibaro:isSceneEnabled

Application
Checks if the scene with a given sceneID is active.

Parameters
sceneID: scene ID number

Returned values
Boolean value: true – scene enabled, false – scene disabled

Weitere Infos bitte hier beziehen:

https://developer.fibaro.com/docs/fghc-luaapi

Gruß

Vielen Dank!

Wie stelle ich es aber sicher, das die Szene über eine andere Szene gestartet wird? Scheint gar nicht so leicht zu sein.

Gruß
Robert

Hi,

Je nach dem was du mit “sicherstellen” meinst.

Szenen lassen sich wie folgt starten (s.a. Boomx-Link):

fibaro:startScene(sceneID)

Name

Function name must be always the same: fibaro:startScene

Application

Starts an instance of a given scene (sceneID)

Parameters

sceneID: scene ID number

Returned values

None

Code example

– if ‘a’ is greater than 20, run scene (id=10)
if (a > 20) then
fibaro:startScene(10);
end

fibaro:killScenes(sceneID)

Name

Function name must be always the same: fibaro:killScenes

Application

Terminates all running instances of a given scene (sceneID)

Viele Grüße Hoggle

Was muss ich zwischen den folgenden Spalten eintragen, damit die Szene aufgerufen wird?

%% properties
%% events
%% global

Mein Programm, es funktioniert soweit, wenn ich es manuell starte. Aber ich möchte das die Szene automatisch aktiviert wird, wenn die Szene ID 4 aktiv ist.

–[[
%% properties
%% events
%% global
–]]

if (fibaro:countScenes(4) >= 1) then
fibaro:debug(‘Scene is running’);

fibaro:call(149, "setColor", "200","1","1","0");
fibaro:debug ("LICHT AN");
--fibaro:end(1000);


else
fibaro:debug ("keine Funktion");

end

Hallo Robert,

wenn Du die Szene nicht manuell starten möchtest, dann brauchst Du einen Trigger. Ein Trigger ist die Veränderung von Geräteeigenschaften oder globalen Variablen.
Durch welches Ereignis soll die Szene denn gestartet werden?

Hi,

wie Bastian bereits geschrieben hat, benötigst du grundsätzlich einen Trigger um die Szene automatisch starten zu lassen. In deiner Konstellation gibt es aber keinen (Szenen können nicht als Trigger dienen).

Deshalb musst du die Lösukg von Hoggle realisieren und die Szene über eine andere Stene mit dem oben gelisteten Aufruf starten.

Gruß

Hallo Bastian,

ich möchte die Alarmanlage über meine Fibaro App aktivieren. Hierzu habe ich eine Szene geschrieben. Wenn diese Szene aktiv ist, soll im Flur die RGBW - Birne rot leuchten.

GRuß
Robert

Hallo,

ich habe es gerade ausprobiert, wie es Boomx vorgeschlagen und es funktioniert :slight_smile:
Vielen Dank!

Hallo Robert,

dann ist der Ansatz mit der Szene aus der Szene vielleicht etwas sehr umständlich.

Fibaro funktioniert so, dass es auf Änderungen von Geräteeigenschaften oder Variablen reagiert. In Deinem Fall ist es die Änderung des Alarmstatus. Da dieser aber global nicht abgefragt werden kann, muss eine andere Änderung her. Im Falle der Alarmanlage ein leichtes Spiel, denn alle Sensoren die Du beim aktivieren der Alarmanlage scharf schaltest änderen ihren Status. Der Status der Einstellung armed ändert sich von 0 zu 1 sobald Du die Alarmanlage einschaltest. Am einfachsten ist es, wenn Du Dir einen Deiner Alarmsensore aussuchst und diesen als Trigger für die Szene verwendest. Ist der Sensor mit der ID 160 also beispielsweise ein Türkontakt musst Du in den Header der zu startenden Szene folgendes eintragen:

–[[
%% properties
160 armed
%% events
%% global
–]]

Damit wird die Szene gestartet, sobald sich armed des Türkontaktes verändert. Die Szene reagiert dann auf ein- und ausschalten des Alarm. Dies kannst Du Dir zunutze machen um die RGBW Birne beim Deaktivieren des Alarms wieder auszuschalten.

Hallo Bastian,

vielen Dank für dein Tip, aber ich habe die gewollte Situation nicht ganz erklärt.

  • Alarmanlage wird eingeschaltet, aber mit einem Verzug vom 60 Sekunden
  • In dieser Zeit (60 s) soll die Glühbirne rot werden, damit man optisch wahr nimmt, ich muss jetzt zügig das Haus verlassen, denn die Alarmanlage ist gleich aktiv.
  • Wenn die 60 Sekunden rum, soll die Glühbirne ausgehen.

Ich denke, jetzt ist einiges klar. Trotzdem vielen Dank nochmal!

Hallo Robert,

okay, verstanden. Dafür habe ich eine fertige Szene die sowohl bei Schärfen, als auch beim Entschärfen eine Benachrichtigung - Ton oder wie bei Dir Licht - ausgibt.

Kann man Szenen eigentlich auch mit ihrem Namen aufrufen?
Oder geht das nur mit der ID?

Hi,

das geht nur über die ID, da diese einmalig ist. Szenen können theoretisch auch gleich heißen.

Gruß

Alles klar, danke boomx!