Rolläden über OpenHab steuern
7/5/2022 10:22:21 PM
by Chris 2055
Teile:
Raspberry Pi 4 mit allen Teilen: https://amzn.to/3C7hNik
Raspberry Pi 4 einzeln: https://amzn.to/3Anip2j
Raspberry Pi 4 Netzteil: https://amzn.to/3Ppu4St
Raspberry Pi 4 Gehäuse: https://amzn.to/3Qjjmhz
M.2 fürs Argon Gehäuse: https://amzn.to/3JSvYdf
D1 Mini ESP32 für Fornotron / Tronferno-Mcu: https://amzn.to/3QFhn6W
Trigger: When LokaleZeit_DateTime changed
Skript:
``` JS
var telegram = Java.type('org.openhab.core.model.script.actions.Things').getActions('telegram', 'telegram:telegramBot:189b9xxxxxx');
var time = new Date();
var storedStatusRolllaeden = 'storedStatusRolllaeden';
var storedStatusRunterJonas = 'Rolllaeden_StatusRunterJonas';
var storedStatusRunterAlle = 'Rolllaeden_StatusRunterAlle';
var storedStatusHochAlle = 'Rolllaeden_StatusHochAlle';
var kinderzimmer = 'TFMCU_RollaedenKinderzimmer';
var gaestezimmer = 'TFMCU_RollaedenGaestezimmer';
var kueche = 'TFMCU_RollaedenKueche';
var schlafzimmer = 'TFMCU_RollaedenSchlafzimmer';
var wohnzimmer = 'TFMCU_RollaedenWohnzimmer';
if (typeof this.storedValues === 'undefined') {
this.storedValues = [];
}
var StatusRolllaedenAlleHoch = 0;
var StatusRolllaedenJonasRunter = 1;
var StatusRolllaedenAlleRunter = 2;
if( this.storedValues[storedStatusRolllaeden] != StatusRolllaedenJonasRunter
&& this.storedValues[storedStatusRolllaeden] != StatusRolllaedenAlleRunter
&& this.storedValues[storedStatusRolllaeden] != StatusRolllaedenAlleHoch ){
this.storedValues[storedStatusRolllaeden] = StatusRolllaedenAlleRunter;
}
var stunde = time.getHours();
var minute = time.getMinutes();
var status = this.storedValues[storedStatusRolllaeden];
//runterfahren
//Jonas Zimmer
var jonasRunter = stunde >= 20 && status < StatusRolllaedenJonasRunter;
var alleRunter = stunde >= 23 && status < StatusRolllaedenAlleRunter;
var hoch = stunde >= 8 && minute > 15 && stunde < 20 && status != StatusRolllaedenAlleHoch;
//telegram.sendTelegram(jonasRunter + " " + alleRunter + " " + hoch + " " + status);
if(jonasRunter){
telegram.sendTelegram("Rollaeden in Jonas Zimmer fahren runter");
events.sendCommand(kinderzimmer, DOWN);
this.storedValues[storedStatusRolllaeden] = StatusRolllaedenJonasRunter;
}
//Alle anderen Zimmer
else if(alleRunter){
telegram.sendTelegram("Rollaeden generell fahren runter");
events.sendCommand(gaestezimmer, DOWN);
events.sendCommand(kinderzimmer, DOWN);
events.sendCommand(kueche, DOWN);
events.sendCommand(schlafzimmer, DOWN);
events.sendCommand(wohnzimmer, DOWN);
this.storedValues[storedStatusRolllaeden] = StatusRolllaedenAlleRunter;
}
//hochfahren
else if(hoch){
telegram.sendTelegram("Rollaeden fahren hoch");
events.sendCommand(gaestezimmer, UP);
events.sendCommand(kinderzimmer, UP);
events.sendCommand(kueche, UP);
events.sendCommand(schlafzimmer, UP);
events.sendCommand(wohnzimmer, UP);
this.storedValues[storedStatusRolllaeden] = StatusRolllaedenAlleHoch;
}
```
About author
Moin, hier sollte ein Text über mich stehen, ggf reiche ich den noch nach, ggf nicht. Manchmal ist es doch auch ganz schön keine Infos über einen Author zu haben :-)