haussteuerung:automatiken
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| haussteuerung:automatiken [2025/10/22 06:33] – created dominik | haussteuerung:automatiken [2025/10/22 06:44] (current) – dominik | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== |
| + | ===== Automatiken ===== | ||
| + | < | ||
| / | / | ||
| * LICHT | * LICHT | ||
| Line 133: | Line 135: | ||
| // Schuppen an / aus -> Mäher aus OD Ab 22 Uhr bis 4 Uhr OD_Schuppen_Auto | // Schuppen an / aus -> Mäher aus OD Ab 22 Uhr bis 4 Uhr OD_Schuppen_Auto | ||
| // Garage automatisch nach x Min schließen | // Garage automatisch nach x Min schließen | ||
| + | </ | ||
| + | |||
| + | ===== Bewegung flur ===== | ||
| + | <code | download> | ||
| + | / | ||
| + | * Licht bei Bewegung im Flur einschalten | ||
| + | * | ||
| + | * Geräte | ||
| + | * hm-rpc.0.OEQ0536226.3.MOTION | ||
| + | * hm-rpc.0.OEQ0538240.3.MOTION | ||
| + | * hm-rpc.0.OEQ0213729.1.STATE | ||
| + | * hm-rpc.0.OEQ0213729.2.STATE | ||
| + | * hm-rpc.0.OEQ0378804.1.STATE | ||
| + | *******************************************************/ | ||
| + | |||
| + | // | ||
| + | // | ||
| + | // | ||
| + | // | ||
| + | |||
| + | // Bewegung Flur Unten | ||
| + | // - unten das Licht einschalten | ||
| + | // - oben das doppelte Licht einschalten | ||
| + | // - nach x Sekunden alles wieder ausschalten | ||
| + | on({id: ' | ||
| + | // Licht NICHT einschalten zwischen Sonnenaufgang (+30 Min) und Sonnenuntergang (-30 Min) | ||
| + | if (compareTime(getAstroDate(" | ||
| + | // Ist das Licht schon an ? | ||
| + | if (getState(" | ||
| + | console.log(' | ||
| + | setState(" | ||
| + | setStateDelayed(" | ||
| + | setState(" | ||
| + | setStateDelayed(" | ||
| + | } | ||
| + | } | ||
| + | // else { | ||
| + | // | ||
| + | // } | ||
| + | setState(" | ||
| + | }); | ||
| + | |||
| + | // Bewegung Flur Oben | ||
| + | // - oben das einfache Licht einschalten | ||
| + | // - nach x Sekunden alles wieder ausschalten | ||
| + | on({id: ' | ||
| + | // Licht NICHT einschalten zwischen Sonnenaufgang (+30 Min) und Sonnenuntergang (-30 Min) | ||
| + | if (compareTime(getAstroDate(" | ||
| + | // Ist das Licht schon an ? | ||
| + | if (getState(" | ||
| + | console.log(' | ||
| + | setState(" | ||
| + | setStateDelayed(" | ||
| + | } | ||
| + | } | ||
| + | setState(" | ||
| + | }); | ||
| + | |||
| + | </ | ||
| + | |||
| + | ===== Schalter ===== | ||
| + | <code | download> | ||
| + | / | ||
| + | * Schalter im Flur | ||
| + | * | ||
| + | * Geräte | ||
| + | * hm-rpc.0.OEQ0536226.3.MOTION | ||
| + | * hm-rpc.0.OEQ0538240.3.MOTION | ||
| + | * hm-rpc.0.OEQ0538240.1.PRESS_SHORT | ||
| + | * hm-rpc.0.OEQ0538240.2.PRESS_SHORT | ||
| + | * hm-rpc.0.OEQ0213729.1.STATE | ||
| + | * hm-rpc.0.OEQ0213729.2.STATE | ||
| + | * hm-rpc.0.OEQ0378804.1.STATE | ||
| + | *******************************************************/ | ||
| + | |||
| + | // Bewegungsmelder Flur unten Taster hoch | ||
| + | on({id: ' | ||
| + | console.log(' | ||
| + | setState(" | ||
| + | setStateDelayed(" | ||
| + | }); | ||
| + | |||
| + | // Bewegungsmelder Flur unten Taster runter | ||
| + | on({id: ' | ||
| + | setState(" | ||
| + | }); | ||
| + | |||
| + | // 6fach Taster (1) : Garage öffnen | ||
| + | on({id: ' | ||
| + | setState(" | ||
| + | }); | ||
| + | |||
| + | // 6fach Taster (2) : Garage schließen | ||
| + | on({id: ' | ||
| + | setState(" | ||
| + | }); | ||
| + | |||
| + | // 6fach Taster (3) : Licht Haustür | ||
| + | on({id: ' | ||
| + | setState(" | ||
| + | }); | ||
| + | |||
| + | // 6fach Taster (4) : Licht Garten | ||
| + | on({id: ' | ||
| + | setState(" | ||
| + | }); | ||
| + | |||
| + | // 6fach Taster (5) : Licht 2er Garage | ||
| + | on({id: ' | ||
| + | setState(" | ||
| + | }); | ||
| + | |||
| + | // 6fach Taster (6) : Licht 4er Garage | ||
| + | on({id: ' | ||
| + | setState(" | ||
| + | }); | ||
| + | |||
| + | </ | ||
| + | |||
| + | ===== Garage ===== | ||
| + | <code | 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 | ||
| + | * hm-rpc.0.NEQ1222700.1.STATE | ||
| + | * hm-rpc.0.NEQ1222700.2.STATE | ||
| + | * hm-rpc.0.OEQ0378804.1.STATE | ||
| + | *******************************************************/ | ||
| + | |||
| + | on({id: ' | ||
| + | if (getState(" | ||
| + | // Licht NICHT einschalten zwischen Sonnenaufgang (+30 Min) und Sonnenuntergang (-30 Min) | ||
| + | if (compareTime(getAstroDate(" | ||
| + | // Licht bei Garage auf einschalten | ||
| + | console.log(' | ||
| + | setState(" | ||
| + | setState(" | ||
| + | } else { | ||
| + | console.log(" | ||
| + | } | ||
| + | } else { | ||
| + | // Licht bei Garage zu verzögert ausschalten | ||
| + | console.log(' | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | } | ||
| + | }); | ||
| + | |||
| + | </ | ||
| + | |||
| + | ===== Briefkasten ===== | ||
| + | <code | download> | ||
| + | on({id: ' | ||
| + | var value = obj.state.val; | ||
| + | var oldValue = obj.oldState.val; | ||
| + | // Wenn der Briefkasten zu ist, dann ist der Schalter auf " | ||
| + | if ((obj.state ? obj.state.val : "" | ||
| + | console.log(' | ||
| + | setState(" | ||
| + | setState(" | ||
| + | sendTo(" | ||
| + | text: ' | ||
| + | disable_notification: | ||
| + | }); | ||
| + | console.log(" | ||
| + | } | ||
| + | }); | ||
| + | |||
| + | // Nachts den Befüllstatus resetten | ||
| + | schedule(' | ||
| + | console.log(' | ||
| + | setState(" | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | ===== Licht nach Sonne ===== | ||
| + | <code | download> | ||
| + | // Licht um 6 Uhr ein | ||
| + | schedule(" | ||
| + | if (compareTime(' | ||
| + | console.log(' | ||
| + | setState(" | ||
| + | } else { | ||
| + | console.log(' | ||
| + | } | ||
| + | }); | ||
| + | |||
| + | // Licht um X Uhr aus nach Sonnenstand | ||
| + | schedule({astro: | ||
| + | console.log(([' | ||
| + | setState(" | ||
| + | }); | ||
| + | |||
| + | // Licht Abends um X Uhr an nach Sonnenstand | ||
| + | schedule({astro: | ||
| + | if (compareTime(' | ||
| + | console.log(([' | ||
| + | setState(" | ||
| + | } else { | ||
| + | console.log(' | ||
| + | } | ||
| + | }); | ||
| + | |||
| + | // Licht um 23 Uhr aus | ||
| + | schedule(" | ||
| + | console.log(' | ||
| + | setState(" | ||
| + | }); | ||
| + | |||
| + | schedule({astro: | ||
| + | console.debug((' | ||
| + | }); | ||
| + | |||
| + | schedule({astro: | ||
| + | console.debug((' | ||
| + | }); | ||
| + | |||
| + | schedule({astro: | ||
| + | console.debug((' | ||
| + | }); | ||
| + | |||
| + | schedule({astro: | ||
| + | console.debug((' | ||
| + | }); | ||
| + | |||
| + | </ | ||
| + | |||
| + | ===== Licht bei Bewegung Garage ===== | ||
| + | <code | download> | ||
| + | // Licht Haustür bei Bewegung an und wieder aus machen | ||
| + | on({id: ' | ||
| + | var value = obj.state.val; | ||
| + | var oldValue = obj.oldState.val; | ||
| + | console.log(' | ||
| + | if (getState(" | ||
| + | console.log(' | ||
| + | // Motion wieder zurück setzen - wird nicht immer resettet | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setStateDelayed(" | ||
| + | setState(" | ||
| + | setStateDelayed(" | ||
| + | } else { | ||
| + | console.log(' | ||
| + | } | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | ===== Heizung ===== | ||
| + | <code | download> | ||
| + | // Heizung alle ausschalten / auf Default setzen | ||
| + | on({id: " | ||
| + | var value = obj.state.val; | ||
| + | var oldValue = obj.oldState.val; | ||
| + | if (getState(" | ||
| + | console.log((' | ||
| + | setState(" | ||
| + | // Erdgeschoss | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | // Keller | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | // Erste Etage | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | } | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | <code | download> | ||
| + | // Heizung um 5:30 Uhr einschalten wenn Automatik eingeschaltet | ||
| + | schedule(" | ||
| + | if (getState(" | ||
| + | console.log(' | ||
| + | setState(" | ||
| + | } | ||
| + | }); | ||
| + | |||
| + | // Heizung um 9:30 Uhr ausschalten | ||
| + | schedule(" | ||
| + | console.log(' | ||
| + | setState(" | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | <code | download> | ||
| + | // Heizungen im WZ gemeinsam steuern | ||
| + | on({id: " | ||
| + | var value = obj.state.val; | ||
| + | var oldValue = obj.oldState.val; | ||
| + | console.log(([' | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | ===== Licht Bewegung Küche ===== | ||
| + | <code | download> | ||
| + | / | ||
| + | * Licht bei Bewegung in der Küche einschalten | ||
| + | * | ||
| + | * Geräte | ||
| + | * zigbee.0.14b457fffe7c749a.occupancy | ||
| + | * hm-rpc.0.NEQ0951347.1.STATE | ||
| + | *******************************************************/ | ||
| + | |||
| + | var Lampe_Aus; | ||
| + | |||
| + | // Bewegungsflag setzen | ||
| + | on({id: ' | ||
| + | if (obj.state.val == true) { | ||
| + | // Nur ausführen wenn dunkel | ||
| + | if (compareTime(getAstroDate(" | ||
| + | // Soll der Bewegungsmelder genutzt werden ? | ||
| + | if (getState(" | ||
| + | setState(" | ||
| + | if (Lampe_Aus) {clearTimeout(Lampe_Aus); | ||
| + | Lampe_Aus = setTimeout(function () { | ||
| + | setState(" | ||
| + | }, 360000); // 6 Minuten | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | }); | ||
| + | |||
| + | // Tastendruck auswerten und Flag setzen | ||
| + | on({id: ' | ||
| + | var motion = getState(" | ||
| + | var press = getState(" | ||
| + | // Wenn das Licht aus ist -> an | ||
| + | if (!motion && !press){ | ||
| + | setState(" | ||
| + | console.log(" | ||
| + | } | ||
| + | |||
| + | // Wenn das Licht an ist -> aus | ||
| + | if (motion || press) { | ||
| + | setState(" | ||
| + | setState(" | ||
| + | console.log(" | ||
| + | } | ||
| + | }); | ||
| + | |||
| + | // Licht einschalten wenn sich ein Status ändert | ||
| + | on({id: new RegExp(' | ||
| + | var motion = getState(" | ||
| + | var press = getState(" | ||
| + | console.log(" | ||
| + | setState(" | ||
| + | }); | ||
| + | |||
| + | // Licht ausschalten wenn lange gedrückt | ||
| + | // on({id: ' | ||
| + | // | ||
| + | // | ||
| + | // | ||
| + | // }); | ||
| + | |||
| + | </ | ||
| + | |||
| + | ===== Rollos ===== | ||
| + | <code | download> | ||
| + | / | ||
| + | * Rollos | ||
| + | * Level 0 (unten) bis 100 (oben) Mitte ist eher 80 | ||
| + | * | ||
| + | * hm-rpc.0.NEQ1214347.1.LEVEL | ||
| + | * hm-rpc.0.LEQ1025898.1.LEVEL | ||
| + | * hm-rpc.0.QEQ1928719.1.LEVEL | ||
| + | * hm-rpc.0.LEQ1026100.1.LEVEL | ||
| + | * hm-rpc.0.NEQ1562563.1.LEVEL | ||
| + | * hm-rpc.0.LEQ1025905.1.LEVEL | ||
| + | * hm-rpc.0.LEQ1025913.1.LEVEL | ||
| + | * hm-rpc.0.PEQ0183133.1.LEVEL | ||
| + | * hm-rpc.0.LEQ1032151.1.LEVEL | ||
| + | * hm-rpc.0.LEQ1032236.1.LEVEL | ||
| + | */ | ||
| + | |||
| + | on({id: ' | ||
| + | var value = obj.state.val; | ||
| + | var oldValue = obj.oldState.val; | ||
| + | |||
| + | switch (value) { | ||
| + | // Für Tags alle hochfahren | ||
| + | case " | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | break; | ||
| + | // Für Nachts alle absenken | ||
| + | case " | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | // Nicht schließen wenn Terassentür offen | ||
| + | if (getState(" | ||
| + | setStateDelayed(" | ||
| + | } else { | ||
| + | console.log(" | ||
| + | } | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | break; | ||
| + | // Arbeitszimmer abdunkeln | ||
| + | case " | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | break; | ||
| + | // Arbeitszimmer aufhellen | ||
| + | case " | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | break; | ||
| + | // Rollos im Erker auf 40% runter wegen Sonne | ||
| + | case " | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | if (getState(" | ||
| + | setStateDelayed(" | ||
| + | } else { | ||
| + | console.log(" | ||
| + | } | ||
| + | break; | ||
| + | // Rolles um 30% Runter im Wohnzimmer für Vögel | ||
| + | case " | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | if (getState(" | ||
| + | setStateDelayed(" | ||
| + | } else { | ||
| + | console.log(" | ||
| + | } | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | setStateDelayed(" | ||
| + | break; | ||
| + | // alle anhalten | ||
| + | case " | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | break; | ||
| + | } | ||
| + | |||
| + | setState(" | ||
| + | }); | ||
| + | |||
| + | </ | ||
| + | |||
| + | ===== Terasse ===== | ||
| + | <code | download> | ||
| + | on({id: ' | ||
| + | var value = obj.state.val; | ||
| + | var oldValue = obj.oldState.val; | ||
| + | if (getState(" | ||
| + | if (getState(" | ||
| + | console.log(' | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | // Nach 60 Sekunden den Ausgang wieder abschalten ! | ||
| + | setStateDelayed(" | ||
| + | } else { | ||
| + | console.warn(' | ||
| + | } | ||
| + | } | ||
| + | }); | ||
| + | |||
| + | on({id: ' | ||
| + | var value = obj.state.val; | ||
| + | var oldValue = obj.oldState.val; | ||
| + | if (getState(" | ||
| + | console.log(' | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | // Nach 60 Sekunden den Ausgang wieder abschalten ! | ||
| + | setStateDelayed(" | ||
| + | } | ||
| + | }); | ||
| + | |||
| + | on({id: ' | ||
| + | var value = obj.state.val; | ||
| + | var oldValue = obj.oldState.val; | ||
| + | if (getState(" | ||
| + | console.log(' | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | } | ||
| + | }); | ||
| + | |||
| + | on({id: ' | ||
| + | var value = obj.state.val; | ||
| + | var oldValue = obj.oldState.val; | ||
| + | if (getState(" | ||
| + | if (getState(" | ||
| + | console.log(' | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | // Nach 60 Sekunden den Ausgang wieder abschalten ! | ||
| + | setStateDelayed(" | ||
| + | } else { | ||
| + | console.warn(' | ||
| + | } | ||
| + | } | ||
| + | }); | ||
| + | |||
| + | on({id: ' | ||
| + | var value = obj.state.val; | ||
| + | var oldValue = obj.oldState.val; | ||
| + | if (getState(" | ||
| + | console.log(' | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | // Nach 60 Sekunden den Ausgang wieder abschalten ! | ||
| + | setStateDelayed(" | ||
| + | } | ||
| + | }); | ||
| + | |||
| + | on({id: ' | ||
| + | var value = obj.state.val; | ||
| + | var oldValue = obj.oldState.val; | ||
| + | if (getState(" | ||
| + | console.log(' | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | setState(" | ||
| + | } | ||
| + | }); | ||
| + | |||
| + | </ | ||
| + | |||
haussteuerung/automatiken.1761107615.txt.gz · Last modified: by dominik
