Begehbarer Kleiderschrank und Licht

Nach Lektüre des Artikels zu den LED Stripes konnte ich nicht anderes und habe die verlinkte RGBW Stripe gekauft und in den begehbaren Kleiderschrank montiert. Das ganze wird mit dem ebenfalls dazu bestellten RGBW Controller von Fibaro betrieben (Irgendwo hatte ich hier gelesen, dass die Beschäftigung mit dem Thema einen Suchtfaktor hat, bei mir triggert die Automatisierung auf jeden Fall Folgeinvestitionen und krude Anwendungsideen). Interessant am Rande: Die Farben Rot und Grün waren bei dem Stripe vertauscht oder vielmehr, die Kabel waren falsch abgelötet.
Nun aber zur Szene. Ich habe mir die beiden Artikel zur perfekten Lichtsteuerung zur Brust genommen. Sie sind diesen Zweck to much. Was soll bewirkt werden? Tür auf, Bewegung erkannt, LED Stripe an, keine Bewegung für 4 Minuten erkannt, Licht wieder aus.
Der erste Ansatz war, die Auslösung des Motionsensors für das Einschalten zu nutzen und dann zeitverzögert auszuschalten, mehrere Instanzen zulassen und somit Folgebewgung zum erneuten triggern der Szene zu nutzen. ALternativ dachte ich über den Safestatus nach. Ich bin mit diesem Skript nicht glücklich:
`–[[
%% properties
235 value
%% events
%% globals
–]]

local startSource = fibaro:getSourceTrigger();
if (
( tonumber(fibaro:getValue(235, “value”)) > 0 )
or
startSource[“type”] == “other”
)
then
fibaro:call(240, “turnOn”);
setTimeout(function()
fibaro:call(240, “turnOff”);
end, 240000)
end

Hierbei laufe ich Gefahr, dass die Instanzen nicht reichen oder ich enfach unnütz Kapazität seitens HC2 in diesen Vorgang investiere.
Hat jemand ein Beispiel für eine einfache Lichtsteuerung, die besser funktioniert. Alles bisherigen Beispiele sind für meinen Lernstatus (noch) zu komplex.

Herzlichen Dank im Voraus.

Hi,

Du kannst auch eine einfache Blockszene nehmen (Licht an wenn susgelöst) und stellst den Parameter 6 (?) auf vier Minuten.
Licht aus wenn Sichet.

Viele Grüße Hoggle

Lieber Hoggle, danke schon einmal für Deine Antwort. Mit dem Zustand “gesichert” habe ich auch schon experimentiert. Mir ist die korrekte Verwendung noch nicht ganz transparent. Wenn ich das als Blockszene mache und den Zustand “gesichert” verwenden möchte, wir mir nur scharf, unscharf oder scharf stellen erzwingen angeboten. Dies liegt scheinbar an der Platzierung des Moduls in dieser Blockszene. Ich habe es so versucht:

“wenn”

  1. Auslösen
    “Dann”
  2. Licht an
  3. gesichert (240 s nach der letzten Auslösung)
  4. Licht aus

oder kommt der Sicherungszustand zu “wenn”?

Hi,

in meiner Anfangszeit habe ich das mit zwei Szenen damals gemacht.
Parameter 6 des Motion Eyes steuert dabei, wie lange keine Bewegung sein soll, bevor “Safe” gesendet wird und das Ding wieder aus geht (2. Szene).

VG Hoggle

Block-Licht-AN.png

Block-Licht-Parameter-6.png

Licht-Scripte gibt es ja viele,
Hier mal ein “anderer” Ansatz:

http://forum.fibaro.com/index.php?/topic/21240-sharing-code/#entry87809

Das ist tatsächlich mal ganz anders. Das weicht sehr stark von den Lösungen wie z.B. in der perfekten Lichtsteuerung ab. Ich bin nicht in der Lage das dort beschriebene Problem bei der Vorgehensweise mit Schleifenfür mich zu bewerten…

nachdem ich das Skript hier aus dem Forum mit Erfolg für den Kleiderscharnk eingesetzt habe, frage ich mich, wie man das mit HUE Lampen von Philips realisieren könnte. Da fällt der Switch schon einmal aus dem Script heraus, wenn man den Switch mit der ID einer HUE tauscht, klappt das natürlich nicht. Die gewünschte Szene sollte genau so laufen wie die aus dem hiesigen Artikel, nur eben mit Hues.
Hat jemand eine Idee, wie das anpassbar wäre?
Hier noch einmal das angepasst Script von Boomx, welches mit einem RGBW Switch läuft:

--[[ 
%% properties
247 value
%% globals 
--]]
-- VARIABLEN (Bewegungsmelder muss oben unter %% properties aufgeführt sein)
local scene = 111 -- ID dieser Szene
local motion = 247 -- ID des Bewegungssensors
local switch = 240 -- ID des Relay Switches
-- Lösche doppelte Szene(n)
if (fibaro:countScenes()>1) then
fibaro:abort(); 
end
-- SCHALTE LICHT EIN & AUS
if (tonumber(fibaro:getValue(motion, "value")) > 0 ) and (tonumber(fibaro:getValue(switch, "value"))) < 1 then
fibaro:call(240, "setBrightness", "255");
fibaro:call(240, "setColor", "255","255","255","255");
fibaro:call(switch, "turnOn");
fibaro:debug("Schalte Licht ein");
end
-- Verzögerung in Sekunden nach der letzten erkannten Bewegung, bevor das Licht ausgeschaltet wird
if (tonumber(fibaro:getValue(switch, "value"))) > 0 then
local starttimer = 180;
local timer = (starttimer); 
fibaro:debug("Starte Timer");
  
repeat
fibaro:sleep(1000); 
-- Schalte Licht aus, wenn Schalter manuell betätigt wird und warte 10 Sekunden, um ein 
-- versehentliches (erneutes) Aktivieren der Szene zu verhindern
if (tonumber(fibaro:getValue(switch, "value"))) < 1 then
timer=1; 
fibaro:call(switch, "turnOff"); 
fibaro:sleep(10000); 
break 
end
timer=timer-1; 
-- Timer zurücksetzen, wenn neue Bewegung erkannt wird innherhalb der Verzögerungszeit
if (tonumber(fibaro:getValue(motion, "value"))) > 0 then
timer=starttimer; 
fibaro:debug("Resete Time, Bewegung erkannt bzw. Motionsensor sendet noch nicht (vgl. Parameter 6)");
end
until (timer<1)
-- Schalte Licht aus, wenn Timer vollständig abgelaufen ist
fibaro:call(switch, "turnOff");
fibaro:debug("Timer abgelaufen/Schalte Licht aus");
fibaro:killScenes(scene); 
end

… habe es selber hinbekommen.
Dank dieses Artikels auf dieser tollen Seite. Langsam (wirklich langsam) kommen ein paar Dinge zusammen und ich habe meine ersten Erfolge :slight_smile:

Cool!
Perfekt!

Guten Morgen zusammen!

Ideal wäre es, wenn so eine Szene unabhängig von der Uhrzeit arbeitet. Z.B. Bei Bewegung und zwischen Sonnenuntergang und Sonnenaufgang: Licht an. Vielleicht mit einem Zeit-Delay, so dass man sagt: zwischen 1 Stunde nach SU und 1 Std. vor SA, bei Bewegung Licht an.

Ich habe das mit einer Blockszene nicht hinbekommen, da “nach Sonnenuntergang” JEDE Zeit sein kann die eben NACH dem SU ist…

Hat da jemand vielleicht einen Ansatz in LUA?

Für Eure Hilfe wäre ich dankbar…

Viele Grüße

Christian

zB hier:
http://www.siio.de/lichtschatten/fibaro-szene-licht-solange-bewegung/

Oder suchst nach die perfekte Lichtsteuerung

Moin Hoggle!

Den Beitrag hatte ich bereits berücksichtigt. Es gibt aber ja Beleuchtung, wie z.B. in der Küchenzeile, die ab einem bestimmten Lichtwert, unabhängig von der Uhrzeit, aktiviert werden soll, wie z.B. nach SU…

Man holt ja oftmals schnell was aus der Küche und möchte, weil man evntl. die Hände voll hat, nicht immer das Hauptlicht einschalten. Des weiteren ist der Lichtwert, zumindest bei mir, relativ im MS, auch nach diversen Modifikationsversuchen, recht unzuverlässig. Daher die Idee einer Szene die SA und SU- gesteuert ist, mit einem Delay, der sicherstellt, dass es dann auch immer draussen dunkel ist, so das ich nur auf die “Bewegung” beim MS zurück greifen muß…

Viele Grüße und einen schönen Start in die neue Woche…

Christian

Hi,

dazu kannst du dir eine Variable erstellen und diese dann in der Abfrage nutzen:

http://www.siio.de/connected-home/lichtsteuerung-teil-2-fibaro-tageszeiten-variable-via-lua-setzen/

Da ist der SA und SU bereits berücksichtigt.

Gruß

Moin Daniel!

Das heißt,…wenn ich diese Szene verwende und es nach SU und vor SA ist, ist die Variable “1” richtig? Und diese Funktion kann ich dann in einer Szene von mir verwenden…!? Und die Ins, die Du als Value angegeben hast, sorgen dafür, dass die Szene ausgeführt wird,…auch richtig?

Heißt also (ich versuche mich da mal heran zu tasten),…wenn ich in den Raum gehe, löst ja der MS aus, gleichzeitig prüft die o.a. Szene ob die Voraussetzung “Nacht” erfüllt ist,…ist das der Fall, wird, das in einer anderen Szene von mir hinterlegte “Licht” für die von mir definierte Zeit eingeschaltet?!

Grob beschrieben…(möchte endlich über das “Copy-Paste-Stadium” hinaus…

Viele Grüße

Christian

Hi,

nein, nicht richtig. Die Variable steht auf “Evening”, wenn die Sonne untergegangen ist und auf “Morning”, wenn die Sonne aufgegangen ist. Du kannst natürlich eine weitere Variable anlegen.

Das Skript kannst du, wie im Artikel beschrieben durch zum Beispiel MS auslösen lassen oder als %%autostart definieren. Mit dieser Szene schaltest du kein Licht, sondern definierst nur die Variable.

Gruß

MoinDaniel!

So hatte ich es verstanden… :slight_smile: Mit der Szene kann ich Abhängigkeiten für andere Szenen erstellen…!

Ungefähr so?

--[[
%% properties
647 value
%% events
%% globals
TimeOfDay
--]]

local startSource = fibaro:getSourceTrigger();
if (
 ( tonumber(fibaro:getValue(647, "value")) > 0 )
and
 ( tonumber(fibaro:getGlobalValue("TimeOfDay")) == tonumber("Evening") )
or
 ( tonumber(fibaro:getGlobalValue("TimeOfDay")) == tonumber("Night") )
or
startSource["type"] == "other"
)
then
	fibaro:call(645, "turnOn");
	setTimeout(function()
		fibaro:call(645, "turnOff");
	end, 45000)
end


Funktioniert da leider noch nicht so richtig, aber ich bleibe am Ball…! :)))

Gruß

Christian

tonumber(“Evening”) macht einfach mal gar keinen Sinn :wink:

Gruß

Okkkkeeeeeehhhhh,…

Also ich habe, “schlau” wie ich bin, eine Blockszene erstellt und sie dann in LUA umgewandelt…

Hat ja scheinbar super geklappt ?

Gruß zurück…

…ok! Ich gebe auf. Bekomme es leider nicht hin und werde es wohl mit 42 auch nicht mehr lernen, denke ich. Jetzt machen wir das Licht einfach wieder von Hand an…

Gruß

Christian

Poste nachher mal mein Skript. Kannst dann einfach anpassen.

Gruß