Buderus Web Gateway: Unterschied zwischen den Versionen
Sailor (Diskussion | Beiträge) (→Links) |
Cbl (Diskussion | Beiträge) (Modul ergänzt, das auch notwendig ist.Siehe: https://forum.fhem.de/index.php?topic=135293.0) |
||
(61 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
|ModType=d | |ModType=d | ||
<!-- |ModCategory= (noch?) nicht verwendet --> | <!-- |ModCategory= (noch?) nicht verwendet --> | ||
|ModCmdRef=km200 | |ModCmdRef=km200 | ||
|ModForumArea=Heizungssteuerung/Raumklima | |ModForumArea=Heizungssteuerung/Raumklima | ||
|ModTechName=73_km200.pm | |ModTechName=73_km200.pm | ||
Zeile 10: | Zeile 10: | ||
}} | }} | ||
== Allgemein == | |||
[[Datei:KM200.png|1024px|thumb|left |Buderus Kommunikationsmodul KM200<BR>Quelle: "Bosch Thermotechnik GmbH, Buderus Deutschland" <BR> © Buderus]] | |||
[[Datei:KM300.png|1024px|thumb|right|Buderus Kommunikationsmodul KM300<BR>Quelle: "Bosch Thermotechnik GmbH, Buderus Deutschland" <BR> © Buderus]] | |||
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. | |||
<div style="clear:both;"></div> | |||
== Vorbereitungen == | |||
=== Vorbereitungen der Hardware === | |||
==== Installation der Hardware ==== | |||
Allein aus Gründen der Garantieansprüche, sollte das KMxxx Gerät heizungsseitig nur von Heizungsfachmann installiert werden. | |||
Netzwerkseitig sollte das KMxxx Gerät mit einem Netzwerkkabel besser Cat5 direkt an den Router angeschlossen werden. | |||
== | ==== Update der Firmware ==== | ||
Um eine funktionsfähige Kommunikation zwischen dem FHEM-Modul und dem KMxxx Gerät aufbauen zu können, muss die entsprechende Firmware installiert werden. | |||
Die Firmware ändert sich paradoxerweise in Abhängigkeit der angeschlossenen Geräte. Aus diesem Grund muss das KMxxx Gerät vor Betrieb mit FHEM in jedem Fall zunächst ins Internet. Sobald die LED des KMxxx Geräts auf grün wechselt, ist die Internetverbindung erfolgreich hergestellt. Ab jetzt kann es unter extremen Umständen bis über Nacht dauern, ehe sich die korrekte Firmware automatisch installiert hat. | |||
=== | ==== Persönliches Passwort ==== | ||
Das persönliche Passwort muss zunächst noch erstellt werden, da die KMxxx Geräte ohne persönliches Passwort ausgeliefert werden. | |||
Aus diesem Grunde ist es notwendig sich einmalig die Buderus APP [http://www.buderus.de/Online_Anwendungen/Apps/fuer_den_Endverbraucher/EasyControl-4848514.html EasyControl] auf einem SmartPhone zu installieren und das Passwort zu setzen. Hierzu muss einfach den Anweisungen Folge geleistet werden. | |||
<pre style="color: red">ACHTUNG: Keine deutschen Umlaute Verwenden!</pre> | |||
==== Sperrung des Internetzugangs ==== | |||
Ohne, dass der Umstand in den Unterlagen der KMxxx Geräte aus datenschutzrechtlicher Sicht auch nur erwähnt ist, baut das KMxxx-Gerät nach jedem Polling seitens des FHEM-Moduls von sich aus eine Verbindung zum Server von Buderus bzw. BOSH Thermotechnik auf. Über den Inhalt der Datenübertragung kann nur spekuliert werden. | |||
Um diese Datenübertragung zu unterbinden, muss man in dem jeweiligen Internet-Router das KMxxx Gerät bzw. dessen entsprechende IP-Adresse für den Internetzugang gesperrt werden. | |||
In der Fritz!Box bzw. unter Fritz!OS funktioniert dies am Besten mit der [http://avm.de/nc/service/fritzbox/fritzbox-7390/wissensdatenbank/publication/show/8_Internetnutzung-mit-Kindersicherung-einschraenken Kindersicherung] | |||
Bei andewren Routern muss die entsprechende Bedienungsanleitung konsultiert werden. | |||
Eine erfolgreiche Sperrung des Internet-Zugangs quittiert das KMxxx Gerät mit dem Wechsel der Betriebs-LED auf die orange Farbe. | |||
== Vorbereitungen in Linux == | === Vorbereitungen in Linux === | ||
Zeile 41: | Zeile 57: | ||
Code: | Code: | ||
:<Code>sudo bash</ | :<Code>sudo bash</Code> | ||
Um die folgenden Perl-Module installieren zu können benötigen wir CPANMINUS, dazu bitte folgenden Befehl zur Installation in die Kommandozeile eingeben. | Um die folgenden Perl-Module installieren zu können benötigen wir CPANMINUS, dazu bitte folgenden Befehl zur Installation in die Kommandozeile eingeben. | ||
:<Code>curl -L https://cpanmin.us | perl - --sudo App::cpanminus</ | :<Code>curl -L https://cpanmin.us | perl - --sudo App::cpanminus</Code> | ||
Kommt es dabei zu einer Fehlermeldung bitte mit folgenden Befehl beginnen. | Kommt es dabei zu einer Fehlermeldung bitte mit folgenden Befehl beginnen. | ||
Code: | Code: | ||
:<Code>sudo apt-get install cpanminus</ | :<Code>sudo apt-get install cpanminus</Code> | ||
Dann nacheinander die u.g. Module per (Copy/Paste) und Bestätigung per | Dann nacheinander die u.g. Module per (Copy/Paste) und Bestätigung per {{Taste|Enter}} installieren. | ||
Code: | Code: | ||
:<Code>cpanm JSON</ | :<Code>cpanm JSON</Code> | ||
:<Code>cpanm | :<Code>cpanm List::MoreUtils</Code> | ||
:<Code>cpanm | :<Code>cpanm Crypt::Rijndael</Code> | ||
:<Code>cpanm | :<Code>cpanm LWP::UserAgent</Code> | ||
:<Code>cpanm | :<Code>cpanm MIME::Base64</Code> | ||
:<Code>cpanm | :<Code>cpanm Time::HiRes</Code> | ||
:<Code>cpanm | :<Code>cpanm Digest::MD5</Code> | ||
:<Code>cpanm | :<Code>cpanm base</Code> | ||
: | |||
:<Code>cpanm Crypt::Rijndael</Code> | |||
:<Code>apt-get install libltdl</ | :<Code>apt-get install libltdl*</Code> | ||
Zur Vermeidung bekannter Fehler aufgrund Versionsunterschiede, sollte man seine bereits installierten Pakete auf den neusten Stand bringen: | Zur Vermeidung bekannter Fehler aufgrund Versionsunterschiede, sollte man seine bereits installierten Pakete auf den neusten Stand bringen: | ||
:<Code>apt-get update</ | :<Code>apt-get update</Code> | ||
:<Code>apt-get upgrade</ | :<Code>apt-get upgrade</Code> | ||
Zum Abschluss nach erfolgter Installation der Module noch mit Eingabe des Code: | Zum Abschluss nach erfolgter Installation der Module noch mit Eingabe des Code: | ||
:<Code>exit</ | :<Code>exit</Code> | ||
wieder in den User-Mode wechseln. | wieder in den User-Mode wechseln. | ||
== Vorbereitung in FHEM == | === Vorbereitung in FHEM === | ||
==== Passwörter ==== | |||
Es werden für das FHEM Modul "km200" 2 Passwörter benötigt: | |||
Es werden für das | |||
a) Gateway Passwort | a) Gateway Passwort | ||
Zeile 108: | Zeile 119: | ||
Das persönliche Passwort muss zunächst noch erstellt werden, da die KMxxx Module ohne persoenliches Passwort ausgeliefert werden. | Das persönliche Passwort muss zunächst noch erstellt werden, da die KMxxx Module ohne persoenliches Passwort ausgeliefert werden. | ||
Siehe vorheriges Kapitel [[#Persönliches_Passwort|Persönliches Passwort]] | |||
: | ==== Aktivierung und Definition in FHEM ==== | ||
In der [[Konfiguration|fhem.cfg]] das Modul definieren mit: | |||
:<Code>define <devicename> km200 <IPAdresse des KM200> <Gateway Passwort> <persönliches Passwort></Code> | |||
Hierbei können 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. | 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. | ||
: | <pre style="width:650px;"> | ||
attr <devicename> IntervalDynVal <time in sec> | |||
attr <devicename> PollingTimeout <time in sec> | |||
attr <devicename> ConsoleMessage <1 or 0> | |||
attr <devicename> DoNotPoll <Service_1> <Service_2> <Service_3> ... <Service_n> | |||
attr <devicename> ReadBackDelay <time in ms> | |||
</pre> | |||
;IntervalDynVal | |||
:Ein gültiges Interval für die Abfrage der Werte 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. | |||
;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. | :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. | :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 | :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. | :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.). | :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. | :Der Default Wert ist "" somit werden alle Werte abgefragt. | ||
:Nach dem Setzen des "DoNotPoll"-Attributs kann man die ungewünschten Readings mittels "deletereading" einzeln oder komplett löschen: Beispiel: <pre style="width:650px;">deletereading myKm200 .*</pre> | |||
;ReadBackDelay | |||
:Zeitraum in Millisekunden in dem das Modul mit einem Zurücklesen der Werte nach einem Schreibvorgang warten soll, da es sonst zu keinem erfolgreichen Schreibvorgang kommt. Die Größe des Wertes hängt sehr stark von der Geschwindigkeit des FHEM-Host-Systems sowie der angeschlossenen Netzwerkverbindung ab und kann daher mehr oder minder stark schwanken. Der Default-Wert ist 100ms. | |||
== | == Beispiel für Menüführung == | ||
=== Anzeige der Liste für Fehlermeldungen === | |||
< | <pre style="color: red">Mit freundlicher Einladung an DLindner :-) </pre> | ||
< | |||
=== Steuerungsmenü eines Heizkreises === | |||
<pre style="color: red">Mit freundlicher Einladung an DLindner :-) </pre> | |||
=== Steuerungsmenü der Warmwasserbereitstellung === | |||
<pre style="color: red">Mit freundlicher Einladung an DLindner :-) </pre> | |||
==== | == Beispiel für readingsGroup == | ||
[[Datei:Buderus_RoomHeizung.png|200px|thumb|right|readingsGroup "Heizung" und "Temperaturen" mit 73_km200 - Werten]] | |||
In diesem Beispiel werden im Raum "Heizung" zwei Gruppen namens "Heizung" und "Temperaturen" angelegt und die Services mit entsprechenden Symbolen versehen. | |||
fhem.cfg | |||
<code> define | <code>define Temperaturen readingsGroup myKm200:<%temp_temperature>,<AussenTemp.>,/system/sensors/temperatures/outdoor_t1 myKm200:<%sani_solar_temp><SonnenkollektorTemp.>,/solarCircuits/sc1/collectorTemperature myKm200:<%sani_buffer_temp_all>,<HeißwasserTemp.>,/system/sensors/temperatures/hotWater_t2</code><BR> | ||
<code>attr Temperaturen room Heizung</code><BR> | |||
<code>attr Temperaturen valueStyle style="text-align:right"</code> | |||
<code>attr | <code>define Heizung readingsGroup myKm200:<%sani_domestic_waterworks>,<Heizungsdruck>,/system/appliance/systemPressure myKm200:<%sani_supply_temp>,<Vorlauftemp>,/system/sensors/temperatures/supply_t1 myKm200:<%sani_return_temp>,<Rücklauftemp>,/heatSources/returnTemperature<BR> | ||
attr Heizung room Heizung<BR> | |||
attr Heizung valueStyle style="text-align:right"</code> | |||
== Beispiel für Plot == | |||
=== Mit dBLog === | |||
[[Datei:DbLog-plot.png|1024px|thumb|none|plot mit Werten aus 73_km200]] | |||
Um einen obigen Plot anzuzeigen geht man wie folgt vor: | |||
==== [[Konfiguration|fhem.cfg]] ==== | |||
Folgende Einträge müssen in der [[Konfiguration|fhem.cfg]] vorgenommen werden: | |||
define SVG_CH_Values SVG myDbLog:CentralHeating_CH:HISTORY | |||
attr SVG_CH_Values plotsize 1600,400 | |||
attr SVG_CH_Values room Plots | |||
attr SVG_CH_Values title "Central Heating" | |||
==== gplot ==== | |||
<code> | Die entsprechende plot-Datei namens "<code>CentralHeating_CH.gplot</code>" sieht dann wie folgt aus: | ||
< | # Created by FHEM/98_SVG.pm, 2015-01-12 22:57:42 | ||
set terminal png transparent size <SIZE> crop | |||
set output '<OUT>.png' | |||
set xdata time | |||
set timefmt "%Y-%m-%d_%H:%M:%S" | |||
set xlabel " " | |||
set title '<TL>' | |||
set ytics | |||
set y2tics | |||
set grid y2tics | |||
set ylabel "Temperature in °C / Modulation in %" | |||
set y2label "Power in kW" | |||
set yrange [0:105] | |||
set y2range [0:21] | |||
#DbLog myKm200:/heatSources/actualPower | |||
#DbLog myKm200:/system/sensors/temperatures/supply_t1 | |||
#DbLog myKm200:/heatingCircuits/hc1/pumpModulation | |||
#DbLog myKm200:/system/sensors/temperatures/hotWater_t2 | |||
plot "<IN>" using 1:2 axes x1y2 title 'Power' ls l3 lw 1 with lines,\ | |||
"<IN>" using 1:2 axes x1y1 title 'Vorlauftemperatur' ls l0 lw 1 with lines,\ | |||
"<IN>" using 1:2 axes x1y1 title 'Ladepumpe' ls l1 lw 1 with lines,\ | |||
"<IN>" using 1:2 axes x1y1 title 'Warmwasser' ls l2 lw 1 with lines | |||
Diese Plotdatei kann auch mit Hilfe des [[Plots_erzeugen#.gplot-Editor|Ploteditors]] generiert werden. Die Vorgehensweise entspricht -bis auf die Plot-Source dBLog- dem im Folgenden beschriebenen Ablauf mit FileLog. | |||
=== Mit FileLog === | |||
[[Datei:Buderus_Temperaturen_MitFileLog.png|1024px|thumb|none|typischer Temperatur plot]] | |||
Obiger Plot wurde mit Hilfe des Ploteditors erstellt. | |||
==== [[Konfiguration|fhem.cfg]] ==== | |||
Die Ploterstellung erfolgt anhand der nachfolgenden Beispiel-Konfiguration: | |||
< | # Buderus Gateway aktivieren und Parameter setzen | ||
# =============================================== | |||
define heizung km200 <IP ADR> <SYS PW> <User PW> | |||
attr heizung IntervalDynVal 90 | |||
attr heizung IntervalStatVal 3600 | |||
attr heizung PollingTimeout 200 | |||
attr heizung ConsoleMessage 0 | |||
attr heizung room Heizung | |||
# Loggen aller Daten aktivieren, Pfad/Dateiname ./log/Heizung-<Jahr>-<Monat>.log; Bsp.: "Heizung-2015-01.log" | |||
# =========================================================================================================== | |||
define FileLog_heizung FileLog ./log/Heizung-%Y-%m.log heizung | |||
attr FileLog_heizung logtype text | |||
attr FileLog_heizung room LogFiles | |||
attr FileLog_heizung group Heizung | |||
< | {{Anker|SelektivLoggen}} | ||
# Loggen einer Auswahl von Daten aktivieren, Pfad/Dateiname ./log/Heizung-<Jahr>-<Monat>.log; Bsp.: "Heizung-2015-01.log" | |||
# ======================================================================================================================= | |||
define FileLog_heizung FileLog ./log/Heizung-%Y-%m.log heizung:(/system/sensors/temperatures/hotWater_t2|/system/sensors/temperatures/outdoor_t1).* | |||
attr FileLog_heizung logtype text | |||
attr FileLog_heizung room LogFiles | |||
attr FileLog_heizung group Heizung | |||
==== Plot Anlegen ==== | |||
[[Datei:Logfiles_FileLog_heizung.png|512px|thumb|right|Logfiles_FileLog_heizung.png]] | |||
Nach Fertigstellung und Abspeichern der ''"[[Konfiguration|fhem.cfg]]"'' Datei ist als erster Schritt der Plot anzulegen. Dazu: | |||
* im Raum ''"LogFiles"'' auf den Link ''"FileLog_heizung"'' klicken. | |||
* Im neuen Fenster auf den Link ''"Create SVG Plot"'' klicken | |||
jetzt kann die eigentliche Konfiguration der darzustellenden Daten beginnen. | |||
<div style="clear:both;"></div> | |||
==== Plot Inhalte via Plot Editor konfigurieren ==== | |||
[[Datei:Buderus_Heiztemperaturen_Ploteditor.png|1024px|thumb|right|Buderus_Heiztemperaturen_Ploteditor.png]] | |||
Nun ist der Plot noch mit Leben zu füllen. | |||
Dazu müssen dem Plot noch mit Hilfe des [[Plots_erzeugen#.gplot-Editor|Ploteditors]] die eigentlichen Messwerte des Buderus Gateways zugeordnet werden: | |||
< | * Link ''"Heiztemperaturen"'' unten links anklicken (siehe oben, Temperatur Plot)<br />''Es erscheint der Ploteditor (Buderus_Heiztemperaturen_Ploteditor.png)''<BR />''Der Plot selbst (oben) erscheint beim ersten Mal noch nicht, da bisher keine Meßgrößen selektiert wurden''<br> | ||
*Die Beschriftung von ''Titel, Achsen'' etc. sollte selbst erklärend sein (1) | |||
*In den Zeilen unter ''"Diagram Label, Source..."'' legt man die eigentlichen Meßwerte für den Plot fest | |||
*''"Diagram Label"'' (2) = beliebige Bezeichnung des Meßwertes | |||
*''"Source"'' (3) = in diesem Auswahlfenster legt man die Logdatei fest, aus der die Daten extrahiert werden sollen, hier "FileLog_heizung" | |||
*''"Input:Column"'' (4) = Spalte innerhalb der Logdatei in der die Meßwerte stehen, bei uns immer ''"4"'' (Spalte 1 = Zeitstempel) | |||
*''"Regexp"'' (5) = hier legt wählt man die eigentliche Meßgröße aus | |||
*''"DefaultValue"'' (6) = Defaultwert, wird angezeigt wenn es keine echten Meßdaten gibt (Man sieht dann den Default Wert, ist eher schlecht deshalb bei mir leer)<BR> | |||
*''"Function"'' (7) = hier kann eine Umrechnungsformel angegeben werden | |||
*''"Y-Axis"'' (8) = hier kann die Referenzachse (Rechte oder Linke) ausgewählt werden | |||
*''"Plot-Type"'' (9) = hier wird festgelegt ob die Darstellung als "Linie" oder "Punkte" etc. erfolgt | |||
*''"Style"'' (10) = Farbe/Struktur der Linie.... | |||
*''"Width"'' (11) = Stärke der Linie.... | |||
Sind alle diese Parameter für einen Meßwert definiert ist noch der Button ''"Write .gplot file"'' (12) zu drücken, danach wird die erste Kurve dargestellt. | |||
'''Aber aufpassen:''' angezeigt werden in obiger Konfiguration immer nur die Meßwerte '''eines Tages'''. Erstellt man diese Konfiguration z.B. um 0:01 Uhr Nachts | |||
sieht man '''nichts''', weil es u.U. noch keine Meßwerte für diesen Tag gibt. | |||
Für weitere Messwerte wird obiger Vorgang wiederholt.<BR> | |||
Danach kann bei Bedarf noch via ''"attr FileLog_heizung Room"'' ein gewünschter "Raum" festgelegt werden. Am Ende noch auf ''"Save config"'' klicken damit das Werk auch abgespeichert wird. | |||
<big>'''Hinweis:'''</big><BR> | |||
Das Laden der Plots dauert eventuell sehr lang. Das liegt daran, dass alle Daten der Logdatei geladen werden müssen und unter Umständen sehr viele Daten durch ein sehr kurzes Poll-Intervall gespeichert werden. Ein schwaches Rechensystem z.B. Raspberry PI kann diesen Umstand noch verstärken. | |||
Als Abhilfe kann z.B. nur ein Teil der Daten geloggt werden, s.o. unter: [[Buderus Web Gateway#SelektivLoggen|Loggen einer Auswahl von Daten aktivieren,....]]. Geloggt werden im obigen Beispiel die Daten in der runden Klammer (.hotWater_t2 und ..outdoor_t1). | |||
== Bekannte Probleme == | == Bekannte Probleme == | ||
Zeile 268: | Zeile 322: | ||
<BR> | <BR> | ||
=== Sporadischer Absturz von | === Sporadischer Absturz von FHEM === | ||
<u>'''Beschreibung / Ursache:'''</u> | <u>'''Beschreibung / Ursache:'''</u> | ||
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 | 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. | 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: | Bisher treten diese Abstuerze insbesondere bei Abfrage der folgenden Services auf: | ||
Zeile 286: | Zeile 340: | ||
<u>'''Lösung:'''</u> | <u>'''Lösung:'''</u> | ||
Zu diesem Zweck muss man zunächst das Attribut ConsoleMessage aktivieren (Siehe Attribute) und sehen, ab welcher Ausgabe sich das | 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. | Der Wert der Probleme bereitet ist der nächste Wert, der eben gerade nicht angezeigt wird. | ||
Zeile 294: | Zeile 348: | ||
<BR> | <BR> | ||
<BR> | <BR> | ||
=== Keine Services lesbar / Keine Readings im | === Keine Services lesbar / Keine Readings im FHEM === | ||
<u>'''Beschreibung / Ursache:'''</u> | <u>'''Beschreibung / Ursache:'''</u> | ||
Es kann sein das das | 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: | Wenn man zum debuggen dann das Attribut "ConsoleMessage" aktiviert hat (Siehe Attribute) dann taucht folgende Liste in der Konsole auf: | ||
Zeile 371: | Zeile 425: | ||
Die interne Logik der Zentralheizung macht im Grunde nichts Anderes. | Die interne Logik der Zentralheizung macht im Grunde nichts Anderes. | ||
== Anhang A - Liste bekannter Services == | === Trotz des Ausschluss ausgesuchter Services durch das "DoNotPoll" - Attribut, listet FHEM diese noch auf === | ||
<u>'''Beschreibung / Ursache:'''</u> | |||
Nachdem man die nicht mehr erwünschten Services durch das "DoNotPoll" - Attribut geblockt hat, werden diese immer noch aufgelistet<BR> | |||
<BR> | |||
<u>'''Lösung:'''</u> | |||
FHEM speichert alle Readings in der fhem.save Datei. Um diese zu löschen kann mittels des FHEM - Befehls "deletereading" das entsprchende Reading gelöscht werden. | |||
Es dürfen aber auch alle Readings gelöscht werden, da diese beim nächsten geplanten Polling wieder neu geschrieben werden:<BR> | |||
<BR> | |||
:<Code>deletereading myKm200 .*</Code> | |||
<BR> | |||
Update: Seit Version 0052 sollte dieser Fehler behoben sein. Bei Veränderung der "DoNotPoll"-Parameter werden zunächst alle Readings gelöscht und neu eingelesen. | |||
<BR> | |||
<BR> | |||
=== km200 - Device bleibt auf State "Sounding..." hängen === | |||
<u>'''Beschreibung / Ursache:'''</u> | |||
Die genaue Ursache dieses Fehlers ist noch unbekannt und kann nicht zuverlässig reproduziert werden, was die Fehlersuche erschwert.<BR> | |||
Es ist zu vermuten, dass die Kommunikation bzw. die Antwortzeiten eine Rolle spielen.<BR> | |||
<u>'''Lösung:'''</u> | |||
Zur Zeit gibt es nur die Möglichkeit nach einem FHEM Neustart einmalig zu kontrollieren, ob die Werte eingelesen werden (Farbwechsel der LastUpdate-Zeiten) bzw. ob der State nach einer gewissen Zeit auf "Standby" geht.<BR> | |||
Sollte dies nicht der Fall sein, hat sich die Kommunikation aufgehängt und ein FHEM-Neustart mit "shutdown restart" sollte durchgeführt werden.<BR> | |||
Bisher tauchen nach einem erfolgreichen Sounding keine Probleme im normalen Dienst auf.<BR> | |||
<BR> | |||
Update: Seit Version 0054 ist dieses Problem behoben.<BR> | |||
Das Modul wartet nach erfolglosem Erstkontakt zunächst 10s und gibt eine ERROR - Fehlermeldung im STATE aus. | |||
Dann startet es nach Ablauf der 10s einen neuen Versuch. | |||
Sollte der Versuch erfolgreich sein, wechselt der STATE in "Sounding"´ansonsten wartet es wieder 10s.<BR> | |||
<BR> | |||
<BR> | |||
=== km200 - Device bleibt scheinbar auf State "Sounding...", "ERROR -" oder "Polling" hängen === | |||
<u>'''Beschreibung / Ursache:'''</u> | |||
Obwohl das Modul scheinbar seine Arbeit aufgenommen hat und funktioniert, ändert sich das STATE Reading in der FHEMWeb - Oberfläche nicht. | |||
<u>'''Lösung:'''</u> | |||
Dies ist kein km200 oder FHEM Problem Dieses Problem liegt hierbei im Browser.<BR> | |||
Die Lösung ist, einen Seiten-Refresh mittels Taste "F5" zu machen.<BR> | |||
<BR> | |||
<BR> | |||
== Anhang A - Liste bekannter Root 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. | 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. | ||
Alle untergeordneten Services werden seit Version 0045 automatisch geladen und können von User zu User variieren. | |||
<span style="font-family:Courier New"> | <span style="font-family:Courier New"> | ||
/<BR> | /<BR> | ||
/dhwCircuits<BR> | |||
/gateway<BR> | /gateway<BR> | ||
/heatingCircuits<BR> | /heatingCircuits<BR> | ||
/heatSources<BR> | /heatSources<BR> | ||
/notifications<BR> | /notifications<BR> | ||
/recordings<BR> | /recordings<BR> | ||
/solarCircuits<BR> | /solarCircuits<BR> | ||
/system<BR> | /system<BR> | ||
<BR> | <BR> | ||
</span> | </span> | ||
Zeile 606: | Zeile 493: | ||
== Links == | == Links == | ||
* {{Link2Forum|Topic=25540}} zur Entwicklung und Support des Moduls | * {{Link2Forum|Topic=25540}} zur Entwicklung und Support des Moduls | ||
* {{Link2Forum|Topic=25540|Message=230504}}, der auf einem Raspbery Pi schrittweise -ausgehend von der Betriebssysteminstallation über die | * {{Link2Forum|Topic=25540|Message=230504}}, der auf einem Raspbery Pi schrittweise -ausgehend von der Betriebssysteminstallation über die FHEM-Installation- die Modulnutzung beschreibt | ||
* [http://www.buderus.de Buderus Internetseite] | |||
* [http://de.documents.buderus.com/download/pdf/file/6720807675.pdf Logamatic web KM50 - Installations- und Bedienungsanleitung] | * [http://de.documents.buderus.com/download/pdf/file/6720807675.pdf Logamatic web KM50 - Installations- und Bedienungsanleitung] | ||
* [http://documents.buderus.com/download/pdf/file/6720647836.pdf Logamatic web KM200 - Installationsanleitung für den Fachmann] | * [http://documents.buderus.com/download/pdf/file/6720647836.pdf Logamatic web KM200 - Installationsanleitung für den Fachmann] | ||
* [http://heizungsfachshop.de/media/pdf/technische-unterlagen-buderus-logamatic-web-km300.pdf Logamatic web KM300 - Installationsanleitung für den Fachmann] | * [http://heizungsfachshop.de/media/pdf/technische-unterlagen-buderus-logamatic-web-km300.pdf Logamatic web KM300 - Installationsanleitung für den Fachmann] | ||
[[Kategorie:Heizungssteuerung]] | [[Kategorie:Heizungssteuerung]] | ||
[[Kategorie:Other Components]] | [[Kategorie:Other Components]] |
Aktuelle Version vom 13. Oktober 2023, 14:06 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.
Vorbereitungen
Vorbereitungen der Hardware
Installation der Hardware
Allein aus Gründen der Garantieansprüche, sollte das KMxxx Gerät heizungsseitig nur von Heizungsfachmann installiert werden. Netzwerkseitig sollte das KMxxx Gerät mit einem Netzwerkkabel besser Cat5 direkt an den Router angeschlossen werden.
Update der Firmware
Um eine funktionsfähige Kommunikation zwischen dem FHEM-Modul und dem KMxxx Gerät aufbauen zu können, muss die entsprechende Firmware installiert werden. Die Firmware ändert sich paradoxerweise in Abhängigkeit der angeschlossenen Geräte. Aus diesem Grund muss das KMxxx Gerät vor Betrieb mit FHEM in jedem Fall zunächst ins Internet. Sobald die LED des KMxxx Geräts auf grün wechselt, ist die Internetverbindung erfolgreich hergestellt. Ab jetzt kann es unter extremen Umständen bis über Nacht dauern, ehe sich die korrekte Firmware automatisch installiert hat.
Persönliches Passwort
Das persönliche Passwort muss zunächst noch erstellt werden, da die KMxxx Geräte ohne persönliches 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.
ACHTUNG: Keine deutschen Umlaute Verwenden!
Sperrung des Internetzugangs
Ohne, dass der Umstand in den Unterlagen der KMxxx Geräte aus datenschutzrechtlicher Sicht auch nur erwähnt ist, baut das KMxxx-Gerät nach jedem Polling seitens des FHEM-Moduls von sich aus eine Verbindung zum Server von Buderus bzw. BOSH Thermotechnik auf. Über den Inhalt der Datenübertragung kann nur spekuliert werden. Um diese Datenübertragung zu unterbinden, muss man in dem jeweiligen Internet-Router das KMxxx Gerät bzw. dessen entsprechende IP-Adresse für den Internetzugang gesperrt werden. In der Fritz!Box bzw. unter Fritz!OS funktioniert dies am Besten mit der Kindersicherung Bei andewren Routern muss die entsprechende Bedienungsanleitung konsultiert werden.
Eine erfolgreiche Sperrung des Internet-Zugangs quittiert das KMxxx Gerät mit dem Wechsel der Betriebs-LED auf die orange Farbe.
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 Crypt::Rijndael
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
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. Siehe vorheriges Kapitel Persönliches Passwort
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 können 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 <time in sec> attr <devicename> PollingTimeout <time in sec> attr <devicename> ConsoleMessage <1 or 0> attr <devicename> DoNotPoll <Service_1> <Service_2> <Service_3> ... <Service_n> attr <devicename> ReadBackDelay <time in ms>
- IntervalDynVal
- Ein gültiges Interval für die Abfrage der Werte 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.
- 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.
- Nach dem Setzen des "DoNotPoll"-Attributs kann man die ungewünschten Readings mittels "deletereading" einzeln oder komplett löschen: Beispiel:
deletereading myKm200 .*
- ReadBackDelay
- Zeitraum in Millisekunden in dem das Modul mit einem Zurücklesen der Werte nach einem Schreibvorgang warten soll, da es sonst zu keinem erfolgreichen Schreibvorgang kommt. Die Größe des Wertes hängt sehr stark von der Geschwindigkeit des FHEM-Host-Systems sowie der angeschlossenen Netzwerkverbindung ab und kann daher mehr oder minder stark schwanken. Der Default-Wert ist 100ms.
Beispiel für Menüführung
Anzeige der Liste für Fehlermeldungen
Mit freundlicher Einladung an DLindner :-)
Steuerungsmenü eines Heizkreises
Mit freundlicher Einladung an DLindner :-)
Steuerungsmenü der Warmwasserbereitstellung
Mit freundlicher Einladung an DLindner :-)
Beispiel für readingsGroup
In diesem Beispiel werden im Raum "Heizung" zwei Gruppen namens "Heizung" und "Temperaturen" angelegt und die Services mit entsprechenden Symbolen versehen.
fhem.cfg
define Temperaturen readingsGroup myKm200:<%temp_temperature>,<AussenTemp.>,/system/sensors/temperatures/outdoor_t1 myKm200:<%sani_solar_temp><SonnenkollektorTemp.>,/solarCircuits/sc1/collectorTemperature myKm200:<%sani_buffer_temp_all>,<HeißwasserTemp.>,/system/sensors/temperatures/hotWater_t2
attr Temperaturen room Heizung
attr Temperaturen valueStyle style="text-align:right"
define Heizung readingsGroup myKm200:<%sani_domestic_waterworks>,<Heizungsdruck>,/system/appliance/systemPressure myKm200:<%sani_supply_temp>,<Vorlauftemp>,/system/sensors/temperatures/supply_t1 myKm200:<%sani_return_temp>,<Rücklauftemp>,/heatSources/returnTemperature
attr Heizung room Heizung
attr Heizung valueStyle style="text-align:right"
Beispiel für Plot
Mit dBLog
Um einen obigen Plot anzuzeigen geht man wie folgt vor:
fhem.cfg
Folgende Einträge müssen in der fhem.cfg vorgenommen werden:
define SVG_CH_Values SVG myDbLog:CentralHeating_CH:HISTORY attr SVG_CH_Values plotsize 1600,400 attr SVG_CH_Values room Plots attr SVG_CH_Values title "Central Heating"
gplot
Die entsprechende plot-Datei namens "CentralHeating_CH.gplot
" sieht dann wie folgt aus:
# Created by FHEM/98_SVG.pm, 2015-01-12 22:57:42 set terminal png transparent size <SIZE> crop set output '<OUT>.png' set xdata time set timefmt "%Y-%m-%d_%H:%M:%S" set xlabel " " set title '<TL>' set ytics set y2tics set grid y2tics set ylabel "Temperature in °C / Modulation in %" set y2label "Power in kW" set yrange [0:105] set y2range [0:21] #DbLog myKm200:/heatSources/actualPower #DbLog myKm200:/system/sensors/temperatures/supply_t1 #DbLog myKm200:/heatingCircuits/hc1/pumpModulation #DbLog myKm200:/system/sensors/temperatures/hotWater_t2 plot "<IN>" using 1:2 axes x1y2 title 'Power' ls l3 lw 1 with lines,\ "<IN>" using 1:2 axes x1y1 title 'Vorlauftemperatur' ls l0 lw 1 with lines,\ "<IN>" using 1:2 axes x1y1 title 'Ladepumpe' ls l1 lw 1 with lines,\ "<IN>" using 1:2 axes x1y1 title 'Warmwasser' ls l2 lw 1 with lines
Diese Plotdatei kann auch mit Hilfe des Ploteditors generiert werden. Die Vorgehensweise entspricht -bis auf die Plot-Source dBLog- dem im Folgenden beschriebenen Ablauf mit FileLog.
Mit FileLog
Obiger Plot wurde mit Hilfe des Ploteditors erstellt.
fhem.cfg
Die Ploterstellung erfolgt anhand der nachfolgenden Beispiel-Konfiguration:
# Buderus Gateway aktivieren und Parameter setzen # =============================================== define heizung km200 <IP ADR> <SYS PW> <User PW> attr heizung IntervalDynVal 90 attr heizung IntervalStatVal 3600 attr heizung PollingTimeout 200 attr heizung ConsoleMessage 0 attr heizung room Heizung
# Loggen aller Daten aktivieren, Pfad/Dateiname ./log/Heizung-<Jahr>-<Monat>.log; Bsp.: "Heizung-2015-01.log" # =========================================================================================================== define FileLog_heizung FileLog ./log/Heizung-%Y-%m.log heizung attr FileLog_heizung logtype text attr FileLog_heizung room LogFiles attr FileLog_heizung group Heizung
# Loggen einer Auswahl von Daten aktivieren, Pfad/Dateiname ./log/Heizung-<Jahr>-<Monat>.log; Bsp.: "Heizung-2015-01.log" # ======================================================================================================================= define FileLog_heizung FileLog ./log/Heizung-%Y-%m.log heizung:(/system/sensors/temperatures/hotWater_t2|/system/sensors/temperatures/outdoor_t1).* attr FileLog_heizung logtype text attr FileLog_heizung room LogFiles attr FileLog_heizung group Heizung
Plot Anlegen
Nach Fertigstellung und Abspeichern der "fhem.cfg" Datei ist als erster Schritt der Plot anzulegen. Dazu:
- im Raum "LogFiles" auf den Link "FileLog_heizung" klicken.
- Im neuen Fenster auf den Link "Create SVG Plot" klicken
jetzt kann die eigentliche Konfiguration der darzustellenden Daten beginnen.
Plot Inhalte via Plot Editor konfigurieren
Nun ist der Plot noch mit Leben zu füllen. Dazu müssen dem Plot noch mit Hilfe des Ploteditors die eigentlichen Messwerte des Buderus Gateways zugeordnet werden:
- Link "Heiztemperaturen" unten links anklicken (siehe oben, Temperatur Plot)
Es erscheint der Ploteditor (Buderus_Heiztemperaturen_Ploteditor.png)
Der Plot selbst (oben) erscheint beim ersten Mal noch nicht, da bisher keine Meßgrößen selektiert wurden - Die Beschriftung von Titel, Achsen etc. sollte selbst erklärend sein (1)
- In den Zeilen unter "Diagram Label, Source..." legt man die eigentlichen Meßwerte für den Plot fest
- "Diagram Label" (2) = beliebige Bezeichnung des Meßwertes
- "Source" (3) = in diesem Auswahlfenster legt man die Logdatei fest, aus der die Daten extrahiert werden sollen, hier "FileLog_heizung"
- "Input:Column" (4) = Spalte innerhalb der Logdatei in der die Meßwerte stehen, bei uns immer "4" (Spalte 1 = Zeitstempel)
- "Regexp" (5) = hier legt wählt man die eigentliche Meßgröße aus
- "DefaultValue" (6) = Defaultwert, wird angezeigt wenn es keine echten Meßdaten gibt (Man sieht dann den Default Wert, ist eher schlecht deshalb bei mir leer)
- "Function" (7) = hier kann eine Umrechnungsformel angegeben werden
- "Y-Axis" (8) = hier kann die Referenzachse (Rechte oder Linke) ausgewählt werden
- "Plot-Type" (9) = hier wird festgelegt ob die Darstellung als "Linie" oder "Punkte" etc. erfolgt
- "Style" (10) = Farbe/Struktur der Linie....
- "Width" (11) = Stärke der Linie....
Sind alle diese Parameter für einen Meßwert definiert ist noch der Button "Write .gplot file" (12) zu drücken, danach wird die erste Kurve dargestellt.
Aber aufpassen: angezeigt werden in obiger Konfiguration immer nur die Meßwerte eines Tages. Erstellt man diese Konfiguration z.B. um 0:01 Uhr Nachts
sieht man nichts, weil es u.U. noch keine Meßwerte für diesen Tag gibt.
Für weitere Messwerte wird obiger Vorgang wiederholt.
Danach kann bei Bedarf noch via "attr FileLog_heizung Room" ein gewünschter "Raum" festgelegt werden. Am Ende noch auf "Save config" klicken damit das Werk auch abgespeichert wird.
Hinweis:
Das Laden der Plots dauert eventuell sehr lang. Das liegt daran, dass alle Daten der Logdatei geladen werden müssen und unter Umständen sehr viele Daten durch ein sehr kurzes Poll-Intervall gespeichert werden. Ein schwaches Rechensystem z.B. Raspberry PI kann diesen Umstand noch verstärken. Als Abhilfe kann z.B. nur ein Teil der Daten geloggt werden, s.o. unter: Loggen einer Auswahl von Daten aktivieren,..... Geloggt werden im obigen Beispiel die Daten in der runden Klammer (.hotWater_t2 und ..outdoor_t1).
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 KM300/KM200/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. Offensichtlich kann es aus noch ungeklärter Ursache dazu kommen, dass das KM Gerät 2 Byte zuviel sendet.
Lösung:
Die Ursache konnte noch nicht gefunden werden. Bei dem einzigen bekannten Fall hat der User nur mit einem kompletten Hardware-RESET des KM - Gerätes die Funktion, bzw. den Kontakt zum KM-Gerät wiederherstellen können.
FlameStatus "OFF" wird erkannt, FlameStatus "ON" wird aufgrund falscher Codierung verworfen
Beschreibung / Ursache:
Die Readings
/heatSources/flameStatus
/system/appliance/flameStatus
werden zwar eingelesen, jedoch verweilt der Status in "OFF". Da das Gerät einen undefinierten aber nicht reproduzierbaren JSON-Wert für "ON" zurückgibt, wird dieser vom 73_km200 Modul verworfen.
Lösung:
Die Ursache kann vom 73_km200 Modul nicht behoben, bzw. abgefangen werden, da sich die fehlerhaften Stringmeldungen von Gerät zu Gerät in Abhängigkeit von Hardware, Linux-Version, Applikations-Version unterscheiden können.
Der Fehler liegt nach bisheriger Einschätzung im Gerät bzw. dessen Firmware.
Aus diesem Grunde wird empfohlen eine Abfrage auf
/heatSources/flameCurrent > 0uA
oder
/system/appliance/flameCurrent > 0uA
zu programmieren. Sobald der Ionisierungsstrom >0 ist, läuft der Brenner ganz sicher.
Die interne Logik der Zentralheizung macht im Grunde nichts Anderes.
Trotz des Ausschluss ausgesuchter Services durch das "DoNotPoll" - Attribut, listet FHEM diese noch auf
Beschreibung / Ursache:
Nachdem man die nicht mehr erwünschten Services durch das "DoNotPoll" - Attribut geblockt hat, werden diese immer noch aufgelistet
Lösung:
FHEM speichert alle Readings in der fhem.save Datei. Um diese zu löschen kann mittels des FHEM - Befehls "deletereading" das entsprchende Reading gelöscht werden.
Es dürfen aber auch alle Readings gelöscht werden, da diese beim nächsten geplanten Polling wieder neu geschrieben werden:
deletereading myKm200 .*
Update: Seit Version 0052 sollte dieser Fehler behoben sein. Bei Veränderung der "DoNotPoll"-Parameter werden zunächst alle Readings gelöscht und neu eingelesen.
km200 - Device bleibt auf State "Sounding..." hängen
Beschreibung / Ursache:
Die genaue Ursache dieses Fehlers ist noch unbekannt und kann nicht zuverlässig reproduziert werden, was die Fehlersuche erschwert.
Es ist zu vermuten, dass die Kommunikation bzw. die Antwortzeiten eine Rolle spielen.
Lösung:
Zur Zeit gibt es nur die Möglichkeit nach einem FHEM Neustart einmalig zu kontrollieren, ob die Werte eingelesen werden (Farbwechsel der LastUpdate-Zeiten) bzw. ob der State nach einer gewissen Zeit auf "Standby" geht.
Sollte dies nicht der Fall sein, hat sich die Kommunikation aufgehängt und ein FHEM-Neustart mit "shutdown restart" sollte durchgeführt werden.
Bisher tauchen nach einem erfolgreichen Sounding keine Probleme im normalen Dienst auf.
Update: Seit Version 0054 ist dieses Problem behoben.
Das Modul wartet nach erfolglosem Erstkontakt zunächst 10s und gibt eine ERROR - Fehlermeldung im STATE aus.
Dann startet es nach Ablauf der 10s einen neuen Versuch.
Sollte der Versuch erfolgreich sein, wechselt der STATE in "Sounding"´ansonsten wartet es wieder 10s.
km200 - Device bleibt scheinbar auf State "Sounding...", "ERROR -" oder "Polling" hängen
Beschreibung / Ursache:
Obwohl das Modul scheinbar seine Arbeit aufgenommen hat und funktioniert, ändert sich das STATE Reading in der FHEMWeb - Oberfläche nicht.
Lösung:
Dies ist kein km200 oder FHEM Problem Dieses Problem liegt hierbei im Browser.
Die Lösung ist, einen Seiten-Refresh mittels Taste "F5" zu machen.
Anhang A - Liste bekannter Root 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. Alle untergeordneten Services werden seit Version 0045 automatisch geladen und können von User zu User variieren.
/
/dhwCircuits
/gateway
/heatingCircuits
/heatSources
/notifications
/recordings
/solarCircuits
/system
Links
- Thema zur Entwicklung und Support des Moduls
- Beitrag, der auf einem Raspbery Pi schrittweise -ausgehend von der Betriebssysteminstallation über die FHEM-Installation- die Modulnutzung beschreibt
- Buderus Internetseite
- Logamatic web KM50 - Installations- und Bedienungsanleitung
- Logamatic web KM200 - Installationsanleitung für den Fachmann
- Logamatic web KM300 - Installationsanleitung für den Fachmann