Buderus Web Gateway
km200. | |
---|---|
Zweck / Funktion | |
Anbindung eines Buderus Web-Gateway | |
Allgemein | |
Typ | Gerätemodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Heizungssteuerung/Raumklima |
Modulname | 73_km200.pm |
Ersteller | Sailor |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Allgemein
Das Modul 73_km200.pm ermöglicht die Anbindung eines Buderus Web-Gateway an einen FHEM Server (Raspberry-Pi, Fritzbox, NAS) zur Steuerung/Regelung der Heizungsanlage in der FHEM Umgebung zur Erweiterung der Hausautomatisierung.
Übersicht der steuerbaren Funktionen und abrufbaren Werte (Services) können unter folgendem Link http://www.ip-symcon.de/wiki/Buderus_KM200 eingesehen werden. Diese können aber in Abhängigkeit der Kombination KM/RC sowie der aktuell installierten Firmware auf dem KM unterschiedlich ausfallen. Weitere Details werden nach und nach ergänzt.
Voraussetzung
Buderus Hardware
Buderus KM(*)-Modul (*) 50, 200, 300
Quelle: Buderus Webseite
Buderus RC(*)-Regler (*) 30/35, 200, 300
Quelle: Buderus Webseite
Vorbereitungen in Linux
Damit das Modul unter FHEM und Linux funktioniert müssen zusätzliche Perl-Module installiert werden.
Damit die ständige Eingabe des „sudo“ Befehls zur Installation der einzelnen Module „muss mit Root-Rechten erfolgen“ umgangen werden kann, bitte folgenden Befehl eingeben und mit Password freigeben.
Code:
sudo bash
Um die folgenden Perl-Module installieren zu können benötigen wir CPANMINUS, dazu bitte folgenden Befehl zur Installation in die Kommandozeile eingeben.
curl -L https://cpanmin.us | perl - --sudo App::cpanminus
Kommt es dabei zu einer Fehlermeldung bitte mit folgenden Befehl beginnen.
Code:
sudo apt-get install cpanminus
Dann nacheinander die u.g. Module per (Copy/Paste) und Bestätigung per (Enter) installieren.
Code:
cpanm JSON
cpanm List::MoreUtils
cpanm Crypt::Rijndael
cpanm LWP::UserAgent
cpanm MIME::Base64
cpanm Time::HiRes
cpanm Digest::MD5
cpanm base
cpanm HttpUtils
apt-get install libltdl
Zur Vermeidung bekannter Fehler aufgrund Versionsunterschiede, sollte man seine bereits installierten Pakete auf den neusten Stand bringen:
apt-get update
apt-get upgrade
Zum Abschluss nach erfolgter Installation der Module noch mit Eingabe des Code:
exit
wieder in den User-Mode wechseln.
Vorbereitung in FHEM
Modul: Seit dem 07.01.2015 ist das km200 - Modul als 73_km200.pm offiziell eingecheckt und wird mit dem update - Befehl auf den jeweils neusten Stand gebracht.
Passwörter
Es werden für das fhem Modul "km200" 2 Passwörter benötigt:
a) Gateway Passwort
Das Gateway Passwort ist fix auf das Gateway programmiert und befindet sich auf dem Typenschild des jeweiligen KM-Moduls. Es hat das Format aaaa-bbbb-cccc-dddd
b) Persoenliches Passwort
Das persönliche Passwort muss zunächst noch erstellt werden, da die KMxxx Module ohne persoenliches Passwort ausgeliefert werden. Aus diesem Grunde ist es notwendig sich einmalig die Buderus APP EasyControl auf einem SmartPhone zu installieren und das Passwort zu setzen. Hierzu muss einfach den Anweisungen Folge geleistet werden.
Aktivierung und Definition in FHEM
In der fhem.cfg das Modul definieren mit:
define <devicename> km200 <IPAdresse des KM200> <Gateway Passwort> <persönliches Passwort>
Hierbei koennen die Passwörter wahlweise als direkter Text (bareword) oder als Base64 codierter text eigegeben werden, sofern man keine direkten Passwörter in der fhem.cfg stehen haben möchte.
Einstellungen über Attribute
Es können neben den Standard Attributen wie "room" oder "verbose" noch folgende für das km200-Modul individuelle Attribute in der fhem.cfg ergänzt werden.
attr <devicename> IntervalDynVal
attr <devicename> IntervalStatVal
attr <devicename> PollingTimeout
attr <devicename> ConsoleMessage <1 or 0>
attr <devicename> DoNotPoll <Service_1> <Service_2> <Service_3> ... <Service_n>
- IntervalDynVal:
- Ein gültiges Interval für die Abfrage der sich dynamisch verändernden Werte der Heizung welche über die KM-Module eingelesen werden. Der Wert muss >= 20s sein um dem Modul zu erlauben einen kompletten Poll abzuwarten. Der Default Wert ist 90s.
- IntervalStatVal:
- Ein gültiges Interval für die Abfrage der sich statisch und somit nicht verändernden Werte der Heizung welche über die KM-Module eingelesen werden. Der Wert muss >= 20s sein um dem Modul zu erlauben einen kompletten Poll abzuwarten. Der Default Wert ist 3600s.
- Der Wert "0" deaktiviert die Abfrage der statischen Werte und wird diese nicht vor dem nächsten Start des fhem System oder dem Reload der fhem.cfg erneut abfragen.
- PollingTimeout:
- Zeitraum in dem das auf eine Antwort seitens des KM200/KM50 Moduls warten soll. Sollte ein sehr langsames Heimnetz vorhanden sein, so muss der Wert entsprechend hochgesetzt werden. Der Default-Wert ist 5s.
- ConsoleMessage:
- Sollte es aus Gründen der Fehlersuche erwünscht sein, dem Modul beim Pollen der einzelnen Werte life zuzusehen, so kann man die Ausgabe im Konsolenfenster (STD-OUT) aktivieren. Hierzu muss der Wert auf "1" gesetzt werden.
- Bitte daran denken, dass dies nicht automatisch in dem Telnet Fenster (e.g. PUTTY) angezeigt wird. Man muss zur Anzeige dort das fhem-System stoppen und wieder starten.
- Der Default-Wert is "0" = deaktiviert.
- DoNotPoll:
- Eine durch Leerzeichen getrennte Liste von Services die nicht gepollt werden sollen. Dies kann bei wiederholten Abstürzen durch Abfrage bestimmter Services angewendet werden sowie für das gezielte Ausblenden von irrelevanten Werten (Z.B.: Rücklauftemperatur = -32000°C, etc.).
- Der Default Wert ist "" somit werden alle Werte abgefragt.
- (ACHTUNG: Erst mit Version 0036. ETA: 15.01.2015)
Bekannte Probleme
Fehlermeldung: "Use of uninitialized value in concatenation (.) or string at ./FHEM/73_km200.pm"
Beschreibung / Ursache:
Diese Fehlermeldung tritt meistens in Verbindung mit einem sehr langsamen Netzwerk auf.
Hierbei antwortet das KM200/KM100/KM50 nicht rechtzeitig bevor das 73_km200.pm - Modul aufgibt und die unten genannte Fehlermeldung ausgibt.
Lösung:
Um das Modul "geduldiger" zu machen, muß man nur das Attribut "PollingTimeout" entsprechend höher setzen. Ein guter Erfahrungswert wäre zum Beispiel 20, was den 4-fachen des Default-Werts entspricht.
Besser wäre es jedoch einen qualitativ höherwertigen Netzwerk-Switch statt beispielsweise Netzwerk-Hub oder gar billigen Router einzusetzen.
Sporadischer Absturz von fhem
Beschreibung / Ursache:
Aus noch ungeklärter Ursache kann es bei einzelnen Buderus KMxxx Geräten in Verbindung mit verschiedenen Buderus RCs bei Abfrage bestimmter Services zum Komplett-Absturz des fhem - Systems kommen.
Es ist dem Developer des Moduls bisher nicht gelungen diese Abstürze nachzustellen um den Fehler entsprechend abzufangen.
Bisher treten diese Abstuerze insbesondere bei Abfrage der folgenden Services auf:
/heatSources/flameCurrent
/heatSources/flameStatus
/system/appliance/flameCurrent
/system/appliance/flameStatus
Aber auch andere Services könnten dieses Problem auslösen. Sind dem Developer aber zur Zeit nicht bekannt.
Zu diesem Zweck sollte man zunächst das Attribut ConsoleMessage aktivieren (Siehe Attribute) und sehen, ab welcher Ausgabe sich das fhem-System aufhängt.
Diese Werte schließt man dann von den weiteren Abfragen aus.
Lösung:
Die bekannten Problem-Services hinter das Attribut DoNotPoll hängen. Sie werden anschließend nicht mehr abgefragt und können somit keinen Absturz mehr verursachen.
(Achtung, erst mit Version 0036. ETA: 15.01.2015)
Links