Anfänger sucht licht an bei sonnenuntergang bis

Hallo,
ich bin totaler Anfänger und habe was versucht, geht aber nur ein bisschen.
Ich habe drei MotionSensoren, wenn ich diese scharf schalte, dann soll bei einer Auslösung das Licht angehen.
Das geht und sieht sehr einfach aus.
siehe angehängtes Bild.
Nun möchte ich aber, dass das Licht nur zwichen Sonnenuntergang und Sonnenaufgang angeschaltet wird.
Dazu habe ich auch schon zwei Variablen angelegt.
Ab hier fehlt mir der Überblick. Ich hab mir schon eine Szene mit Rolläden angeschaut, aber das überfordert mich.
Kann mir bitte einer auf die Sprünge helfen.

Vielen Dank an alle

IMG_1040.png

Hi,

schau Dir mal das für Deine Sonnenuntergangs-Variable (Time of Day) an:
https://www.siio.de/lichtsteuerung-teil-2-fibaro-tageszeiten-variable-via-lua-setzen/

VG Hoggle

Hallo Hoggle, danke für die schnelle Nachricht.
Das hab ich mir schon angesehen. Ich weiß aber trotzdem nicht wie ich meine Szene erweitern kann.
Meine Trigger sind ja die MotionSensoren die ja den zustand scharf einnehmen und bei Auslösung soll das licht angehen.
Muss ich nun die szene mit der Hue verbinden oder einfach die Szene ID mit der Hue aufrufen. bringt das was.
Gruß Secundani

Die Time of Day Variable kannst Du als zusätzliche BEdingung in Deine Abfrage integrieren.
Also WENN Motion 1 ausgelöst oder… UND ToD == Nacht DANN…

Guten Morgen Hoggle,
ich habe die Variable angelegt und nun versucht meine Szene anzupassen und hoffe ich habe es richtig gemacht.
kannst Du bitte mal drüber schauen.

--[[
%% autostart
%% properties
75 value
87 value
93 value
75 armed
87 armed
93 armed
%% weather
%% events
%% globals
TimeOfDay
--]]

local startSource = fibaro:getSourceTrigger();
if (
 ( (tonumber(fibaro:getValue(75, "value")) > 0 and tonumber(fibaro:getValue(75, "armed")) > 0)  or  (tonumber(fibaro:getValue(87, "value")) > 0 and tonumber(fibaro:getValue(87, "armed")) > 0)  or  (tonumber(fibaro:getValue(93, "value")) > 0 and tonumber(fibaro:getValue(93, "armed")) > 0)  and  fibaro:getGlobalValue("TimeOfDay") == "Evening"  or  fibaro:getGlobalValue("TimeOfDay") == "Night" )
or
startSource["type"] == "other"
)
then
	fibaro:call(21, "setSlider", "1", "99");
end

gibt es eine Möglichkeit in lua, das nicht alles in einer Zeile steht und ich es besser machen kann.

Gruß

Hi,
was in Zeile 18 steht, kannst Du auch durch Zeilenumbrüche trennen/übersichtlicher gestalten bzw auch mit Tab-Einschüben arbeiten.

VG Hoggle

Hi,

deine Trigger sind nicht korrekt gesetzt.Ich empfehle dir folgende Artikel zu lesen:

https://www.siio.de/szenen-im-fibaro-homecenter-einsteigerguide-teil-1/

https://www.siio.de/fibaro-homecenter-einsteigerguide-teil-2-getriggerte-szenen/

Gruß

Ich habe gedacht, wenn ich eine Szene aus dem Block in Lua ändere, dass dann die Trigger richtig sind.

Die Artikel hatte ich mir schon angesehen, aber da bin ich wohl noch zu unbedarft um sie richtig zu verstehen.
Nun habe ich die Motions in das Array gesetzt.
Ich würde dich bitten mir mal die richtige Einstellung zu zeigen, damit ich das besser verstehe.

--[[
%% autostart
%% properties
75 value
87 value
93 value
75 armed
87 armed
93 armed
%% weather
%% events
%% globals
TimeOfDay
--]]

local sensors = {75.87,93}

local startSource = fibaro:getSourceTrigger();
if (
 ( (tonumber(fibaro:getValue(75, "value")) > 0 and tonumber(fibaro:getValue(75, "armed")) > 0)  
      or  (tonumber(fibaro:getValue(87, "value")) > 0 and tonumber(fibaro:getValue(87, "armed")) > 0)  
      or  (tonumber(fibaro:getValue(93, "value")) > 0 and tonumber(fibaro:getValue(93, "armed")) > 0)  
      and  fibaro:getGlobalValue("TimeOfDay") == "Evening"  or  fibaro:getGlobalValue("TimeOfDay") == "Night" )
or
startSource["type"] == "other"
)
then
	fibaro:call(21, "setSlider", "1", "99");
end

Ich bitte dich nochmal die Artikel RICHTIG zu lesen. In dem Artikel steht nichts über Arrays oder sonst etwas. Bei dir sind die Trigger nicht richtig, oder soll die Szene beim Schärfen der Sensoren oder bei Änderungen der Variable TimeOfDay ausgeführt werden? Ist das eine Autostart-Szene? Ich denke eher nicht. Du hast hier schon die Blockszene nicht richtig konfiguriert, weshalb die LUA-Szene nicht besser wird. Dein Header muss folgendermaßen aussehen:

--[[
%% properties
75 value
87 value
93 value
%% weather
%% events
%% globals
--]]

Und nimm bitte das Array raus, dies wird nicht benötigt.

Gruß

Ich hoffe du verlierst nicht die Geduld mit mir.
Eventuell hab ich mich nicht richtig erklärt, was ich will.
ich habe in jedem Raum einen Motion und wenn ich über das Alarmpanel auf dem Handy scharf stell, dann soll bei Erkennung der Bewegung eine Hue angeschaltet werden.
Bis dahin funktioniert das auch in der Blockszene. Dem entsprechend ging ich von den richtigen Triggern aus.
Nun geht das Licht aber auch am Tag an.
Ich möchte aber das es nur angeht, wenn es dunkel ist.
Also denke ich das die Szene erst starten soll, wenn die Sensoren geschärft sind.
Wieso sind die Trigger in der Blockszene schon falsch?
Und ich habe den Artikel bereits mehrfach gelesen und mich daran orientiert. Nur das dort eben nur mit einem Motion gearbeitet wird und ich eben mit 3.
Gruß

Zu den Triggern habe ich jetzt genug (Zitat: “Bei dir sind die Trigger nicht richtig, oder soll die Szene beim Schärfen der Sensoren oder bei Änderungen der Variable TimeOfDay ausgeführt werden? Ist das eine Autostart-Szene? Ich denke eher nicht.”) geschrieben und im Artikel ist das auch eindeutig erklärt. Da bedarf es keiner weiteren Erklärung zu.

Du prüfst doch deine 3 MS in deinem Skript ab, von daher passt das. Hoggle hatte ja das Skript, wie die Variable TimeOfDay erstellt wird, bereits gepostet. Wenn der Wert dort korrekt hinterlegt ist, dann sollte das Skript so funktionieren.

Gruß

Hallo secundani,

schau dir mal den folgenden Post an:
https://www.siio.de/board/thema/tuersensor-licht-an-mit-fehlern/#post-59195

In dieser Szene verwende ich mehrere MS und mehrere Lichter… die Lichter werden auch nur “abends” bzw. “nachts” eingeschaltet.
Versuche erst einmal den code zu verstehen und dann deine wünsche (zusätzliche if-abfrage “armed”) anzupassen…

vg