Ich nutze FHEM und MAX! Thermostate. Die Thermostate haben nur leider die unangenehme Eigenschaft, nur bei Änderungen ihrer Werte Updates zu senden. Das heißt konkret: Sie messen die aktuelle IST-Temperatur und kennen den aktuellen Öffnungsstand ihrer Ventile, aber sie sagen es niemanden. Diese Werte würde ich schon gern regelmäßig wissen und in einem Logfile stehen haben. Man kann jedoch aktuelle Werte in FHEM mit dem MaxScanner erhalten. Dieses Modul triggert die Thermostate regelmäßig und sorgt somit für Updates.
Bitte werft auch einen Blick auf meinen Blogpost Energiekosten durch smarte Thermostate sparen mit FHEM!
Der MaxScanner ist ein Modul in FHEM, welches zunächst aktiviert werden muss. Danach müssen die einzelnen zu beobachtenden Thermostate jedoch noch von Hand hinzugefügt werden. Das Aktivieren erfolgt sehr einfach:
1 2 3 |
define Scanner MaxScanner attr Scanner scnCreditThreshold 150 attr Scanner scnMinInterval 3 |
Damit wird ein Gerät names ‚Scanner‘ erzeugt. Dieses springt aber nur an, wenn mindestens 150 freie Credits zur Verfügung stehen. Außerdem müssen mindestens 3 Minuten zwischen den einzelnen Abfragen liegen.
Ein Thermostat wird nun in die Obhut des Scanners übergeben, indem dem Thermostat die folgenden Attribute übergeben werden:
1 2 |
attr ScanTemp 1 attr scnProcessByDesiChange 0 |
ScanTemp aktiviert den Scanner für dieses Thermostat. Mit dem zweiten Attribut wird definiert, wie das Thermostat getriggert wird. Ein Wert ‚0‘, wie hier angeben, ändert regelmäßig den Mode von Auto in Manual und zurück. Mit einem Wert von ‚1‘ würde die Temperatur immer um 0,5° C nach oben bzw. unten korrigiert werden.
Aktuelle Werte in FHEM mit dem MaxScanner können schnell eine beträchtliche Datenflut auslösen. Das lässt sich mit weiteren Attributen im Thermostat ein wenig eindämmen. Ich nutze hierzu folgende Einstellungen:
1 2 |
attr event-on-change-reading desiredTemperature,temperature,valveposition attr event-min-interval desiredTemperature:720,temperature:720,valveposition:720 |
Der erste Wert gibt an, dass die gegebenen Werte nur dann ein Event auslösen, wenn diese sich ändern. Alle anderen Werte lösen kein Event mehr aus. Und in ein Logfile wird nur dann geschrieben, wenn ein Event ausgelöst wird. Damit nun wiederum keine Lücken im Logfile entstehen, sorgt die zweite Zeile dafür, dass wenigstens alle 12 Minuten (720 Sekunden) ein Event ausgelöst wird. Damit habe ich jede Änderung, die der MaxScanner auffängt, und mindestens fünf Mal die Stunde einen unveränderten Wert im Logfile stehen.
So großartig dieses Tool ist, es bringt doch auch Probleme mit sich. Einige kann man durch aufmerksames Lesen des betreffenden Wiki-Eintrags vermeiden: So darf nur ein Thermostat vom Scanner beobachtet werden, wenn mehrere Thermostate miteinander assoziiert sind. Dennoch kommt es hin und wieder vor, dass der Scanner einen von mir eingestellten Temperaturwert überschreibt. Dort, wo mich das sehr nervt, habe ich den Scanner dann doch ausgeschaltet und verzichte auf die Updates.
Keine Antworten