Fensterkontakt

Hallo an alle,

ich habe mir vor kurzem ein HC2 zugelegt.

Ich versuche jetzt seit Wochen eine Steuerung zum Laufen zu bringen.

Wahrscheinlich bin ich echt zu doof, oder ich denke einfach falsch.

Habe einen Fenstersensor im Schlafzimmer. Dazu ein Dampfos Heizthermostat. Jetzt soll also beim öffnen des Fensters der Heizkörper sofort auf 4 Grad runtergehen. Nach dem Schließen wieder auf die eingestellte Temperatur.

Muss ich bei Erweitert noch was verändern?

Ich bin echt am verzweifeln.

Vielen Dank für Eure Hilfe

Gruß

CB

Hi,

was und wie hast Du den schon umgesetzt?
Was genau funktioniert nicht bzw. wo kommst Du nicht weiter?

VG Hoggle

https://www.siio.de/heizenenergiesparen/bares-geld-sparen-fibaro-heizung-aus-bei-fenster-auf/

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ß