hallo ich habe bisher das versucht und bekomme in Zeile 90 eine Fehlermeldung
1–[[
2%% autostart
%% properties
30 value
%% globals
–]]
– Schlafzimmer –
– Intelligentes Heizen mit Fensterkontakt V2.1 –
-- User Settings __
local FensterK = 30; – ID des Fensterkontaktes
local Thermo = 12; – ID des HeizkörperThermostat
local Global = “SchlafzimmerHeizung” – Globale Variable
-------------------------------------------------
-- Achtung Script, nicht ändern --
-------------------------------------------------
local sourceTrigger = fibaro:getSourceTrigger();
local offen = 1;
local zu = 1;
local bewegungauf = false;
local bewegungzu = false;
local FensterOffenStatus = (tonumber(fibaro:getValue(FensterK, “value”)) > 0);
local FensterZuStatus = (tonumber(fibaro:getValue(FensterK, “value”)) == 0);
if (sourceTrigger[“type”] == “property”)
then
if (fibaro:countScenes() > 1)
then
fibaro:abort();
end
-- Überprüfe Status Fenster --
if (FensterOffenStatus)
then
bewegungauf = true;
elseif (FensterZuStatus)
then
bewegungzu = true;
end
– Zähler 60 sek –
repeat
local CountOffen = (tonumber(fibaro:getValue(FensterK, “value”)) > 0);
local CountZu = (tonumber(fibaro:getValue(FensterK, “value”)) == 0);
if (CountOffen)
then
offen = offen + 1;
zu = 1;
fibaro:debug('offen ' ..offen);
else
zu = zu + 1;
offen = 1;
fibaro:debug('geschlossen ' ..zu);
end
fibaro:sleep(10000);
until ((offen == 5) or (zu == 5))
-- Fenster geöffnet --
local FensterOffen = (tonumber(fibaro:getValue(FensterK, “value”)) > 0);
local FensterZu = (tonumber(fibaro:getValue(FensterK, “value”)) == 0);
if (FensterOffen and (bewegungauf == true))
then
fibaro:debug('Fenster auf, Heizung senken');
local TempWertS = fibaro:getValue(Thermo, "value");
fibaro:setGlobal(Global, TempWertS);
fibaro:sleep(5000);
fibaro:call(Thermo, "setTargetLevel", "4");
fibaro:call(Thermo, "setTime", tonumber(os.time(t)) + 360*60);
fibaro:debug(TempWertS.. '° auf 4°' );
-- Fenster geschlossen --
elseif (FensterZu and (bewegungzu == true))
then
fibaro:debug('Fenster zu, Heizung heben');
local TempWertL = fibaro:getGlobal(Global);
fibaro:sleep(5000);
fibaro:call(Thermo, "setTargetLevel", TempWertL);
fibaro:call(Thermo, "setTime", tonumber(os.time(t)) + 30*60);
90 fibaro:debug('4° auf ' .. TempWertL .. '°');
else
fibaro:debug('Keine Veränderung des Status');
end
end
das ist die Fehlermeldung
[DEBUG] 15:42:23: offen 2
[DEBUG] 15:44:51: geschlossen 2
[DEBUG] 15:45:01: geschlossen 3
[DEBUG] 15:45:11: geschlossen 4
[DEBUG] 15:45:21: geschlossen 5
[DEBUG] 15:45:31: Fenster zu, Heizung heben
[DEBUG] 15:45:36: line 90: attempt to concatenate local ‘TempWertL’ (a nil value)
danke und gruß