Joonior Heizkörperstellantrieb

Hi JoeB - werde meine Lösung hier posten - komme aber wohl erst am/nach dem 1. Mai dazu…
-Kai

Hier findet ihr die momentan von mir eingesetzte Telefunken (MD15) Heizkörpersteuerung.

Bitte vorher auch die IPSLibrary installieren. (der Logger wird verwendet)

Die Steuerung beinhaltet 3 Dateien:

  • CRC8 Klasse (zur Berechnung der Checksummen - gem K&P Dokumentation)
  • Heizkörper-Klasse (Logik zur Steuerung der HK)
  • Auswertungs-Script (zur Steuerung innerhalb IPS)

Die HK-Klasse beinhaltet einen Installationsmodus. Hierzu zunächst den HK in eine STM100 Instanz einlernen. dann auf eine der Variablen (z. B. Analog1) ein Ereignis setzen, das das Auswertungsscript startet. Nun am besten nochmal den Lernknopf drücken, damit die Installation startet. Die Installation liefert auch ein DummyModul welches in ein Web-Front verschoben und zur Steuerung des HK genutzt werden kann.

Mal etwas im Detail:

  • Die Dateien (mit gleichem Namen) ins IPS aufnehmen: telefunken.hk.zip (9.52 KB)
  • MD15 als STM100 einlernen
  • zum Auswertungsscript „telefunken.hk.php“ ein Ereignis hinzufügen, dass das Script aktiviert, wenn beim eingelernten HK eine Variable ein Update erfährt.
  • Die das DummyModul ins WebFront verschieben

Individuelle Anpassungen:

  • Absenkzeiten (via Webfront)
  • Room Controller Units (oder einen Temperatursensor, denn IPS stellt ja quasie den RCU dar) einbinden (Anpassung im Auswertungsscript)

Im IPS siehts bei mir so aus:

Und ein „gepimpter“ STM100 so:

Im Webfront das ganze dann so:

Nun noch ein wenig Anleitung:
Ich steuere per Übermittlung einer Zieltemperatur (Prozent Ventilöffnung geht technisch auch, ist aber nicht implementiert.) Die Ist-Temp wird im Standard vom Akktor selber genommen, kann aber übersteuert werden (Auswertungsscript). Eine Absenktemperatur definiert, um wie viel die Zieltemp. in der angegebenen Zeit verringert werden soll. Diese kann manuell aktiviert oder deaktiviert werden. Die Zieltemp. gibt (natürlich) die angestrebte Temp an.
Die Heizstärke kann nicht angepasst werden (hab das Control nur genommen, da es optisch netter ist, als nur eine Zahl.)

Wichtig zu beachten: der MD15 sendet nur alle 10 Minuten den Status UND EMPFÄNGT (!) NUR direkt danach neue Befehle. anders gesagt: er steuert im Bedarfsfall permanent - aber man kann ihm nur 6 mal die Stunde sagen wie er zu steuern hat.

Bei Fragen bitte hier posten!

Ph - bitte auch Verbesserungen.

Weil auch nach dem Steuerungsverhalten des MD15 gefragt wurde, hier ein Beispiel.
Ich bin zufrieden, selber bekomme ich das definitiv besser nicht hin, steh ja nicht alle par Minuten auf, um die Heizkörper im Haus anzupassen… Ein Vergleich zu anderen HK-Stellantrieben fehlt mir.

Auch wenn er sehr leise sein soll (Eigenwerbung von Telefunken): man kann ihn hören. Wir haben auch einen im Schlafzimmer und man hört, wenn er morgens aufdreht (wenn…) Lauter ist dann allerdings das Fließgeräusch des Wassers. Als Lösung habe ich die Absenkung so eingestellt, dass diese noch aktiv ist, solange man (normalerweise) schläft.

Temperatur und Ventilstellung für einen meiner HK. Er soll 20,5 Grad tagsüber halten (ab 8:00) und ab 19:00 2 Grad kälter anstreben. (So viel verliert das Haus nicht, bedeutet aber letztendlich, dass nicht geheizt wird).

Hallo kai,

erstmal ein herzliches Dankeschön für Deine Skripts zur Heizkörpersteuerung.

Bin zur Zeit an der Integration von EnOcean Heizkörperstellantrieben und versuche seit geraumer Zeit, Deine Telefunken Heizkörpersteuerung zu verstehen.

Leider komme ich nun nicht mehr weiter:

Die Installation hat soweit funktioniert. Allerdings bekomme ich zur Laufzeit regelmäßig Fehlermeldungen. Ursache sind durchweg die von Dir verwendete Modul IDs, die bei mir (verständlicherweise) ganz anders lauten. Nun habe ich das Problem, dass ich folgende IDs nicht nachvollziehen kann:

telefunken.hk.php:
ID 12574
ID 31897

telefunken.cls_hk.php:
SOCKET 35839
ID 31778
ID 37952

Kannst Du mir bitte beschreiben, was sich hinter den aufgelisteten IDs jeweils „versteckt“?

Habe noch eine weitere Frage zum SOCKET:
Ich habe versucht, als SOCKET den EnOCean-Gateway sowie den Seriellen Port (an dem das EnOcean-Gateway angeschlossen ist) per ID zu hinterlegen - ohne Erfolg.

Was muss ich als Socket angeben (habe den BSC EnOcean USB 300 USB-Gateway im Einsatz)?

Vielen Dank für Deine Unterstützung.

Wünsche einen schönen vierten Advent.

wolkensurfer

Hallo wolkensurfer,

hier ein paar Details zur CLS.

  • 35839 /[Client Socket TCM310]/
    Das ist der Client Socket meines TCM 310. Über das kommuniziere ich mit den EnOcean Komponenten.


    Wenn Du über das BSC kommunizieren kannst, sollte es das auch tun…?

  • die beiden anderen IDs sind eine separate Sondesteuerung für meine Frau (WAF = Wife Acceptance Factor)…
    Hierüber wird nur im Bad morgens alles schnuckelig warm. Kannst die 11 Zeilen auskommentieren.

Rest gleich!

Und nun zum Auswert-Skript.

Ich habe in meiner aktuellen Version genau diese Zeile schon etwas angepasst - da sich mittlerweile auch meine Präsenzschaltung in einer Klasse kapselt:

if ($zentralmodus->isAlarm() or $zentralmodus->isUrlaub())…

Sollte somit verständlicher sein.

Verständlicherweise klappt auch dies nicht bei dir. Solange Du aber keinen Override der Absenkeinstellung haben willst (bei mir wird mittels dieser Zeile automatisch die Absenktemperatur genommen, wenn das Haus verlassen ist (override der Zeiteinstellung), brauchst Du diese Auswertung auch nicht.
Wenn Du auch dies haben willst, leg einfach eine Variable an, aus der Du diesen Override ablesen willst, und hinterleg diese.

Beste Grüße,
Kai

Hallo kai,

vielen Dank für Deine Antwort.

Den BSC EnOcean USB 300-Gateway habe ich in IPS als EnOcean Gateway integriert mit der übergeordneten Instanz auf die Serielle Schnittstelle (COM 4). Die Kommunikation darüber läuft mit meinen (noch) sehr wenigen EnOcean-Modulen ohne Probleme - zumindest sind mir noch keine aufgefallen.

Welchen Vorteil hat die Einbindung des EnOcean Gateways als Client Socket?

Hast Du den TMC 310 über LAN, USB oder RS232 am Server angeschlossen?

Zu den Thema des Gateways habe ich einen anderen Thread geöffnet:

Bin zur Zeit damit beschäftigt, Deine Lösung Zeile für Zeile durchzuarbeiten…möchte ja verstehen, was und wie Du es gemacht hast. Allerdings dauerts noch etwas…aktuell erarbeite ich mir das Verständnis zum Thema RegisterVariable und experimentiere damit etwas herum.

Übrigens möchte ich später versuchen, die Heizkörperstellantriebe selbst zu regeln mit Vorgaben der Ventilöffnung. Hast Du das zwischenzeitlich auch ausprobiert?

Sonnige Grüße und einen guten Rutsch nach 2014,

wolkensurfer