haussteuerung:automatiken
This is an old revision of the document!
Table of Contents
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
