Hallo liebe Forumsteilnehmer/innen.
Ich möchte gern meine Beschattungssteuerung ein wenig erweitern. In diversen Räumen habe ich Thermometer installiert, die die Raumtemperatur messen und es gibt auch ein Außenthermometer. Bisher wird die Beschattung (Herunterfahren der Rollläden) dadurch ausgelöst, dass eine bestimmte Außentemperatur erreicht werden muss, und dann je nach Uhrzeit die Rollläden der entsprechenden Hausseite geschlossen werden.
Nun ist es aber so, dass z.B. auf der Ostseite die Temperaturen in den Räumen durch intensive Sonneneinstrahlung bereits stark ansteigen, obwohl die Außentemperatur noch nicht wirklich heiß ist. Deshalb war meine Überlegung, den steilen Anstieg der Raumtemperatur zu verwenden, um das Beschatten auszulösen.
Doch wie kann man sinnvollerweise in FHEM abbilden, dass die Temperatur innerhalb der letzten z.B. 15 Minuten um > 1K gestiegen ist?
Und da ich viel mit DOIF arbeite, wäre ein Lösungsvorschlag damit sehr schön. :)
Hi,
als Idee: DOIF kennt verschiedene Zeitsteuerungen, Du könntest alle 15 minuten was triggern.
Bei userReadings gibt es den modifier
Zitatdifference: das Reading wird auf die Differenz zw. dem aktuellen und dem vorherigen Wert gesetzt.
Also einfach den Sensor im userReadings alle 15 min abfragen.
Gruß Otto
Hi,
ich habe den Anstieg- oder die Veränderungsrate oder den Veränderungswinkel zwischen zwei Werten schon häufiger gesucht, aber nie eine elegante Lösung gefunden.
Daher eine Frage an die Profis: könnte eventuell jemand mit genügend Perl-Kenntnissen ein Modul ähnlich wie dewpoint entwickeln, dem vier Parameter übergeben werden:
- Meßpunkt alt
- Meßpunkt neu
- Theoretischer MIN-Wert
- Theoretischer MAX-Wert
Und als Rückgabewert gibt es die Steigung - z.B. als [-1, +1] oder [-90°,+90°] Werte.
Diese Funktion liese sich z.B. nutzen mit Temperaturfühlern (Heizungssteuerung, Mischersteuerung), Wetter (Regen, Wind) oder Füllständen. Steigt z.B. die Vorlauftemperatur mit >30° (Winkel, nicht C°) per Meßintervall an, liesse sich vorher gegensteuern . Oder wird der Wind schnell stärker, reagiere umgehend und fahre die Markisen ein... usw.
Ciao, -MN
Ein Modul ist dafür "oversized", eine einfache Funktion in 99_myUtils tuts da auch.
Wichtig hier ist nur, dass du dir, falls du keine konstante Zeit nutzt, den Zeitpunkt der letzten Messung nicht zu zeitig überschreibst.
Bei DOIF kannst du z.B. auch das state-Attr dafür nutzen. Dann zeigt dir der state immer den aktuellen Anstieg an.