Modul für Buderus Wärmepumpe WPS

Begonnen von mike3436, 15 Januar 2016, 22:57:21

Vorheriges Thema - Nächstes Thema

mike3436

ich arbeite gerade an einem Modul zum Loggen/Steuern einer Buderus Wärmepume WPS (8k-1).
Von Buderus gibt es ein Gateway KM200 (V2) und auch ein passendes Modul von Sailor, welches ich auch gut finde, und selbst im Einsatz habe.
Leider lassen sich über dieses Gateway aus der Wärmepumpe nicht so viele Informationen auslesen, wie das bei den Heizkesseln der Fall ist, obwohl viele Informationen augenscheinlich vorliegen (über Display abrufbar).
Es fehlen Informationen wie Sole- und  Vorlauftemperatur, Leistungswerte, usw.

Mittlerweile ist das FHEM-Modul schon so weit gediehen, das ich mir eine Veröffentlichung erlauben könnte.
Es läuft stabil, ein KM200 wird nicht benötigt, dafür aber ein USBTin oder äquivalenten CAN-Controller.
Es sind aber lokale abstrahierte Funktionen zum Initialisieren, Lesen und Schreiben der Daten vom CAN-Controller implementiert, die man für andere CAN-Controller erweitern könnte.


  • Hat überhaupt jemand Interesse daran?
  • Bisher unterstützt das Modul nur 1 Regelkreis - benötigt jemand auch den 2. Regelkreis?

Moduldefinition

define myKM273 KM273 /dev/ttyACM0@115200
attr myKM273 room Heizung

define Temperaturen readingsGroup myKM273:<%temp_temperature>,<AussenTemp.>,GT2_TEMP myKM273:<%sani_buffer_temp_all>,<HeisswasserTemp.>,GT3_TEMP
attr Temperaturen room Heizung
define TemperaturenSole readingsGroup myKM273:<%sani_return_temp>,<SoleEin>,GT10_TEMP myKM273:<%sani_supply_temp>,<SoleAus>,GT11_TEMP
attr TemperaturenSole room Heizung
define TemperaturenWP readingsGroup myKM273:<%sani_supply_temp>,<WaermetraegerAus>,GT8_TEMP myKM273:<%sani_return_temp>,<WaermetraegerEin>,GT9_TEMP myKM273:<%sani_buffer_temp_all>,<Heizgastemperatur>,GT6_TEMP
attr TemperaturenWP room Heizung

#sinnvolle Logfile Auszüge zur Darstellung in Histogrammen:

define FileLog_heizung FileLog /mnt/fhem/log2/Temperaturen-%Y-%m.log myKM273:(GT1_TEMP|GT2_TEMP|GT3_TEMP|GT6_TEMP|GT8_TEMP|GT9_TEMP|GT10_TEMP|GT11_TEMP).*
attr FileLog_heizung group Temperaturen
attr FileLog_heizung logtype text
attr FileLog_heizung room Heizung

define FileLog_KM273_Pumpen FileLog /mnt/fhem/log2/KM273_Pumpen-%Y-%m.log myKM273:(HW_PUMP*|PUMP_DHW_ACTIVE).*
attr FileLog_KM273_Pumpen group Temperaturen
attr FileLog_KM273_Pumpen logtype text
attr FileLog_KM273_Pumpen room Heizung

define FileLog_KM273_bits1 FileLog /mnt/fhem/log2/KM273_bits1-%Y-%m.log myKM273:(0002C270|00038270|00048270|00040040|00044040|00044270|0003C270).*
attr FileLog_KM273_bits1 group Temperaturen
attr FileLog_KM273_bits1 logtype text
attr FileLog_KM273_bits1 room Heizung

define FileLog_KM273_temp1 FileLog /mnt/fhem/log2/KM273_temp1-%Y-%m.log myKM273:(08000270|08008270|08004270|08010270).*
attr FileLog_KM273_temp1 group Temperaturen
attr FileLog_KM273_temp1 logtype text
attr FileLog_KM273_temp1 room Heizung


Informationen zur Kommunikation

Die im Modul festgelegten Werte werden zyklisch einmal pro Minute gepollt.
Es wird aber asynchron gearbeitet, d.h. es wird nicht auf die Antwort gewartet.
Die zu pollenden Werte werden einfach bis zum ende der Liste nacheinander abgefragt.
Die WP reagiert sehr schnell innerhalb von 1-2ms.
Die Antwort wird unabhängig vom gepollten Wert ausgewertet, und das FHEM-Reading wird nur bei Änderung des Werts bzw. spätestens nach 10 min geupdated.
Damit wird auch das Logging kleiner gehalten.
Auch die nicht vom Modul gepollten Werte, die von CAN Modulen innerhalb der Heizung automatisch gesendet werden oder von einem KM200 gepollt werden, werden Änderungsgetrieben als Reading mitgeschrieben.
Hier besteht noch Entwicklungsbedarf, um dies ggf. zu deaktivieren.

Entwicklerinformationen zur Kommunikation

Die WPS verfügt über einen CAN Bus und darüber wird auch das KM200 angeschlossen.
Ich habe mal einen Logger (Raspi mit USBTin) mitlaufen lassen und habe darüber relativ schnell einige Erkenntnisse gesammelt.

Der CAN Bus läuft mit 125kBaud und die Daten werden im Extended Frame Format (29 Bit Id) ausgetauscht.
Es wird kein CANOpen Protokoll verwendet, sondern ein proprietäres CAN Format.

Ohne angeschlossenes KM200 kommen regelmäßig Stati und Analogwerte der Sensoren, Pumpen, usw.
Die sind natürlich schwer zu deuten, zumal die analogen Temperaturwerte linearisiert werden müssen.

Mit angeschlossenem KM200 werden regelmäßig Werte gepollt, wie z.B. Warmwasser- oder Außentemperatur:

Info: beim Loggen wurde der Zeitstempel (2Byte, Millisekunden 0..59999) im USBTin aktiviert

Lesen der Außentemperatur (Lese Id 04A83FE0, Länge 0, Antwort Id 0CA83FE0, Länge 2 Byte, Wert 67 = 6,7°C
[19/10/15 - 22:59:09:218] R04A83FE0006A0                 01696 04A83FE0 0  0                     
[19/10/15 - 22:59:09:220] T0CA83FE02004306A2             01698 0CA83FE0 2 0043 67                 

Lesen der Außentemperatur (Lese Id 04AA7FE0, Länge 0, Antwort 0CAA7FE0, Länge 2 Byte, Wert 423= 42,3°C
[24/10/15 - 17:57:45:971] R04AA7FE003C85                 15493 04AA7FE0 0  0                      05404 04AA7FE0 0  0
[24/10/15 - 17:57:45:971] T0CAA7FE0201A83C86             15494 0CAA7FE0 2 01A8 424                05407 0CAA7FE0 2 01A7 423


Wird jetzt das KM200 neu angeschlossen, dann kommt erstmal ein wahres Feuerwerk an CAN-Telegrammen.
Die Analyse zeigte erstaunliches:
Es wird von KM200 eine 60kB grosse Tabelle mit allen abrufbaren Werten gelesen.
Diese beinhaltet den Bezeichner im Klartext, und einen Index, aus welchem man direkt die CAN-Id's berechnen kann.
Mit Hilfe dieser Tabelle kommt man an alle Werte, die bisher über das KM200 nicht abrufbar oder setzbar waren.
Die Bezeichner sind etwas kryptisch, und sind nicht immer Englisch sondern eher aus dem Skandinavischen Raum.
Die Semikolon gehören nicht zur abgerufenen Tabelle, und dienen nur zur Kenntlichmachung der Spalten:

Index;??????????;????;Maximalwert;Minimalwert;Textlänge;Text Byte                                                                   ;Text ASCII
02A4;80B4702C47;0064;00000000;00000000;0D;4754335F414E534C5554454E00                                                                ;GT3_ANSLUTEN
02A5;ED567D32CE;0065;00000032;FFFFFFCE;10;4754335F4B4F525249474552494E4700                                                          ;GT3_KORRIGERING
02A6;C016D09D1D;0066;01000000;00000000;0E;4754335F4B564954544552414400                                                              ;GT3_KVITTERAD
02A7;00AF4D85D7;0239;00000000;00000000;16;4754335F4B564954544552415F4D414E55454C4C5400                                              ;GT3_KVITTERA_MANUELLT
02A8;0054B7AA2C;0067;00000000;00000000;0B;4754335F53544154555300                                                                    ;GT3_STATUS

Die CAN-Id für den empfangenen Wert kann direkt aus dem Index errechnet werden:
CAN-Id für Wert Lesen/Schreiben = Index << 14 | 0x04003FE0
CAN-Id für Wert Empfangen = Index << 14 | 0x0C003FE0
Zum Lesen des Werts wird ein RTR Telegramm (mit Länge=0) gesendet.

Die Tabelle wurde in dem Modul in eine Hash-Tabelle integriert.
In der Hash-Tabelle gibt es eine Spalte 'read'=0, die auf 1 gesetzt werden kann, um den Wert zu der automatisch generierten Pollingliste hinzuzufügen.
Mir ist bewust, dass dies nur eine Möglichkeit im Entwicklungsstadion des Moduls sein kann, und später durch ein Attribut ersetzt werden muss.
Aber die Liste hat ca. 1800 Einträge, und so war dies erstmal die flexibelste Variante für mich.

Ab der Version 0008 wird die Tabelle jetzt aus der Wärmepumpe gelesen. Die noch vorhandene Tabelle dient aktuell nur noch zum Setzen des 'read' flags und des Formats.

[EDIT]
Ab 21.08.2016 ist das Modul (V0012) in FHEM vorhanden und über 'update' aktualisierbar
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

der_da

Hallo,
prinzipiell würde mich das Modul interessieren, da ich selbst auch eine WPS 11k im Einsatz habe.
Kann man damit nur Werte auslesen, oder auch schreiben? Ein brennendes Thema wäre für mich nämlich die automatisierte Anhebung der Warmwassertemperatur. Das scheinen die Entwickler der WP-Firmware vergessen oder absichtliich nicht eingebaut zu haben.

mike3436

Hallo,
ich gehe davon aus, dass du kein KM200 mit dem Buderus Modul von Sailor im Einsatz hast?
Darüber wäre das setzen der Warmwasser Solltemperatur möglich.

Mit meinem Modul sind alle Werte Les- und Schreibbar.
Ich weis nur nicht, ob die geschriebenen z.B. in ein Flash geschrieben werden, und ob die Schreibanzahl begrenzt ist.
Obwohl - über die Buderus App wird das ändern der Warmwassertemperatur auch erlaubt.

Was hast du denn als Hardware zur Verfügung?
Am einfachsten wäre es mit Raspi und USBTin.
Das CAN Modul ist nicht galvanisch entkoppelt, dafür aber recht günstig (37€ bei Amazon).
Ich habe keine Probleme damit (und auch nicht erwartet, da der Raspi ja quasi galvanisch entkoppelt ist).
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

der_da

#3
Zitatich gehe davon aus, dass du kein KM200 mit dem Buderus Modul von Sailor im Einsatz hast?
Darüber wäre das setzen der Warmwasser Solltemperatur möglich.
Ja, ich habe noch nichts dergleichen im Einsatz. Ich beginne erst, mich mit dieser Problematik zu beschäftigen. Bisher waren Licht- und Rollladensteuerung die beiden großen Themen  :)

ZitatWas hast du denn als Hardware zur Verfügung?
Am einfachsten wäre es mit Raspi und USBTin.
Bisher gibt es da nur den Raspi. Aber für ca. 38 € kann man den USBTin ja bei einem großen Versandhändler kaufen. ;)

Mal noch eine bescheidene Anfängerfrage: Wie kommt den die WP ins Kommunikationsnetz? Meines Wissens, hat die weder einen RJ-45 noch sonst einen üblichen Anschluss!? Oder muss ich dann dafür zwingend noch den KM200 beschaffen?

der_da

ZitatMal noch eine bescheidene Anfängerfrage: Wie kommt den die WP ins Kommunikationsnetz? ... Oder muss ich dann dafür zwingend noch den KM200 beschaffen?
Ich beantworte mir das mal selbst  :D: JA, das brauchst du!  ;)

mike3436

#5
Zitat von: der_da am 18 Januar 2016, 09:16:38
Ich beantworte mir das mal selbst  :D: JA, das brauchst du!  ;)

Nein brauchst du nicht!
Das USBTin modul wir direkt innerhalb der WP angeschlossen - da wo sonst das KM200 angeschlossen würde.
Du must dich natürlich trauen, die WP aufzuschrauben, und das Kabel anzuschliessen  ;)
Der CAN-Bus ist ein 2-Draht Bus 3-Draht Bus, der quasi beliebig verlängert werden kann - man muss nur am letzten Teilnehmer einen Abschlusswiderstand setzen. Bei kurzer Verbindung < 1m geht das auch Störungsfrei ohne.

Wenn schon ein (ggf. vom Heizungsfachmann angebrachtes) KM200 existiert, dann kann/muss das Modul dort angeschlossen werden. Hier gilt das gleiche Prinzip: eine kurze Verlängerung ist erlaubt, und wenn man erst durch ganze Haus muss, dann muss der Endwiderstand am KM200 deaktiviert und am USBTin aktiviert werden.

EDIT:
- meine aktuelle Busverdrahtung angehangen
- dadurch erstes Bild korrigiert, da hier GND an Erde verdrahtet war, und nicht an GND (funktionierte zwar, ist aber nicht 100%ig korrekt)
- das in der Verdrahtung mittig platzierte KM200 ist nicht notwendig, bei mir aber vorhanden
- das Ändern der Terminierung ist, wie oben schon geschrieben, nur bei Leitungslängen > 1m zum KM200/USBTin notwendig.
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

mike3436

Ich habe mal meine aktuelle Version 0006 des Moduls 26_KM273 hochgeladen (Anhang 1. Beitrag).
Das Anschliessen des CAN Moduls in der WP ist relativ simpel, und ist auch in der Installationsanleitung der WP schematisch beschrieben.
Bei Bedarf kann ich hier, natürlich ohne jegliche Gewährleistung, auch mit Rat zur Seite stehen.
Es wäre schön, wenn die Leute mit Interesse, das kurz bekunden würden, und die Frage nach der Notwendigkeit des 2. Heizkreis beantworten.
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

der_da

Hallo!

Ich hatte ins Auge gefasst, mir ein KM200 zuzulegen. Allerdings hat mein Heizungs-Installateur auf Nachfrage bei Buderus die Aussage bekommen, dass für meine WP (Bj. 2008) der KM200 nicht unterstützt wird. Nun stehe ich vor der Frage, ob diese Aussage tatsächlich stimmt. Eventuell kann man ja auch erst mal für 38,-€ in einen USBtin investieren und es damit versuchen. Wenn es nicht geht, werde ich die Kosten verkraften. Für mich stellt sich aber wieder die Frage, wenn ich den USBtin an die WP per CAN (2-Draht) anschließe, habe ich am anderen Ende einen USB-Anschluß. Was mache ich damit? Meine WP hätte dann einen USB-Anschluß! Und weiter? Sie müsste ins LAN eingebunden werden, damit FHEM mit ihr kommunizieren kann.
Und dann werde ich vor dem nächsten Problem stehen, dass ich den USBtin erst mal mit einer Firmware flashen muss. Welche?

So viele Fragen? Wer hat die Antworten?

mike3436

#8
Du hast eine Buderus 11k Wärmepumpe, oder?
Ob deine Wärmepumpe mit dem KM200 funktioniert oder nicht, kann ich dir nicht beantworten.
Hast du auch eine Bedieneinheit bzw. Raumtemperaturfühler HRC2 angeschlossen?
Wenn ja, dann sollte die WP auch über den CAN-Bus ansprechbar sein.

Mit dem USBTin wird nur der CAN-Bus über USB an einen Rechner angeschlossen.
Du must auch keinerlei Software flashen, wenn du das fertig bestückte SMD Modul für ~38€ bestellst.
Angeschlossen wird das Modul über normales USB Kabel an den Rechner (z.B. Raspberry Pi).
Die andere Seite könnte über eine verdrillte, abgeschirmte 2-Draht-Leitung relativ lang werden (>50m).
Wenn du keine Leitung verlegen willst, dann muss der Raspberry Pi mit USBTin und FHEM neben die Heizung und dann ins LAN.
Wenn du Glück hast, dann geht die CAN Kommunikation sofort!
Ansonsten kann man auf jeden Fall erst einmal den CAN Datenverkehr mithören und analysieren.
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

der_da

#9
Zitat von: mike3436 am 29 Februar 2016, 22:57:04
Du hast eine Buderus 11k Wärmepumpe, oder?
Hast du auch eine Bedieneinheit bzw. Raumtemperaturfühler HRC2 angeschlossen?
Wenn ja, dann sollte die WP auch über den CAN-Bus ansprechbar sein.
Ich habe in etwa so was hier: https://www.buderus.de/de/produkte/catalogue/Buderus-Produkte-fur-Ihr-Haus/Warmeerzeuger/Warmepumpe/6658_Logatherm-WPS-6kW-bis-17kW Ist wohl so nicht mehr im Sortiment. Aber die WPS-10 K-1 ist wohl am nächsten dran und optisch hat sich offenbar nichts geändert seitdem.
Eine separate Bedieneinheit oder ein Raumtemperaturfühler sind nicht angeschlossen (aber ein Außentemperaturfühler).

Zitat von: mike3436 am 29 Februar 2016, 22:57:04
Die andere Seite könnte über eine verdrillte, abgeschirmte 2-Draht-Leitung relativ lang werden (>50m).
Aha, dann müsste ich also die 2-Draht-Leitung von der WP zu meinem Raspi führen (weit ist es nicht, ca. 3-4m, aber ... grübel ???)
Na gut, dann weiß ich, wie es weiter geht.
Danke erst mal, ich melde mich  ;)

Edit: USBTin bestellt und ist auf dem Weg ;-)
Dank der lieben Frühlingssonne ist der Bedarf, am Sonntagnachmittag die Warmwassertemperatur anzuheben erst mal seltener geworden  :D Somit wäre jetzt ein paar Monate Zeit, die Wärmepumpe ans FHEM anzubinden und die automatisierte Anhebung der Warmwassertemperatur zu realisieren.

Edit: USBTin ist heute angekommen und ich habe es mal eben angeschlossen. 8)
Ein list myKM273 ergibt folgendes:
Internals:
   DEF        /dev/ttyACM0@115200
   DeviceName /dev/ttyACM0@115200
   FD         22
   NAME       myKM273
   NR         352
   PARTIAL
   STATE      opened
   TYPE       KM273
   pollingIndex 153
   Readings:
     2016-04-14 20:31:47   0001C180        0
     2016-04-14 20:31:46   00028200        1
     2016-04-14 20:38:39   0002C200        1
     2016-04-14 20:31:41   00030200        1
     2016-04-14 20:31:41   00034200        0
     2016-04-14 20:39:52   00038200        1
     2016-04-14 20:31:44   0003C200        0
     2016-04-14 20:38:39   00040200        1
     2016-04-14 20:31:39   00044180        16
     2016-04-14 20:31:44   00044200        0
     2016-04-14 20:31:38   00048180        5
     2016-04-14 20:38:39   00048200        1
     2016-04-14 20:31:40   0004C200        0
     2016-04-14 20:31:37   00050180        60
     2016-04-14 20:31:42   00050200        0
     2016-04-14 20:31:52   00054180        0
     2016-04-14 20:31:42   00054200        0
     2016-04-14 20:31:51   00058180        0
     2016-04-14 20:31:51   0005C180        0
     2016-04-14 20:31:50   00060180        0
     2016-04-14 20:31:49   00064180        400
     2016-04-14 20:31:49   00078401        1
     2016-04-14 20:31:49   00080180        0
     2016-04-14 20:40:06   00080401        406
     2016-04-14 20:31:48   00084180        0
     2016-04-14 20:31:50   00084401        0
     2016-04-14 20:31:50   0008C401        0
     2016-04-14 20:31:47   00090200        0
     2016-04-14 20:31:51   00094401        0
     2016-04-14 20:38:24   00098401        94
     2016-04-14 20:31:37   0009C401        4
     2016-04-14 20:31:38   000A8401        0
     2016-04-14 20:31:39   000AC401        -520
     2016-04-14 20:31:39   000B4401        0
     2016-04-14 20:31:40   000B8401        0
     2016-04-14 20:31:41   000BC401        0
     2016-04-14 20:31:56   000D4401        0
     2016-04-14 20:31:48   000F0401        0
     2016-04-14 20:38:43   000F4401        1
     2016-04-14 20:31:42   000FC401        0
     2016-04-14 20:31:43   00178401        0
     2016-04-14 20:31:44   0017C401        250
     2016-04-14 20:31:44   00180401        -200
     2016-04-14 20:31:45   00190401        0
     2016-04-14 20:31:46   00198401        0
     2016-04-14 20:31:46   0019C401        0
     2016-04-14 20:31:47   001B4401        9
     2016-04-14 20:40:04   01FFC401        4508057871856658
     2016-04-14 20:40:03   08000200        352
     2016-04-14 20:38:36   08004200        687
     2016-04-14 20:36:20   08008200        380
     2016-04-14 20:31:57   0800C200        1023
     2016-04-14 20:39:49   08010200        298
     2016-04-14 20:40:14   08014200        349
     2016-04-14 20:31:38   08018180        1
     2016-04-14 20:39:53   08018200        501
     2016-04-14 20:39:57   0801C200        703
     2016-04-14 20:39:43   08020200        724
     2016-04-14 20:32:27   08020401        0
     2016-04-14 20:32:28   08024401        0
     2016-04-14 20:32:37   08040401        0
     2016-04-14 20:32:22   08048401        1
     2016-04-14 20:32:21   0804C401        0
     2016-04-14 20:32:00   08058200        1
     2016-04-14 20:32:01   0805C200        1
     2016-04-14 20:32:01   08060200        1
     2016-04-14 20:32:02   08064200        0
     2016-04-14 20:32:02   08068200        0
     2016-04-14 20:31:53   0806C200        1
     2016-04-14 20:31:53   08070200        0
     2016-04-14 20:31:54   08074200        1
     2016-04-14 20:31:54   08078200        0
     2016-04-14 20:31:55   0807C200        0
     2016-04-14 20:32:29   080C8401        0
     2016-04-14 20:32:30   080CC401        0
     2016-04-14 20:35:37   080D0401        254
     2016-04-14 20:32:32   080D8401        0
     2016-04-14 20:32:33   080DC401        -519
     2016-04-14 20:32:35   080E0401        0
     2016-04-14 20:32:36   080E4401        0
     2016-04-14 20:32:19   08100401        0
     2016-04-14 20:32:14   08114401        0
     2016-04-14 20:32:11   08138401        -521
     2016-04-14 20:31:58   08148401        0
     2016-04-14 20:32:12   0814C401        0
     2016-04-14 20:32:13   08150401        0
     2016-04-14 20:32:15   08174401        480
     2016-04-14 20:32:23   081A0401        0
     2016-04-14 20:32:10   081A4401        0
     2016-04-14 20:32:18   081A8401        0
     2016-04-14 20:32:20   081AC401        200
     2016-04-14 20:32:24   081B0401        0
     2016-04-14 20:31:37   09FFC180        129
     2016-04-14 20:31:55   09FFC200        131
     2016-04-14 20:32:25   09FFC401        312
     2016-04-14 20:31:37   09FFFFF0        16778240
     2016-04-14 20:32:12   ADDITIONAL_DHW_ACKNOWLEDGED 0
     2016-04-14 20:32:12   ADDITIONAL_ELECTRIC_COUNT 20
     2016-04-14 20:32:11   ADDITIONAL_GTf_AVERAGE 5
     2016-04-14 20:32:11   ADDITIONAL_GTf_AVERAGE_OLD 750
     2016-04-14 20:32:11   CONFIGURATION   0
     2016-04-14 20:39:11   DHW_CALCULATED_SETPOINT_TEMP 2.9
     2016-04-14 20:32:11   DHW_CALCULATED_SETPOINT_TEMP_OFFSET 0.4
     2016-04-14 20:32:11   DHW_GT3_START_MAX_TEMP 0
     2016-04-14 20:32:11   DHW_GT3_START_TEMP 1.5
     2016-04-14 20:32:11   DHW_GT3_START_TEMP_COMFORT 4
     2016-04-14 20:32:12   DHW_GT3_START_TEMP_COMFORT_2 0
     2016-04-14 20:32:13   DHW_GT3_START_TEMP_ECONOMY 0
     2016-04-14 20:32:12   DHW_GT3_START_TEMP_ECONOMY_2 0.1
     2016-04-14 20:32:13   DHW_GT3_STOP_MIN_TEMP 16
     2016-04-14 20:32:11   DHW_GT3_STOP_TEMP 10
     2016-04-14 20:32:13   DHW_GT8_STOP_MAX_TEMP 0
     2016-04-14 20:32:12   DHW_GT8_STOP_TEMP 0
     2016-04-14 20:32:11   DHW_GT8_STOP_TEMP_COMFORT 0
     2016-04-14 20:32:12   DHW_GT8_STOP_TEMP_COMFORT_2 0
     2016-04-14 20:32:12   DHW_GT8_STOP_TEMP_ECONOMY 0
     2016-04-14 20:32:11   DHW_GT8_STOP_TEMP_ECONOMY_2 0.1
     2016-04-14 20:39:11   DHW_GT9_STOP_TEMP 6.5
     2016-04-14 20:32:12   DHW_PROGRAM_1_1MON 00:00 on 10:00 off
     2016-04-14 20:32:13   DHW_PROGRAM_1_2TUE 00:00 on 00:30 off
     2016-04-14 20:32:12   DHW_PROGRAM_1_3WED 00:00 on 08:00 off
     2016-04-14 20:32:12   DHW_PROGRAM_1_4THU 00:00 on 00:00 off
     2016-04-14 20:39:11   DHW_PROGRAM_1_5FRI 10:00 on 11:00 off
     2016-04-14 20:32:11   DHW_PROGRAM_1_6SAT 09:00 on 07:30 off
     2016-04-14 20:32:12   DHW_PROGRAM_1_7SUN 00:00 on 09:00 off
     2016-04-14 20:32:11   DHW_PROGRAM_2_1MON 00:00 on 02:00 off
     2016-04-14 20:32:13   DHW_PROGRAM_2_2TUE 00:00 on 01:00 off
     2016-04-14 20:32:11   DHW_PROGRAM_2_3WED 00:00 on 00:00 off
     2016-04-14 20:32:13   DHW_PROGRAM_2_4THU 00:00 on 18:00 off
     2016-04-14 20:32:11   DHW_PROGRAM_2_5FRI 00:00 on 00:00 off
     2016-04-14 20:32:14   DHW_PROGRAM_2_6SAT 00:00 on 00:00 off
     2016-04-14 20:32:12   DHW_PROGRAM_2_7SUN 00:00 on 00:00 off
     2016-04-14 20:32:11   DHW_PROGRAM_MODE 0:Automatic
     2016-04-14 20:32:13   DHW_TIMEPROGRAM 0:Always_On
     2016-04-14 20:32:11   DHW_USER_SET_START_TEMP 0.4
     2016-04-14 20:32:13   DRYOUT_SETPOINT_TEMP 0
     2016-04-14 20:32:13   E71_T71_TEMP    0
     2016-04-14 20:32:11   E71_T72_TEMP    0
     2016-04-14 20:32:11   E72_T71_TEMP    0
     2016-04-14 20:39:11   E72_T72_TEMP    13.8
     2016-04-14 20:32:11   ELSKAP_MAX_TEMP 0
     2016-04-14 20:32:12   ELSKAP_TEMP     1127.5
     2016-04-14 20:32:12   ENVELOPE_CURVE_MAX_TEMP 1.1
     2016-04-14 20:32:13   ENVELOPE_MAX_OUTDOOR_TEMP 1.1
     2016-04-14 20:32:12   ENVELOPE_MAX_TEMPERATURE 1127.5
     2016-04-14 20:32:12   ENVELOPE_MIN_OUTDOOR_TEMPERATURE 1.1
     2016-04-14 20:32:12   ENVELOPE_STOP_HIGH_OUTDOOR_TEMP 0
     2016-04-14 20:32:11   GT10_GT11_MAX_DELTA_TEMP 1
     2016-04-14 20:32:12   GT10_LAG_KOND_TEMP 1235.2
     2016-04-14 20:32:12   GT10_LR_HYSTERES 6.4
     2016-04-14 20:32:11   GT10_LR_TEMP    1235.2
     2016-04-14 20:32:11   GT10_TEMP       6.4
     2016-04-14 20:32:12   GT11_LF_HYSTERES 6.4
     2016-04-14 20:32:12   GT11_LF_TEMP    1235.2
     2016-04-14 20:32:13   GT11_TEMP       6.4
     2016-04-14 20:32:11   GT12_TEMP       0.5
     2016-04-14 20:32:11   GT1_TEMP        25.1
     2016-04-14 20:32:11   GT2_ATTENUATED_TEMP 0
     2016-04-14 20:32:12   GT2_TEMP        0
     2016-04-14 20:32:11   GT3_TEMP        23
     2016-04-14 20:32:13   GT5_ANSLUTEN    12352
     2016-04-14 20:32:12   GT5_TEMP        3.7
     2016-04-14 20:32:12   GT6_TEMP        44838
     2016-04-14 20:32:13   GT7_TEMP        0
     2016-04-14 20:32:13   GT81_TEMP       13.7
     2016-04-14 20:32:12   GT82_TEMP       10
     2016-04-14 20:32:13   GT8_HF_ELK_TEMP 0.1
     2016-04-14 20:32:12   GT8_HF_TEMP     0
     2016-04-14 20:32:14   GT8_TEMP        0
     2016-04-14 20:39:11   GT9_TEMP        5.8
     2016-04-14 20:32:13   HEATING_CURVE_LEFT_Y_LOCAL 0
     2016-04-14 20:32:12   HEATING_CURVE_MAX_LOCAL 22
     2016-04-14 20:32:13   HEATING_CURVE_MIN_LOCAL 13
     2016-04-14 20:32:12   HEATING_CURVE_RIGHT_Y_LOCAL 0
     2016-04-14 20:32:13   HOLIDAY_ACTIVE  0
     2016-04-14 20:32:11   HOLIDAY_START_DAY 6
     2016-04-14 20:32:12   HOLIDAY_START_MONTH 0
     2016-04-14 20:32:13   HOLIDAY_START_YEAR 300
     2016-04-14 20:32:12   HOLIDAY_STOP_DAY 10
     2016-04-14 20:32:11   HOLIDAY_STOP_MONTH 15
     2016-04-14 20:32:12   HOLIDAY_STOP_YEAR 20
     2016-04-14 20:32:13   HW_MV_E12_PUMP_G1_DIGITAL 0
     2016-04-14 20:32:11   HW_PUMP_DHW_DIGITAL 0
     2016-04-14 20:32:11   HW_PUMP_E71_G71_DIGITAL 0
     2016-04-14 20:32:12   HW_PUMP_E72_G71_DIGITAL 280
     2016-04-14 20:32:12   HW_PUMP_G1_DIGITAL 24
     2016-04-14 20:32:13   HW_PUMP_G2_ANALOG 0
     2016-04-14 20:32:12   HW_PUMP_G2_DIGITAL 2
     2016-04-14 20:32:11   HW_PUMP_G3_ANALOG 0
     2016-04-14 20:32:11   HW_PUMP_G3_DIGITAL 0
     2016-04-14 20:32:11   LANGUAGE_ISO639_1 1
     2016-04-14 20:32:11   MIXED_CIRCUITS_CONNECTED_BITMASK 100
     2016-04-14 20:32:13   MV_E12_T1_TEMP  170
     2016-04-14 20:32:13   MV_E12_T5_ATTENUATIONED_TEMP 0
     2016-04-14 20:32:13   MV_E12_T5_TEMP  0
     2016-04-14 20:32:13   PARTY_MODE_CIRCUIT_6 200
     2016-04-14 20:37:11   PROGRAM_REVISION 0
     2016-04-14 20:32:13   PROGRAM_VERSION 0
     2016-04-14 20:32:13   PUMP_DHW_ACTIVE 1800
     2016-04-14 20:32:13   PUMP_DHW_PROGRAM1_START_TIME 00:00
     2016-04-14 20:32:13   PUMP_DHW_PROGRAM1_STOP_TIME 450:00
     2016-04-14 20:32:12   PUMP_DHW_PROGRAM2_START_TIME 450:00
     2016-04-14 20:32:13   PUMP_DHW_PROGRAM2_STOP_TIME 00:00
     2016-04-14 20:32:13   PUMP_DHW_PROGRAM3_START_TIME 00:00
     2016-04-14 20:32:11   PUMP_DHW_PROGRAM3_STOP_TIME 00:00
     2016-04-14 20:32:12   PUMP_DHW_PROGRAM4_START_TIME 00:00
     2016-04-14 20:32:13   PUMP_DHW_PROGRAM4_STOP_TIME 75:00
     2016-04-14 20:11:35   state           opened


Wie bekomme ich jetzt raus, welcher Eintrag was ist? ::) Die Solltemperatur für das Warmwasser wäre am interessantesten.  :D

der_da

Hm, viele der Werte scheinen sich gar nicht zu ändern  :o

mike3436

Hallo, ist ja schön, dass das Modul auf Anhieb bei dir läuft bzw. kommuniziert.
Es scheint aber, das Buderus unterschiedliche Firmwaren hat.
Die gelesenen Werte sind nicht konsistent.
Ich denke, dass das Parameterverzeichnis, welches ich einmal ausgelesen und im Modul hinterlegt habe, bei dir ein anderes ist, und ausgelesen werden muss.
Ich müsste das Modul erst mal dahingehend überarbeiten ...
Also besser erst mal kein Set ausführen.

Da du den Raspi benutzt, könntest du auch erst mal mein script verwenden, um das Parameterverzeichnis auszulesen.
Eventuell funktioniert das ja gar nicht bei deinem WP-Typ!
Dazu das perl modul test3.pm auf den PI kopieren und ggf. Ausführungsrechte geben: sudo chmod 777 test3.pm
Das FHEM Modul beenden, um ttyACM0 frei zu geben.
Eine Putty Session mit Logging (wichtig) starten und das Script ausführen: perl test3.pm
Nach 2-3 Minuten das script abbrechen, und mir das Log der Session zukommen lassen.
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

der_da

Danke mike,

ich komme frühestens heute Abend dazu, dein test3.pm auszuführen. Ein paar der Werte verändern sich ja, ist das nicht ein Zeichen, dass das Parameterverzeichnis doch ausgelesen wird?

mike3436

Zitat von: der_da am 15 April 2016, 08:52:38
Ein paar der Werte verändern sich ja, ist das nicht ein Zeichen, dass das Parameterverzeichnis doch ausgelesen wird?
Die ganzen Werte, bei denen die CAN-Id in Klartext umgesetzt wird, sind meist unlogisch:
HOLIDAY_START_YEAR 300
HOLIDAY_STOP_MONTH 15

Die anderen CAN-Id's sind mir auch nicht geläufig, d.h. treten bis auf 09FFFFF0 bei mir nicht auf.
Aber da nur auf die Parameterabfragen bis Nr. 2024 = Id 0DFA3FE0 = PUMP_DHW_PROGRAM4_STOP_TIME geantwortet wird, läßt Hoffnung aufkeimen.
Der letzte von mir abgefragte Parameter ist Nr. 2484 = Id 0E6D3FE0 = XDHW_WEEKPROGRAM_STOP_TEMP

Na, dann warte ich das log mal ab ...
(Bitte als Dateianhang posten)
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

der_da

Ich hatte dir ne PM geschickt. Kam die nicht an? :o