Buderus KM200 Kommunikationsmodul

Begonnen von Sailor, 21 Juli 2014, 12:39:47

Vorheriges Thema - Nächstes Thema

Sailor

Hallo Rocko

Zitat von: Rockojfonzo am 01 März 2016, 10:02:56
Huhu huhu!  ;)

Ich will hier nicht Leute abwerben, aber ich hatte auch allzeit meine Müh mit dem Modul (hängende Requests, ausbleibende Antworten, vier- bis fünffacher Poll pro Wert...).
Seit BDKM ist mein Leben schön!

Da du ja auch das Doppelte-Lottchen - Problem hast, kannst Du bitte die neuste km200 Version testen.
Das Problem sollte - hoffentlich - erledigt sein.
Ansonsten wäre ich über ein Log-Auszug mit verbose 4 sehr dankbar.

Gruß
    Sailor
******************************
Man wird immer besser...

huhu

Zitat von: Sailor am 01 März 2016, 12:15:14
Hallo Huhu, furban

Gebt mir bitte mal
attr myKm200 verbose 4
und poste bitte mal das Log.

Im ersten Ansatz würde ich auch auf ein falsches PW oder falschen Anschluß an die Heizung tippen.

Kannst Du mit der Buderus App auf das Gerät zugreifen?

Gruß
    Sailor


Hallo Sailor,

anbei das gewünschte Log mit Verbose 4 (scheint aber auch nicht mehr Infos zu geben?):

2016.03.01 12:45:18 3: myKm200 - km200 has been undefined. The KM unit at 192.168.1.11 will no longer polled.
km200 has been undefined. The KM unit at 192.168.1.11 will no longer polled.
________________________________________________________________________________________________________

2016.03.01 12:45:18 1: Including fhem.cfg
2016.03.01 12:45:18 3: WEB: port 8083 opened
2016.03.01 12:45:18 3: Opening myJeeLink device /dev/usb_jeelink
2016.03.01 12:45:18 3: Setting myJeeLink serial parameters to 57600,8,N,1
2016.03.01 12:45:18 3: myJeeLink device opened
2016.03.01 12:45:19 3: Opening COC device /dev/ttyAMA0
2016.03.01 12:45:19 3: Setting COC serial parameters to 38400,8,N,1
2016.03.01 12:45:19 3: COC device opened
2016.03.01 12:45:19 3: COC: Possible commands: mCFiAZOGMKRTVWXefltux
2016.03.01 12:45:30 3: 04Thermo: I/O device is myJeeLink
2016.03.01 12:45:30 3: 01Thermo: I/O device is myJeeLink
2016.03.01 12:45:30 1: Including ./log/fhem.save
2016.03.01 12:45:31 4: myKm200 : km200_ParseHttpResponseInit -  NOT available   : /
2016.03.01 12:45:31 4: myKm200 : km200_ParseHttpResponseInit - CANNOT be parsed : /dhwCircuits
2016.03.01 12:45:31 4: myKm200 : km200_ParseHttpResponseInit - type unknown for : /dhwCircuits
2016.03.01 12:45:31 4: myKm200 : km200_ParseHttpResponseInit - CANNOT be parsed : /gateway
2016.03.01 12:45:31 4: myKm200 : km200_ParseHttpResponseInit - type unknown for : /gateway
2016.03.01 12:45:32 4: myKm200 : km200_ParseHttpResponseInit - CANNOT be parsed : /heatSources
2016.03.01 12:45:32 4: myKm200 : km200_ParseHttpResponseInit - type unknown for : /heatSources
2016.03.01 12:45:32 4: myKm200 : km200_ParseHttpResponseInit - CANNOT be parsed : /heatingCircuits
2016.03.01 12:45:32 4: myKm200 : km200_ParseHttpResponseInit - type unknown for : /heatingCircuits
2016.03.01 12:45:32 4: myKm200 : km200_ParseHttpResponseInit - CANNOT be parsed : /notifications
2016.03.01 12:45:32 4: myKm200 : km200_ParseHttpResponseInit - type unknown for : /notifications
2016.03.01 12:45:32 4: myKm200 : km200_ParseHttpResponseInit - CANNOT be parsed : /recordings
2016.03.01 12:45:32 4: myKm200 : km200_ParseHttpResponseInit - type unknown for : /recordings
2016.03.01 12:45:32 4: myKm200 : km200_ParseHttpResponseInit - CANNOT be parsed : /solarCircuits
2016.03.01 12:45:32 4: myKm200 : km200_ParseHttpResponseInit - type unknown for : /solarCircuits
2016.03.01 12:45:32 4: myKm200 : km200_ParseHttpResponseInit - CANNOT be parsed : /system
2016.03.01 12:45:32 4: myKm200 : km200_ParseHttpResponseInit - type unknown for : /system
2016.03.01 12:45:32 4: myKm200 : km200 - Define: InternalTimer for dynamic values started with interval of: 300


Ping auf GW-IP funktioniert, Zugriff via App intern als auch über www funktioniert. GW ist fest eingebaut in der Therme.

Sailor

Zitat von: huhu am 01 März 2016, 12:56:30
Ping auf GW-IP funktioniert, Zugriff via App intern als auch über www funktioniert. GW ist fest eingebaut in der Therme.

Hallo huhu

und du bist auch gaanz sicher, dass du das richtige Passwort verwendest?
Du brauchst 2 Passwörter und es stehen 3 zur Auswahl.
2 Passwörter stehen auf dem kasten und das dritte vergibst du in der App.

Vom Kasten brauchst du das mit den Bindestrichen xxxx-xxxx-xxxx-xxxx und das "persoenlichesPW" ist das, was du beim ersten mal mit der App vergeben hast.

define myKm200 km200 192.168.1.11 xxxx-xxxx-xxxx-xxxx persoenlichesPW

Gruss
    Sailor
******************************
Man wird immer besser...

huhu

Zitat von: Sailor am 01 März 2016, 13:18:27
Hallo huhu

und du bist auch gaanz sicher, dass du das richtige Passwort verwendest?
Du brauchst 2 Passwörter und es stehen 3 zur Auswahl.
2 Passwörter stehen auf dem kasten und das dritte vergibst du in der App.

Vom Kasten brauchst du das mit den Bindestrichen xxxx-xxxx-xxxx-xxxx und das "persoenlichesPW" ist das, was du beim ersten mal mit der App vergeben hast.

define myKm200 km200 192.168.1.11 xxxx-xxxx-xxxx-xxxx persoenlichesPW

Gruss
    Sailor

Ich hoffe es!
Das persönliche Passwort wird auch hierfür verwendet -> www.buderus-connect.de? Sowie natürlich für den App Zugang..
PW vom Deckel MIT BINDESTRICHEN ist drin

huhu

Zitat von: huhu am 01 März 2016, 13:24:37
Ich hoffe es!
Das persönliche Passwort wird auch hierfür verwendet -> www.buderus-connect.de? Sowie natürlich für den App Zugang..
PW vom Deckel MIT BINDESTRICHEN ist drin

Nach einem Reboot geht es nun !!! JUHUU! PW ist unverändert. Ich hoffe es bleibt so.. die ersten Werte sind drin!! :)

Sailor

Zitat von: huhu am 01 März 2016, 13:28:00
Nach einem Reboot geht es nun !!! JUHUU! PW ist unverändert. Ich hoffe es bleibt so.. die ersten Werte sind drin!! :)

Jaja so ist das: "Boot tut gut!"  ;)

Gruss
    Sailor

******************************
Man wird immer besser...

huhu

Hat jemand eine Auflistung welche Werte was darstellen sollen? Einige sind ja selbsterklärend, aber leider nicht alle.

Sailor

Hallo HuHu

Zitat von: huhu am 01 März 2016, 15:28:13
Hat jemand eine Auflistung welche Werte was darstellen sollen? Einige sind ja selbsterklärend, aber leider nicht alle.

Ich glaube nicht wirklich. Ich habe immer vorgehabt eine Liste zu erstellen, aber Mangels Zeit nie bewerkstelligt.

Welche Werte interessieren dich denn beispielsweise?

Gruss
    Sailor
******************************
Man wird immer besser...

huhu

#1208
Guten morgen zusammen,

primär interessieren mich folgende Dinge derzeit:

Temperatur Wasser      /dhwCircuits/dhw1/actualTemp
Temperatur Vorlauf      /heatingCircuits/hc1/actualSupplyTemperature ???
Temperatur Rücklauf   /system/sensors/temperatures/return
Temperatur Aussen      /system/sensors/temperatures/outdoor_t1
Temperatur Kessel Soll
Temperatur Kessel Ist
Flammenstrom         /heatSources/flameCurrent ???
Aktuelle Heizleistung


Status Zirkulationspumpe
Status Ladepumpe
Status UWP


Ist es möglich, die Werte vom KM200 nur alle 5Minuten abzufragen?
Ist es möglich, dass nur neue bzw. geänderte Werte ins Log geschrieben werden? (Derzeit wird einfach alles geschrieben, teilweise auch doppelt und dreifach):

#define FileLog_heizung FileLog ./log/Heizung-%Y-%m.log myKm200:(/dhwCircuits|/heatSources|/heatingCircuits).*

arnoaugustin

#1209
Zitat von: furban am 01 März 2016, 10:21:10
Also ich bleibe bei diesem Modul hier. Bei mir funktioniert das alles wunderbar und ich sehe keine Notwendigkeit umzubauen. Ich habe das Andere zwar auch mal parallel am laufen, sehe für mich aber keine Vorteile.
Schade das es nun zwei Module zum selben Thema gibt. Ich denke es wäre schöner gewesen der "Konkurrent" hätte sich an der Weiterentwicklung des vorhandenen Moduls beteiligt.

Zum Huhu Problem würde ich aus dem Bauch mal sagen das da schon zu viel in der Konfig ist. Ich würde mal mit minimaler Konfig anfangen und das sollte das hier reichen
um erstmal die Werte auszulesen

define myKm200 km200 192.168.1.11 xxxx-xxxx-xxxx-xxxx persoenlichesPW
attr myKm200 verbose 3


Hallo hier spricht der "Konkurrent". Von Konkurrenzdenken halte ich bei Opensource übrigens gar nichts!
Die Anmerkung kann ich hier so allerdings nicht kommentarlos stehen lassen. Das mit der Weiterentwicklung hatte ich eigentlich versucht - ich hatte auch ein uraltes Problem am Modul gefixt bei dem sich FHEM einfach beendet hat. Aber der Patch wegen dem Mehrfachpolling sollte ja nicht einfließen. Einfach mal weiter oben lesen. Ich hatte ja dann irgendwann fast mehr Zeit mit dem KM200 und dem hier Tippen verbracht als es Zeit kostet ein neues Modul zu schreiben. Somit war genau die Variante der Beteiligung nicht möglich und ich habe das Modul neu geschrieben und dabei eben das noch eingebracht was ich hier auch schon vorgeschlagen habe. Zwei Module tun auch niemandem weh. Im Gegenteil im Zweifelsfall hat man einfach mehr Auswahl.

Huhu hat ja anscheinend auch gerade die besagten Probleme. Auch er hätte er wohl gerne folgendes - Zitat:
"Ist es möglich, die Werte vom KM200 nur alle 5Minuten abzufragen?
Ist es möglich, dass nur neue bzw. geänderte Werte ins Log geschrieben werden? (Derzeit wird einfach alles geschrieben, teilweise auch doppelt und dreifach):
"

Und genau das habe ich beim BDKM umgesetzt, weil das die Dinge waren, die das KM200 eben nicht so flexibel unterstützt. Und ich glaube nicht, dass es möglich gewesen wäre diese Features ins KM200 Modul einzubringen.

VG

Arno


arnoaugustin

Zitat von: HandbreitWasser am 23 Februar 2016, 11:26:37
Hallo FHEM,

ich verfolge dieses Forum schon seit einiger Zeit. Vielleicht kann mir hier jemand einen Tipp geben?
Ich suche nach einer Möglichkeit, per Skript (z.B. PHP) eine Einmalladung des Warmwassers meiner Buderus Heizung auszulösen. KM200 und RC300 funktionieren.
Zur Zeit verwende ich das Buderus WebUI ,,http://buderus-connect.de" dazu. Das ist mit aber etwas zu umständlich. Ein Skript wäre mir lieber.
Ich habe mal den Netzwerk-Verkehr mit der Fritzbox mitgeschnitten und per Wireshark analysiert, während ich das Web-UI bedient habe. Hier das Ergebnis:

####################################################################
PUT /dhwCircuits/dhw1/singleChargeSetpoint HTTP/1.1

User-Agent: PortalClient

Content-Type: application/json

Content-Length: 24

0r0vYRtlFsiTwj8/WSXKgQ==

####################################################################
PUT /dhwCircuits/dhw1/chargeDuration HTTP/1.1

User-Agent: PortalClient

Content-Type: application/json

Content-Length: 24

Qg5gMlTBVgt30PWmkaoqtg==

####################################################################
PUT /dhwCircuits/dhw1/charge HTTP/1.1

User-Agent: PortalClient

Content-Type: application/json

Content-Length: 44

1K3rk2G6lPUGySEZeY0b9k1HDsqBS3o35FxU0JsYHMg=

####################################################################

Wie befürchtet, ist der Payload verschlüsselt.
Leider ist mir keine Entschlüsselung gelungen.
Ich habe mir den 256 Bit AES-Key mit der Anleitung ,,AES-Key-Generator für das KM200 Web Gateway" von Andreas Hahn generiert und es damit vergebens versucht.
Den AES-Key könnte ich bereitstellen. Allerdings lieber per PN.

Gruß, Dirk

Ich hatte mich an die Sache auch schon ran gemacht. In ähnlicher Weise wie Du. Am Ende hatte ich dann Andreas Hahn angeschrieben - leider keine Antwort.
Ich denke da wird so schnell auch nichts gehen. Buderus könnte vom Server aus einfach ein anderes Salt über die Sache "werfen" welches nur der Buderus-Server und das Gateway selber kennt und du bist erst mal raus. Die dafür nötige Info liegt dann im Gateway und es müsste z.B. das Flash ausgelesen werden und dann geht die Arbeit erst richtig los.

Überhaupt ist es meiner Meinung nach kritisch das Gateway am Netz zu lassen: Wenn die Firmware geändert wird und hier kein Direktzugriff, sondern nur noch über den Buderus-Server zugelassen wird, weil das der Weg der Wahl sein soll, dann bist Du auch mit FHEM für immer raus.
Auch wenn im Grunde genommen ohne Deine Zustimmung an Deinen Geräten (Gateway) nicht einfach etwas geändert werden darf. Das beinhaltet auch die Firmware. Aber da kann man sich im Nachhinein ja beschweren  ;)


VG
Arno

Sailor

#1211
Hallo Huhu

Zitat von: huhu am 02 März 2016, 08:18:29
primär interessieren mich folgende Dinge derzeit:


Temperatur Kessel Soll
Gibt es in diesem Sinne bei den modernen Kesseln nicht mehr, da diese variabel auf den Bedarf reagieren

Temperatur Kessel Ist
Ist gleichzusetzten mit der Vorlauftemperatur

Flammenstrom         /heatSources/flameCurrent ???
Sobald eine Flamme erzeugt wird, ist diese ionisiert und leitet elektrischen Strom.
Hält man also 2 Elektroden in die Flamme und legt eine Spannung an, so fließt Strom.
Auf diesem Wege kann man ganz sicher sein, ob die Flamme an ist oder nicht.

Aktuelle Heizleistung
Findest Du unter anderem unter /heatSources/actualPower.
Aber Achtung: Dieser Wert stellt nur den Augenblickswert der Auslesung dar. Besser wäre es den Gaszähler auszulesen und die Leistung über den Zeitraum des Intervalls der Gaszähler-Auslesung zu berechnen.
"unter anderem", weil die Werte unter verschiedenen Services teilweise doppelt und dreifach auftauchen.
Das ist aber Buderus bedingt. Mein Modul liest alle Services auf die vorhanden sind. Wenn die Doppelten Werte stören, muss man sie einfach auf die DoNotPoll Liste setzen.

Status Zirkulationspumpe
Von Buderus meines Wissens nach nicht implementiert. Sollte es irgendwann einmal mit einem Firmware Update implementiert werden, wird das entsprechende Reading bzw. Service automatisch auftauchen.

Status Ladepumpe
Von Buderus meines Wissens nach nur implementiert, wenn Solaranlage vorhanden.
Ist der Service im km200-Gerät vorhannden, wird das entsprechende Reading bzw. Service automatisch auftauchen.

Status UWP
/heatSources/CHpumpModulation Gibt nur den Modulationsgrad an. 0=AUS; >1=AN


Zitat von: huhu am 02 März 2016, 08:18:29
Ist es möglich, die Werte vom KM200 nur alle 5Minuten abzufragen?

Gebe das Intervall mit 5min x 60s/min = 300s bzw. als Attribut IntervalDynVal mit 300 an.
http://www.fhemwiki.de/wiki/Buderus_Web_Gateway#Einstellungen_.C3.BCber_Attribute

Zitat von: huhu am 02 März 2016, 08:18:29
Ist es möglich, dass nur neue bzw. geänderte Werte ins Log geschrieben werden?
Ich empfehle das Attribut event-on-change-reading zu aktivieren.
Siehe http://www.fhemwiki.de/wiki/Event-on-change-reading
Zitat: "Mit dem Attribut event-on-change-reading kann für Readings eines Gerätes festgelegt werden, dass nur bei einer Wertänderung ein Event (und damit in der Regel auch ein Log-Eintrag) erzeugt werden soll. Damit stellt das Attribut eine Möglichkeit zur Verfügung, die Menge von Log-Einträgen zu reduzieren. "

Zitat von: huhu am 02 März 2016, 08:18:29
Derzeit wird einfach alles geschrieben, teilweise auch doppelt und dreifach

Die ungewünschten doppelten Services einfach auf die Liste DoNotPoll setzen.
http://www.fhemwiki.de/wiki/Buderus_Web_Gateway#Einstellungen_.C3.BCber_Attribute

Ich hoffe ich konnte helfen.

Gruss
   Sailor
******************************
Man wird immer besser...

huhu

Hallo Sailor,

besten Dank für deine Antwort. Welcher Wert hat der Gaszähler (oder meinst du damit ein externes Gerät, dass den Gaszähler abliest)?
Flammenstrom ist dann aber  /heatSources/flameCurrent? AN oder AUS würde mir für den Plot auch schon reichen ;)

Ich werde dann mal basteln.

Sailor

Hallo Huhu


Zitat von: huhu am 03 März 2016, 10:03:17
Welcher Wert hat der Gaszähler (oder meinst du damit ein externes Gerät, dass den Gaszähler abliest)?

Ja, da musst Du dir ein Gas-Zähler-Ableser basteln...  ;)
Siehe auch
http://www.fhemwiki.de/wiki/HM-ES-TX-WM_Z%C3%A4hlersensor_f%C3%BCr_Strom-_und_Gasz%C3%A4hler
http://www.fhemwiki.de/wiki/Stromz%C3%A4hler_und_1-Wire,_OWServer,_OWDevice
http://forum.fhem.de/index.php/topic,47909.90.html


Zitat von: huhu am 03 März 2016, 10:03:17
Flammenstrom ist dann aber  /heatSources/flameCurrent? AN oder AUS würde mir für den Plot auch schon reichen ;)

Wenn Du nur an oder AUS interessiert bist, dann kannst Du auch den Service / das Reading "/heatSources/flameStatus" verwenden.
Siehe auch http://www.fhemwiki.de/wiki/Buderus_Web_Gateway#FlameStatus_.22OFF.22_wird_erkannt.2C_FlameStatus_.22ON.22_wird_aufgrund_falscher_Codierung_verworfen

Zitat von: huhu am 03 März 2016, 10:03:17
Ich werde dann mal basteln.
Das ist die richtige Einstellung!  ;D

Gruss
    Sailor
******************************
Man wird immer besser...

Sailor

Hallo Huhu

Zitat von: huhu am 02 März 2016, 08:18:29
Ist es möglich, dass nur neue bzw. geänderte Werte ins Log geschrieben werden? (Derzeit wird einfach alles geschrieben, teilweise auch doppelt und dreifach):

Nebenbei bemerkt, der normale verbose Level sollte bei fhem in den globalen Attributen auf "3" stehen.
Alles darüber ist eigentlich zur Fehlersuche gedacht.

Ansonsten setze halt ein lokales verbose = 3 im myKm200 Device. Dann ist auch mit den Log-Meldungen vorbei.  ;)

Gruss
    Sailor
******************************
Man wird immer besser...