Buderus Web Gateway: Unterschied zwischen den Versionen

Aus FHEMWiki
(Device name corrected)
(Modul ergänzt, das auch notwendig ist.Siehe: https://forum.fhem.de/index.php?topic=135293.0)
 
(44 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 13: Zeile 13:
[[Datei:KM200.png|1024px|thumb|left |Buderus Kommunikationsmodul KM200<BR>Quelle: "Bosch Thermotechnik GmbH, Buderus Deutschland" <BR> &copy; Buderus]]
[[Datei:KM200.png|1024px|thumb|left |Buderus Kommunikationsmodul KM200<BR>Quelle: "Bosch Thermotechnik GmbH, Buderus Deutschland" <BR> &copy; Buderus]]
[[Datei:KM300.png|1024px|thumb|right|Buderus Kommunikationsmodul KM300<BR>Quelle: "Bosch Thermotechnik GmbH, Buderus Deutschland" <BR> &copy; Buderus]]
[[Datei:KM300.png|1024px|thumb|right|Buderus Kommunikationsmodul KM300<BR>Quelle: "Bosch Thermotechnik GmbH, Buderus Deutschland" <BR> &copy; Buderus]]
<BR>
 
<BR>
<BR>
<BR>
<BR>
<BR>
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.
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.
Ü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.
<BR>
<div style="clear:both;"></div>
<BR>
 
<BR>
 
<BR>
== Vorbereitungen ==
<BR>
=== Vorbereitungen der Hardware ===
<BR>
 
<BR>
==== Installation der Hardware ====
<BR>
Allein aus Gründen der Garantieansprüche, sollte das KMxxx Gerät heizungsseitig nur von Heizungsfachmann installiert werden.
<BR>
Netzwerkseitig sollte das KMxxx Gerät mit einem Netzwerkkabel besser Cat5 direkt an den Router angeschlossen werden.
<BR>
 


== Voraussetzung ==
==== 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.




=== Buderus Hardware ===
==== 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>


Buderus KM(*)-Modul (*) 50, 200, 300


Quelle: Buderus Webseite
==== 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.


Buderus RC(*)-Regler (*) 30/35, 200, 300
Eine erfolgreiche Sperrung des Internet-Zugangs quittiert das KMxxx Gerät mit dem Wechsel der Betriebs-LED auf die orange Farbe.


Quelle: Buderus Webseite


== Vorbereitungen in Linux ==
=== Vorbereitungen in Linux ===




Zeile 55: Zeile 57:


Code:  
Code:  
:<Code>sudo bash</code>
:<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>
:<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>
:<Code>sudo apt-get install cpanminus</Code>


Dann nacheinander die u.g. Module per (Copy/Paste) und Bestätigung per (Enter) installieren.
Dann nacheinander die u.g. Module per (Copy/Paste) und Bestätigung per {{Taste|Enter}} installieren.


Code:
Code:
:<Code>cpanm JSON</code>
:<Code>cpanm JSON</Code>
 
:<Code>cpanm List::MoreUtils</code>


:<Code>cpanm Crypt::Rijndael</code>
:<Code>cpanm List::MoreUtils</Code>


:<Code>cpanm LWP::UserAgent</code>
:<Code>cpanm Crypt::Rijndael</Code>


:<Code>cpanm MIME::Base64</code>
:<Code>cpanm LWP::UserAgent</Code>


:<Code>cpanm Time::HiRes</code>
:<Code>cpanm MIME::Base64</Code>


:<Code>cpanm Digest::MD5</code>
:<Code>cpanm Time::HiRes</Code>


:<Code>cpanm base</code>
:<Code>cpanm Digest::MD5</Code>


:<Code>cpanm HttpUtils</code>
:<Code>cpanm base</Code>
:
:<Code>cpanm Crypt::Rijndael</Code>


:<Code>apt-get install libltdl</code>
:<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>
:<Code>apt-get update</Code>


:<Code>apt-get upgrade</code>
:<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>  
:<Code>exit</Code>  


wieder in den User-Mode wechseln.
wieder in den User-Mode wechseln.


== Vorbereitung in FHEM ==
=== 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 ===
==== Passwörter ====


Es werden für das fhem Modul "km200" 2 Passwörter benötigt:
Es werden für das FHEM Modul "km200" 2 Passwörter benötigt:


a) Gateway Passwort
a) Gateway Passwort
Zeile 122: 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.  
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.
Siehe vorheriges Kapitel [[#Persönliches_Passwort|Persönliches Passwort]]
 


=== Aktivierung und Definition in FHEM ===
==== Aktivierung und Definition in FHEM ====
In der fhem.cfg das Modul definieren mit:
In der [[Konfiguration|fhem.cfg]] das Modul definieren mit:


:<Code>define <devicename> km200 <IPAdresse des KM200> <Gateway Passwort> <persönliches Passwort></code>
:<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.
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 ===
==== 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.
<!-- @sailor: längere "code" Abschnitte besser mit <pre> formatieren - wird übersichtlicher -->
 
<pre style="width:600px;">
<pre style="width:650px;">
attr <devicename> IntervalDynVal <time in sec>
attr <devicename> IntervalDynVal <time in sec>
attr <devicename> IntervalStatVal <time in sec>
attr <devicename> PollingTimeout <time in sec>
attr <devicename> PollingTimeout <time in sec>
attr <devicename> ConsoleMessage <1 or 0>
attr <devicename> ConsoleMessage <1 or 0>
attr <devicename> DoNotPoll <Service_1> <Service_2> <Service_3> ... <Service_n>
attr <devicename> DoNotPoll <Service_1> <Service_2> <Service_3> ... <Service_n>
attr <devicename> ReadBackDelay  <time in ms>
</pre>
</pre>


<!-- @sailor: Deine Versuche, mit vielen <br> Tags die Formatierung zu beeinflussen sind nicht optimal; je nach Breite des Browserfensters sieht das dann ok oder grässlich aus; versuche lieber, ohne auszukommen -->
<!-- @sailor: und für solche Aufzählungen wie die folgende eignet sich die "definition list" besser und bleibt auch im Wiki-Source noch einigermaßen übersichtlich (hab mal nur die ersten beiden Punkte umformatiert): -->


;IntervalDynVal
;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.
: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.
 
;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.
   
   
*<u>PollingTimeout:</u>
;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
*<u>ConsoleMessage:</u>
: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 fhem-System stoppen und wieder starten.
: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
*<u>DoNotPoll:</u>
: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 ==
== Beispiel für readingsGroup ==
[[Datei:Buderus_RoomHeizung.png|200px|thumb|right|readingsGroup "Heizung" und "Temperaturen" mit 73_km200 - Werten]]
[[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.  
In diesem Beispiel werden im Raum "Heizung" zwei Gruppen namens "Heizung" und "Temperaturen" angelegt und die Services mit entsprechenden Symbolen versehen.  
<br clear=all>


==== fhem.cfg ====
fhem.cfg
<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<BR>
<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>
attr Temperaturen room Heizung<BR>
<code>attr Temperaturen room Heizung</code><BR>
attr Temperaturen valueStyle style="text-align:right"<BR>
<code>attr Temperaturen valueStyle style="text-align:right"</code>
<BR>
 
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>
<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 room Heizung<BR>
attr Heizung valueStyle style="text-align:right"<BR>
attr Heizung valueStyle style="text-align:right"</code>
</code>


== Beispiel für Plot ==
== Beispiel für Plot ==
Zeile 188: Zeile 189:
=== Mit dBLog ===
=== Mit dBLog ===


[[Datei:DbLog-plot.png|1024px|thumb|left|plot mit Werten aus 73_km200]]
[[Datei:DbLog-plot.png|1024px|thumb|none|plot mit Werten aus 73_km200]]
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
 
Um einen obigen plot anzuzeigen geht man  wie folgt vor:
 
 
==== fhem.cfg ====
 
Folgende Einträge m&uuml;ssen in der fhem.cfg vorgenommen werden:


<code> define SVG_CH_Values SVG myDbLog:CentralHeating_CH:HISTORY</code>
Um einen obigen Plot anzuzeigen geht man  wie folgt vor:


<code>attr SVG_CH_Values plotsize 1600,400</code>
==== [[Konfiguration|fhem.cfg]] ====


<code>attr SVG_CH_Values room Plots</code>
Folgende Einträge müssen in der [[Konfiguration|fhem.cfg]] vorgenommen werden:


<code>attr SVG_CH_Values title "Central Heating"</code>
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 ====
==== gplot ====
Zeile 225: Zeile 206:
Die entsprechende plot-Datei namens "<code>CentralHeating_CH.gplot</code>" sieht dann wie folgt aus:
Die entsprechende plot-Datei namens "<code>CentralHeating_CH.gplot</code>" sieht dann wie folgt aus:


<code># Created by FHEM/98_SVG.pm, 2015-01-12 22:57:42</code>
# 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


<code>set terminal png transparent size <SIZE> crop</code>
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.


<code>set output '<OUT>.png'</code>
=== Mit FileLog ===
 
[[Datei:Buderus_Temperaturen_MitFileLog.png|1024px|thumb|none|typischer Temperatur plot]]
<code>set xdata time</code>


<code>set timefmt "%Y-%m-%d_%H:%M:%S"</code>
Obiger Plot wurde mit Hilfe des Ploteditors erstellt.


<code>set xlabel " "</code>
==== [[Konfiguration|fhem.cfg]] ====


<code>set title '<TL>'</code>
Die Ploterstellung erfolgt anhand der nachfolgenden Beispiel-Konfiguration:


<code>set ytics </code>
# 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


<code>set y2tics </code>
# 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


<code>set grid y2tics</code>
{{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


<code>set ylabel "Temperature in °C / Modulation in %"</code>
==== 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:


<code>set y2label "Power in kW"</code>
* 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....


<code>set yrange [0:105]</code>
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>


<code>set y2range [0:21]</code>
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.


<code></code>


<code>#DbLog myKm200:/heatSources/actualPower</code>
<big>'''Hinweis:'''</big><BR>


<code>#DbLog myKm200:/system/sensors/temperatures/supply_t1</code>
Das Laden der Plots dauert eventuell sehr lang. Das liegt daran, dass alle Daten der Logdatei geladen werden m&uuml;ssen und unter Umst&auml;nden sehr viele Daten durch ein sehr kurzes Poll-Intervall gespeichert werden. Ein schwaches Rechensystem z.B. Raspberry PI kann diesen Umstand noch verst&auml;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).
<code>#DbLog myKm200:/heatingCircuits/hc1/pumpModulation</code>
 
<code>#DbLog myKm200:/system/sensors/temperatures/hotWater_t2</code>
 
<code></code>
 
<code>plot "<IN>" using 1:2 axes x1y2 title 'Power' ls l3 lw 1 with lines,\</code>
 
<code>    "<IN>" using 1:2 axes x1y1 title 'Vorlauftemperatur' ls l0 lw 1 with lines,\</code>
 
<code>    "<IN>" using 1:2 axes x1y1 title 'Ladepumpe' ls l1 lw 1 with lines,\</code>
 
<code>    "<IN>" using 1:2 axes x1y1 title 'Warmwasser' ls l2 lw 1 with lines</code>
 
<BR>
<BR>
<BR>
 
=== Mit FileLog ===
 
Da muss mal Jemand Anderes mit FileLog sein Beispiel reinsetzen.
<BR>
<BR>


== Bekannte Probleme ==
== Bekannte Probleme ==
Zeile 302: Zeile 322:
<BR>
<BR>


=== Sporadischer Absturz von fhem ===
=== 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 fhem - Systems kommen.
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 320: 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 fhem-System aufhängt.
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 328: Zeile 348:
<BR>
<BR>
<BR>
<BR>
=== Keine Services lesbar / Keine Readings im fhem ===
=== Keine Services lesbar / Keine Readings im FHEM ===


<u>'''Beschreibung / Ursache:'''</u>
<u>'''Beschreibung / Ursache:'''</u>


Es kann sein das das fhem System nach eine Weile abstürzt ohne vorher Readings in das device geschrieben zu haben.
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 405: 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>
/gateway/DateTime<BR>
/gateway/firmware<BR>
/gateway/haiPassword<BR>
/gateway/instPassword<BR>
/gateway/instAccess<BR>
/gateway/instWriteAccess<BR>
/gateway/userpassword<BR>
/gateway/uuid<BR>
/gateway/versionFirmware<BR>
/gateway/versionHardware<BR>
<BR>
<BR>
/heatingCircuits<BR>
/heatingCircuits<BR>
/heatingCircuits/hc1<BR>
/heatingCircuits/hc1/activeSwitchProgram<BR>
/heatingCircuits/hc1/actualSupplyTemperature<BR>
/heatingCircuits/hc1/controlType<BR>
/heatingCircuits/hc1/currentOpModeInfo<BR>
/heatingCircuits/hc1/currentRoomSetpoint<BR>
/heatingCircuits/hc1/designTemp<BR>
/heatingCircuits/hc1/fastHeatupFactor<BR>
/heatingCircuits/hc1/heatCurveMax<BR>
/heatingCircuits/hc1/heatCurveMin<BR>
/heatingCircuits/hc1/manualRoomSetpoint<BR>
/heatingCircuits/hc1/operationMode<BR>
/heatingCircuits/hc1/pumpModulation<BR>
/heatingCircuits/hc1/roomInfluence<BR>
/heatingCircuits/hc1/roomtemperature<BR>
/heatingCircuits/hc1/roomTempOffset<BR>
/heatingCircuits/hc1/setpointOptimization<BR>
/heatingCircuits/hc1/solarInfluence<BR>
/heatingCircuits/hc1/status<BR>
/heatingCircuits/hc1/suWiSwitchMode<BR>
/heatingCircuits/hc1/suWiThreshold<BR>
/heatingCircuits/hc1/switchPrograms<BR>
/heatingCircuits/hc1/switchPrograms/A<BR>
/heatingCircuits/hc1/switchPrograms/B<BR>
/heatingCircuits/hc1/temperatureLevels<BR>
/heatingCircuits/hc1/temperatureLevels/comfort2<BR>
/heatingCircuits/hc1/temperatureLevels/eco<BR>
/heatingCircuits/hc1/temperatureLevels/day<BR>
/heatingCircuits/hc1/temperatureLevels/night<BR>
/heatingCircuits/hc1/temperatureRoomSetpoint<BR>
/heatingCircuits/hc1/temporaryRoomSetpoint<BR>
<BR>
/heatingCircuits/hc2<BR>
/heatingCircuits/hc2/activeSwitchProgram<BR>
/heatingCircuits/hc2/actualSupplyTemperature<BR>
/heatingCircuits/hc2/controlType<BR>
/heatingCircuits/hc2/currentOpModeInfo<BR>
/heatingCircuits/hc2/currentRoomSetpoint<BR>
/heatingCircuits/hc2/designTemp<BR>
/heatingCircuits/hc2/fastHeatupFactor<BR>
/heatingCircuits/hc2/heatCurveMax<BR>
/heatingCircuits/hc2/heatCurveMin<BR>
/heatingCircuits/hc2/manualRoomSetpoint<BR>
/heatingCircuits/hc2/operationMode<BR>
/heatingCircuits/hc2/pumpModulation<BR>
/heatingCircuits/hc2/roomInfluence<BR>
/heatingCircuits/hc2/roomtemperature<BR>
/heatingCircuits/hc2/roomTempOffset<BR>
/heatingCircuits/hc2/setpointOptimization<BR>
/heatingCircuits/hc2/solarInfluence<BR>
/heatingCircuits/hc2/status<BR>
/heatingCircuits/hc2/suWiSwitchMode<BR>
/heatingCircuits/hc2/suWiThreshold<BR>
/heatingCircuits/hc2/switchPrograms<BR>
/heatingCircuits/hc2/switchPrograms/A<BR>
/heatingCircuits/hc2/switchPrograms/B<BR>
/heatingCircuits/hc2/temperatureLevels<BR>
/heatingCircuits/hc2/temperatureLevels/day<BR>
/heatingCircuits/hc2/temperatureLevels/comfort2<BR>
/heatingCircuits/hc2/temperatureLevels/eco<BR>
/heatingCircuits/hc2/temperatureLevels/night<BR>
/heatingCircuits/hc2/temperatureRoomSetpoint<BR>
/heatingCircuits/hc2/temporaryRoomSetpoint<BR>
<BR>
/heatSources<BR>
/heatSources<BR>
/heatSources/actualCHPower<BR>
/heatSources/actualDHWPower<BR>
/heatSources/actualPower<BR>
/heatSources/actualsupplytemperature<BR>
/heatSources/ChimneySweeper<BR>
/heatSources/CHpumpModulation<BR>
/heatSources/flameCurrent<BR>
/heatSources/flameStatus<BR>
/heatSources/gasAirPressure<BR>
/heatSources/nominalCHPower<BR>
/heatSources/nominalDHWPower<BR>
/heatSources/numberOfStarts<BR>
/heatSources/powerSetpoint<BR>
/heatSources/returnTemperature<BR>
/heatSources/systemPressure<BR>
/heatSources/workingTime<BR>
/heatSources/workingTime/totalSystem <BR>
/heatSources/workingTime/secondBurner <BR>
/heatSources/workingTime/centralHeating <BR>
<BR>
<BR>
/heatSources/hs1/energyReservoir<BR>
/heatSources/hs1/reservoirAlert<BR>
/heatSources/hs1/nominalFuelConsumption<BR>
/heatSources/hs1/fuelConsmptCorrFactor<BR>
/heatSources/hs1/actualModulation<BR>
/heatSources/hs1/actualPower<BR>
/heatSources/hs1/fuel<BR>
<BR>
/notifications<BR>
/notifications<BR>
<BR>
/recordings<BR>
/recordings<BR>
/recordings/heatingCircuits<BR>
/recordings/heatingCircuits/hc1<BR>
/recordings/heatingCircuits/hc1/roomtemperature<BR>
/recordings/heatSources<BR>
/recordings/heatSources/actualCHPower<BR>
/recordings/heatSources/actualDHWPower<BR>
/recordings/heatSources/actualPower<BR>
/recordings/system<BR>
/recordings/system/heatSources<BR>
/recordings/system/heatSources/hs1<BR>
/recordings/system/heatSources/hs1/actualPower<BR>
/recordings/system/sensors<BR>
/recordings/system/sensors/temperatures<BR>
/recordings/system/sensors/temperatures/outdoor_t1<BR>
<BR>
/solarCircuits<BR>
/solarCircuits<BR>
/solarCircuits/sc1<BR>
/solarCircuits/sc1/actuatorStatus<BR>
/solarCircuits/sc1/collectorTemperature<BR>
/solarCircuits/sc1/dhwTankTemperature<BR>
/solarCircuits/sc1/pumpModulation<BR>
/solarCircuits/sc1/solarYield<BR>
/solarCircuits/sc1/status<BR>
<BR>
/solarCircuits/sc2<BR>
/solarCircuits/sc2/actuatorStatus<BR>
/solarCircuits/sc2/collectorTemperature<BR>
/solarCircuits/sc2/dhwTankTemperature<BR>
/solarCircuits/sc2/pumpModulation<BR>
/solarCircuits/sc2/solarYield<BR>
/solarCircuits/sc2/status<BR>
<BR>
/system<BR>
/system<BR>
/system/appliance<BR>
/system/appliance/actualPower<BR>
/system/appliance/actualSupplyTemperature<BR>
/system/appliance/ChimneySweeper<BR>
/system/appliance/CHpumpModulation<BR>
/system/appliance/flameCurrent<BR>
/system/appliance/flameStatus<BR>
/system/appliance/gasAirPressure<BR>
/system/appliance/nominalBurnerLoad<BR>
/system/appliance/numberOfStarts<BR>
/system/appliance/powerSetpoint<BR>
/system/appliance/systemPressure<BR>
/system/appliance/workingTime<BR>
/system/appliance/workingTime/centralHeating<BR>
/system/appliance/workingTime/secondBurner<BR>
/system/appliance/workingTime/totalSystem<BR>
<BR>
/system/brand<BR>
/system/bus<BR>
/system/healthStatus<BR>
<BR>
/system/heatSources<BR>
/system/heatSources/hs1<BR>
/system/heatSources/hs1/actualModulation<BR>
/system/heatSources/hs1/actualPower<BR>
/system/heatSources/hs1/energyReservoir<BR>
/system/heatSources/hs1/fuel<BR>
/system/heatSources/hs1/fuel/caloricValue<BR>
/system/heatSources/hs1/fuel/density<BR>
/system/heatSources/hs1/fuelConsmptCorrFactor<BR>
/system/heatSources/hs1/nominalFuelConsumption<BR>
/system/heatSources/hs1/reservoirAlert<BR>
<BR>
/system/holidayModes<BR>
<BR>
/system/holidayModes/hm1<BR>
/system/holidayModes/hm1/startStop<BR>
/system/holidayModes/hm1/assignedTo<BR>
/system/holidayModes/hm1/hcMode<BR>
/system/holidayModes/hm1/dhwMode<BR>
/system/holidayModes/hm1/delete<BR>
<BR>
/system/holidayModes/hm2<BR>
/system/holidayModes/hm2/startStop<BR>
/system/holidayModes/hm2/assignedTo<BR>
/system/holidayModes/hm2/hcMode<BR>
/system/holidayModes/hm2/dhwMode<BR>
/system/holidayModes/hm2/delete<BR>
<BR>
/system/holidayModes/hm3<BR>
/system/holidayModes/hm3/startStop<BR>
/system/holidayModes/hm3/assignedTo<BR>
/system/holidayModes/hm3/hcMode<BR>
/system/holidayModes/hm3/dhwMode<BR>
/system/holidayModes/hm3/delete<BR>
/system/holidayModes/hm4<BR>
/system/holidayModes/hm4/startStop<BR>
/system/holidayModes/hm4/assignedTo<BR>
/system/holidayModes/hm4/hcMode<BR>
/system/holidayModes/hm4/dhwMode<BR>
/system/holidayModes/hm4/delete<BR>
<BR>
<BR>
/system/info<BR>
<BR>
/system/minOutdoorTemp<BR>
<BR>
/system/sensors<BR>
/system/sensors/temperatures<BR>
/system/sensors/temperatures/chimney<BR>
/system/sensors/temperatures/hotWater_t1<BR>
/system/sensors/temperatures/hotWater_t2<BR>
/system/sensors/temperatures/outdoor_t1<BR>
/system/sensors/temperatures/return<BR>
/system/sensors/temperatures/supply_t1<BR>
/system/sensors/temperatures/supply_t1_setpoint<BR>
/system/sensors/temperatures/switch<BR>
<BR>
/system/systemType<BR>
<BR>
<BR>
</span>
</span>
Zeile 640: 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 Fhem-Installation- die Modulnutzung beschreibt
* {{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 &nbsp; - Installations- und Bedienungsanleitung]
* [http://de.documents.buderus.com/download/pdf/file/6720807675.pdf Logamatic web KM50 &nbsp; - 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]

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

Buderus Kommunikationsmodul KM200
Quelle: "Bosch Thermotechnik GmbH, Buderus Deutschland"
© Buderus
Buderus Kommunikationsmodul KM300
Quelle: "Bosch Thermotechnik GmbH, Buderus Deutschland"
© 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.


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

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

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

plot mit Werten aus 73_km200

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

typischer Temperatur plot

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

Logfiles_FileLog_heizung.png

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

Buderus_Heiztemperaturen_Ploteditor.png

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