Hallo zusammen,
ich habe mir ein kleines Perl-Skript gehackt, um meine Lüftungsanlage bei Abwesenheit kurzzeitig auf Stufe 4 zu schalten, damit das Haus in Abwesenheit gelüftet wird.
Falls jemand Interesse an der Steuerung der Profi-Air 400 Touch hat, bitte melden. Evtl. könnte man ein entsprechendes Modul erstellen.
Hallo ds__
es wäre besser, wenn Du das ganze hier mal vorstellen würdest, dann lesen auch andere mit, die nicht umbedingt diese Anlage haben. Mit diesem Aufruf wirst Du nicht unbedingt Erfolg haben.
Gruß
Christian
Zitat von: ch.eick am 29 Juli 2019, 09:10:48
es wäre besser, wenn Du das ganze hier mal vorstellen würdest, dann lesen auch andere mit, die nicht umbedingt diese Anlage haben. Mit diesem Aufruf wirst Du nicht unbedingt Erfolg haben.
Eigentlich habe ich nicht viel gemacht.
Mittels Fritzbox und Presence stelle ich fest, ob alle das Haus verlassen haben. Falls das der Fall ist, rufe ich meine Perl-Funktion alleAbwesend() auf. Wenn jemand anwesend ist, wird lueftungNormal() aufgerufen.
Die Funktion alleAbwesend() schaltet die Lüftung für 20 Minuten auf die höchste Stufe. Hierbei gibt es allerdings ein paar Ausnahmen:
- Keine Starklüftung, wenn innerhalb der letzten 5 Stunden bereits gelüftet wurde.
- Am Abend und nachts wird keine Lüftung durchgeführt. Die Lüftung wird auf Stufe 1 geschaltet.
- Wenn eine bestimmte Außentemperatur überschritten wird, wird ebenfalls keine Lüftung durchgeführt. Die Außentemperatur lese ich aus meiner Wärmepumpe aus.
Wenn eine der genannten Ausnahmen greift, wird die Lüftung auf niedrigster Stufe gefahren.
Die Funktion lueftungNormal() schaltet die Lüftung auf Stufe 2. Bei Hitze und am Abend wird Stufe 1 gefahren. Nachts wird auf Stufe 3 geschaltet.
Das Schalten der Lüftungsanlage erfolgt über ein HTTP-Get auf http://[IP-Lüftung]/stufe.cgi?stufe=[Stufe]".
{
my $letzterLauf = 0;
sub alleAbwesend() {
my $hour = (localtime())[2];
my $aktZeit = time();
my $zeitdiff = $aktZeit -$letzterLauf;
if (!isGrosseHitze() && $hour<18 && $hour >10 && ($letzterLauf == 0 || $zeitdiff>(3600*5))) {
get("http://[IP-Lüftung]/stufe.cgi?stufe=4");
Log 1, "Alle Abwesend: Lüftung auf Stufe 4";
$letzterLauf = time();
} elsif ($zeitdiff>60*20) {
get("http://[IP-Lüftung]/stufe.cgi?stufe=1");
Log 1, "Lüftung: Stufe 1 wegen Abwesenheit";
}
}
}
sub isGrosseHitze() {
return ReadingsVal("waermepumpe", "ambientTemperature", 0)>25;
}
sub lueftungNormal() {
my $hour = (localtime())[2];
if (isGrosseHitze()) {
Log 1, "Lüftung: Stufe 1 (Hitze)";
} elsif ($hour >= 0 && $hour <8) {
get("http://[IP-Lüftung]/stufe.cgi?stufe=3");
Log 1, "Lüftung: Stufe 3";
} elsif ($hour>=19 && $hour<=23) {
get("http://[IP-Lüftung]/stufe.cgi?stufe=1");
Log 1, "Lüftung: Stufe 1";
} else {
get("http://[IP-Lüftung]/stufe.cgi?stufe=2");
Log 1, "Lüftung: Stufe 2";
}
}Der Code ist nicht perfekt. Es gibt noch Verbesserungsmöglichkeiten.
Hallo nochmal.
Vielen Dank für den Code Einblick. Das kann ich eventuell auch für meine Vallox verwenden.
Gruß Christian
Gesendet von meinem SM-G930F mit Tapatalk
Hallo zusammen,
für alle, die eine Profi-Air Touch 250 oder 400 Anlage besitzen und den Wunsch haben diese komfortabler zu steuern/automatisieren:
Ich habe mir die Mühe gemacht und eine Home Assistant Integration erstellt.
Diese erlaubt das Steuern von:
-sämtliche 4 Lüftungsstufen
-Bypass (Automatik/Manuell) inkl. dessen Temperaturgrenzen
-Party-Stufen-Nachlaufzeit
-Sprache
-Steuerung (Programm/Hand)
Außerdem erlaubt sie das Auslesen vieler Sensoren und Werte wie:
-4 Temperatursensoren
-Betriebsstunden der einzelnen Stufen
-Filterstatus und Restlaufzeit bis Filtertausch
-Bypass-Steuerung-Status
Mit Hilfe von z.B. CO² Sensoren oder ähnlichem lassen sich damit optimale Automatisierungen erstellen.
Die Integration und eine Anleitung zur Installation in Home Assistant findet ihr auf GitHub:
https://github.com/desue90/profi-air-touch
Grüße
Stephan