User Tools

Site Tools


haussteuerung:automatiken

This is an old revision of the document!


Automatiken

   /*******************************************************
    * LICHT
    *******************************************************/

    // RGB Lampe Wohnzimmer Nachts automatisch ausschalten            	WZ		> 23:00 Uhr                                	WZ_Sofalicht_Aus
    if (getState("Global.0.Automatik.WZ_Sofalicht_Aus").val == true) {
        if (hour == 23 && min == 0)   { setState("Global.0.Licht.State.WZ_Sofa", 0); Logger("RGB Lampe Wohnzimmer aus"); } 
    }

    // Sideboard & Fenster automatisch aus                            	WZ      >  ""                                      	WZ_Sideboard_Fenster_Aus
    if (getState("Global.0.Automatik.WZ_Sideboard_Fenster_Aus").val == true) {
        if (hour == 23 && min == 0)   { setState("hm-rpc.0.LEQ0900960.3.STATE", false); setState("hm-rpc.0.LEQ0900960.4.STATE", false); Logger("Sideboard & Fenster aus"); } 
    }

    // Tannenbaum Automatik (Licht)                                   	WZ      Abends an ab 16:00 - 22:00                 	WZ_Tannenbaum_Auto
    if (getState("Global.0.Automatik.WZ_Tannenbaum_Auto").val == true) {
        if (hour == 16 && min == 0)   { setState("sonoff.0.IOT-SD11-WZ-Weihnachtsbaum.POWER", true); Logger("Tannenbaum an"); } 
        if (hour == 22 && min == 0)   { setState("sonoff.0.IOT-SD11-WZ-Weihnachtsbaum.POWER", false); Logger("Tannenbaum aus"); } 
    }
    
    // Küche Bewegungsmelder An / Aus ?                               	KU                                                 	KU_Bewegungsmelder_AnAus
    // siehe Küche -> LichtSpüle

    // Küche Deko an / aus                                            	KU      Wie Tannenbaum                             	KU_Deko_Auto
    if (getState("Global.0.Automatik.KU_Deko_Auto").val == true) {
        if (hour == 16 && min == 0)   { setState("hm-rpc.0.NEQ0951347.2.STATE", true); Logger("Küche Deko an"); } 
        if (hour == 22 && min == 0)   { setState("hm-rpc.0.NEQ0951347.2.STATE", false); Logger("Küche Deko aus"); } 
    }    

    // Beleuchtung Bild Automatik                                     	FL      ab SonUn bis 22:30                         	FL_Fotowand_Auto
    if (getState("Global.0.Automatik.FL_Fotowand_Auto").val == true) {
        if (act == typeSunsetStart)                         { setState("sonoff.0.IOT-SD09-FL-LichtBild.POWER", true ); Logger("Beleuchtung Bild an"); }  // AN
        if (act == typeSchedule && hour == 22 && min == 30) { setState("sonoff.0.IOT-SD09-FL-LichtBild.POWER", false); Logger("Beleuchtung Bild aus"); } // AUS
    }

    // Beleuchtung Handlauf Automatik                                 	FL      ""                                       	FL_TreppeBeleuchtung_Auto
    if (getState("Global.0.Automatik.FL_TreppeBeleuchtung_Auto").val == true) {
        if (act == typeSunsetStart)                         { setState("sonoff.0.IOT-SD10-FL-LichtTreppe.POWER", true ); Logger("Beleuchtung Handlauf an"); }  // AN
        if (act == typeSchedule && hour == 22 && min == 30) { setState("sonoff.0.IOT-SD10-FL-LichtTreppe.POWER", false); Logger("Beleuchtung Handlauf aus"); } // AUS
    }

    // Stern oben an / aus                                            	FL      ""                                       	FL_SternOben_Auto
    if (getState("Global.0.Automatik.FL_SternOben_Auto").val == true) {
        if (act == typeSunsetStart)                         { setState("sonoff.0.IOT-SD08-FL-FensterOben.POWER", true ); Logger("Beleuchtung Handlauf an"); }  // AN
        if (act == typeSchedule && hour == 22 && min == 30) { setState("sonoff.0.IOT-SD08-FL-FensterOben.POWER", false); Logger("Beleuchtung Handlauf aus"); } // AUS
    }

    // Lennard Zimmerlicht morgens an und gegen 8 aus                 	LN      6 - 7:30 Uhr , 22 Uhr aus                  	LN_Zimmerlicht_Auto
    if (getState("Global.0.Automatik.LN_Zimmerlicht_Auto").val == true) {
        // 6 Uhr ein Mo-Th, 6:40 Fr      -> Montag = 1, Freitag = 5 !  
        if ((hour == 6 && min ==  0 && [1, 2, 3, 4].includes(day)) || 
            (hour == 6 && min == 40 && day == 5))  { setState("hm-rpc.0.MEQ0987276.1.STATE", true); Logger("Lennard Zimmerlicht Ein"); }
        // 7:30 aus
        if (hour == 7 && min == 30) { setState("hm-rpc.0.MEQ0987276.1.STATE", false); Logger("Lennard Zimmerlicht Aus"); }
        // Licht Abends ausschalten wenn noch an 
        if (hour == 22 && min == 0) { setState("hm-rpc.0.MEQ0987276.1.STATE", false); Logger("Lennard Zimmerlicht Abends Aus"); } 
    }

    // Haustürlicht Automatik                                         	OD      SonUn bis 23:00  + Bewegung wenn da			OD_Haustuer_Auto
    //                                                                          6 Uhr -> Sonnenuntergang
    if (getState("Global.0.Automatik.OD_Haustuer_Auto").val == true) {
        if (hour ==  6 && min ==  0)        { setState("hm-rpc.0.NEQ1504413.1.STATE", true);  Logger("Haustürlicht An");  }  // /*OD_SW_Haustue_Licht:1.STATE*/
        if (act == typeSunriseEndPlus30)    { setState("hm-rpc.0.NEQ1504413.1.STATE", false); Logger("Haustürlicht Aus"); }
        if (act == typeSunsetStartMinus30)  { setState("hm-rpc.0.NEQ1504413.1.STATE", true);  Logger("Haustürlicht An");  }
        if (hour == 23 && min ==  0)        { setState("hm-rpc.0.NEQ1504413.1.STATE", false); Logger("Haustürlicht Aus"); }
        // TBD : Hier muss sauber der Sonnenaufgang genutzt werden ... 
        if (hour == 8  && min ==  0)        { setState("hm-rpc.0.NEQ1504413.1.STATE", false); Logger("Haustürlicht Aus Workaround für Sommer"); }
    }

    // Garagenlicht mit Haustür an                                    	OD      ""                                     		OD_HaustuerMitGarage_Auto
    // TBD


    /*******************************************************
    * HEIZUNG
    *******************************************************/
   
    // Alle Heizungen im Haus auf Nachtbetrieb absenken               	ALL		-> "Heizung aus" Script  um 21:00			ALL_HZ_Nachtbetrieb
    // Heizung Morgens hochfahren ?                                   	ALL     -> um 6 Warm KU								KU_HZ_Morgens
    // Badezimmer Heizung auf 21°C von 5:30 bis 9:30                  	BD      siehe Text   								BD_HZ_Morgens
    // Wohnzimmer Temp halten											WZ													WZ_HZ_Tagbetrieb
    // Heizung Lennards Zimmer kontrollieren                          	LN      mal sehen									LN_HZ_Überwachen
				
    
    /*******************************************************
    * ROLLOS
    *******************************************************/

    // Morgens alle Rollos hoch                                       	ALL     um 8 Uhr									ALL_RL_Öffnen
    if (getState("Global.0.Automatik.ALL_RL_Öffnen").val == true) {
        if (act == typeSchedule && hour == 8 && min == 0) { setState("Global.0.Rollos.Control", "allup"); Logger("Alle Rollos hochfahren"); } 
    }

    // Rollos automatisch runter fahren (auf Terassentür achten)    	ALL     um SonUn Ende + 30Min						ALL_RL_Schließen
    // Überwachung Terassentür in Rollos -> Steuerung
    if (getState("Global.0.Automatik.ALL_RL_Schließen").val == true) {
        if (act == typeSunsetStartPlus30) { setState("Global.0.Rollos.Control", "alldown"); Logger("Alle Rollos schließen"); } 
    }

    /*******************************************************
    * STECKDOSEN
    *******************************************************/

    // Hifi abschalten WZ                                              WZ      Nachts um 0:00								WZ_Hifi_Aus
    // Steckdose AZ                                                    AZ      ""											AZ_Steckdose_Auto
    // TV abschalten GZ                                                GZ      ""											GZ_TV_Aus
    // PS4 abschalten                                                  GZ      Ab 21:30 an Werktagen						GZ_PS_Aus
    
    // Waschmaschine aus wenn fertig                                   KL      Abschalten der SD bei Fertigmeldung			KL_Waschmaschine_Aus
    // -> Wird in Weisse Ware -> Waschmaschine behandelt !
    // -> Weil dort wird direkt auf Waschm. Fertig reagiert ...

    // Trockner aus wenn fertig                                        KL      ""											KL_Trockner_Aus

    // WZ Hifi Aus um 1 Uhr
    if (getState("Global.0.Automatik.WZ_Hifi_Aus").val == true) {
        if (act == typeSchedule && hour == 1 && min == 0)   { setState("hm-rpc.0.MEQ1810633.3.STATE", false); Logger("WZ Hifi aus"); } // AUS
    }

    // GZ TV Aus um 1 Uhr
    if (getState("Global.0.Automatik.GZ_TV_Aus").val == true) {
        if (act == typeSchedule && hour == 1 && min == 0)   { setState("sonoff.0.IOT-SD05-GZ-TvOben.POWER", false); Logger("GZ TV aus"); } // AUS
    }

    /*******************************************************
    * DRAUSSEN
    *******************************************************/

    // Markiese um 0:00 automatisch einziehen                          OD      0:00 Uhr									    OD_Markiese_Rein
    // Markiese Sommerbetrieb Ausfahren möglich                        OD      on / off									    OD_Markiese_Sommerbetrieb
    // Schuppen an / aus -> Mäher aus                                  OD      Ab 22 Uhr bis 4 Uhr							OD_Schuppen_Auto
    // Garage automatisch nach x Min schließen                         OD      nach 5 Minuten		
 

Bewegung flur

download
/*******************************************************
* Licht bei Bewegung im Flur einschalten
* 
* Geräte
* hm-rpc.0.OEQ0536226.3.MOTION  FL_SB_Motion_Oben_Motion    Bewegungsmelder Oben
* hm-rpc.0.OEQ0538240.3.MOTION  FL_SB_Motion_Unten_Motion   Bewegungsmelder Unten
* hm-rpc.0.OEQ0213729.1.STATE   FL_AS_LichtOben:1           Licht Oben (einfach)
* hm-rpc.0.OEQ0213729.2.STATE   FL_AS_LichtOben:2           Licht Oben (doppelt)
* hm-rpc.0.OEQ0378804.1.STATE   FL_AS_LichtUnten:1          Licht Unten kmplett
*******************************************************/

//console.log("sunriseEnd"  + getAstroDate("sunriseEnd",  undefined, +10)); // BSP 07:13 
//console.log("sunriseEnd"  + getAstroDate("sunriseEnd",  undefined,   0)); // BSP 07:03
//console.log("sunsetStart" + getAstroDate("sunsetStart", undefined, -10)); // BSP 19:30
//console.log("sunsetStart" + getAstroDate("sunsetStart", undefined,   0)); // BSP 19:40

// Bewegung Flur Unten 
// - unten das Licht einschalten 
// - oben das doppelte Licht einschalten
// - nach x Sekunden alles wieder ausschalten
on({id: 'hm-rpc.0.OEQ0538240.3.MOTION', val: true}, function (obj) {
    // Licht NICHT einschalten zwischen Sonnenaufgang (+30 Min) und Sonnenuntergang (-30 Min)
    if (compareTime(getAstroDate("sunriseEnd", undefined, +30), getAstroDate("sunsetStart", undefined, -30), "not between", null)) {
        // Ist das Licht schon an ? 
        if (getState("hm-rpc.0.OEQ0378804.1.STATE").val == false) {
            console.log('Flur unten : Licht ein');
            setState("hm-rpc.0.OEQ0378804.1.STATE", true);                          // Licht Unten ein
            setStateDelayed("hm-rpc.0.OEQ0378804.1.STATE", false, 180000, false);   // Licht Unten aus nach 180 Sekunden
            setState("hm-rpc.0.OEQ0213729.2.STATE", true);                          // 2er Licht Oben ein 
            setStateDelayed("hm-rpc.0.OEQ0213729.2.STATE", false, 180000, false);   // 2er Licht Oben aus nach 180 Sekunden
        }
    } 
    // else {
    //     console.log("Licht bleibt am Tag aus ...");
    // }
    setState("hm-rpc.0.OEQ0538240.3.MOTION", false);                            // Motion wieder zurück setzen - wird nicht immer resettet 
});

// Bewegung Flur Oben 
// - oben das einfache Licht einschalten
// - nach x Sekunden alles wieder ausschalten
on({id: 'hm-rpc.0.OEQ0536226.3.MOTION', val: true}, function (obj) {
    // Licht NICHT einschalten zwischen Sonnenaufgang (+30 Min) und Sonnenuntergang (-30 Min)
    if (compareTime(getAstroDate("sunriseEnd", undefined, +30), getAstroDate("sunsetStart", undefined, -30), "not between", null)) {
        // Ist das Licht schon an ? 
        if (getState("hm-rpc.0.OEQ0213729.1.STATE").val == false) {
            console.log('Flur oben : Licht ein');
            setState("hm-rpc.0.OEQ0213729.1.STATE", true);                          // 1er Licht Oben ein
            setStateDelayed("hm-rpc.0.OEQ0213729.1.STATE", false, 180000, false);   // 1er Licht Oben aus nach 180 Sekunden
        }
    }
    setState("hm-rpc.0.OEQ0536226.3.MOTION", false);                            // Motion wieder zurück setzen - wird nicht immer resettet
});

Schalter

download
/*******************************************************
* Schalter im Flur
* 
* Geräte
* hm-rpc.0.OEQ0536226.3.MOTION      FL_SB_Motion_Oben_Motion    Bewegungsmelder Oben
* hm-rpc.0.OEQ0538240.3.MOTION      FL_SB_Motion_Unten_Motion   Bewegungsmelder Unten
* hm-rpc.0.OEQ0538240.1.PRESS_SHORT                             Bewegungsmelder Taste Hoch
* hm-rpc.0.OEQ0538240.2.PRESS_SHORT                             Bewegungsmelder Taste Runter
* hm-rpc.0.OEQ0213729.1.STATE       FL_AS_LichtOben:1           Licht Oben (einfach)
* hm-rpc.0.OEQ0213729.2.STATE       FL_AS_LichtOben:2           Licht Oben (doppelt)
* hm-rpc.0.OEQ0378804.1.STATE       FL_AS_LichtUnten:1          Licht Unten kmplett
*******************************************************/

// Bewegungsmelder Flur unten Taster hoch
on({id: 'hm-rpc.0.OEQ0538240.1.PRESS_SHORT', change: "any"}, function (obj) {
    console.log('Licht unten eingeschaltet (10 Minuten)');
    setState("hm-rpc.0.OEQ0378804.1.STATE", true);                            // Licht Unten ein 
    setStateDelayed("hm-rpc.0.OEQ0378804.1.STATE", false, 600000, false);     // Licht Unten aus nach 10 Minuten
});

// Bewegungsmelder Flur unten Taster runter
on({id: 'hm-rpc.0.OEQ0538240.2.PRESS_SHORT', change: "any"}, function (obj) {
    setState("hm-rpc.0.OEQ0378804.1.STATE", false);                           // Licht unten aus
});

// 6fach Taster (1) : Garage öffnen
on({id: 'hm-rpc.0.NEQ1068837.1.PRESS_SHORT', change: "any"}, function (obj) {
    setState("Global.0.Garage.Open", true);                                   
});

// 6fach Taster (2) : Garage schließen
on({id: 'hm-rpc.0.NEQ1068837.2.PRESS_SHORT', change: "any"}, function (obj) {
    setState("Global.0.Garage.Close", true);
});

// 6fach Taster (3) : Licht Haustür
on({id: 'hm-rpc.0.NEQ1068837.3.PRESS_SHORT', change: "any"}, function (obj) {   
    setState("hm-rpc.0.NEQ1504413.1.STATE", !getState("hm-rpc.0.NEQ1504413.1.STATE").val);  /*OD_SW_Haustue_Licht:1.STATE*/
});

// 6fach Taster (4) : Licht Garten
on({id: 'hm-rpc.0.NEQ1068837.4.PRESS_SHORT', change: "any"}, function (obj) {
    setState("hm-rpc.0.MEQ1809943.1.STATE", !getState("hm-rpc.0.MEQ1809943.1.STATE").val);  /*OD_AS_4Fach_Licht:1.STATE*/
});

// 6fach Taster (5) : Licht 2er Garage
on({id: 'hm-rpc.0.NEQ1068837.5.PRESS_SHORT', change: "any"}, function (obj) {
    setState("hm-rpc.0.NEQ1222700.1.STATE", !getState("hm-rpc.0.NEQ1222700.1.STATE").val);  /*GR_AS_LichtAussen_2erLicht:1.STATE*/
});

// 6fach Taster (6) : Licht 4er Garage
on({id: 'hm-rpc.0.NEQ1068837.6.PRESS_SHORT', change: "any"}, function (obj) {   
    setState("hm-rpc.0.NEQ1222700.2.STATE", !getState("hm-rpc.0.NEQ1222700.2.STATE").val);  /*GR_AS_LichtAussen_4erLicht:2.STATE*/
});

Garage

download
/*******************************************************
* Beleutung Garage wenn das Tor geöffnet / geschlossen wird
* > Tagsüber Licht aus lassen 
* > Haustür mit an wenn Nachts und Haustür aus
* > Licht im Flur unten auch mit einschalten ??
* 
* Geräte
* hm-rpc.0.OEQ0430315.1.STATE   GR_ST_Garage                Garagen Kontakt
* hm-rpc.0.NEQ1222700.1.STATE   GR_AS_LichtAussen_2erLicht  2er Licht Garage
* hm-rpc.0.NEQ1222700.2.STATE   GR_AS_LichtAussen_4erLicht  4er Licht Garage
* hm-rpc.0.OEQ0378804.1.STATE   FL_AS_LichtUnten:1.STATE    Flur Licht unten
*******************************************************/

on({id: 'hm-rpc.0.OEQ0430315.1.STATE', change: "ne"}, function (obj) {
    if (getState("hm-rpc.0.OEQ0430315.1.STATE").val == true) {
        // Licht NICHT einschalten zwischen Sonnenaufgang (+30 Min) und Sonnenuntergang (-30 Min)
        if (compareTime(getAstroDate("sunriseEnd", undefined, +30), getAstroDate("sunsetStart", undefined, -30), "not between", null)) {
            // Licht bei Garage auf einschalten
            console.log('Tor Offen -> Licht an');
            setState("hm-rpc.0.NEQ1222700.1.STATE", true);
            setState("hm-rpc.0.NEQ1222700.2.STATE", true);
        } else {
            console.log("Licht bleibt am Tag aus ...");
        }
    } else {
        // Licht bei Garage zu verzögert ausschalten
        console.log('Tor Schließen -> Licht aus');
        setStateDelayed("hm-rpc.0.NEQ1222700.1.STATE", false, 300000, false);   // 5 Min
        setStateDelayed("hm-rpc.0.NEQ1222700.2.STATE", false, 240000, false);   // 4 Min
    }
});

Briefkasten

download
on({id: 'zigbee.0.00158d000572c991.contact', change: "ne"}, function (obj) {
  var value = obj.state.val;
  var oldValue = obj.oldState.val;
  // Wenn der Briefkasten zu ist, dann ist der Schalter auf "True"
  if ((obj.state ? obj.state.val : "") == false) {
    console.log('Briefkasten : geöffnet');
    setState("Global.0.Post.Eingeworfen"/*Eingeworfen*/, true, true);
    setState("alexa2.0.Echo-Devices.G090XG08945606VC.Commands.speak"/*speak*/, 'Es liegt Post im Briefkasten', true);
    sendTo("telegram.0", "send", {
        text: 'Posteinwurf',
        disable_notification: true
    });
    console.log("telegram: " + 'Posteinwurf');
  }
});

// Nachts den Befüllstatus resetten
schedule('{"time":{"exactTime":true,"start":"00:00"},"period":{"days":1}}', function () {
  console.log('Flag Reset');
  setState("Global.0.Post.Eingeworfen"/*Eingeworfen*/, false, true);
});
haussteuerung/automatiken.1761107847.txt.gz · Last modified: by dominik

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki