Cronjob für HC3

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