Buderus KM200 Kommunikationsmodul

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

Vorheriges Thema - Nächstes Thema

RaspII

#495
Hi,
das mit der Grafik Größe stand schon auf meinem Plan, wollte gestern aber noch vor Mitternacht ins Bett  8)
-> jetzt erledigt

Bzgl. "was ist die richtige Wiki".
Ich würde den Eintrag ungern zur "Ploteditor Wiki" verschieben, da mein Hintergedanke eine komplette Buderus/km200 Doku war.
Für mich war es am Beginn sehr mühsam die Zusammenhänge bzgl. LogFiles und dem Plot zu verstehen, eine derartige Beschreibung in der Buderus Wiki hätte mir viel Zeit gespart.
Ich richte mich hier aber gerne nach Sailors Wünschen, er hat in der Wiki bisher den Großteil gestaltet (wenn ich da richtig informiert bin).
Einen Link auf der "Ploteditor Wiki" zur "Buderus Wiki" werde ich gerne noch einfügen.
Nachtrag: hat Krikan schon erledigt  :)

RaspII
RaspII

furban

Hi Leute,

habe gerade gelesen das man aus der Brennerlaufzeit recht gut den Ölverbrauch hochrechnen können soll.
Man sollte also damit also auch einen Plot erstellen können der die Restmenge Öl im Öltank anzeigt.
Ich habe eben mal hochgerechnet das bei mir wohl 0,0322222l/min Öl durchlaufen (1450l / 45000min Laufzeit).
Man muss also eigentlich nur die aktuelle Brennerlaufzeit mit 0,032222 multiplizieren und dann immer die irgendwann mal getankte Menge Öl abziehen.
... und nun hoffe ich das so was schon jemand gebaut hat wo ich abschreiben kann :)

Gruß

Frank


furban

OK. Habe es ausgetüftelt. Man trägt also einfach als "Function" ein


$fld[3]*0.0322222-1000

steht dann so in der Plotdatei
#FileLog_buderus 4:KM200./heatSources/workingTime/totalSystem\x3a:0:$fld[3]*0.0322222-1000



wobei die 1000 die neu getankten Liter sind. Ohne die bekommt man den Verbrauch der kompletten Lebenszeit der Heizungsanlage.
Jetzt bin ich mal gespannt wie gut mein Umrechenfaktor stimmt. Den muss ich vermutlich im laufe der Zeit noch ein wenig feinjustieren.

Sailor

Zitat von: furban am 08 Februar 2015, 14:53:15
wobei die 1000 die neu getankten Liter sind. Ohne die bekommt man den Verbrauch der kompletten Lebenszeit der Heizungsanlage.
Jetzt bin ich mal gespannt wie gut mein Umrechenfaktor stimmt. Den muss ich vermutlich im laufe der Zeit noch ein wenig feinjustieren.

Hallo Furban

das funktioniert aber nur, solange deine Heizungsanlage nicht moduliert (/heatSources/actualPower) und immer auf dem gleichen Wert heizt (ON/OFF bzw. 100%/0%)

Ansonsten musst Du fuer jeden Messpunkt den Modulationsfaktor hinzurechnen. Und ob der Verbrauch linear zur Modulation ist, weis ich auch nicht.

Aber auch das birgt eine Fehlerquelle: Ist das Pollingintervall zu gross gewaehlt und die Heizung moduliert zwischen zwei Zyklen, dann stimmt die Rechnung auch wieder nicht.

Besser waere beispielsweise so was:
http://www.r-c-t.biz/heim-standardloesungen/fuellstand-oeltank/

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

furban

Zitat von: Sailor am 10 Februar 2015, 12:33:21
Hallo Furban

das funktioniert aber nur, solange deine Heizungsanlage nicht moduliert (/heatSources/actualPower) und immer auf dem gleichen Wert heizt (ON/OFF bzw. 100%/0%)

Ansonsten musst Du fuer jeden Messpunkt den Modulationsfaktor hinzurechnen. Und ob der Verbrauch linear zur Modulation ist, weis ich auch nicht.

Aber auch das birgt eine Fehlerquelle: Ist das Pollingintervall zu gross gewaehlt und die Heizung moduliert zwischen zwei Zyklen, dann stimmt die Rechnung auch wieder nicht.

Besser waere beispielsweise so was:
http://www.r-c-t.biz/heim-standardloesungen/fuellstand-oeltank/

Hi Sailor,

es geht ja nicht darum den Wert auf den Liter genau zu haben und bei den aktuellen Heizungsanlagen laufen die Brenner konstant. Meine SB105 hat zwar zwei Stufen, das ist aber auch der einzige Unterschied. Erst die GB145 moduliert dann, soweit ich das verstanden habe.

Die Laufzeitwerte für meine zwei Stufen kann ich sogar abfragen

/heatSources/workingTime/centralHeating 34858
/heatSources/workingTime/secondBurner 27177
/heatSources/workingTime/totalSystem 45943


Wobei mir noch nicht wirklich klar ist welcher Wert denn nun was genau bedeute. "secondBurner" dürfte wohl die Laufzeit der zweiten Stufe sein.
Aber so genau will ich das ja gar nicht Wissen und das schöne an meinem Umrechenwert ist ja das ich denn bei jedem Tanken wieder neu berechnen und kann und dieser somit im Laufe der Zeit immer genauer wird. Ich muss halt immer nur Wissen wie viel Öl ich jemals mit der Anlage verbraucht habe.

Gruß

Frank

grossi33

Hallo Forumsgemeinde - speziell hallo Sailor!

Danke erstmal, das Ihr hier so freimütig Eure Erfahrungen mitteilt und auch Anfängern helft.

Ich will mich mal mit meinem Problem einklinken:
Habe versucht, meine Wärmepumpe (Buderus WPS10-1) über CAN-Bus und Gateway KM200 anzubinden. Leider liefert das FHEM-Modul 73:km200.pm "nur" folgende Daten:
/gateway/DateTime
/gateway/userpassword
/gateway/uuid
/gateway/versionFirmware
/gateway/versionHardware
/heatingCircuits/hc1/activeSwitchProgram
/heatingCircuits/hc1/operationMode
/heatingCircuits/hc1/status
/heatingCircuits/hc2/activeSwitchProgram
/heatingCircuits/hc2/operationMode
/heatingCircuits/hc2/status
/system/brand
/system/bus
/system/systemType

.... mehr nicht 
Das ist weniger, als in der "Buderus Easy Control" App, wo wenigstens zusätzlich Außen- und Warmwassertemperatur angezeigt werden.
Keine VL, RL, oder wenigstens Störmeldungen, geschweige denn Soletmperaturen. ...

Als <device> wird myKM200 angezeigt, aber immer nur in der Web-Oberfläche als "INITIALIZE".

Kann man da was machen?

Danke und bis bald.

Jörg

DLindner

Hallo liebe Gemeinde,

ich lese seit einiger Zeit interessiert die Beiträge in diesem Forum und habe mir auch schon ein Modul zusammengebaut mit einigen Readings und Plots. Nun habe ich zwei Fragen an euch.
1. In der Definition der Services sind zwar alle möglichen Werte hinterlegt, es können aber nicht alle ausgelesen werden bzw. es wird kein Wert zurückgeliefert (beispiel: /heatingCircuits/hc2/roomTempOffset).
2. Wie kann man Werte setzen/verändern. Ich komme einfach nicht drauf.
Für ein kurzes Beispiel wäre ich sehr dankbar.

Sailor

Zitat von: DLindner am 17 Februar 2015, 11:03:57
ich lese seit einiger Zeit interessiert die Beiträge in diesem Forum und habe mir auch schon ein Modul zusammengebaut mit einigen Readings und Plots. Nun habe ich zwei Fragen an euch.
1. In der Definition der Services sind zwar alle möglichen Werte hinterlegt, es können aber nicht alle ausgelesen werden bzw. es wird kein Wert zurückgeliefert (beispiel: /heatingCircuits/hc2/roomTempOffset).
2. Wie kann man Werte setzen/verändern. Ich komme einfach nicht drauf.
Für ein kurzes Beispiel wäre ich sehr dankbar.

Hallo D

Services die in der Definition sind, sind nur die irgendwie durch die Gemeinda mal bekannt gemacht wurden.
Bei jeder Initialisierung warden in deinem System diese Services abgeklopft ob das KM-Modul auf diesen antwortet.

Nur wenn diese Antworten , kannst Du sie auslesen bzw. warden sie angezeigt.

Nur wenn die beim auslesen das Bit für "writeable" beinhalten, kannst du sie darüber hinaus auch beschreiben.

All das hängt von Deiner Systemkombination ab.

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

Sailor

Zitat von: grossi33 am 10 Februar 2015, 13:04:03
Hallo Forumsgemeinde - speziell hallo Sailor!

Danke erstmal, das Ihr hier so freimütig Eure Erfahrungen mitteilt und auch Anfängern helft.

Ich will mich mal mit meinem Problem einklinken:
Habe versucht, meine Wärmepumpe (Buderus WPS10-1) über CAN-Bus und Gateway KM200 anzubinden. Leider liefert das FHEM-Modul 73:km200.pm "nur" folgende Daten:
/gateway/DateTime
/gateway/userpassword
/gateway/uuid
/gateway/versionFirmware
/gateway/versionHardware
/heatingCircuits/hc1/activeSwitchProgram
/heatingCircuits/hc1/operationMode
/heatingCircuits/hc1/status
/heatingCircuits/hc2/activeSwitchProgram
/heatingCircuits/hc2/operationMode
/heatingCircuits/hc2/status
/system/brand
/system/bus
/system/systemType

.... mehr nicht 
Das ist weniger, als in der "Buderus Easy Control" App, wo wenigstens zusätzlich Außen- und Warmwassertemperatur angezeigt werden.
Keine VL, RL, oder wenigstens Störmeldungen, geschweige denn Soletmperaturen. ...

Als <device> wird myKM200 angezeigt, aber immer nur in der Web-Oberfläche als "INITIALIZE".

Kann man da was machen?

Danke und bis bald.

Jörg

Versuche mal mit dem get-Befehl die Top-Hierarchien auszulesen. Also:


get myKm200 /
get myKm200 /heatingCircuits/
get myKm200 /heatingCircuits/hc1/
get myKm200 /System/

usw.

Dann kommt ein JSON String zurück, der die tiefer liegenden Services beinhaltet.

Sind da noch unbekannte Services dabei?

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

grossi33

Hallo Sailor,

bei "get mykm200" kommt:
Unknown argument , choose one of /system/holidayModes / /heatSources/actualDHWPower /heatSources/hs1/fuel /system/heatSources/hs1/actualPower /heatSources/ChimneySweeper /heatingCircuits/hc1/temporaryRoomSetpoint /system/holidayModes/hm4/hcMode /heatingCircuits/hc2/actualSupplyTemperature /solarCircuits/sc1/actuatorStatus /heatSources/actualsupplytemperature /heatingCircuits/hc1/temperatureLevels/eco /heatingCircuits/hc1/temperatureRoomSetpoint /solarCircuits/sc1/solarYield /heatSources/flameCurrent /gateway/uuid /heatingCircuits/hc2/activeSwitchProgram /heatingCircuits/hc1/fastHeatupFactor /heatingCircuits/hc2/heatCurveMin /heatingCircuits/hc2/solarInfluence /system/sensors/temperatures/return /heatSources/gasAirPressure /heatingCircuits/hc1/roomInfluence /system/holidayModes/hm2/dhwMode /system/appliance/actualSupplyTemperature /heatingCircuits/hc2/suWiSwitchMode /heatingCircuits/hc2/setpointOptimization /heatingCircuits/hc1/suWiThreshold /system/sensors/temperatures/switch /system/heatSources/hs1/nominalFuelConsumption /recordings/heatingCircuits/hc1/roomtemperature /system/holidayModes/hm4/assignedTo /gateway/instAccess /system/holidayModes/hm1/delete /gateway/DateTime /system/holidayModes/hm3 /system/holidayModes/hm3/hcMode /system/holidayModes/hm1/assignedTo /recordings/heatingCircuits/hc1 /system/systemType /heatingCircuits/hc2/suWiThreshold /recordings/system/sensors/temperatures /heatingCircuits/hc1/heatCurveMax /system/sensors/temperatures/hotWater_t2 /system/holidayModes/hm3/delete /system/holidayModes/hm1/hcMode /system/appliance/systemPressure /system/appliance/CHpumpModulation /system/heatSources/hs1/fuelConsmptCorrFactor /gateway /solarCircuits/sc1/dhwTankTemperature /heatSources/actualPower /heatSources/workingTime/centralHeating /heatingCircuits/hc1/suWiSwitchMode /system/heatSources/hs1/energyReservoir /recordings/heatSources /heatingCircuits/hc1/currentOpModeInfo /heatingCircuits/hc2/switchPrograms /system/bus /system/appliance/nominalBurnerLoad /heatingCircuits/hc2/currentRoomSetpoint /recordings/system/heatSources/hs1/actualPower /heatingCircuits/hc2/roomTempOffset /heatingCircuits/hc1/solarInfluence /heatingCircuits /heatSources/actualCHPower /recordings/heatSources/actualDHWPower /solarCircuits/sc2/status /recordings/system/sensors/temperatures/outdoor_t1 /heatSources/CHpumpModulation /system/appliance/workingTime /heatSources/systemPressure /heatSources/hs1/nominalFuelConsumption /heatSources/numberOfStarts /heatingCircuits/hc1/temperatureLevels/comfort2 /system/holidayModes/hm4/dhwMode /heatingCircuits/hc2/roomInfluence /heatingCircuits/hc1/heatCurveMin /notifications /gateway/firmware /system/info /solarCircuits/sc2/dhwTankTemperature /solarCircuits/sc2/collectorTemperature /heatingCircuits/hc2 /heatingCircuits/hc1/status /system/sensors/temperatures/chimney /solarCircuits/sc2 /heatingCircuits/hc2/currentOpModeInfo /heatingCircuits/hc1/roomTempOffset /gateway/instWriteAccess /gateway/haiPassword /heatSources/workingTime/secondBurner /heatingCircuits/hc1/controlType /system/brand /recordings/system/heatSources/hs1 /heatingCircuits/hc1/switchPrograms/B /system/holidayModes/hm4/delete /heatSources/workingTime /heatingCircuits/hc1/currentRoomSetpoint /system/heatSources/hs1/fuel /system/minOutdoorTemp /system/appliance/powerSetpoint /heatingCircuits/hc1/temperatureLevels /heatSources/hs1/reservoirAlert /system/holidayModes/hm1 /heatingCircuits/hc2/switchPrograms/A /recordings/system/sensors /system/holidayModes/hm4/startStop /system/holidayModes/hm2/startStop /heatSources/powerSetpoint /system/heatSources /system/holidayModes/hm2/delete /system/heatSources/hs1/fuel/caloricValue /heatingCircuits/hc1/setpointOptimization /heatingCircuits/hc1/actualSupplyTemperature /heatingCircuits/hc2/designTemp /solarCircuits/sc2/pumpModulation /heatingCircuits/hc2/roomtemperature /heatSources/hs1/actualPower /solarCircuits/sc1/pumpModulation /system/sensors/temperatures/supply_t1_setpoint /heatingCircuits/hc2/controlType /recordings/heatingCircuits /system/holidayModes/hm3/dhwMode /recordings/system /heatingCircuits/hc2/temporaryRoomSetpoint /heatingCircuits/hc2/temperatureLevels /heatingCircuits/hc2/operationMode /system/holidayModes/hm3/startStop /heatingCircuits/hc1 /heatingCircuits/hc1/manualRoomSetpoint /system/sensors/temperatures/supply_t1 /system/appliance/gasAirPressure /heatingCircuits/hc2/temperatureLevels/eco /heatSources/hs1/fuelConsmptCorrFactor /system/holidayModes/hm3/assignedTo /heatSources/flameStatus /system/holidayModes/hm1/startStop /heatingCircuits/hc1/temperatureLevels/night /system/holidayModes/hm2 /system/heatSources/hs1/actualModulation /system/sensors/temperatures /system /system/heatSources/hs1/fuel/density /solarCircuits /heatingCircuits/hc2/temperatureLevels/night /recordings/heatSources/actualCHPower /heatSources/nominalDHWPower /heatingCircuits/hc2/temperatureLevels/comfort2 /heatingCircuits/hc2/status /heatingCircuits/hc2/heatCurveMax /heatingCircuits/hc2/temperatureRoomSetpoint /system/appliance/flameStatus /solarCircuits/sc1 /heatingCircuits/hc2/temperatureLevels/day /heatingCircuits/hc2/manualRoomSetpoint /system/holidayModes/hm2/hcMode /heatingCircuits/hc1/switchPrograms /system/appliance/workingTime/centralHeating /heatingCircuits/hc2/pumpModulation /system/healthStatus /heatingCircuits/hc1/designTemp /gateway/versionFirmware /gateway/userpassword /heatingCircuits/hc2/switchPrograms/B /heatingCircuits/hc1/roomtemperature /recordings /heatingCircuits/hc2/fastHeatupFactor /system/sensors/temperatures/hotWater_t1 /heatingCircuits/hc1/operationMode /system/appliance/actualPower /solarCircuits/sc2/solarYield /system/holidayModes/hm2/assignedTo /solarCircuits/sc1/status /gateway/instPassword /system/holidayModes/hm1/dhwMode /system/appliance/flameCurrent /heatingCircuits/hc1/temperatureLevels/day /system/appliance/workingTime/totalSystem /system/sensors /system/appliance /system/heatSources/hs1 /system/appliance/ChimneySweeper /system/appliance/numberOfStarts /heatSources/workingTime/totalSystem /gateway/versionHardware /heatSources /system/heatSources/hs1/reservoirAlert /solarCircuits/sc1/collectorTemperature /solarCircuits/sc2/actuatorStatus /recordings/system/heatSources /system/sensors/temperatures/outdoor_t1 /system/appliance/workingTime/secondBurner /heatingCircuits/hc1/switchPrograms/A /recordings/heatSources/actualPower /heatSources/returnTemperature /heatingCircuits/hc1/activeSwitchProgram /heatSources/nominalCHPower /system/holidayModes/hm4 /heatSources/hs1/actualModulation /heatSources/hs1/energyReservoir /heatingCircuits/hc1/pumpModulation
:o

bei "get mykm200/ heatingCircuits "kommt:
{"id":"/heatingCircuits","type":"refEnum","references":[{"id":"/heatingCircuits/hc1","uri":"http://192.168.178.36/heatingCircuits/hc1"},{"id":"/heatingCircuits/hc2","uri":"http://192.168.178.36/heatingCircuits/hc2"}]}
:o

bei "get mykm200/ heatingCicuits/ hc1" kommt:
{"id":"/heatingCircuits/hc1","type":"refEnum","references":[{"id":"/heatingCircuits/hc1/operationMode","uri":"http://192.168.178.36/heatingCircuits/hc1/operationMode"},{"id":"/heatingCircuits/hc1/activeSwitchProgram","uri":"http://192.168.178.36/heatingCircuits/hc1/activeSwitchProgram"},{"id":"/heatingCircuits/hc1/switchPrograms","uri":"http://192.168.178.36/heatingCircuits/hc1/switchPrograms"},{"id":"/heatingCircuits/hc1/temperatureLevels","uri":"http://192.168.178.36/heatingCircuits/hc1/temperatureLevels"},{"id":"/heatingCircuits/hc1/heatingCurveSetting","uri":"http://192.168.178.36/heatingCircuits/hc1/heatingCurveSetting"},{"id":"/heatingCircuits/hc1/holidayMode","uri":"http://192.168.178.36/heatingCircuits/hc1/holidayMode"},{"id":"/heatingCircuits/hc1/status","uri":"http://192.168.178.36/heatingCircuits/hc1/status"}]}
:o

und bei "Get mykm200/system" kommt:
{"id":"/system","type":"refEnum","references":[{"id":"/system/brand","uri":"http://192.168.178.36/system/brand"},{"id":"/system/bus","uri":"http://192.168.178.36/system/bus"},{"id":"/system/systemType","uri":"http://192.168.178.36/system/systemType"},{"id":"/system/sensors","uri":"http://192.168.178.36/system/sensors"},{"id":"/system/appliance","uri":"http://192.168.178.36/system/appliance"}]}
:o

....und jetzt?

Grüsse.

Jörg

Sailor

Hallo Joerg

Zitat von: grossi33 am 19 Februar 2015, 12:35:45
bei "get mykm200" kommt:

Versuch mal
"get mykm200 /"

sowie testweise
"get mykm200 //"

Zitat von: grossi33 am 19 Februar 2015, 12:35:45

bei "get mykm200/ heatingCicuits/ hc1" kommt:
{"id":"/heatingCircuits/hc1","type":"refEnum","references":[{"id":"/heatingCircuits/hc1/operationMode","uri":"http://192.168.178.36/heatingCircuits/hc1/operationMode"},{"id":"/heatingCircuits/hc1/activeSwitchProgram","uri":"http://192.168.178.36/heatingCircuits/hc1/activeSwitchProgram"},{"id":"/heatingCircuits/hc1/switchPrograms","uri":"http://192.168.178.36/heatingCircuits/hc1/switchPrograms"},{"id":"/heatingCircuits/hc1/temperatureLevels","uri":"http://192.168.178.36/heatingCircuits/hc1/temperatureLevels"},{"id":"/heatingCircuits/hc1/heatingCurveSetting","uri":"http://192.168.178.36/heatingCircuits/hc1/heatingCurveSetting"},{"id":"/heatingCircuits/hc1/holidayMode","uri":"http://192.168.178.36/heatingCircuits/hc1/holidayMode"},{"id":"/heatingCircuits/hc1/status","uri":"http://192.168.178.36/heatingCircuits/hc1/status"}]}

....und jetzt?


Weitermachen z.B.: "get mykm200 /heatingCircuits/hc1/Status" bis es nicht mehr weitergeht bzw. ein Value erscheint.

Das ist die Einzige Möglichkeit herauszufinden, was du für Services hast.

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

grossi33

Hallo Sailor,

bei "get mykm200 /" bzw. "get my km200 //" kommt gar nichts.
(Eingabe über den FHEM Browseroberfläche - ich nutze Mozilla).

Bei manchem Service kommen nur Sonderzeichen:
,L��f:{�&�^��ƻb� J�I�v�|r�h�Лx�   lܨ�U�E��wl���:��ovN�&�h�1s9U�C�/(��Je��+~��� �3��a<���i���X ���K�8�9���Og��Z�mV �v�WM݀���ʫ�x2����㘤.�w��J�3��H���~�K�4B1�g"t�f�+�:C�ޛ֤��H���>f   
gĎ�����m���ʵ�[�[�R"5��1b��V��l�¯Rz���u+���@j��D���}\bG7�`��Ւ��QFȥj��WV��Q@�/O���4"�I{�0�3��ea��_!����U6�v�kS�_7C�

Was mache ich falsch bzw. muss ich ändern?

Sailor

Hallo Grossi

das sieht nach codiertem Inhalt aus.

Hast Du dein privates Passwort zunächst mit der Buderus APP gesetzt und zusammen mit dem Gateway-Passwort fehlerfrei nach fhem übertragen?

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

grossi33

Hallo Sailor,

Danke - ich hatte das Passwort in der APP geändert, nicht aber in der config von FHEM.
Jetzt klappt es wieder.

Ich brauche mal das Wochenende, dann kann ich alle Services mal durchprobieren.
Es scheinen aber sehr wenig zu sein, z.B. bei "get mykm200 / bus" bekomme ich nur "CAN" ....

Bis dann.

grossi33

Hallo Sailor,

folgende Services in Verbindung mit dem KM200-Modul werden unterstützt:
/gateway/DateTime
      
/gateway/userpassword
      
/gateway/uuid
      
/gateway/versionFirmware
      
/gateway/versionHardware
      
/heatingCircuits/hc1/activeSwitchProgram
      
/heatingCircuits/hc1/operationMode
      
/heatingCircuits/hc1/status
      
/heatingCircuits/hc2/activeSwitchProgram
      
/heatingCircuits/hc2/operationMode
      
/heatingCircuits/hc2/status
      
/system/brand
      
/system/bus
      
/system/systemType
      
>:(
Nicht im KM200 Modul, aber scheinbar von der Wärmepumpe zusätzlich gelieferter Service:
/gateway/language
/recordings/system/sensors/outdoorTemperatures

Die aktuelle Warmwassertemperatur ist in der APP zu finden (und einstellbar), aber
nicht im KM200-FHEM-Modul.  :'(


Grüsse

grossi33