Zu dem Allen um es besser zu verstehen gehören noch Das Tasten und Bedienfeld !
Das sieht so aus mit ei2 x SmartImplant drin.
Und den QA für Bedienung und Sirenen.
Sirenen-fqa.txt (18,9 KB) Bedienfeld-fqa.txt (7,4 KB)
Die beiden Datein umbennenen in Bedienfeld.fqa und Sirenen.fqa dann könnt Ihr die laden.
So nun viel Spaas mit dem durchschauen von dem was ich verzapft habe.
Ist sicherlich nicht alles Optimal aber es läuft und funktioniert wunderbar.
Ist hoffentlich leicht zu verstehen sonst einfach fragen.
Wenn einer eine Verbesserung hat immer her damit aber vorher bitte testen !
So zum Schluß noch Fenster-/Tür auf und Heizkörper runterregeln.
Trigger
…
--[[
Heizkörpersteuerung bei Tür und oder Fenster auf
Bei offenen Tür oder Fenster wird der Heizkörper nach 5min auf 8°C abgeregelt.
Wird das Fenster und oder Tür wieder geschlossen wird der Normale Heizplan wieder aktiviert
wird von der Main Szene gestartet
--]]
…
Aktion
…
--[[
Globale Variablen
Für die einzelnen Heizkreise
Bezeichnung Global-Variable ID des Heizkreises
------------------------------------------------------------------
Dachgeschoss WII Zimmer Heiz_DG_WII 2
Dachgeschoss Noras Zimmer Heiz_DG_Noras 3
Dachgeschoss Sonjas Zimmer Heiz_DG_Sonjas 4
Dachgeschoss Badezimmer Heiz_DG_Bad 8
Erdgeschoss Flur Heiz_EG_Flur 5
Erdgeschoss Toilette Heiz_EG_Toil 6
Erdgeschoss Computerraum Heiz_EG_Comp 7
Erdgeschoss Küche Heiz_EG_Kueche 10
Erdgeschoss Esszimmer Heiz_EG_Essz 11
Erdgeschoss Wohnzimmer Heiz_EG_Wohnz 12
Kellergeschoss Wohnzimmer Heiz_KG_Wohnz 13
Kellergeschoss Kueche Heiz_KG_Kueche 14
Kellergeschoss Eingang Heiz_KG_Eing 15
--]]
---------------------------------------------------------------------------------------
--------------- Funcition Tür zu, Fenster zu sonst Heizung runterregeln ---------------
-- Solte es eine Tür oder ein Fenster nicht geben, so das Feld mit 0 oder "" besetzen.
-- Beispiel hzone_tuer_fenster(Z_1,168,210,"",12)
-- Z_1 = Globale Zählvariabel der jeweiligen Heizzohne (String)
-- 168 = ID des Türkontaktes
-- 210 = ID des Fenster1 Kontaktes
-- "" = Platzhalter für 2. Fenster
-- 12 = ID der Heizzohne
---------------------------------------------------------------------------------------
function hzone_tuer_fenster(v_global,tuer,fenster1,fenster2,zone_id)
local z_fenster1 = false
local z_fenster2 = false
local z_tuer = false
-- Zählvariabel Global nach Local holen
local v_local = tonumber(fibaro.getGlobalVariable(v_global))
--Gibt es ein Fenster1 oder nicht
if fenster1 == 0 or fenster1 == "" then
z_fenster1 = false
else
z_fenster1 = fibaro.getValue(tonumber(fenster1), "value")
end
--Gibt es ein Fenster2 oder nicht
if fenster2 == 0 or fenster2 == "" then
z_fenster2 = false
else
z_fenster2 = fibaro.getValue(tonumber(fenster2), "value")
end
--Gibt es eine Tür oder nicht
if tuer == 0 or tuer == "" then
z_tuer = false
else
z_tuer = fibaro.getValue(tonumber(tuer), "value")
end
--print(" zustand in Reihenfolge ",v_local," ",z_tuer, " ", z_fenster1, " ", z_fenster2)
if v_local > 0 or (z_tuer == true) or (z_fenster1 == true) or (fenster2 == true) then
--print("Los gehts Tür, Fenster1 oder Fenster2 ist auf")
v_local = v_local + 1
--print("Öffnungszeit in Minuten = ",v_local)
end
if v_local == 6 then -- 5min
--print("Heizplan ", zone_id ," auf 8°C")
fibaro.homeCenter.climate.setClimateZoneToManualMode(tonumber(zone_id), 'Heat',"Hold", 8, nil)
end
if (z_tuer == false) and (z_fenster1 == false) and (z_fenster2 == false) and (v_local ~= 0) then
--print("Heizplan ",zone_id ," wieder aktivieren")
fibaro.homeCenter.climate.setClimateZoneToScheduleMode(tonumber(zone_id))
v_local = 0
end
--Zählvariabel Local auf Global zurückschreiben
fibaro.setGlobalVariable(v_global,tostring(v_local))
end --function
------------------------------------------------------------------------------------
---------------------------------- Hauptprogramm -----------------------------------
------------------------------------------------------------------------------------
--print("Start Heiz-F.oT.Steuerung")
-----------------------------------------------------------------------------
hzone_tuer_fenster("Heiz_DG_WII",143,148,0,2) --Dachgeschoss WII-Zimmer
-----------------------------------------------------------------------------
hzone_tuer_fenster("Heiz_DG_Noras",0,158,0,3) --Dachgeschoss Noras-Zimmer
-----------------------------------------------------------------------------
hzone_tuer_fenster("Heiz_DG_Sonjas",134,472,0,4) --Dachgeschoss Sonjas-Zimmer
-----------------------------------------------------------------------------
hzone_tuer_fenster("Heiz_DG_Bad",110,113,0,8) --Dachgeschoss Badezimmer
-----------------------------------------------------------------------------
hzone_tuer_fenster("Heiz_EG_Flur",544,0,0,5) --Erdgeschoss Flur zur Garage
-----------------------------------------------------------------------------
hzone_tuer_fenster("Heiz_EG_Toil",0,65,0,6) --Erdgeschoss Toilette
-----------------------------------------------------------------------------
hzone_tuer_fenster("Heiz_EG_Comp",0,539,0,7) --Erdgeschoss Computerraum
-----------------------------------------------------------------------------
hzone_tuer_fenster("Heiz_EG_Kueche",0,202,0,10) --Erdgeschoss Küche
-----------------------------------------------------------------------------
hzone_tuer_fenster("Heiz_EG_Essz",0,213,243,11) --Erdgeschoss Esszimmer
-----------------------------------------------------------------------------
hzone_tuer_fenster("Heiz_EG_Wohnz",0,213,243,12) --Erdgeschoss Wohnzimmer
-----------------------------------------------------------------------------
hzone_tuer_fenster("Heiz_KG_Eing",344,0,0,15) --Kellergeschoss Eingang
-----------------------------------------------------------------------------
hzone_tuer_fenster("Heiz_KG_Kueche",0,350,0,14) --Kellergeschoss Küche
-----------------------------------------------------------------------------
hzone_tuer_fenster("Heiz_KG_Wohnz",313,321,0,13) --Kellergeschoss Wohnzimmer
…
Grüße aus dem Sauerland
Frank
