Buderus Web Gateway: Unterschied zwischen den Versionen
Sailor (Diskussion | Beiträge) (Namensänderung) |
Sailor (Diskussion | Beiträge) |
||
Zeile 196: | Zeile 196: | ||
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. | 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. | ||
=== Keine Services lesbar / Keine Readings im fhem === | === Keine Services lesbar / Keine Readings im fhem === | ||
Zeile 228: | Zeile 231: | ||
Zu diesem Zwecke beide Passwörter überprüfen und ggf. das private Passwort mit der App erneut setzen. | Zu diesem Zwecke beide Passwörter überprüfen und ggf. das private Passwort mit der App erneut setzen. | ||
<pre style="color: red">ACHTUNG: Keine deutschen Umlaute Verwenden!</pre> | <pre style="color: red">ACHTUNG: Keine deutschen Umlaute Verwenden!</pre> | ||
=== Fehlermeldung: "encrypt: datasize not multiple of blocksize (16 bytes) at ./FHEM/73_km200.pm line xxx" === | === Fehlermeldung: "encrypt: datasize not multiple of blocksize (16 bytes) at ./FHEM/73_km200.pm line xxx" === |
Version vom 15. Januar 2015, 09:43 Uhr
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
Das km200 - Modul ist 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 = -32768°C, etc.).
- Der Default Wert ist "" somit werden alle Werte abgefragt.
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.
Lösung:
Zu diesem Zweck muss man zunächst das Attribut ConsoleMessage aktivieren (Siehe Attribute) und sehen, ab welcher Ausgabe sich das fhem-System aufhängt.
Der Wert der Probleme bereitet ist der nächste Wert, der eben gerade nicht angezeigt wird.
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.
Keine Services lesbar / Keine Readings im fhem
Beschreibung / Ursache:
Es kann sein das das fhem System nach eine Weile abstürzt ohne vorher Readings in das device geschrieben zu haben. Wenn man zum debuggen dann das Attribut "ConsoleMessage" aktiviert hat (Siehe Attribute) dann taucht folgende Liste in der Konsole auf:
Sounding and importing of services started
The following Service CANNOT be read : /
The following Service CANNOT be parsed by JSON : /gateway
The following Service CANNOT be parsed by JSON : /gateway/DateTime
The following Service CANNOT be parsed by JSON : /gateway/instAccess
The following Service CANNOT be parsed by JSON : /gateway/instWriteAccess
The following Service CANNOT be parsed by JSON : /gateway/uuid
The following Service CANNOT be parsed by JSON : /gateway/versionFirmware
The following Service CANNOT be parsed by JSON : /gateway/versionHardware
The following Service CANNOT be parsed by JSON : /heatingCircuits
The following Service CANNOT be parsed by JSON : /heatingCircuits/hc1
The following Service CANNOT be parsed by JSON : /heatingCircuits/hc1/activeSwitchProgram
The following Service CANNOT be read : /heatingCircuits/hc1/actualSupplyTemperature
The following Service CANNOT be read : /heatingCircuits/hc1/controlType
The following Service CANNOT be read : /heatingCircuits/hc1/currentOpModeInfo
The following Service CANNOT be read : /heatingCircuits/hc1/currentRoomSetpoint
The following Service CANNOT be read : /heatingCircuits/hc1/designTemp
(Gekürzt)
Lösung: Bisher tauchen diese Symptome nur in Verbindung mit einem falschen Passwort auf. Zu diesem Zwecke beide Passwörter überprüfen und ggf. das private Passwort mit der App erneut setzen.
ACHTUNG: Keine deutschen Umlaute Verwenden!
Fehlermeldung: "encrypt: datasize not multiple of blocksize (16 bytes) at ./FHEM/73_km200.pm line xxx"
Beschreibung / Ursache:
Während der Initialisierung des Geräts taucht die Fehlermeldung
encrypt: datasize not multiple of blocksize (16 bytes) at ./FHEM/73_km200.pm line xxx
in der Konsole auf und stürzt ab.
Lösung:
Die Ursache konnte noch nicht gefunden werden. Daher ist eine Lösung nicht verfügbar.
Liste bekannter Services
Die folgenden Werte sind dem Developer bekannt und können durch das Modul abgefragt werden, sofern eine Antwort seitens des KMxxx kommt oder sich nicht hinter dem DoNotPoll Attribut befinden.
/
/gateway
/gateway/DateTime
/gateway/instAccess
/gateway/instWriteAccess
/gateway/uuid
/gateway/versionFirmware
/gateway/versionHardware
/heatingCircuits
/heatingCircuits/hc1
/heatingCircuits/hc1/activeSwitchProgram
/heatingCircuits/hc1/actualSupplyTemperature
/heatingCircuits/hc1/controlType
/heatingCircuits/hc1/currentOpModeInfo
/heatingCircuits/hc1/currentRoomSetpoint
/heatingCircuits/hc1/designTemp
/heatingCircuits/hc1/fastHeatupFactor
/heatingCircuits/hc1/heatCurveMax
/heatingCircuits/hc1/heatCurveMin
/heatingCircuits/hc1/manualRoomSetpoint
/heatingCircuits/hc1/operationMode
/heatingCircuits/hc1/pumpModulation
/heatingCircuits/hc1/roomInfluence
/heatingCircuits/hc1/roomtemperature
/heatingCircuits/hc1/roomTempOffset
/heatingCircuits/hc1/setpointOptimization
/heatingCircuits/hc1/solarInfluence
/heatingCircuits/hc1/status
/heatingCircuits/hc1/suWiSwitchMode
/heatingCircuits/hc1/suWiThreshold
/heatingCircuits/hc1/switchPrograms
/heatingCircuits/hc1/temperatureLevels
/heatingCircuits/hc1/temperatureRoomSetpoint
/heatingCircuits/hc1/temporaryRoomSetpoint
/heatingCircuits/hc2
/heatingCircuits/hc2/activeSwitchProgram
/heatingCircuits/hc2/actualSupplyTemperature
/heatingCircuits/hc2/controlType
/heatingCircuits/hc2/currentOpModeInfo
/heatingCircuits/hc2/currentRoomSetpoint
/heatingCircuits/hc2/designTemp
/heatingCircuits/hc2/fastHeatupFactor
/heatingCircuits/hc2/heatCurveMax
/heatingCircuits/hc2/heatCurveMin
/heatingCircuits/hc2/manualRoomSetpoint
/heatingCircuits/hc2/operationMode
/heatingCircuits/hc2/pumpModulation
/heatingCircuits/hc2/roomInfluence
/heatingCircuits/hc2/roomtemperature
/heatingCircuits/hc2/roomTempOffset
/heatingCircuits/hc2/setpointOptimization
/heatingCircuits/hc2/solarInfluence
/heatingCircuits/hc2/status
/heatingCircuits/hc2/suWiSwitchMode
/heatingCircuits/hc2/suWiThreshold
/heatingCircuits/hc2/switchPrograms
/heatingCircuits/hc2/temperatureLevels
/heatingCircuits/hc2/temperatureRoomSetpoint
/heatingCircuits/hc2/temporaryRoomSetpoint
/heatSources
/heatSources/actualCHPower
/heatSources/actualDHWPower
/heatSources/actualPower
/heatSources/actualsupplytemperature
/heatSources/ChimneySweeper
/heatSources/CHpumpModulation
/heatSources/flameCurrent
/heatSources/flameStatus
/heatSources/gasAirPressure
/heatSources/nominalCHPower
/heatSources/nominalDHWPower
/heatSources/numberOfStarts
/heatSources/powerSetpoint
/heatSources/powerSetpoint
/heatSources/returnTemperature
/heatSources/systemPressure
/heatSources/workingTime
/heatSources/hs1/energyReservoir
/heatSources/hs1/reservoirAlert
/heatSources/hs1/nominalFuelConsumption
/heatSources/hs1/fuelConsmptCorrFactor
/heatSources/hs1/actualModulation
/heatSources/hs1/actualPower
/heatSources/hs1/fuel
/notifications
/recordings
/recordings/heatingCircuits
/recordings/heatingCircuits/hc1
/recordings/heatingCircuits/hc1/roomtemperature
/recordings/heatSources
/recordings/heatSources/actualCHPower
/recordings/heatSources/actualDHWPower
/recordings/heatSources/actualPower
/recordings/system
/recordings/system/heatSources
/recordings/system/heatSources/hs1
/recordings/system/heatSources/hs1/actualPower
/recordings/system/sensors
/recordings/system/sensors/temperatures
/recordings/system/sensors/temperatures/outdoor_t1
/solarCircuits
/solarCircuits/sc1/
/solarCircuits/sc1/collectorTemperature
/solarCircuits/sc1/pumpModulation
/solarCircuits/sc1/solarYield
/solarCircuits/sc1/status
/system
/system/appliance
/system/appliance/actualPower
/system/appliance/actualSupplyTemperature
/system/appliance/ChimneySweeper
/system/appliance/CHpumpModulation
/system/appliance/flameCurrent
/system/appliance/flameStatus
/system/appliance/gasAirPressure
/system/appliance/nominalBurnerLoad
/system/appliance/numberOfStarts
/system/appliance/powerSetpoint
/system/appliance/systemPressure
/system/appliance/workingTime
/system/brand
/system/bus
/system/healthStatus
/system/heatSources/
/system/heatSources/hs1
/system/heatSources/hs1/actualModulation
/system/heatSources/hs1/actualPower
/system/heatSources/hs1/energyReservoir
/system/heatSources/hs1/fuel
/system/heatSources/hs1/fuel/density
/system/heatSources/hs1/fuelConsmptCorrFactor
/system/heatSources/hs1/nominalFuelConsumption
/system/heatSources/hs1/reservoirAlert
/system/info
/system/minOutdoorTemp
/system/sensors
/system/sensors/temperatures
/system/sensors/temperatures/chimney
/system/sensors/temperatures/hotWater_t1
/system/sensors/temperatures/hotWater_t2
/system/sensors/temperatures/outdoor_t1
/system/sensors/temperatures/return
/system/sensors/temperatures/supply_t1
/system/sensors/temperatures/supply_t1_setpoint
/system/sensors/temperatures/switch