Zählt die Szenen und beendet sie wenn mehr als EINE läuft?
Hier wird die Variable nicht benötigt?
Wird mit dem “abort” befehl nur die aktiv Szene gebrüft und abgebrochen, sofern sie mehrmals läuft oder ALLE Szenen beendet?
Falls meine Fragen irgendwo bereits beantwortet wurden, dann sorry!
Mit der Suche habe ich nichts passendes gefunden.
Falls jemand von euch einen Link zu einem Tutorial für LUA Anfänger in DEUTSCH kennt, bitte um eure Tipps.
Ich tu mir mit englischen Beschreibungen leider schwer…
local scene = 1 – ID dieser Szene
Nein, habe ch so nicht (oft) gesehen.
Das HC vergibt die ID der Szene automatisch. Die steht dan oben in der Adresszeile vom Browser.
if fibaro:countScenes() > 1 then
fibaro:debug("stop scene");
fibaro:abort();
end
Danke für den Link, hab mir die Anleitung von Daniel durchgelesen!
Ich gehe davon aus dass der Code
if fibaro:countScenes() > 2 then
fibaro:debug("stop scene");
fibaro:abort();
end
Nur die aktuelle Szene prüft und beendet, sofern sie öfter wie 2 x ausgeführt wird?
Oder betrifft das ALLE Szenen, die gerade laufen?
Das mit dem Lua Lernen ist ein toller Tipp, verwende ich eh schon!
Leider komm ich oft drauf, dass die Blockskripte sehr eingeschränkt sind!!
Ich arbeite gerade an einer Szene für einen Türkontakt und will einen Timer aktivieren sobald der Türkontakt irgendeine Auslösung hat, egal ob AUF oder ZU.
Solche Dinge bekomm ich aus dem Blockbild nicht heraus
Ich suche und finde im Forum eh schon sehr viel. Leider sind mir die meisten angebotenen Skripte (noch) etwas zu kompliziert…
Danke für deine Geduld und dass du mir immer wieder antwortest, auch wenn meine Fragen manchmal etwas Anfängermässig sind
Ich habe auch mit Block angefangen und kupfere auch heute noch LUA ab…
Der Code gilt nur für die jeweilige Szene und soll verhindern, dass die Szene nicht mehrfach zeitgleich läuft.
Dadurch beginnt die Szene erst wieder zu laufen, wenn sie zuvor abgeschlossen ist.
Da ein paralleles Laufen der selben Szene nichts bringt, wird durch dessen Unterbindung CPU und ggf Z-Wave-Netzwerk entlastet.
Ich überwache meine Gartenpumpe, wenn sie manuell angestellt wurde und lasse sie automatisch nach einer bestimmten Zeit (40 min = 10 * 4) abstellen:
--[[
%% properties
106 value
%% events
%% globals
--]]
--Szeen prüft, ob die Zisternen-Pumpe manuell eingeschaltet wurde und
--schaltet die Pumpe nach 40 Min automatisch aus.
--Sofern die Szenen Pumpe An an warmen und heißen Tagen gestartet wurde,
--verhindert die GV Gartenpumpe das automatische ausschalten der Pumpe
local startSource = fibaro:getSourceTrigger();
local Pumpe = 106 --ID der Zisternen-Pumpe
local Intervall = 10 --10 Minuten Intervall zur Überprüfung des Statuses
local AUS = 4 -- Anzahl der Intervalle nach dem die Pumpe ausgeschaltet wird
if fibaro:countScenes() > 1 then
fibaro:debug("stop scene");
fibaro:abort();
end
fibaro:debug("Status der Zisternen-Pumpe: "..tonumber(fibaro:getValue(Pumpe, "value")))
local counter = 0
DateTime = os.date("%d.%m.%Y %H:%M:%S", os.time())
Date = os.date("%d.%m.%Y", os.time())
if ((tonumber(fibaro:getValue(Pumpe, "value")) > 0 ) and
(fibaro:getGlobalValue("Gartenpumpe") ~= "An" ))
--GV Gartenpumpe wird durch Szene Gartenpumpe An an heißen und warmen agen gesetzt
then
fibaro:debug(Date.." - Pumpe ist manuell angeschaltet worden")
while (tonumber(fibaro:getValue(Pumpe, "value")) > 0) do
fibaro:sleep(Intervall*60*1000)
counter = counter + 1
fibaro:debug("Counter ist: "..counter)
if counter >= AUS then
fibaro:debug(Date.." - Counter >= "..AUS.." und Pumpe wird automatisch ausgeschaltet")
fibaro:call(Pumpe, "turnOff")
fibaro:call(223, "sendPush", "Gartenpumpe nach "..counter*10 .." Minuten ausgeschaltet")
counter = 0--break
end
end
end
if tonumber(fibaro:getValue(Pumpe, "value")) == 0 then
fibaro:debug(Date.." - Pumpe wurde bzw. ist ausgeschaltet")
counter = 0
end
Hi Hoggle,
Mit deiner Pumpensteuerung hast du mich schon wieder infiziert!!
Die werd ich nach meinem Urlaub dafür umbauen meine automatische Außenbeleuchtung auf Zeit zu deaktivieren, wenn wir drausen bei Kerzenlicht sitzen wollen und der automatische Halogen Fluter nicht immer die Stimmung zerstört
Meine Anforderung mit Timer hat sich übrigens inzwischen erledigt!
Ich wollte immer wenn eine Türe geöffnet oder geschlossen wird, einen Timer verlängern der in diesem Raum das Licht eingeschaltet lässt.
Inzwischen hab ich beschlossen in diesem Raum stattdessen einen Bewegungsmelder zu nehmen! Das Skript hab ich schon einmal wo laufen, das funktioniert präziser
Schade dass ich jetzt auf Urlaub fahren muss, bin gerade so inspiriert alles zu automatisieren. Meine Frau ist schon ganz nervös was bei meinen Experimenten wieder anders wird als vorher