Weishaupt WTC am eBus mit ebusd

Begonnen von J0EK3R, 19 November 2016, 13:51:45

Vorheriges Thema - Nächstes Thema

mwolle

Moin zusammen,
dank diesem Thread habe ich es auch nach langem geschafft eine Weishaupt WTC-15-A auszulesen. Nach dieser Anleitung habe ich:
address 08: slave #11, scanned "MF=Kromschroeder;ID=W ;SW=0306;HW=0301", loaded "kromschroeder/08..sc.csv"
address 30: master #3
address 35: slave #3, scanned "MF=Kromschroeder;ID=W ;SW=2635;HW=0000", loaded "kromschroeder/35..hc1.csv"
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST?;SW=0306;HW=0301", loaded "kromschroeder/f6..sc.csv"
address ff: master #25, ebusd

Unter SC ACT habe ich auch schon einige Werte bekommen:

"sc": {
  "messages": {   "Act": {
    "name": "Act",
    "passive": true,
    "write": false,
    "lastup": 1647840091,
    "zz": 254,
    "fields": {
     "Status1": {"value": 1},
     "Operatingphase": {"value": "BrennerAus"},
     "Ukn2_1": {"value": 1},
     "Ukn2_2": {"value": 1},
     "Ukn2_3": {"value": 1},
     "Flame": {"value": 0},
     "GasValve1": {"value": 0},
     "GasValve2": {"value": 0},
     "Pump": {"value": 1},
     "Error": {"value": 0},
     "Ukn3_1": {"value": 0},
     "SoWi": {"value": "Winter"},
     "Ukn3_3": {"value": 0},
     "Ukn3_4": {"value": 0},
     "Ukn3_5": {"value": 1},
     "Ukn3_6": {"value": 0},
     "Ukn3_7": {"value": 0},
     "SettingUV": {"value": "Heating"},
     "Load": {"value": 0},
     "SupplyTemp": {"value": 27.0},
     "FlueGasTemp": {"value": null},
     "DHWTemp": {"value": 60.0},
     "UknTemp": {"value": 0.0},
     "ExternalTemp": {"value": 4},
     "TrendTemp": {"value": 7.523},
     "SupplySetTemp": {"value": 34}
    }


Frage, habt ihr noch Rücklauf und Momentane Heizleistung gefunden? Wobei die Abgastemperatur (FlueGasTemp) auch gut wäre, wenn die denn mal gefüllt würde.

VG
Marcel


rob

Hallo Marcel.

Leider nein. Im Manual finde ich auch keine Angabe, wie man zumindest am Gerät selbst die Rücklauftemp. auslesen könnte. Vielleicht hab ich es auch überlesen. Vermutung: kann die WTC-15 einfach nicht.

FlueGasTemp ist bei mir auch leer. Am Gerät kann ich es aber mit i31 auslesen. Könnte also sein, dass es in der CSV noch irgendeine Einstellung braucht, damit das klappt. Konkret käme es ja aus dem Broadcast via f6..sc.csv. Ich weiß aber nicht, was man da schrauben müsste.

Viele Grüße
rob

mwolle

Hi Rob,
wahrscheinlich hat sich Weißhaupt den Rücklauffühler gespart, das ist ok, wenn das Gerät die Abgastemperatur misst (es wäre ja doch Interessant zu wissen, wie gut der Brennwerteffekt genutzt wird). Grundsätzlich bekomme ich die identischen Werte wie du. Wenn ich Joekers Berichte lese, müsste man die Werte über den "read" Befehl auslesen können?!?...Aber soweit war ich noch nicht, ich habe bestimmt zwei Wochen gebraucht das ich überhaupt mit der Therme mal "reden" konnte und Werte erhalten UND aufzeichnen konnte.

rob

Hi.
Zitat von: mwolle am 28 März 2022, 17:06:36
...müsste man die Werte über den "read" Befehl auslesen können?!?...
Das bezieht sich wahrscheinlich auf die Eingabe via Console. Ja, damit kann man Werte aktiv holen. Vor allem wenn sie nicht automatisch gepusht werden. Abgas ist aber bei den gepushten dabei und lässt sich imho nicht einzeln holen. Weiß jedenfalls nicht wie  ::)

ebusctl find -V | grep Flue
sc Act = Status1=1 [ ];Operatingphase=GasventilkontrolleV2 [Betriebsphase];Ukn2_1=1 [ ];Ukn2_2=1 [ ];Ukn2_3=1 [ ];Flame=0 [ ];GasValve1=0 [ ];GasValve2=0 [ ];Pump=1 [ ];Error=0 [ ];Ukn3_1=0 [ ];SoWi=Winter [ ];Ukn3_3=0 [ ];Ukn3_4=0 [ ];Ukn3_5=0 [ ];Ukn3_6=0 [ ];Ukn3_7=0 [ ];SettingUV=Heating [ ];Load=34 [Laststellung];SupplyTemp=49.0 °C [Vorlauftemperatur];FlueGasTemp=- °C [Abgastemperatur];DHWTemp=47.0 °C [Warmwassertemperatur];UknTemp=0.0 °C [ ];ExternalTemp=11 °C [Außentemperatur];TrendTemp=8.977 °C [Temperaturtrend];SupplySetTemp=45 °C [Vorlauf Solltemperatur] [ZZ=fe, lastup=2022-03-29 10:20:39, passive read]
sc FlueGasSensorDefective = no data stored [ZZ=08, active read]


Zitat von: mwolle am 28 März 2022, 17:06:36
...habe bestimmt zwei Wochen gebraucht das ich überhaupt mit der Therme mal "reden" konnte und Werte erhalten UND aufzeichnen konnte.
Kann ich gut nachempfinden. Ich habe jedes Mal wieder keinen Aha!-Effekt sondern eher Häh?-Effekte, sobald ich mir konkrete Details anschaue :)
Kurios bleibt halt: es sind folgende Fehlermeldungen lt. Weishaupt vorgesehen:
Zitat'W15' => 'Differenz Vorlauf- und Rücklauftemperatur zu groß'
'F15' => 'Differenz Vorlauf- und Rücklauftemperatur zu groß'
'F37' => 'Rücklauffühler defekt'
Verstehst was ich meine? Ich kann mir zwei Gründe vorstellen:
a) die Codes gelten global für alle Gräte, sodass Krams enthalten ist, den manche Geräte mangels Hardware aber nie anzeigen können
b) es gibt doch einen Fühler, nur werden dessen Werte nicht über ebus preisgegeben

Auch bei Abgastemp wieder komisch: via Errorhistory kann man die Abgastemp auslesen: aber eben nicht die aktuelle, sondern jenen Wert, der beim aufgetreten Fehler vorlag. Also muss es doch da sein. Ich raff es leider nicht. Ist irgendwie zu verdreht für meinen Kopf.

Ansonsten: es kommen ja so einige Werte von denen zumindest ich nicht sagen kann, was die bedeuten. Rein theoretisch könnten da noch brauchbare Dinge verklausuliert enthalten sein. Zum Entschlüsseln hat J0ek3r viel Mühe investiert. Für mehr müsste man wohl Input von Weishaupt bekommen.
Beispiel die SCOT-Werte. Die ändern sich, bevor es zu Fehlern kommt oder wenn die Sonde verschlissen ist. Aber welche Werte sind nun OK, bedenklich oder schlecht? Keine Ahnung.

Meine Therme ist seit Wochenende mal wieder defekt (F21 +F64)  ::). Installateur hat die Ursache gestern nicht gefunden. Immerhin: Dank FHEM bekomme ich die Ausfallmeldungen über Telegram sofort mit :)

VG
rob

mwolle

Achso, also alles was ich unter ebusctl info finde, sind alles ebus Nachrichten die dekodiert werden konnte auf Basis der csvs von joeker. Wenn keine Werte enthalten sind, werden auch keine Werte über ebus übertragen die man abgreifen kann. Ich hatte kurzzeitig die Hoffnung, dass man durch explizietes lesen noch mal Werte bekommt zu den Attributen (das dachte ich, weil bei Joeker noch mal mehr Werte zu sehen waren, wie Heizprogramme etc.). D.h. also auch, man begnügt sich mit dem was bisher auslesbar ist, oder bastelt weiter an den csvs um weitere Mappings zu bekommen.

rob

Zitat von: mwolle am 31 März 2022, 12:46:55
...D.h. also auch, man begnügt sich mit dem was bisher auslesbar ist, oder bastelt weiter an den csvs um weitere Mappings zu bekommen.
Exakt. So ist auch mein Kenntnisstand/ Verständnis.

Darüber hinaus scheint es an den bereits vorhandenen Mappings in den CSV noch div. Optimierungsbedarf zu geben. Bsp.: durchgängig die selben gängigen Bezeichnungen umsetzen, wie bei anderen Heizungsanlagen, sodass ein einheitliches MQTT-Template entwickelt werden könnte, den Verdrehmechanismus bei Zeitprogrammen zw. lesen vs. schreiben abstellen und eben die Aussagekraft/ den Nutzen div. Werte ermitteln etc. pp.

... deshalb imho unterm Strich: zufrieden geben, optimieren oder neues hinzufügen oder eine Mischung aus allem  ;)

Ich hatte mich vorsichtig an ein paar Stellen herangewagt. Bisher endete leider alles in einer Sackgasse. So kann ich z.B. Zeitprogramme dank Beta-Users Fleißarbeit via MQTT schön auf den ebus schreiben, nur sind sie der Weishaupt total Wurscht  ::)  Die Weishaupt ist kaum autom. steuerbar, wo es Sinn machen würde.
Die use cases sind für mich deshalb arg überschaubar, sodass ich wohl im Status "zufrieden geben" verbleiben muss  ???

Wer weiß, vielleicht leaked ja mal wer den Sourcecode der Weishaupt Firmware o.ä. ...

VG
rob

mwolle

Hi rob,
na danke für die Aufklärung, tja ich würde es wohl im ersten Moment so lassen, das ist nicht meine Heizung und es ist derzeit nur ein Pilot über diverse Heizungshersteller hinweg, bei der "alten" Weishaupt war das wohl die einzige Chance auf "Sichtbarmachung" einiger Kennwerte...es juckt zwar in den Fingern, noch etwas zu forschen, andererseits klingt das nach übelst viel Arbeit und vorallem Zeit und an der hapert es Momentan :)

zenlight777

Ich habe große Probleme zu verstehen, in welchem ​​Fall der Weisshaupt WTC 25A die Heizung für Heizkörper startet.
Da Sie viel mit den Parametern für die Automatisierung herumgespielt haben, weiß jemand, auf welche Parameter zu achten ist, die die Bedingungen für den Start der Erwärmung in Heizkörpern anzeigen?
Es scheint, dass nur die Boilerheizung sofort nach dem Einschalten der Heizungsanlage beginnt.

Vielen Dank!

rob

Zitat von: zenlight777 am 04 November 2022, 04:17:12
...weiß jemand, auf welche Parameter zu achten ist, die die Bedingungen für den Start der Erwärmung in Heizkörpern anzeigen?...

Hallo.

Genau kann ich das auch nicht sagen. Vielleicht hilft aber ein Auszug aus meinem Log. Vom Start bis zum Betrieb  - hier ein Beispiel für den Kessel (SettingUV: Heating):

2022-11-04_08:12:02 MQTT2_ebusd_sc Operatingphase: BrennerAus
2022-11-04_08:12:02 MQTT2_ebusd_sc Ukn3_7: 0
2022-11-04_08:12:02 MQTT2_ebusd_sc GasValve2: 0
2022-11-04_08:13:02 MQTT2_ebusd_sc SupplyTemp: 38.0
2022-11-04_08:13:02 MQTT2_ebusd_sc Load: 0
2022-11-04_08:14:03 MQTT2_ebusd_sc SupplyTemp: 35.0
2022-11-04_08:15:02 MQTT2_ebusd_sc SupplyTemp: 34.0
2022-11-04_08:17:02 MQTT2_ebusd_sc Status1: 1
2022-11-04_08:17:02 MQTT2_ebusd_sc Pump: 1
2022-11-04_08:17:02 MQTT2_ebusd_sc Flame: 0
2022-11-04_08:17:02 MQTT2_ebusd_sc Error: 0
2022-11-04_08:17:02 MQTT2_ebusd_sc SoWi: Winter
2022-11-04_08:17:02 MQTT2_ebusd_sc TrendTemp: 8.996
2022-11-04_08:17:02 MQTT2_ebusd_sc GasValve1: 0
2022-11-04_08:17:02 MQTT2_ebusd_sc Ukn3_1: 0
2022-11-04_08:17:02 MQTT2_ebusd_sc ExternalTemp: 8
2022-11-04_08:17:02 MQTT2_ebusd_sc Ukn3_3: 0
2022-11-04_08:17:02 MQTT2_ebusd_sc SupplySetTemp: 39
2022-11-04_08:17:02 MQTT2_ebusd_sc Ukn3_7: 1
2022-11-04_08:17:02 MQTT2_ebusd_sc Ukn3_6: 0
2022-11-04_08:17:02 MQTT2_ebusd_sc GasValve2: 0
2022-11-04_08:17:02 MQTT2_ebusd_sc SettingUV: Heating
2022-11-04_08:17:02 MQTT2_ebusd_sc SupplyTemp: 33.0
2022-11-04_08:17:02 MQTT2_ebusd_sc DHWTemp: 47.0
2022-11-04_08:17:02 MQTT2_ebusd_sc Load: 20
2022-11-04_08:17:02 MQTT2_ebusd_sc Ukn2_1: 1
2022-11-04_08:17:02 MQTT2_ebusd_sc Ukn3_5: 0
2022-11-04_08:17:02 MQTT2_ebusd_sc Ukn3_4: 0
2022-11-04_08:17:02 MQTT2_ebusd_sc UknTemp: 0.0
2022-11-04_08:17:02 MQTT2_ebusd_sc Ukn2_2: 1
2022-11-04_08:17:02 MQTT2_ebusd_sc Ukn2_3: 1
2022-11-04_08:17:02 MQTT2_ebusd_sc Operatingphase: RuhestandskontrolleGebläse
2022-11-04_08:18:02 MQTT2_ebusd_sc GasValve1: 1
2022-11-04_08:18:02 MQTT2_ebusd_sc Flame: 1
2022-11-04_08:18:02 MQTT2_ebusd_sc SupplyTemp: 42.0
2022-11-04_08:18:02 MQTT2_ebusd_sc Load: 32
2022-11-04_08:18:02 MQTT2_ebusd_sc Operatingphase: BrennerInBetrieb
2022-11-04_08:18:02 MQTT2_ebusd_sc GasValve2: 1
2022-11-04_08:19:02 MQTT2_ebusd_sc Ukn3_7: 0
2022-11-04_08:19:02 MQTT2_ebusd_sc GasValve2: 0
2022-11-04_08:19:02 MQTT2_ebusd_sc Load: 71
2022-11-04_08:19:02 MQTT2_ebusd_sc SupplyTemp: 44.0
2022-11-04_08:19:02 MQTT2_ebusd_sc Operatingphase: GasventilkontrolleV2
2022-11-04_08:19:02 MQTT2_ebusd_sc Flame: 0
2022-11-04_08:19:02 MQTT2_ebusd_sc GasValve1: 0
2022-11-04_08:19:32 MQTT2_ebusd_sc Load: 0
2022-11-04_08:19:32 MQTT2_ebusd_sc SupplyTemp: 42.0
2022-11-04_08:19:32 MQTT2_ebusd_sc Operatingphase: BrennerAus
2022-11-04_08:20:02 MQTT2_ebusd_sc SupplyTemp: 38.0
2022-11-04_08:20:32 MQTT2_ebusd_sc SupplyTemp: 37.0
2022-11-04_08:21:02 MQTT2_ebusd_sc SupplyTemp: 35.0
2022-11-04_08:21:32 MQTT2_ebusd_sc SupplyTemp: 34.0
2022-11-04_08:22:02 MQTT2_ebusd_sc Ukn3_6: 0
2022-11-04_08:22:02 MQTT2_ebusd_sc Ukn3_4: 0
2022-11-04_08:22:02 MQTT2_ebusd_sc Ukn2_1: 1
2022-11-04_08:22:02 MQTT2_ebusd_sc Ukn3_5: 0
2022-11-04_08:22:02 MQTT2_ebusd_sc Ukn2_3: 1
2022-11-04_08:22:02 MQTT2_ebusd_sc UknTemp: 0.0
2022-11-04_08:22:02 MQTT2_ebusd_sc Ukn2_2: 1
2022-11-04_08:22:02 MQTT2_ebusd_sc SettingUV: Heating
2022-11-04_08:22:02 MQTT2_ebusd_sc DHWTemp: 47.0
2022-11-04_08:22:02 MQTT2_ebusd_sc SupplyTemp: 33.0
2022-11-04_08:22:02 MQTT2_ebusd_sc SoWi: Winter
2022-11-04_08:22:02 MQTT2_ebusd_sc Error: 0
2022-11-04_08:22:02 MQTT2_ebusd_sc TrendTemp: 8.996
2022-11-04_08:22:02 MQTT2_ebusd_sc Status1: 1
2022-11-04_08:22:02 MQTT2_ebusd_sc Pump: 1
2022-11-04_08:22:02 MQTT2_ebusd_sc Ukn3_1: 0
2022-11-04_08:22:02 MQTT2_ebusd_sc ExternalTemp: 8
2022-11-04_08:22:02 MQTT2_ebusd_sc Ukn3_3: 0
2022-11-04_08:22:02 MQTT2_ebusd_sc SupplySetTemp: 39
2022-11-04_08:24:02 MQTT2_ebusd_sc Flame: 1
2022-11-04_08:24:02 MQTT2_ebusd_sc GasValve1: 1
2022-11-04_08:24:02 MQTT2_ebusd_sc Ukn3_7: 1
2022-11-04_08:24:02 MQTT2_ebusd_sc GasValve2: 1
2022-11-04_08:24:02 MQTT2_ebusd_sc SupplyTemp: 32.0
2022-11-04_08:24:02 MQTT2_ebusd_sc Load: 85
2022-11-04_08:24:02 MQTT2_ebusd_sc Operatingphase: S:Abgastemperatur > 120°C
2022-11-04_08:24:32 MQTT2_ebusd_sc Operatingphase: BrennerInBetrieb
2022-11-04_08:24:32 MQTT2_ebusd_sc SupplyTemp: 33.0
2022-11-04_08:24:32 MQTT2_ebusd_sc Load: 84
2022-11-04_08:25:02 MQTT2_ebusd_sc SupplyTemp: 39.0
2022-11-04_08:25:02 MQTT2_ebusd_sc Load: 30
2022-11-04_08:25:32 MQTT2_ebusd_sc SupplyTemp: 40.0
2022-11-04_08:25:32 MQTT2_ebusd_sc Load: 32
2022-11-04_08:26:02 MQTT2_ebusd_sc SupplyTemp: 41.0
2022-11-04_08:26:32 MQTT2_ebusd_sc SupplyTemp: 42.0
2022-11-04_08:32:03 MQTT2_ebusd_sc Flame: 1
2022-11-04_08:32:03 MQTT2_ebusd_sc Pump: 1
2022-11-04_08:32:03 MQTT2_ebusd_sc Status1: 1
2022-11-04_08:32:03 MQTT2_ebusd_sc TrendTemp: 8.996
2022-11-04_08:32:03 MQTT2_ebusd_sc Error: 0
2022-11-04_08:32:03 MQTT2_ebusd_sc SoWi: Winter
2022-11-04_08:32:03 MQTT2_ebusd_sc GasValve1: 1
2022-11-04_08:32:03 MQTT2_ebusd_sc SupplySetTemp: 39
2022-11-04_08:32:03 MQTT2_ebusd_sc Ukn3_3: 0
2022-11-04_08:32:03 MQTT2_ebusd_sc ExternalTemp: 8
2022-11-04_08:32:03 MQTT2_ebusd_sc Ukn3_1: 0
2022-11-04_08:32:03 MQTT2_ebusd_sc Ukn3_6: 0
2022-11-04_08:32:03 MQTT2_ebusd_sc Ukn3_7: 1
2022-11-04_08:32:03 MQTT2_ebusd_sc GasValve2: 1
2022-11-04_08:32:03 MQTT2_ebusd_sc Load: 34
2022-11-04_08:32:03 MQTT2_ebusd_sc SupplyTemp: 41.0
2022-11-04_08:32:03 MQTT2_ebusd_sc DHWTemp: 47.0
2022-11-04_08:32:03 MQTT2_ebusd_sc SettingUV: Heating
2022-11-04_08:32:03 MQTT2_ebusd_sc Operatingphase: BrennerInBetrieb

Warmwasser wäre dann "SettingUV: DHW".

Zitat von: zenlight777 am 04 November 2022, 04:17:12
...Es scheint, dass nur die Boilerheizung sofort nach dem Einschalten der Heizungsanlage beginnt...
Bei meiner Anlage entscheidet sie je nach Einstellung selbst. Habe für Warmwasser (WW) einen Pufferspeicher. Ist die Zieltemp. noch vorhanden, springt die Therme mit dem Kessel an, wenn dessen Zieltemp. unterschritten ist.
Ist jedoch der Puffer zu kalt und die dafür vorgesehene Zeit erreicht, springt die Therme genauso mit WW an. Unterschiedl. also.

Viele Grüße
rob

rubinho

Servus Zusammen,

ich grabe das Thema mal nochmal aus, da die Heizperiode vor der Tür steht und ich endlich die Muse gefunden habe, den Ebus-Adapter (V5) in der Weishaupt WTC 25-A Therme meines Vaters anzuschließen und mit Ebusd zu verbinden.
Ziel ist es die Therme über Ferne zu monitoren und gegebenenfalls zu parametrieren.

Mein aktueller Stand ist, ich bekomme grundsätzlich Parameter von der Therme ausgelesen. Nur das Setzen von Werten gelingt mir nicht so.
Gegebenenfalls versuche ich auch Dinge die überhaupt nicht gehen. Leider sind die Beispiele im Netz respektive im Forum zum Setzen von Parameter sehr begrenzt.
Von daher wollte ich fragen, ob jemand mal ein paar Beispiele posten kann.
Mich würde konkret das Setzen des Betriebsmodi (Standby, Program 1, Warmwasser usw.), Soll Raumtemperatur, Steilheit und Parallelverschiebung interessieren.

Vorab vielen Dank.

VG
Rubinho



Fhem 5.9@Zotac Zbox Ci327 | HMCCU | Z-Wave@ZMEEUZB1 | HUE Bridge Gen2 | knxd over IP

mb201

#175
Hallo rubhinho, et al,

aktuell lese ich nur auf dem eBus mit. Meine Anlage ist ein Kompaktgerät WTC 15 mit Warmwasserboiler und Fernbedienung(WCM-FB), aus dem Jahr 2011.
Das Setzen der Betriebszustände macht bei mir das Gerät mit der Adresse 0x30 (WCM-FB) mit einem Befehl an addr 0xF1 (WTC15). Der entscheidende Befehl ist m.E. 0x05 0x07 ...
Und genau da ist mein Problem mit ebusd. Diese Nachricht wird von meinem ebusd nicht dekodiert, obwohl ein .csv Dekoder und template zur Verfügung stehen.
Im ebusd.log bekomme ich immer die Meldung "received unknown MM cmd" und kann es manuell dekodieren:

2023-11-25 02:47:50.858 [update notice] received unknown MM cmd: 30f1 0507 09 bb03 5000 0080ff46ff        # 0xbb=hotwaterinheating, 0x03=stopconsumer, _16_Temp2: 0x0050 => 5°C, _16_Pressure: 0x8000 => , ..
2023-11-25 10:20:30.597 [update notice] received unknown MM cmd: 30f1 0507 09 bb04 2003 0080ff5aff        # 0xbb=hotwaterinheating, 0x04=startconsumer, _16_Temp2: 0x0320 => 50°C, _16_Pressure: 0x8000, ..
Mehr zur Dekodierung steht ganz am Anfang dieses Threads bei #2

Andere Nachrichten wie Broadcast 500A und 0700 werden von ebusd dekodiert und auch 0704 kommt in größeren Abständen.
2023-11-25 00:11:25.265 [update info] received BC cmd: f1fe500a0d01004712002aff5a00016e0508               # Broadcast von 0xf1 an alle
2023-11-25 00:11:25.266 [update notice] received update-read sc Act QQ=f1: 1;BrennerAus;1;1;1;0;0;0;1;0;0;Winter;0;0;1;0;0;Heating;0;21.0;-;45.0;0.0;1;5.430;8
2023-11-25 00:11:40.889 [update info] received MS cmd: 30f6070400 / 0a5057575354b103150301                # Abfragebefehl von 0x30 an 0xF6 und Antwort
2023-11-25 00:11:40.889 [update notice] received scan-read scan.f6  QQ=30: Kromschroeder;WWST?;0315;0301
2023-11-25 00:11:42.118 [update info] received MS cmd: 3008070400 / 0a50570f000fb103150301                # Abfragebefehl von 0x30 an 0x08 und Antwort         
2023-11-25 00:11:42.119 [update notice] received scan-read scan.08  QQ=30: Kromschroeder;W ;0315;0301
2023-11-25 00:11:43.366 [update info] received BC cmd: 30fe0700090001ff100025110623                       # Broadcast von 0x30 and alle
2023-11-25 00:11:43.366 [update notice] received update-read broadcast datetime QQ=30: 1.000;00:10:-;25.11.2023


Viel mehr passiert nicht auf meinem Bus, in Summe ca. 6 verschieden Nachrichten, wenn man keine Einstellungen an der WCM-FB macht.

Ich könnte wahrscheinlich mit einem python-script einen Befehl 30f1 0507 09 bb04... wie oben senden, aber ich frage mich ob dann nicht das System durcheinanderkommt da meine WCM-FB (addr 0x30) eigentlich der Bus-Master ist und davon nichts mitbekommt. Das ebusd emuliert ja eine eigene Master addr 0x31 und spricht darüber andere Geräte auf dem Bus an.
Also wäre es am besten, wenn erst mal der Befehl 0507 mit ebusd dekodiert wird und dann könnte man ans Senden gehen.
Hat jemand mehr Erfolg oder einen Tipp zur Dekodierung der Nachricht 0507 mit ebusd?

Viele Grüße
michaelba

mb201

Zu dem Problem mit der nicht dekodierten MM-Nachricht 0x0507 im log, gibt es ein update.
2023-11-25 10:20:30.597 [update notice] received unknown MM cmd: 30f1 0507 09 bb04 2003 0080ff5aff

Das lag daran, das nicht alle Dekoder-Dateien aus dem Kromschroeder-Verzeichnis geladen wurden. Ebusd bricht beim ersten Fehler das Laden der nachfolgenden Files ab.
Ich habe also meine selbstgebastelten .csv gelöscht und jetzt geht es. Mit den --logaeras=main --loglevel=debug sieht man das auch gut im log-file von ebusd.
...
2023-12-13 13:03:53.700 [main info] loading configuration files from /opt/ebusd-2.1.x/de/
2023-12-13 13:03:53.700 [main info] reading templates /
2023-12-13 13:03:53.704 [main info] read templates in /
2023-12-13 13:03:53.704 [main info] reading file broadcast.csv
2023-12-13 13:03:53.709 [main info] successfully read file broadcast.csv
2023-12-13 13:03:53.710 [main info] reading file memory.csv
2023-12-13 13:03:53.712 [main info] successfully read file memory.csv
2023-12-13 13:03:53.712 [main info] reading dir  kromschroeder
2023-12-13 13:03:53.713 [main info] reading templates kromschroeder
2023-12-13 13:03:53.719 [main info] read templates in kromschroeder
2023-12-13 13:03:53.719 [main info] reading file kromschroeder/f5..hc3.csv
2023-12-13 13:03:53.722 [main info] successfully read file kromschroeder/f5..hc3.csv
2023-12-13 13:03:53.722 [main info] reading file kromschroeder/f6..sc.csv
2023-12-13 13:03:53.726 [main info] successfully read file kromschroeder/f6..sc.csv
2023-12-13 13:03:53.726 [main info] reading file kromschroeder/51..hc2.csv
2023-12-13 13:03:53.728 [main info] successfully read file kromschroeder/51..hc2.csv
2023-12-13 13:03:53.728 [main info] reading file kromschroeder/04..EA.csv
2023-12-13 13:03:53.728 [main info] successfully read file kromschroeder/04..EA.csv
2023-12-13 13:03:53.728 [main info] reading file kromschroeder/1c..hc4.csv
2023-12-13 13:03:53.731 [main info] successfully read file kromschroeder/1c..hc4.csv
2023-12-13 13:03:53.731 [main info] reading file kromschroeder/75..hc2.csv
2023-12-13 13:03:53.733 [main info] successfully read file kromschroeder/75..hc2.csv
2023-12-13 13:03:53.733 [main info] reading file kromschroeder/35..hc1.csv
2023-12-13 13:03:53.738 [main info] successfully read file kromschroeder/35..hc1.csv
2023-12-13 13:03:53.738 [main info] reading file kromschroeder/08..sc.csv
2023-12-13 13:03:53.738 [main info] successfully read file kromschroeder/08..sc.csv
2023-12-13 13:03:53.738 [main info] reading file kromschroeder/7c..hc6.csv
2023-12-13 13:03:53.741 [main info] successfully read file kromschroeder/7c..hc6.csv
2023-12-13 13:03:53.741 [main info] reading file kromschroeder/24..hc8.csv
2023-12-13 13:03:53.743 [main info] successfully read file kromschroeder/24..hc8.csv
2023-12-13 13:03:53.743 [main info] reading file kromschroeder/05..EA.csv
2023-12-13 13:03:53.744 [main info] successfully read file kromschroeder/05..EA.csv
2023-12-13 13:03:53.744 [main info] reading file kromschroeder/fc..hc7.csv
2023-12-13 13:03:53.746 [main info] successfully read file kromschroeder/fc..hc7.csv
2023-12-13 13:03:53.746 [main info] reading file kromschroeder/3c..hc5.csv
2023-12-13 13:03:53.749 [main info] successfully read file kromschroeder/3c..hc5.csv
2023-12-13 13:03:53.749 [main info] reading dir  kromschroeder/FHEM
2023-12-13 13:03:53.749 [main info] successfully read dir kromschroeder/FHEM
2023-12-13 13:03:53.749 [main info] reading dir  kromschroeder/Documentation
2023-12-13 13:03:53.749 [main info] successfully read dir kromschroeder/Documentation
2023-12-13 13:03:53.749 [main info] reading dir  kromschroeder/_bak
2023-12-13 13:03:53.750 [main info] reading file kromschroeder/_bak/broadcast.csv
### dieser Fehler bricht das weitere Laden ab, aber vorher wurden schon alle relevanten Dateien geladen
2023-12-13 13:03:53.751 [main error] error reading config files from /opt/ebusd-2.1.x/de/: ERR: duplicate entry, last error: kromschroeder/_bak/broadcast.csv:5: ERR: duplicate entry, duplicate ID
2023-12-13 13:03:53.751 [bus notice] bus started with own address 31/36
2023-12-13 13:03:53.751 [bus notice] signal acquired
2023-12-13 13:03:53.764 [mqtt notice] connection established
2023-12-13 13:03:56.381 [bus notice] new master 30, master count 2
2023-12-13 13:03:56.403 [bus notice] new master f1, master count 3

### das MM cmd 0x0507 wird jetzt dekodiert
2023-12-13 13:03:56.403 [update info] received MM cmd: 30f1 0507 09bb030e030080ff46ff
2023-12-13 13:03:56.403 [update notice] received update-read hc1 Set: hotwaterinheating;stopconsumer;48.88;-;-;35.0;-

2023-12-13 13:03:56.821 [update info] received BC cmd: f1fe 500a 0d01067f422260ff4a0006210630
2023-12-13 13:03:56.822 [update notice] received update-read sc Act QQ=f1: 1;BrennerInBetrieb;1;1;1;1;1;1;1;0;0;Winter;0;0;0;0;1;Heating;34;48.0;-;37.0;0.0;6;6.129;48

2023-12-13 13:04:04.350 [main notice] found messages: 1690 (0 conditional on 0 conditions, 0 poll, 16 update)
2023-12-13 13:04:16.873 [update info] received MM cmd: 30f1 0507 09bb030e030080ff46ff
2023-12-13 13:04:16.880 [update notice] received update-read hc1 Set: hotwaterinheating;stopconsumer;48.88;-;-;35.0;-

2023-12-13 13:04:26.998 [update info] received BC cmd: f1fe 500a 0d01067f422062ff4a0006210630
2023-12-13 13:04:27.005 [update notice] received update-read sc Act QQ=f1: 1;BrennerInBetrieb;1;1;1;1;1;1;1;0;0;Winter;0;0;0;0;1;Heating;32;49.0;-;37.0;0.0;6;6.129;48

2023-12-13 13:04:36.848 [update info] received MM cmd: 30f1 0507 09bb030e030080ff46ff
2023-12-13 13:04:36.855 [update notice] received update-read hc1 Set: hotwaterinheating;stopconsumer;48.88;-;-;35.0;-

2023-12-13 13:04:46.851 [update info] received BC cmd: 30fe0700090006ff031313120323
2023-12-13 13:04:46.857 [update notice] received update-read broadcast datetime QQ=30: 6.000;13:03:-;13.12.2023

2023-12-13 13:04:56.811 [update info] received MM cmd: 30f1050709bb030e030080ff46ff
2023-12-13 13:04:56.818 [update notice] received update-read hc1 Set: hotwaterinheating;stopconsumer;48.88;-;-;35.0;-


2. Problem: Ein- und Ausschalten den Brenners per ebus Nachricht 0x0507:
Mir ist erst jetzt bewusst geworden das ein einfaches Senden der Nachricht "30f1050709bb..." mit der gewünschten Vorlauftemperatur den Brenner Ein- oder Ausschalten würde, aber meine WCM-FB (addr 0x30) überschreibt das spätestens nach 20sec, periodisch auf den alten Wert.
Ich denke die Lösung ist, das man als eigener Master (z.B. als ebusd mit addr 0x31/36) auf die WCM-FB (addr 30/35) schreibt und die WCM-FB schreibt es dann an den Heizer (addr 0xF1) oder so ähnlich.
Und ich glaube genau das war die Realisierung von J0EK3R vor ca. 5 Jahren. Ich denke die files aus dem Weishaupt-config repository enthalten schon die nötigen Einstellungen, zumindest für ältere Anlagen.
Also probiere ich als nächstes mal das Senden aus.

mb201

Ich schreibe hier wahrscheinlich nur damit ich es später selbst noch mal nachlesen kann.
Meinen ebus-Adapter habe ich jetzt auch in Sende-Richtung bestückt und kann damit nun über ebusd nicht nur die Broadcast-Nachrichten mitlesen und dekodieren, sondern auch Status-Infos abfragen und Befehle senden.
Damit kann ich meine Heizung jetzt konfigurieren und Ein/Ausschalten, soweit es in der ebusd-configuration vorgesehen ist.
Zum Schreiben habe nur noch die ebusd Master-Addr von 0x30 auf 0xFF geändert und accesslevel=* gesetzt:
EBUSD_OPTS="--configpath=/opt/ebusd-2.1.x/de/ --logareas=all --loglevel=info --enablehex --mqttport=1883 --mqttjson --mqtthost=192.168.178.64 --mqtttopic=ebusd/%name --accesslevel=* --address=ff"

Für meine WTC-15 Anlage (ohne Solar) funktioniert alles was ich brauche mit J0EK3R's repository Einträgen. Nur eine Ergänzung musste ich in der Datei "hc.processvalues.inc" vornehmen, damit ich das Heizprogramm nicht nur abfragen, sondern auch verändern kann.
Der Einstieg erfolgt über die Dateien "35..hc1.csv" und "hc.processvalues.inc" um die WCM-FS (addr 0x30/0x35) zu steuern. Wie schon gesagt, in meiner Anlage ist die WCM-FS das zentrale Element zur Steuerung des Brenners, gemäß gesetzter Programmparameter. Diese Parameter schreibe ich jetzt mit ebusd in die Fernsteuerung.
Im folgenden sieht man die Abfrage und das Überschreiben einiger definierter Parameter:
[b]### decoding for read and write implemented via hc.user.inc[/b]
p1@raspi303:~/Documents/python_linux $ ebusctl r -c hc1 FrostProtection
9.5
p1@raspi303:~/Documents/python_linux $ ebusctl w -c hc1 FrostProtection 7.0
done
p1@raspi303:~/Documents/python_linux $ ebusctl r -f -c hc1 FrostProtection
7.0
[b]# read shows changed value, ==> success[/b]

p1@raspi303:~/Documents/python_linux $ ebusctl r -f -c hc1 NormalSetTemp
21.0
p1@raspi303:~/Documents/python_linux $ ebusctl w -c hc1 NormalSetTemp 22.5
done
p1@raspi303:~/Documents/python_linux $ ebusctl r -f -c hc1 NormalSetTemp
22.5
[b]# read shows changed value, ==> success[/b]

p1@raspi303:~/Documents/python_linux $ ebusctl r -c hc1 ReducedSetTemp
14.0
p1@raspi303:~/Documents/python_linux $ ebusctl w -c hc1 ReducedSetTemp 19.0
done
# read shows changed value, ==> success
p1@raspi303:~/Documents/python_linux $ ebusctl r -c hc1 ReducedSetTemp
19.0
# read shows changed value, ==> success


[b]### decoding for read-only via hc.processvalues.inc[/b]
p1@raspi303:~/Documents/python_linux $ ebusctl r -f -c hc1 SupplyTemperatureWTC
24.0
p1@raspi303:~/Documents/python_linux $ ebusctl r -f -c hc1 HeatDemand
5.0
p1@raspi303:~/Documents/python_linux $ ebusctl r -f -c hc1 SupplySetValueHC
5.0
p1@raspi303:~/Documents/python_linux $ ebusctl r -f -c hc1 SupplyTemperatureHC
-
p1@raspi303:~/Documents/python_linux $ ebusctl r -f -c hc1 RoomSetValue
14.0
p1@raspi303:~/Documents/python_linux $ ebusctl r -f -c hc1 RoomTemperature
23.9
p1@raspi303:~/Documents/python_linux $ ebusctl r -f -c hc1 SupplyTemperatureWTC
23.0
p1@raspi303:~/Documents/python_linux $ ebusctl r -f -c hc1 MixedExternalTemperature
0.4
p1@raspi303:~/Documents/python_linux $ ebusctl r -f -c hc1 ExternalTemperature
-1.0

[b]# via this value I can control my device[/b]
p1@raspi303:~/Documents/python_linux $ ebusctl r -f -c hc1 ProgramChooseSwitch
Programm 2


# after adding one line in file "hc.processvalues.inc" the writing of Programmwahlschalter works as desired
w,,ProgramChooseSwitch,setting of Programmwahlschalter ,,,,"1201",,,_16_ProgramChooseSwitch,,,

p1@raspi303:/opt/ebusd-2.1.x/de/weishaupt $ ebusctl w -c hc1 ProgramChooseSwitch Normaltemperatur
done
p1@raspi303:/opt/ebusd-2.1.x/de/weishaupt $ ebusctl r -f -c hc1 ProgramChooseSwitch
Normaltemperatur
[b]# read shows changed value, ==> success[/b]

p1@raspi303:/opt/ebusd-2.1.x/de/weishaupt $ ebusctl w -c hc1 ProgramChooseSwitch 'Programm 2'
done
p1@raspi303:/opt/ebusd-2.1.x/de/weishaupt $ ebusctl r -f -c hc1 ProgramChooseSwitch
Programm 2


Das Ganze lässt sich nun auch per MQTT2 mit FHEM steuern und dann kann ich auch aus dem Urlaub meine Heizung beeinflussen.
Mit dem Schreiben (ebusctl w ...) sollte man umsichtig sein, da es wahrscheinlich immer im Flash-Memory der WCM-FS gespeichert wird, aber so 5000 Zyklen sollte der Flash halten und das reicht für einen Schreibvorgang pro Tag in den nächsten 13 Jahren.


BTW: Bei der WTC-15 Anlage gibt es auch zwei Schalt-Eingänge H1 und H2, gleich neben den ebus-Kontakten, mit denen man per HW-Schalter den Brenner beeinflussen kann. Mehr dazu steht im Weishaupt-Handbuch. Das ließe sich einfach per Zigbee-Relais beeinflussen auch ohne ebus.
Ich hoffe das hilft noch jemandem.

Zusammenfassend musste ich also nur eine Text-Zeile in hc.processvalues.inc ergänzen, um den Programmschalter meiner Anlage zu beeinflussen.

alfiriel

@mb201 Wow! Danke für diese Grandiose Vorarbeit.
Habe auch eine Weishaupt WTC 15-B und möchte mich auch daran versuchen, die Daten per Bus auszulesen.
Bevor ich mich näher damit beschäftige, kannst du mir verraten welche Hardware du verwendest?
Danke und LG

mb201

@alfiriel, ich nutze noch diesen Adapter auf einer Lochrasterplatine: https://wiki.fhem.de/wiki/EBUS der über einen seriell2USB-Adapter an einem Raspberry hängt.
Der Aufbau erfordert aber etwas HW-Erfahrung und Messequipment. Mittlerweile gibt es auch einige fertige Lösungen hier: https://adapter.ebusd.eu/
Ich versuche noch das Warmwasserheizen per WWPush über ebusd einzustellen. Dieses Kommando scheint noch nicht in den vorhanden Weishaupt-Dateien zu sein.
Viel Erfolg bei deinem Projekt
michaelba