MAX! Temperatur-Scanner
Der MAX! Temperatur-Scanner ist ein Perl-Skript, das die kontinuierliche Temperatur-Aufzeichnung von MAX-Thermostaten ermöglicht.
Features
- kontinuierliche Erfassung von Temperatur und Ventil-Position
- Berücksichtigung der System-Ressourcen (dutycycle, credits)
- derzeit wird nur CUL unterstützt (Lösung für CUBE geplant)
- gleichberechtigte zeitliche Bearbeitung Thermostate (Round-Robin-Prinzip)
- Ermittlung der optimalen Scan-Rate über die Anzahl der eingebundenen Thermostate
Zielsetzung des WIKI-Artikels
Hier werden Fragen und Erkenntnisse zum Thema dargestellt, da der Forums-Eintrag für viele Anwender nicht mehr überschaubar ist.
Der Artikel wird sukzessive erweitert.
Aktuelle Version
Im Anhang zu folgenden MaxScan Version 1.04c
Voraussetzungen
- derzeit nur mit CUL möglich
- Deaktivierung des Thermostat-internen Zeitschaltprogrammes
- Man muss dafür sorgen, dass das Automatik-Programm im Thermostat selbst praktisch inaktiv ist.
- Dies erreicht man durch Reduzierung der Schaltpunkte auf ein Minimum. (also 1 Schaltpunkt um 00.00 Uhr).
- Um 00:05 Uhr wir dann vom Heating_Control nochmals sicherheitshalber der für diese Zeit gewünschte Sollwert festgelegt.
set HT_ZIMMER03 weekProfile Mon 15 Tue 15 Wed 15 Thu 15 Fri 15 Sat 15 Sun 15
Mechanismen
Das Problem
Der Hersteller der MAX-Thermostate hat diese so konzipiert, dass die gemessene Temperatur und Ventilstellung nur übertragen werden, wenn sich Folgendes ändert:
- die Ventilstellung
- die Betriebsart (mode: auto,manu,temporary,boost)
Es kann der Fall eintreten, dass über Stunden keine Temperatur übertragen wird, so dass FHEM
keine aktuelle Information über die Temperatur im Raum erhält.
Das Lösungsansatz
Die vorliegende Skript verfolgt den Ansatz die Betriebsart des Thermostats regelmässig umzuschalten via
AUTO ==> MANU
<Wartezeit mindestens 3 Minuten>
MANU ==> AUTO
Dies veranlasst das Thermostat regelmässig die gewünschten Werte an FHEM (den gepaarten Transceiver) zu senden.
Problem : Ressourcen
Die Sendezeit jedes Teilnehmers ist auf 1% begrenzt.
Konkret bedeutet dies, dass ein CUL ca. 33 Telegramme pro Stunde senden kann. Der MAX-Scanner darf nicht alle Ressourcen für sich beanspruchen, sondern sieht seine Aufgabe als nachrangig.
Erst wenn mehr als 300 Credits (von max. 900 möglichen) zur Verfügung stehen, wird das Skript aktiv.