FHEM Forum

FHEM - Anwendungen => Heizungssteuerung/Raumklima => Thema gestartet von: J0EK3R am 19 November 2016, 13:51:45

Titel: Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 19 November 2016, 13:51:45
Aktuelle ebusd-Konfiguration für Weishaupt WTC

Inzwischen gibt es ein Projekt auf github, in dem ich den aktuellen Stand der Weishaupt-Definitionen für ebusd pflege.
https://github.com/J0EK3R/ebusd-configuration-weishaupt (https://github.com/J0EK3R/ebusd-configuration-weishaupt)

Die Definitionen sind für einen recht aktuellen Stand von ebusd.
Es kann sein, dass ein manuelles Bauen des ebusd notwendig ist.


ebusd-Wiki
https://github.com/john30/ebusd/wiki (https://github.com/john30/ebusd/wiki)

Und ein weiteres Forum zum Thema:
https://www.symcon.de/forum/threads/20578-User-mit-Weishaupt-Heizung-mit-eBus-Lust-auf-Weishaupt-Codes-zu-entschl%C3%BCsseln/ (https://www.symcon.de/forum/threads/20578-User-mit-Weishaupt-Heizung-mit-eBus-Lust-auf-Weishaupt-Codes-zu-entschl%C3%BCsseln/)
Titel: Antw:Weishaupt WTC am eBus
Beitrag von: J0EK3R am 19 November 2016, 14:29:25
Hallo!

Ich betreibe ein Weishaupt Brennwertgerät WTC 15-A mit Erweiterungsmodul Mischer WCM-EM und entsprechender Fernbedienung WCM-FB zur Erzeugung von Warmwasser, einem Heizkreis für Heizkörper und einem Heizkreis für Fußbodenheizung.

Das System kommuniziert über eBus, an dem ich mit dem eBus Koppler Ethernet von eService online hänge.

Auf einem Raspi3 läuft der ebusd und FHEM.  ;D

Leider gibt es im Projekt ebusd-configuration keine Telegramm-Definitionen für Weishaupt!

Deshalb ist man gezwungen, sich selbst alles zusammen zu suchen!  :-\
...und wirklich viel findet man nicht!  :(

Oder man setzt sich eben hin und probiert...  ::)

Gibt es da draußen Leidensgenossen mit einem ähnlichen System, die an einem Austausch interessiert sind?  ;D

Hier mein System aus Bus-Sicht:
















eBus-
Adresse

Master

Beschreibung

Hardware

Version

0x30
0x35


Master 3
Slave-Adresse von Master 0x30
Heizkreisregler 1
Bedienteil
WCM-FB

SW=2633 HW=0000

0x70
0x75


Master 4
Slave-Adresse von Master 0x70
Heizkreisregler 2
Bedienteil
WCM-FB

SW=2633 HW=0000

0xF1
0xF6


Master 10
Slave-Adresse von Master 0xF1
HeizungsreglerWTC15
SW=0216 HW=0101

0x03
0x08


Master 11
Slave-Adresse von Master 0x03
FeuerungsautomatWTC15

0x31
0x36


Master 8
Slave-Adresse von Master 0x31
BusinterfaceeBus-Konverter
ebusd

2.1.28b50d2

0x51

Slave-Adresse 0x51
Mischer 1WCM-EM
SW=3233 HW=0001

Die Informationen stammen aus der Ausgabe von ebusctl info.

Was mich etwas verwundert ist, dass sich alle Geräte auf Telegramm 0704 mit der Hersteller-Identifikation 0x50 (-> Kromschroeder) melden und nicht mit 0xC5 (-> Weishaupt).
Titel: Antw:Weishaupt WTC am eBus
Beitrag von: J0EK3R am 19 November 2016, 15:25:04
Momentan betreibe ich das System als reiner Beobachter.

D.h. der ebusd dekodiert die eBus-Telegramme, die über den Bus gehen und stellt sie über ebusctl read Wert bereit. Mit FHEM polle ich die verschiedenen Werte, protokolliere sie und lass sie als Kurven darstellen.

Telegramm-Definitionen
Unter /etc/ebusd habe ich ein Verzeichnis weishaupt angelegt, in dem meine csv-Dateien zu finden sind.

Allerdings senden meine Geräte die Kromschröder-Kennung. Damit die Dateien von ebusd gefunden werden, müssen sie eben auch in einem Verzeichnis kromschroeder liegen. Deshalb habe ich einen symlink kromschroeder -> weishaupt angelegt.

Hier meine aktuelle _templates.csv

/etc/ebusd/weishaupt/_templates.csv

# template name,type / templates,divider / values,unit,comment

# Programmwahlschalter
programmwahl,UIN,0x01=Standby;0x03=Normaltemperatur;0x04=Absenktemperatur;0x05=Sommer;0x0b=Programm 1;0x0c=Programm 2;0x0d=Programm 3,,Programmwahlschalter

#siehe S33 Tabelle Betriebsphasen
betriebsphase,UCH,0x00=BrennerAus;0x01=RuhestandskontrolleGebläse;0x02=VorspühldrehzahlErreichen;0x03=CountdownVorspühlzeit;0x04=ZünddrehzahlErreichen;0x05=Flammenbildungszeit;0x06=BrennerInBetrieb;0x07=GasventilkontrolleV1;0x08=GasventilkontrolleV2;0x09=Nachspühlen,,Betriebsphase

# Gebläsedrehzahl [Wert * 60]
rpm60,UCH,,Rpm,Drehzahl


Telegramm 0700
Das Telegramm 0700 ist das einzige, das bereits in der broadcast.csv der ebusd-config definiert ist.
Es wird von der Adresse 0xF1 (-> Heizungsregler) als Broadcast-Telegramm verschickt und enthält Datum/Uhrzeit und Außentemperatur.

/etc/ebusd/broadcast.csv

Telegramm 500A
Dieses Telegramm wird ebenfalls von Adresse 0xF1 (->Heizungsregler) als Broadcast-Telegramm verschickt und entält Istwerte: Betriebszustand, Laststellung, Wassertemperatur, Außentemperatur und der Temperaturtrend.

/etc/ebusd/weishaupt/broadcast.csv

# Broadcast mit Prozesswerten

# type (r[1-9];w;u),class,name,comment,QQ,ZZ,PBSB,ID,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment
*b,broadcast,,,,FE,,,,,,,,,,,,,,,,,,,,,,,,,,

# 500A - Prozesswerte des Heizungsreglers/Feuerungsautomaten
# Dieses Telegramm wird vom Heizungsregler/Feuerungsautomaten per Broadcast gesendet.
#
# M1  QQ   F1h Quelladresse
# M2  ZZ = FEh Zieladresse -> Broadcast
# M3  PB = 50h
# M4  SB = 0Ah
# M5  NN = 0Dh Datenlänge -> 14
# M6       0Dh Status0
# M7       06h Betriebsphase (->I10)        betriebsphase (-> _templates.csv)
# M8       7Fh Status2
# M9       42h Status3
# M10      20h Laststellung (->I11)         uch
# M11      6ah Wassertemp                   data1c (0..100 / 0.5) -> 53°C
# M12      ffh ECS (Exhaust Control System) data1C (0..100 / 0.5) -> --
# M13      68h
# M14      00h
# M15      0bh Ext Temp                     data1b (-127..127 / 1)-> 11
# M16      e1h Lsb Simulated Floating Point Ext measure data2b   -> Trend
# M17      0ah Msb Simulated Floating Point Ext measure data2b   -> Trend
# M18      36h

# type (r[1-9];w;u),class,name,comment,QQ,ZZ,PBSB,ID,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment
b,,IstWerte,Broadcast mit Istwerten,,,500a,,Status0,,UCH,,,Status ,Betriebsphase,,betriebsphase,,,Status ,Status2,,UCH,,,Status ,Status3,,UCH,,,Status ,Laststellung,,UCH,,,Laststellung ,T_Water,,temp1,,,Wassertemperatur ,T_ECS,,temp1,,,ECS-Temperatur ,T_Temp1,,temp1,,,Temp ,T_Temp2,,temp1,,,Temp ,T_Out,,temp0,,,Außentemperatur ,T_Trend,,temp2,,,Trend ,T_Temp3,,temp0,,,Temp


Telegramm 0507
Ein weiteres sehr prominentes Telegramm ist das Telegramm 0507, das von beiden Heizkreisreglern (HK1=0x30, HK2=0x70) zum Heizungsregler (HR=0xF1) verschickt wird. Es enthält die Statusanforderung, Aktionen und Sollwerte.

/etc/ebusd/weishaupt/f6.csv

# Gerät:  Heizungsregler
# Master: F1h
# Slave:  F6h

# type (r;w;u;1-9),class,name,comment,QQ,ZZ,PBSB,ID,field1,part (m;s),type / templates,divider / values,unit,comment,field2,part (m;s),type / templates,divider / values,unit,comment,field3,part (m;s),type / templates,divider / values,unit,comment,field4,part (m;s),type / templates,divider / values,unit,comment,field5,part (m;s),type / templates,divider / values,unit,comment,field6,part (m;s),type / templates,divider / values,unit,comment,field7,part (m;s),type / templates,divider / values,unit,comment,field8,part (m;s),type / templates,divider / values,unit,comment
*b,->HR,,,,F1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

# 0507 - Betriebsdaten des Reglers an den Feuerungsautomaten
# Diese Telegramme werden von den Heizkreisreglern an den Heizungsregler/Feuerungsautomaten gesendet.
#
# M1  QQ       Quelladresse
# M2  ZZ       Zieladresse
# M3  PB = 05h Brennersteuerung
# M4  SB = 07h Betriebsdaten Regler
# M5  NN = 09h Datenlänge
# M6           Statuswärmeanfordung                     opdataheat
#          00h Brenner abschalten
#          01h keine Aktion
#          55h Brauchwasserbereitung
#          AAh Heizbetrieb
#          CCh Emissionskontrolle
#          DDh TÜV-Funktion
#          EEh Reglerstop-Funktion
#          BBh Brauchwasserbereitung bei Heizbetrieb
#          44h Reglerstop-Funktion bei stufigem Betrieb
# M7           Aktion                                   opdataaction
#          00h keine Aktion
#          01h Ausschalten Kesselpumpe
#          02h Einschalten Kesselpumpe
#          03h Ausschalten variabler Verbraucher
#          04h Einschalten variabler Verbraucher
# M8-          Kesselsollwert-Temperatur         0-2000 DATA2c
# M9                                                    [1/16]
# M10          Kesselsollwert-Druck              0-100  DATA2b
# M11                                                   [1/256]
# M12          Stellgrad                         0-100
# M13          Brauchwassersollwert              0-100  DATA1c
# M14          Brennstoffwahl
# M15 CRC

# type (r;w;u;1-9),class,name,comment,QQ,ZZ,PBSB,ID,field1,part (m;s),type / templates,divider / values,unit,comment,field2,part (m;s),type / templates,divider / values,unit,comment,field3,part (m;s),type / templates,divider / values,unit,comment,field4,part (m;s),type / templates,divider / values,unit,comment,field5,part (m;s),type / templates,divider / values,unit,comment,field6,part (m;s),type / templates,divider / values,unit,comment,field7,part (m;s),type / templates,divider / values,unit,comment,field8,part (m;s),type / templates,divider / values,unit,comment
b,,HK1,HK1->HR,30,,0507,,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,
b,,HK2,HK2->HR,70,,0507,,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,


Telegramm 5010
Dieses Telegramm ist ein Master/Slave-Telegramm, das regelmäßig vom Heizkreisregler2 der Fußbodenheizung (HK2=0x70) zum Mischer (MI1=0x51) geschickt wird.
Ich konnte einige der Werte darin entschlüsseln.

/etc/ebusd/weishaupt/51.csv

# type (r;w;u;1-9),class,name,comment,QQ,ZZ,PBSB,ID,field1,part (m;s),type / templates,divider / values,unit,comment,field2,part (m;s),type / templates,divider / values,unit,comment,field3,part (m;s),type / templates,divider / values,unit,comment,field4,part (m;s),type / templates,divider / values,unit,comment,field5,part (m;s),type / templates,divider / values,unit,comment,field6,part (m;s),type / templates,divider / values,unit,comment,field7,part (m;s),type / templates,divider / values,unit,comment,field8,part (m;s),type / templates,divider / values,unit,comment
*b,->MI1,,,,51,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*b,HK2->MI1,,,70,51,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

# Prozesswerte HK2 <-> MI1
# Request              Response
# 7051501004b3180280 / 09463c3a0f0b60000000
#     5010               B1B2B3B4B5B6B7B8B9
#
# M1   QQ   70h Quelladresse
# M2   ZZ   51h Zieladresse
# M3   PB = 50h
# M4   SB = 10h
# M5   NN = 04h Datenlänge
# M6-       b3h Raumtemperatur              DATA2b -> 24.7°C
# M7        18h ---                           
# M8        02h
# M9        08h
# S1   NN = 09h Datenlänge
# S2        46h Vorlauf max Kess-MK Überhöhung DATA1c -> 35°C
# S3        3ch Vorlauf max                    DATA1c -> 30°C
# S4        3ah Vorlauftemperatur              DATA1c -> 29°C
# S5        0fh Außentemperatur                DATA1b -> 15°C
# S6        0bh
# S7        60h
# S8        00h
# S9        00h
# S10       00h

# type (r;w;u;1-9),class,name,comment,QQ,ZZ,PBSB,ID,field1,part (m;s),type / templates,divider / values,unit,comment,field2,part (m;s),type / templates,divider / values,unit,comment,field3,part (m;s),type / templates,divider / values,unit,comment,field4,part (m;s),type / templates,divider / values,unit,comment,field5,part (m;s),type / templates,divider / values,unit,comment,field6,part (m;s),type / templates,divider / values,unit,comment,field7,part (m;s),type / templates,divider / values,unit,comment,field8,part (m;s),type / templates,divider / values,unit,comment
b,,MI1.PD, ,,,5010,,Temp1,m,temp2,,, ,Byte2,m,UCH,,, ,Byte3,m,UCH,,,REQ ,Temp4,s,temp1,,, ,Temp5,s,temp1,,, ,Temp2,s,temp1,,, ,Temp3,s,temp0,,, ,Byte8,s,UCH,,, ,Byte9,s,UCH,,, ,ByteA,s,UCH,,, ,ByteB,s,UCH,,, ,ByteC,s,UCH,,, ,ByteD,s,UCH,,,
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 20 November 2016, 14:10:11
So richtig interessant wird die Sache aber erst, wenn man dazu in der Lage ist, Werte und Einstellungen zu ändern und damit die Heizung zu steuern...  8)

Leider ist dazu für Weishaupt-Geräte sehr wenig im Netz zu finden!

Die Telegramme, mit denen ich mich gerade befasse, sind 0902 "EEPROM Daten lesen" und 0903 "EEPROM Daten schreiben".
Mit diesen Telegrammen kann man Parameter der Heizkreisregler lesen und schreiben.

Leider finde ich keine Dokumentation, an welcher Adresse welcher Parameter zu finden ist - bleibt also nur der harte Weg: Probieren!  :'(

Mein Ansatz ist folgender:
"Ich probiere alle Adressen durch und versuche, die Bedeutung des Wertes zu erraten."

Prinzipiell lässt sich eine beliebige EEPROM-Adresse auslesen, indem man mit ebsctl eine entsprechende Anfrage an ein Gerät verschickt und die Antwort auswertet.

Leider musste ich mit Bedauern feststellen, dass bei meinem System der Heizkreisregler oft mit Telegrammen antwortet, die zwar die korrekte Länge aufweisen, jedoch nur aus Null-Werten bestehen. Deshalb sind teilweise mehrere Abfragen notwendig, um eine brauchbare Antwort zu erhalten.  :'(

Gibt es dafür eine Erklärung?

Um bei der Probiererei etwas schneller voran zu kommen, habe ich nicht nur ein oder zwei Byte, sondern gleich 18 (0x12) mit einer Anfrage ausgelesen:

Hier im Beispiel eine Anfrage an Heizkreisregler 1 (0x35), EEPROM-Adresse 0 und eine Länge von 18 Byte (0x12).
Mit entsprechender Antwort.
Ein Parameter ist je 2 Byte groß.


pi@raspberrypi:~ $ ebusctl hex 35090203000012
1200000000da01f901da01f000000000006900


Hier beispielhaft die Interpretation des Telegramms:








AdresseAdr: 0Adr: 1Adr: 2Adr: 3Adr: 4Adr: 5Adr: 6Adr: 7Adr: 8
Rohwert Telegramm00000000da01f901da01f000000000006900
High<->Low0000000001da01f901da00f0000000000069
Hex->Dez0047450547424000105
Skaliert0047,450,547,424,00010,5
Bedeutung   ?      ?      ?      ?      ?   Normal
temp
   ?      ?   Absenk
temp

Ich habe mir ein Shell-Script erstellt, das automatisch einen ganzen Adressbereich nacheinander auslesen kann, die Null-Antworten und weitere Fehler berücksichtigt und das Ergebis als csv-Datei abspeichert.

Das Script ist schnell zusammengeschustert, aber es tut - als Programmierer sträuben sich bei mir die Haare, wenn ich das sehe...  ;D

#!/bin/bash

# Dieses Skript schickt über ebusctl Kommandos an einen EBUS-Teilnehmer und speichert das Antworttelegramm.

# Maximale Anzahl an Wiederholungen
MAXLOOPS=4

# Startadresse
STARTADDRESS=0

# Endadresse (ENDADDRESS <= 65535)
ENDADDRESS=65535

# Schrittweite (STEP <= 9)
STEP=9

# Trennzeichen für die Ausgabe
SEPARATOR=";"

# Zieladresse EBUS-Teilnehmer
# in HEX
EBUS_ZZ=35

# EBUS-Kommando
EBUS_CMD=0902

# ANZAHL der folgenden Bytes - hier Adresse 0x0000 + Länge 0x00
# in HEX
EBUS_COUNT=03

# Umwandlung der Schrittweite in HEX-Wert
printf -v EBUS_LENGTH "%02X" "$((STEP*2))"

# Pfad zum Kommando
CMD=/usr/bin/ebusctl

now=$(date +"%Y-%m-%d_%I-%M")

# Pfad zur Ergebnis-Datei
RESULTFILE="scan.$now.csv"

# Hier wird das NULLRESULT berechnet
NULLRESULT="$EBUS_LENGTH"
for(( i=0; i<STEP; i++ ))
do
  NULLRESULT+="0000"
done

# Datei neu anlegen/überschreiben
echo "" > $RESULTFILE
echo "Startadresse: $STARTADDRESS" >> $RESULTFILE
echo "Endadresse:   $ENDADDRESS" >> $RESULTFILE
echo "Schrittweite: $STEP" >> $RESULTFILE
echo "MaxVersuche: $MAXLOOPS" >> $RESULTFILE
echo "keineAntwort: $NULLRESULT" >> $RESULTFILE
echo >> $RESULTFILE

for(( address=STARTADDRESS; address<=ENDADDRESS; address+=STEP ))
do
  for(( loop=1; loop<=MAXLOOPS; loop++ ))
  do
    printf -v EBUS_ADDRESS_HIGH "%02X" "$((address/255))"
    printf -v EBUS_ADDRESS_LOW  "%02X" "$((address&255))"

    COMMAND=( "$CMD hex $EBUS_ZZ$EBUS_CMD$EBUS_COUNT$EBUS_ADDRESS_LOW$EBUS_ADDRESS_HIGH$EBUS_LENGTH" )

    #  echo $COMMAND
    RESULT=`$COMMAND`

    # RESULT ist NULLRESULT
    if [[ $RESULT == $NULLRESULT ]]
    then
      # MaxLoops erreicht?
      if [ $loop == $MAXLOOPS ]
      then
        echo $(date +"%T"): $COMMAND: $RESULT $loop "FAIL"
        echo $(date +"%T")$SEPARATOR$COMMAND:$SEPARATOR$RESULT$SEPARATOR$loop$SEPARATOR"FAIL" >> $RESULTFILE
      fi
    # RESULT beginnt mit ERR*
    elif [[ $RESULT == ERR* ]]
    then
      # MaxLoops erreicht?
      if [ $loop == $MAXLOOPS ]
      then
        echo $(date +"%T"): $COMMAND: $RESULT $loop "FAIL"
        echo $(date +"%T")$SEPARATOR$COMMAND:$SEPARATOR$NULLRESULT$SEPARATOR$loop$SEPARATOR"FAIL"$SEPARATOR$RESULT >> $RESULTFILE
      fi
    # RESULT-Länge ungleich Soll-Länge
    elif [[ ${#RESULT} != ${#NULLRESULT} ]]
    then
      # MaxLoops erreicht?
      if [ $loop == $MAXLOOPS ]
      then
        echo $(date +"%T"): $COMMAND: $RESULT $loop "FAIL"
        echo $(date +"%T")$SEPARATOR$COMMAND:$SEPARATOR$NULLRESULT$SEPARATOR$loop$SEPARATOR"FAIL"$SEPARATOR$RESULT >> $RESULTFILE
      fi
    # Gutfall
    else
      echo $(date +"%T"): $COMMAND: $RESULT $loop "OK"
      echo $(date +"%T")$SEPARATOR$COMMAND:$SEPARATOR$RESULT$SEPARATOR$loop$SEPARATOR"OK" >> $RESULTFILE
      break
    fi
   
    # 500ms warten
    sleep 0.5
  done
done


Die Ausgabe sieht dann so aus - sie lässt sich leicht (-> csv) in Excel & Co. importieren und weiter auswerten:

Startadresse: 0
Endadresse:   65535
Schrittweite: 9
MaxVersuche: 4
keineAntwort: 12000000000000000000000000000000000000

12:26:02;/usr/bin/ebusctl hex 35090203000012:;12000000000000000000000000000000000000;4;FAIL
12:26:03;/usr/bin/ebusctl hex 35090203090012:;1200000000490a5a00fe01a40100000000cc00;1;OK
12:26:05;/usr/bin/ebusctl hex 35090203120012:;12000000000000000000000000000000000000;4;FAIL
12:26:08;/usr/bin/ebusctl hex 350902031B0012:;12000000000000000000000000000000000000;4;FAIL
12:26:10;/usr/bin/ebusctl hex 35090203240012:;12000000000000000026020000000078000000;2;OK
12:26:12;/usr/bin/ebusctl hex 350902032D0012:;12000000000000000000000000000000000000;4;FAIL
12:26:15;/usr/bin/ebusctl hex 35090203360012:;12000000000000000000000000000000000000;4;FAIL
12:26:18;/usr/bin/ebusctl hex 350902033F0012:;12000000000000000000000000000000000000;4;FAIL
12:26:20;/usr/bin/ebusctl hex 35090203480012:;12000000000000000000000000000000000000;4;FAIL
12:26:21;/usr/bin/ebusctl hex 35090203510012:;12010000000000000000000000000002000100;1;OK
12:26:23;/usr/bin/ebusctl hex 350902035A0012:;12000000000000000000000000000000000000;4;FAIL
12:26:27;/usr/bin/ebusctl hex 35090203630012:;12000000000000000000000000000000000000;4;FAIL
12:26:30;/usr/bin/ebusctl hex 350902036C0012:;12000000000000000000000000000000000000;4;FAIL
12:26:32;/usr/bin/ebusctl hex 35090203750012:;12000000000000000000000000000000000000;4;FAIL
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 20 November 2016, 14:20:33
Telegramm 0902/0903
Hier habe ich ein Zwischenergebnis mit den enttarnten Parametern im Heizkreisregler 1 (0x35).
Die Parameter sollten ebenso im Heizkreisregler 2 (0x75) zu finden sein.

/etc/ebusd/weishaupt/35.csv

# Das Gerät mit Adresse S35/M30 ist der Heizkreisregler 1, der sich im Bedienteil befindet

# type (r;w;u;1-9),class,name,comment,QQ,ZZ,PBSB,ID,field1,part (m;s),type / templates,divider / values,unit,comment,field2,part (m;s),type / templates,divider / values,unit,comment,field3,part (m;s),type / templates,divider / values,unit,comment,field4,part (m;s),type / templates,divider / values,unit,comment,field5,part (m;s),type / templates,divider / values,unit,comment,field6,part (m;s),type / templates,divider / values,unit,comment,field7,part (m;s),type / templates,divider / values,unit,comment,field8,part (m;s),type / templates,divider / values,unit,comment
*b,HK1,,,,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
*r,HK1,,,,35,"0902",,,,,,,
*w,HK1,,,,35,"0903",,,,,,,

# Außentemperatur Ist
# Skalierung 1/10
r,,HK1.Außen, ,,,,0c0002,,,UIN,10,,Außentemperatur Ist

# Kessel Ist
# Skalierung 1/10
r,,HK1.Kessel, ,,,,0d0002,,,UIN,10,,Kessel Ist

# Warmwasser Ist
# Skalierung 1/10
r,,HK1.Warmwasser.Ist, ,,,,0E0002,,,UIN,10,,Warmwasser Ist

# Raum Ist
# Skalierung 1/10
r,,HK1.Raum.Ist, ,,,,110002,,,UIN,10,,Raum Ist

# Stellung Programmwahlschalter
r,,HK1.Programm, ,,,,120102,,,programmwahl,,,

# Parameter Anwender 171 - Normaltemperatur Sollwert
# Skalierug 1/10
r,,HK1.T_Normal, ,,,,050002,,,UIN,10,,Normaltemperatur Sollwert
w,,HK1.T_Normal, ,,,,0500,,,UIN,10,,Normaltemperatur Sollwert

# Parameter Anwender 172 - Absenktemperatur Sollwert
# Skalierung 1/10
r,,HK1.T_Absenk, ,,,,080002,,,UIN,10,,Absenktemperatur Sollwert
w,,HK1.T_Absenk, ,,,,0800,,,UIN,10,,Absenktemperatur Sollwert

# Parameter Anwender 173 - Frostschutz Sollwert
# Skalierung 1/10
r,,HK1.T_Frost, ,,,,140A02,,,UIN,10,,Frostschutz Soll
w,,HK1.T_Frost, ,,,,140A,,,UIN,10,,Frostschutz Soll

# Parameter Anwender 174 - Sommer/Winter Umschaltung
# Skalierung 1/10
r,,HK1.T_SoWi, ,,,,160102,,,UIN,10,,Sommer/Winter-Umschaltung
w,,HK1.T_SoWi, ,,,,1601,,,UIN,10,,Sommer/Winter-Umschaltung

# Parameter Anwender 175 - Steilheit
# Skalierung 1/10
r,,HK1.Steilheit, ,,,,0E0102,,,UIN,10,,Steilheit
w,,HK1.Steilheit, ,,,,0E01,,,UIN,10,,Steilheit

# Parameter Anwender 176 - Warmwasser Soll
# Skalierung 1/10
r,,HK1.Warmwasser.Soll, ,,,,130002,,,UIN,10,,Warmwasser Soll
w,,HK1.Warmwasser.Soll, ,,,,1300,,,UIN,10,,Warmwasser Soll

# Parameter Anwender 177 - Warmwasser Min
# Skalierung 1/10
r,,HK1.Warmwasser.Min, ,,,,330102,,,UIN,10,,Warmwasser Min
w,,HK1.Warmwasser.Min, ,,,,3301,,,UIN,10,,Warmwasser Min

# Parameter Heizungsfachmann 362 - Warmwasser Max
# Skalierung 1/10
r,,HK1.Warmwasser.Max, ,,,,340102,,,UIN,10,,Warmwasser Max
w,,HK1.Warmwasser.Max, ,,,,3401,,,UIN,10,,Warmwasser Max

# Parameter Heizungsfachmann 351 - Vorlauf Min
# Skalierung 1/10
r,,HK1.Vorlauf.Min, ,,,,2b0102,,,UIN,10,,Vorlauf Min
w,,HK1.Vorlauf.Min, ,,,,2b01,,,UIN,10,,Vorlauf Min

# Parameter Heizungsfachmann 352 - Vorlauf Max
# Skalierung 1/10
r,,HK1.Vorlauf.Max, ,,,,280002,,,UIN,10,,Vorlauf Max
w,,HK1.Vorlauf.Max, ,,,,2800,,,UIN,10,,Vorlauf Max

# Parameter Heizungsfachmann 341 - Raumeinfluss
# Raumtemperatur-Einfluss (S.11)
# Abweichungen der Raumtemperatur gegenüber dem
# Sollwert werden erfasst und bei der Regelung des heiz-
# kreises berücksichtigt.
# Einstellbereich
# Aus (0xFFFF) Raumtemperatur-Einfluss unwirksam
# 0            Bei dieser Einstellung ist die Raumthermostatfunktion wirksam
#              Diese Einstellung sollte gewählt werden, wenn die WCM-FB nicht in einem Referenzraum eingesetzt ist.
# 0 - 20       Raumtemperatur-Einfluss wirksam
r,,HK1.Raumeinfluss, ,,,,0F0102,,,UIN,1,,Raumeinfluss
w,,HK1.Raumeinfluss, ,,,,0F01,,,UIN,1,,Raumeinfluss

# Parameter Heizungsfachmann 342 - Messwertkorrektur des Raumfühlers
# Skalierung 1/10
# Abgleich, um mögliche Einflüsse z.B. von kalten Wänden
# zu kompensieren, bzw. Fühlerangleichung.
# -3.0°C - 3.0°C            Bei dieser Einstellung ist die Raumthermostatfunktion wirksam
r,,HK1.RaumsensorKorrektur, ,,,,090102,,,UIN,1,,Messwertkorrektur des Raumfühlers
w,,HK1.RaumsensorKorrektur, ,,,,0901,,,UIN,1,,Messwertkorrektur des Raumfühlers

# Parameter Heizungsfachmann 343 - Heizkennlinien-Adaption
# -> Erscheint nur, wenn Parameter 341 auf 0..20 gestellt ist.
# Durch Adaption wird die Heizkennlinie dem Gebäude
# und den Bedürfnissen automatisch angepasst. Bei der
# Adaption werden Raumtemperatur-Abweichungen und
# Aussentemperatur-Verhalten berücksichtigt.
# Einstellbereich
# Aus           Adaption unwirksam
# Ein           Adaption wirksam. Die Heizkennlinie wird angepasst
r,,HK1.Adaption, ,,,,150102,,,UIN,1,,Heizkennlinien-Adaption
w,,HK1.Adaption, ,,,,1501,,,UIN,1,,Heizkennlinien-Adaption

# Parameter Heizungsfachmann 353 - Ein Opti
# Wert in Minuten
# Einschaltoptimierung (S.13)
# Zu Beginn der Nutzungszeit soll die Raumtemperatur den
# eingestellten Sollwert erreicht haben. Dazu wird die Ein-
# schaltzeit vorverlegt und auf den hier eingestellten Wert
# begrenzt. Die Vorverlegung der Einschaltzeit wird auto-
# matisch optimiert, in Abhängigkeit der Außentemperatur
# oder der Raumtemperatur.
# Einstellbereich
# 0            Einschaltoptimierung unwirksam
# 15 - 240 min Maximale Vorverlegung der Einschaltzeit
r,,HK1.EinOpti, ,,,,100102,,,UIN,1,,Ein Opti
w,,HK1.EinOpti, ,,,,1001,,,UIN,1,,Ein Opti

# Parameter Heizungsfachmann 354 - Aus Opti
# -> Erscheint nur, wenn Parameter 341 auf "Ein" gestellt ist
# Wert in Minuten
# Ausschaltzeitoptimierung (S.13)
# Die Raumtemperatur soll bei Nutzungsende 0.3K unter
# dem Raumtemperatur-Sollwert liegen. Dazu wird die Aus-
# schaltzeit vorverlegt. Werden die 0.3K nicht oder zu früh
# erreicht, wird die Vorverlegung der Ausschaltzeit auto-
# matisch optimiert.
# Einstellbereich
# 0            Ausschaltzeitoptimierung unwirksam
# 15 - 240 min Maximale Vorverlegung des Ausschaltzeitpunktes
r,,HK1.AusOpti, ,,,,2E0102,,,UIN,1,,Aus Opti
w,,HK1.AusOpti, ,,,,2E01,,,UIN,1,,Aus Opti


# Parameter Anwender 181 - Urlaub Ab - Tag
# [00,01-31]
r,,HK1.Urlaub.Ab.Tag, ,,,,1B0102,,,UIN,,,Urlaub Ab - Tag
w,,HK1.Urlaub.Ab.Tag, ,,,,1B01,,,UIN,,,Urlaub Ab - Tag

# Parameter Anwender 181 - Urlaub Ab - Monat
# [01-12]
r,,HK1.Urlaub.Ab.Monat, ,,,,1C0102,,,UIN,,,Urlaub Ab - Monat
w,,HK1.Urlaub.Ab.Monat, ,,,,1C01,,,UIN,,,Urlaub Ab - Monat

# Parameter Anwender 182 - Urlaub Bis - Tag
# [00,01-31]
r,,HK1.Urlaub.Bis.Tag, ,,,,1E0102,,,UIN,,,Urlaub Bis - Tag
w,,HK1.Urlaub.Bis.Tag, ,,,,1E01,,,UIN,,,Urlaub Bis - Tag

# Parameter Anwender 182 - Urlaub Bis - Monat
# [01-12]
r,,HK1.Urlaub.Bis.Monat, ,,,,1F0102,,,UIN,,,Urlaub Bis - Monat
w,,HK1.Urlaub.Bis.Monat, ,,,,1F01,,,UIN,,,Urlaub Bis - Monat


# Parameter Anwender 121 - Heizprogramm 1 Montag
# Wert * 15 Minuten
# 255 (0xFF) -> Off
#   1 (0x01) -> 00:15 Uhr
#  96 (0x60) -> 24:00 Uhr
r,,HK1.HP1.Mo.1, ,,,,101402,,,UIN,,,Heizprogramm 1 Mo 1 Start/Ende
w,,HK1.HP1.Mo.1, ,,,,1014,,,UIN,,,Heizprogramm 1 Mo 1 Start/Ende
r,,HK1.HP1.Mo.2, ,,,,111402,,,UIN,,,Heizprogramm 1 Mo 2 Start/Ende
w,,HK1.HP1.Mo.2, ,,,,1114,,,UIN,,,Heizprogramm 1 Mo 2 Start/Ende
r,,HK1.HP1.Mo.3, ,,,,121402,,,UIN,,,Heizprogramm 1 Mo 3 Start/Ende
w,,HK1.HP1.Mo.3, ,,,,1214,,,UIN,,,Heizprogramm 1 Mo 3 Start/Ende

# Parameter Anwender 122 - Heizprogramm 1 Dienstag
r,,HK1.HP1.Di.1, ,,,,201402,,,UIN,,,Heizprogramm 1 Di 1 Start/Ende
w,,HK1.HP1.Di.1, ,,,,2014,,,UIN,,,Heizprogramm 1 Di 1 Start/Ende
r,,HK1.HP1.Di.2, ,,,,211402,,,UIN,,,Heizprogramm 1 Di 2 Start/Ende
w,,HK1.HP1.Di.2, ,,,,2114,,,UIN,,,Heizprogramm 1 Di 2 Start/Ende
r,,HK1.HP1.Di.3, ,,,,221402,,,UIN,,,Heizprogramm 1 Di 3 Start/Ende
w,,HK1.HP1.Di.3, ,,,,2214,,,UIN,,,Heizprogramm 1 Di 3 Start/Ende

# Parameter Anwender 123 - Heizprogramm 1 Mittwoch
r,,HK1.HP1.Mi.1, ,,,,301402,,,UIN,,,Heizprogramm 1 Mi 1 Start/Ende
w,,HK1.HP1.Mi.1, ,,,,3014,,,UIN,,,Heizprogramm 1 Mi 1 Start/Ende
r,,HK1.HP1.Mi.2, ,,,,311402,,,UIN,,,Heizprogramm 1 Mi 2 Start/Ende
w,,HK1.HP1.Mi.2, ,,,,3114,,,UIN,,,Heizprogramm 1 Mi 2 Start/Ende
r,,HK1.HP1.Mi.3, ,,,,321402,,,UIN,,,Heizprogramm 1 Mi 3 Start/Ende
w,,HK1.HP1.Mi.3, ,,,,3214,,,UIN,,,Heizprogramm 1 Mi 3 Start/Ende

# Parameter Anwender 124 - Heizprogramm 1 Donnerstag
r,,HK1.HP1.Do.1, ,,,,401402,,,UIN,,,Heizprogramm 1 Do 1 Start/Ende
w,,HK1.HP1.Do.1, ,,,,4014,,,UIN,,,Heizprogramm 1 Do 1 Start/Ende
r,,HK1.HP1.Do.2, ,,,,411402,,,UIN,,,Heizprogramm 1 Do 2 Start/Ende
w,,HK1.HP1.Do.2, ,,,,4114,,,UIN,,,Heizprogramm 1 Do 2 Start/Ende
r,,HK1.HP1.Do.3, ,,,,421402,,,UIN,,,Heizprogramm 1 Do 3 Start/Ende
w,,HK1.HP1.Do.3, ,,,,4214,,,UIN,,,Heizprogramm 1 Do 3 Start/Ende

# Parameter Anwender 125 - Heizprogramm 1 Freitag
r,,HK1.HP1.Fr.1, ,,,,501402,,,UIN,,,Heizprogramm 1 Fr 1 Start/Ende
w,,HK1.HP1.Fr.1, ,,,,5014,,,UIN,,,Heizprogramm 1 Fr 1 Start/Ende
r,,HK1.HP1.Fr.2, ,,,,511402,,,UIN,,,Heizprogramm 1 Fr 2 Start/Ende
w,,HK1.HP1.Fr.2, ,,,,5114,,,UIN,,,Heizprogramm 1 Fr 2 Start/Ende
r,,HK1.HP1.Fr.3, ,,,,521402,,,UIN,,,Heizprogramm 1 Fr 3 Start/Ende
w,,HK1.HP1.Fr.3, ,,,,5214,,,UIN,,,Heizprogramm 1 Fr 3 Start/Ende

# Parameter Anwender 126 - Heizprogramm 1 Samstag
r,,HK1.HP1.Sa.1, ,,,,601402,,,UIN,,,Heizprogramm 1 Sa 1 Start/Ende
w,,HK1.HP1.Sa.1, ,,,,6014,,,UIN,,,Heizprogramm 1 Sa 1 Start/Ende
r,,HK1.HP1.Sa.2, ,,,,611402,,,UIN,,,Heizprogramm 1 Sa 2 Start/Ende
w,,HK1.HP1.Sa.2, ,,,,6114,,,UIN,,,Heizprogramm 1 Sa 2 Start/Ende
r,,HK1.HP1.Sa.3, ,,,,621402,,,UIN,,,Heizprogramm 1 Sa 3 Start/Ende
w,,HK1.HP1.Sa.3, ,,,,6214,,,UIN,,,Heizprogramm 1 Sa 3 Start/Ende

# Parameter Anwender 127 - Heizprogramm 1 Sonntag
r,,HK1.HP1.So.1, ,,,,701402,,,UIN,,,Heizprogramm 1 So 1 Start/Ende
w,,HK1.HP1.So.1, ,,,,7014,,,UIN,,,Heizprogramm 1 So 1 Start/Ende
r,,HK1.HP1.So.2, ,,,,711402,,,UIN,,,Heizprogramm 1 So 2 Start/Ende
w,,HK1.HP1.So.2, ,,,,7114,,,UIN,,,Heizprogramm 1 So 2 Start/Ende
r,,HK1.HP1.So.3, ,,,,721402,,,UIN,,,Heizprogramm 1 So 3 Start/Ende
w,,HK1.HP1.So.3, ,,,,7214,,,UIN,,,Heizprogramm 1 So 3 Start/Ende


# Parameter Anwender 131 - Heizprogramm 2 Montag
# Wert * 15 Minuten
# 255 (0xFF) -> Off
#   1 (0x01) -> 00:15 Uhr
#  96 (0x60) -> 24:00 Uhr
r,,HK1.HP2.Mo.1, ,,,,101502,,,UIN,,,Heizprogramm 2 Mo 1 Start/Ende
w,,HK1.HP2.Mo.1, ,,,,1015,,,UIN,,,Heizprogramm  Mo 1 Start/Ende
r,,HK1.HP2.Mo.2, ,,,,111502,,,UIN,,,Heizprogramm 2 Mo 2 Start/Ende
w,,HK1.HP2.Mo.2, ,,,,1115,,,UIN,,,Heizprogramm 2 Mo 2 Start/Ende
r,,HK1.HP2.Mo.3, ,,,,121502,,,UIN,,,Heizprogramm 2 Mo 3 Start/Ende
w,,HK1.HP2.Mo.3, ,,,,1215,,,UIN,,,Heizprogramm 2 Mo 3 Start/Ende

# Parameter Anwender 132 - Heizprogramm 2 Dienstag
r,,HK1.HP2.Di.1, ,,,,201502,,,UIN,,,Heizprogramm 2 Di 1 Start/Ende
w,,HK1.HP2.Di.1, ,,,,2015,,,UIN,,,Heizprogramm 2 Di 1 Start/Ende
r,,HK1.HP2.Di.2, ,,,,211502,,,UIN,,,Heizprogramm 2 Di 2 Start/Ende
w,,HK1.HP2.Di.2, ,,,,2115,,,UIN,,,Heizprogramm 2 Di 2 Start/Ende
r,,HK1.HP2.Di.3, ,,,,221502,,,UIN,,,Heizprogramm 2 Di 3 Start/Ende
w,,HK1.HP2.Di.3, ,,,,2215,,,UIN,,,Heizprogramm 2 Di 3 Start/Ende

# Parameter Anwender 133 - Heizprogramm 2 Mittwoch
r,,HK1.HP2.Mi.1, ,,,,301502,,,UIN,,,Heizprogramm 2 Mi 1 Start/Ende
w,,HK1.HP2.Mi.1, ,,,,3015,,,UIN,,,Heizprogramm 2 Mi 1 Start/Ende
r,,HK1.HP2.Mi.2, ,,,,311502,,,UIN,,,Heizprogramm 2 Mi 2 Start/Ende
w,,HK1.HP2.Mi.2, ,,,,3115,,,UIN,,,Heizprogramm 2 Mi 2 Start/Ende
r,,HK1.HP2.Mi.3, ,,,,321502,,,UIN,,,Heizprogramm 2 Mi 3 Start/Ende
w,,HK1.HP2.Mi.3, ,,,,3215,,,UIN,,,Heizprogramm 2 Mi 3 Start/Ende

# Parameter Anwender 134 - Heizprogramm 2 Donnerstag
r,,HK1.HP2.Do.1, ,,,,401502,,,UIN,,,Heizprogramm 2 Do 1 Start/Ende
w,,HK1.HP2.Do.1, ,,,,4015,,,UIN,,,Heizprogramm 2 Do 1 Start/Ende
r,,HK1.HP2.Do.2, ,,,,411502,,,UIN,,,Heizprogramm 2 Do 2 Start/Ende
w,,HK1.HP2.Do.2, ,,,,4115,,,UIN,,,Heizprogramm 2 Do 2 Start/Ende
r,,HK1.HP2.Do.3, ,,,,421502,,,UIN,,,Heizprogramm 2 Do 3 Start/Ende
w,,HK1.HP2.Do.3, ,,,,4215,,,UIN,,,Heizprogramm 2 Do 3 Start/Ende

# Parameter Anwender 135 - Heizprogramm 2 Freitag
r,,HK1.HP2.Fr.1, ,,,,501502,,,UIN,,,Heizprogramm 2 Fr 1 Start/Ende
w,,HK1.HP2.Fr.1, ,,,,5015,,,UIN,,,Heizprogramm 2 Fr 1 Start/Ende
r,,HK1.HP2.Fr.2, ,,,,511502,,,UIN,,,Heizprogramm 2 Fr 2 Start/Ende
w,,HK1.HP2.Fr.2, ,,,,5115,,,UIN,,,Heizprogramm 2 Fr 2 Start/Ende
r,,HK1.HP2.Fr.3, ,,,,521502,,,UIN,,,Heizprogramm 2 Fr 3 Start/Ende
w,,HK1.HP2.Fr.3, ,,,,5215,,,UIN,,,Heizprogramm 2 Fr 3 Start/Ende

# Parameter Anwender 136 - Heizprogramm 2 Samstag
r,,HK1.HP2.Sa.1, ,,,,601502,,,UIN,,,Heizprogramm 2 Sa 1 Start/Ende
w,,HK1.HP2.Sa.1, ,,,,6015,,,UIN,,,Heizprogramm 2 Sa 1 Start/Ende
r,,HK1.HP2.Sa.2, ,,,,611502,,,UIN,,,Heizprogramm 2 Sa 2 Start/Ende
w,,HK1.HP2.Sa.2, ,,,,6115,,,UIN,,,Heizprogramm 2 Sa 2 Start/Ende
r,,HK1.HP2.Sa.3, ,,,,621502,,,UIN,,,Heizprogramm 2 Sa 3 Start/Ende
w,,HK1.HP2.Sa.3, ,,,,6215,,,UIN,,,Heizprogramm 2 Sa 3 Start/Ende

# Parameter Anwender 137 - Heizprogramm 2 Sonntag
r,,HK1.HP2.So.1, ,,,,701502,,,UIN,,,Heizprogramm 2 So 1 Start/Ende
w,,HK1.HP2.So.1, ,,,,7015,,,UIN,,,Heizprogramm 2 So 1 Start/Ende
r,,HK1.HP2.So.2, ,,,,711502,,,UIN,,,Heizprogramm 2 So 2 Start/Ende
w,,HK1.HP2.So.2, ,,,,7115,,,UIN,,,Heizprogramm 2 So 2 Start/Ende
r,,HK1.HP2.So.3, ,,,,721502,,,UIN,,,Heizprogramm 2 So 3 Start/Ende
w,,HK1.HP2.So.3, ,,,,7215,,,UIN,,,Heizprogramm 2 So 3 Start/Ende


# Parameter Anwender 141 - Heizprogramm 3 Montag
# Wert * 15 Minuten
# 255 (0xFF) -> Off
#   1 (0x01) -> 00:15 Uhr
#  96 (0x60) -> 24:00 Uhr
r,,HK1.HP3.Mo.1, ,,,,101602,,,UIN,,,Heizprogramm 3 Mo 1 Start/Ende
w,,HK1.HP3.Mo.1, ,,,,1016,,,UIN,,,Heizprogramm  3 Mo 1 Start/Ende
r,,HK1.HP3.Mo.2, ,,,,111602,,,UIN,,,Heizprogramm 3 Mo 2 Start/Ende
w,,HK1.HP3.Mo.2, ,,,,1116,,,UIN,,,Heizprogramm 3 Mo 2 Start/Ende
r,,HK1.HP3.Mo.3, ,,,,121602,,,UIN,,,Heizprogramm 3 Mo 3 Start/Ende
w,,HK1.HP3.Mo.3, ,,,,1216,,,UIN,,,Heizprogramm 3 Mo 3 Start/Ende

# Parameter Anwender 142 - Heizprogramm 3 Dienstag
r,,HK1.HP3.Di.1, ,,,,201602,,,UIN,,,Heizprogramm 3 Di 1 Start/Ende
w,,HK1.HP3.Di.1, ,,,,2016,,,UIN,,,Heizprogramm 3 Di 1 Start/Ende
r,,HK1.HP3.Di.2, ,,,,211602,,,UIN,,,Heizprogramm 3 Di 2 Start/Ende
w,,HK1.HP3.Di.2, ,,,,2116,,,UIN,,,Heizprogramm 3 Di 2 Start/Ende
r,,HK1.HP3.Di.3, ,,,,221602,,,UIN,,,Heizprogramm 3 Di 3 Start/Ende
w,,HK1.HP3.Di.3, ,,,,2216,,,UIN,,,Heizprogramm 3 Di 3 Start/Ende

# Parameter Anwender 143 - Heizprogramm 3 Mittwoch
r,,HK1.HP3.Mi.1, ,,,,301602,,,UIN,,,Heizprogramm 3 Mi 1 Start/Ende
w,,HK1.HP3.Mi.1, ,,,,3016,,,UIN,,,Heizprogramm 3 Mi 1 Start/Ende
r,,HK1.HP3.Mi.2, ,,,,311602,,,UIN,,,Heizprogramm 3 Mi 2 Start/Ende
w,,HK1.HP3.Mi.2, ,,,,3116,,,UIN,,,Heizprogramm 3 Mi 2 Start/Ende
r,,HK1.HP3.Mi.3, ,,,,321602,,,UIN,,,Heizprogramm 3 Mi 3 Start/Ende
w,,HK1.HP3.Mi.3, ,,,,3216,,,UIN,,,Heizprogramm 3 Mi 3 Start/Ende

# Parameter Anwender 144 - Heizprogramm 3 Donnerstag
r,,HK1.HP3.Do.1, ,,,,401602,,,UIN,,,Heizprogramm 3 Do 1 Start/Ende
w,,HK1.HP3.Do.1, ,,,,4016,,,UIN,,,Heizprogramm 3 Do 1 Start/Ende
r,,HK1.HP3.Do.2, ,,,,411602,,,UIN,,,Heizprogramm 3 Do 2 Start/Ende
w,,HK1.HP3.Do.2, ,,,,4116,,,UIN,,,Heizprogramm 3 Do 2 Start/Ende
r,,HK1.HP3.Do.3, ,,,,421602,,,UIN,,,Heizprogramm 3 Do 3 Start/Ende
w,,HK1.HP3.Do.3, ,,,,4216,,,UIN,,,Heizprogramm 3 Do 3 Start/Ende

# Parameter Anwender 145 - Heizprogramm 3 Freitag
r,,HK1.HP3.Fr.1, ,,,,501602,,,UIN,,,Heizprogramm 3 Fr 1 Start/Ende
w,,HK1.HP3.Fr.1, ,,,,5016,,,UIN,,,Heizprogramm 3 Fr 1 Start/Ende
r,,HK1.HP3.Fr.2, ,,,,511602,,,UIN,,,Heizprogramm 3 Fr 2 Start/Ende
w,,HK1.HP3.Fr.2, ,,,,5116,,,UIN,,,Heizprogramm 3 Fr 2 Start/Ende
r,,HK1.HP3.Fr.3, ,,,,521602,,,UIN,,,Heizprogramm 3 Fr 3 Start/Ende
w,,HK1.HP3.Fr.3, ,,,,5216,,,UIN,,,Heizprogramm 3 Fr 3 Start/Ende

# Parameter Anwender 146 - Heizprogramm 3 Samstag
r,,HK1.HP3.Sa.1, ,,,,601602,,,UIN,,,Heizprogramm 3 Sa 1 Start/Ende
w,,HK1.HP3.Sa.1, ,,,,6016,,,UIN,,,Heizprogramm 3 Sa 1 Start/Ende
r,,HK1.HP3.Sa.2, ,,,,611602,,,UIN,,,Heizprogramm 3 Sa 2 Start/Ende
w,,HK1.HP3.Sa.2, ,,,,6116,,,UIN,,,Heizprogramm 3 Sa 2 Start/Ende
r,,HK1.HP3.Sa.3, ,,,,621602,,,UIN,,,Heizprogramm 3 Sa 3 Start/Ende
w,,HK1.HP3.Sa.3, ,,,,6216,,,UIN,,,Heizprogramm 3 Sa 3 Start/Ende

# Parameter Anwender 147 - Heizprogramm 3 Sonntag
r,,HK1.HP3.So.1, ,,,,701602,,,UIN,,,Heizprogramm 3 So 1 Start/Ende
w,,HK1.HP3.So.1, ,,,,7016,,,UIN,,,Heizprogramm 3 So 1 Start/Ende
r,,HK1.HP3.So.2, ,,,,711602,,,UIN,,,Heizprogramm 3 So 2 Start/Ende
w,,HK1.HP3.So.2, ,,,,7116,,,UIN,,,Heizprogramm 3 So 2 Start/Ende
r,,HK1.HP3.So.3, ,,,,721602,,,UIN,,,Heizprogramm 3 So 3 Start/Ende
w,,HK1.HP3.So.3, ,,,,7216,,,UIN,,,Heizprogramm 3 So 3 Start/Ende


# Parameter Anwender 151 - Warmwasserprogramm Montag
# Wert * 15 Minuten
# 255 (0xFF) -> Off
#   1 (0x01) -> 00:15 Uhr
#  96 (0x60) -> 24:00 Uhr
r,,HK1.WP.Mo.1, ,,,,101702,,,UIN,,,Warmwasserprogramm Mo 1 Start/Ende
w,,HK1.WP.Mo.1, ,,,,1017,,,UIN,,,Warmwasserprogramm Mo 1 Start/Ende
r,,HK1.WP.Mo.2, ,,,,111702,,,UIN,,,Warmwasserprogramm Mo 2 Start/Ende
w,,HK1.WP.Mo.2, ,,,,1117,,,UIN,,,Warmwasserprogramm Mo 2 Start/Ende
r,,HK1.WP.Mo.3, ,,,,121702,,,UIN,,,Warmwasserprogramm Mo 3 Start/Ende
w,,HK1.WP.Mo.3, ,,,,1217,,,UIN,,,Warmwasserprogramm Mo 3 Start/Ende

# Parameter Anwender 152 - Warmwasserprogramm Dienstag
r,,HK1.WP.Di.1, ,,,,201702,,,UIN,,,Warmwasserprogramm Di 1 Start/Ende
w,,HK1.WP.Di.1, ,,,,2017,,,UIN,,,Warmwasserprogramm Di 1 Start/Ende
r,,HK1.WP.Di.2, ,,,,211702,,,UIN,,,Warmwasserprogramm Di 2 Start/Ende
w,,HK1.WP.Di.2, ,,,,2117,,,UIN,,,Warmwasserprogramm Di 2 Start/Ende
r,,HK1.WP.Di.3, ,,,,221702,,,UIN,,,Warmwasserprogramm Di 3 Start/Ende
w,,HK1.WP.Di.3, ,,,,2217,,,UIN,,,Warmwasserprogramm Di 3 Start/Ende

# Parameter Anwender 153 - Warmwasserprogramm Mittwoch
r,,HK1.WP.Mi.1, ,,,,301702,,,UIN,,,Warmwasserprogramm Mi 1 Start/Ende
w,,HK1.WP.Mi.1, ,,,,3017,,,UIN,,,Warmwasserprogramm Mi 1 Start/Ende
r,,HK1.WP.Mi.2, ,,,,311702,,,UIN,,,Warmwasserprogramm Mi 2 Start/Ende
w,,HK1.WP.Mi.2, ,,,,3117,,,UIN,,,Warmwasserprogramm Mi 2 Start/Ende
r,,HK1.WP.Mi.3, ,,,,321702,,,UIN,,,Warmwasserprogramm Mi 3 Start/Ende
w,,HK1.WP.Mi.3, ,,,,3217,,,UIN,,,Warmwasserprogramm Mi 3 Start/Ende

# Parameter Anwender 154 - Warmwasserprogramm Donnerstag
r,,HK1.WP.Do.1, ,,,,401702,,,UIN,,,Warmwasserprogramm D0 1 Start/Ende
w,,HK1.WP.Do.1, ,,,,4017,,,UIN,,,Warmwasserprogramm Do 1 Start/Ende
r,,HK1.WP.Do.2, ,,,,411702,,,UIN,,,Warmwasserprogramm Do 2 Start/Ende
w,,HK1.WP.Do.2, ,,,,4117,,,UIN,,,Warmwasserprogramm Do 2 Start/Ende
r,,HK1.WP.Do.3, ,,,,421702,,,UIN,,,Warmwasserprogramm Do 3 Start/Ende
w,,HK1.WP.Do.3, ,,,,4217,,,UIN,,,Warmwasserprogramm Do 3 Start/Ende

# Parameter Anwender 155 - Warmwasserprogramm Freitag
r,,HK1.WP.Fr.1, ,,,,501702,,,UIN,,,Warmwasserprogramm Fr 1 Start/Ende
w,,HK1.WP.Fr.1, ,,,,5017,,,UIN,,,Warmwasserprogramm Fr 1 Start/Ende
r,,HK1.WP.Fr.2, ,,,,511702,,,UIN,,,Warmwasserprogramm Fr 2 Start/Ende
w,,HK1.WP.Fr.2, ,,,,5117,,,UIN,,,Warmwasserprogramm Fr 2 Start/Ende
r,,HK1.WP.Fr.3, ,,,,521702,,,UIN,,,Warmwasserprogramm Fr 3 Start/Ende
w,,HK1.WP.Fr.3, ,,,,5217,,,UIN,,,Warmwasserprogramm Fr 3 Start/Ende

# Parameter Anwender 156 - Warmwasserprogramm Samstag
r,,HK1.WP.Sa.1, ,,,,601702,,,UIN,,,Warmwasserprogramm Sa 1 Start/Ende
w,,HK1.WP.Sa.1, ,,,,6017,,,UIN,,,Warmwasserprogramm Sa 1 Start/Ende
r,,HK1.WP.Sa.2, ,,,,611702,,,UIN,,,Warmwasserprogramm Sa 2 Start/Ende
w,,HK1.WP.Sa.2, ,,,,6117,,,UIN,,,Warmwasserprogramm Sa 2 Start/Ende
r,,HK1.WP.Sa.3, ,,,,621702,,,UIN,,,Warmwasserprogramm Sa 3 Start/Ende
w,,HK1.WP.Sa.3, ,,,,6217,,,UIN,,,Warmwasserprogramm Sa 3 Start/Ende

# Parameter Anwender 157 - Warmwasserprogramm Sonntag
r,,HK1.WP.So.1, ,,,,701702,,,UIN,,,Warmwasserprogramm So 1 Start/Ende
w,,HK1.WP.So.1, ,,,,7017,,,UIN,,,Warmwasserprogramm So 1 Start/Ende
r,,HK1.WP.So.2, ,,,,711702,,,UIN,,,Warmwasserprogramm So 2 Start/Ende
w,,HK1.WP.So.2, ,,,,7117,,,UIN,,,Warmwasserprogramm So 2 Start/Ende
r,,HK1.WP.So.3, ,,,,721702,,,UIN,,,Warmwasserprogramm So 3 Start/Ende
w,,HK1.WP.So.3, ,,,,7217,,,UIN,,,Warmwasserprogramm So 3 Start/Ende

# Parameter Anwender 161 - Zirkulationsprogramm Montag
# Wert * 15 Minuten
# 255 (0xFF) -> Off
#   1 (0x01) -> 00:15 Uhr
#  96 (0x60) -> 24:00 Uhr
r,,HK1.ZP.Mo.1, ,,,,101A02,,,UIN,,,Zirkulationsprogramm Mo 1 Start/Ende
w,,HK1.ZP.Mo.1, ,,,,101A,,,UIN,,,Zirkulationsprogramm Mo 1 Start/Ende
r,,HK1.ZP.Mo.2, ,,,,111A02,,,UIN,,,Zirkulationsprogramm Mo 2 Start/Ende
w,,HK1.ZP.Mo.2, ,,,,111A,,,UIN,,,Zirkulationsprogramm Mo 2 Start/Ende
r,,HK1.ZP.Mo.3, ,,,,121A02,,,UIN,,,Zirkulationsprogramm Mo 3 Start/Ende
w,,HK1.ZP.Mo.3, ,,,,121A,,,UIN,,,Zirkulationsprogramm Mo 3 Start/Ende

# Parameter Anwender 162 - Zirkulationsprogramm Dienstag
r,,HK1.ZP.Di.1, ,,,,201A02,,,UIN,,,Zirkulationsprogramm Di 1 Start/Ende
w,,HK1.ZP.Di.1, ,,,,201A,,,UIN,,,Zirkulationsprogramm Di 1 Start/Ende
r,,HK1.ZP.Di.2, ,,,,211A02,,,UIN,,,Zirkulationsprogramm Di 2 Start/Ende
w,,HK1.ZP.Di.2, ,,,,211A,,,UIN,,,Zirkulationsprogramm Di 2 Start/Ende
r,,HK1.ZP.Di.3, ,,,,221A02,,,UIN,,,Zirkulationsprogramm Di 3 Start/Ende
w,,HK1.ZP.Di.3, ,,,,221A,,,UIN,,,Zirkulationsprogramm Di 3 Start/Ende

# Parameter Anwender 163 - Zirkulationsprogramm Mittwoch
r,,HK1.ZP.Mi.1, ,,,,301A02,,,UIN,,,Zirkulationsprogramm Mi 1 Start/Ende
w,,HK1.ZP.Mi.1, ,,,,301A,,,UIN,,,Zirkulationsprogramm Mi 1 Start/Ende
r,,HK1.ZP.Mi.2, ,,,,311A02,,,UIN,,,Zirkulationsprogramm Mi 2 Start/Ende
w,,HK1.ZP.Mi.2, ,,,,311A,,,UIN,,,Zirkulationsprogramm Mi 2 Start/Ende
r,,HK1.ZP.Mi.3, ,,,,321A02,,,UIN,,,Zirkulationsprogramm Mi 3 Start/Ende
w,,HK1.ZP.Mi.3, ,,,,321A,,,UIN,,,Zirkulationsprogramm Mi 3 Start/Ende

# Parameter Anwender 164 - Zirkulationsprogramm Donnerstag
r,,HK1.ZP.Do.1, ,,,,401A02,,,UIN,,,Zirkulationsprogramm Do 1 Start/Ende
w,,HK1.ZP.Do.1, ,,,,401A,,,UIN,,,Zirkulationsprogramm Do 1 Start/Ende
r,,HK1.ZP.Do.2, ,,,,411A02,,,UIN,,,Zirkulationsprogramm Do 2 Start/Ende
w,,HK1.ZP.Do.2, ,,,,411A,,,UIN,,,Zirkulationsprogramm Do 2 Start/Ende
r,,HK1.ZP.Do.3, ,,,,421A02,,,UIN,,,Zirkulationsprogramm Do 3 Start/Ende
w,,HK1.ZP.Do.3, ,,,,421A,,,UIN,,,Zirkulationsprogramm Do 3 Start/Ende

# Parameter Anwender 165 - Zirkulationsprogramm Freitag
r,,HK1.ZP.Fr.1, ,,,,501A02,,,UIN,,,Zirkulationsprogramm Fr 1 Start/Ende
w,,HK1.ZP.Fr.1, ,,,,501A,,,UIN,,,Zirkulationsprogramm Fr 1 Start/Ende
r,,HK1.ZP.Fr.2, ,,,,511A02,,,UIN,,,Zirkulationsprogramm Fr 2 Start/Ende
w,,HK1.ZP.Fr.2, ,,,,511A,,,UIN,,,Zirkulationsprogramm Fr 2 Start/Ende
r,,HK1.ZP.Fr.3, ,,,,521A02,,,UIN,,,Zirkulationsprogramm Fr 3 Start/Ende
w,,HK1.ZP.Fr.3, ,,,,521A,,,UIN,,,Zirkulationsprogramm Fr 3 Start/Ende

# Parameter Anwender 166 - Zirkulationsprogramm Samstag
r,,HK1.ZP.Sa.1, ,,,,601A02,,,UIN,,,Zirkulationsprogramm Sa 1 Start/Ende
w,,HK1.ZP.Sa.1, ,,,,601A,,,UIN,,,Zirkulationsprogramm Sa 1 Start/Ende
r,,HK1.ZP.Sa.2, ,,,,611A02,,,UIN,,,Zirkulationsprogramm Sa 2 Start/Ende
w,,HK1.ZP.Sa.2, ,,,,611A,,,UIN,,,Zirkulationsprogramm Sa 2 Start/Ende
r,,HK1.ZP.Sa.3, ,,,,621A02,,,UIN,,,Zirkulationsprogramm Sa 3 Start/Ende
w,,HK1.ZP.Sa.3, ,,,,621A,,,UIN,,,Zirkulationsprogramm Sa 3 Start/Ende

# Parameter Anwender 167 - Zirkulationsprogramm Sonntag
r,,HK1.ZP.So.1, ,,,,701A02,,,UIN,,,Zirkulationsprogramm So 1 Start/Ende
w,,HK1.ZP.So.1, ,,,,701A,,,UIN,,,Zirkulationsprogramm So 1 Start/Ende
r,,HK1.ZP.So.2, ,,,,711A02,,,UIN,,,Zirkulationsprogramm So 2 Start/Ende
w,,HK1.ZP.So.2, ,,,,711A,,,UIN,,,Zirkulationsprogramm So 2 Start/Ende
r,,HK1.ZP.So.3, ,,,,721A02,,,UIN,,,Zirkulationsprogramm So 3 Start/Ende
w,,HK1.ZP.So.3, ,,,,721A,,,UIN,,,Zirkulationsprogramm So 3 Start/Ende
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Muschelpuster am 20 November 2016, 15:20:37
Hallo,

Ich habe auch eine WTC15 und mich bislang noch nicht ran getraut, da die Infos nicht wirklich reichhaltig sind. Aber die Anbindung steht auch auf meiner ToDo-Liste.
Die hier verfügbaren Infos hasst Du genossen? z.B.:
https://forum.fhem.de/index.php/topic,17718.msg404767.html#msg404767
https://forum.fhem.de/index.php/topic,10290.msg79846.html#msg79846

verlinkte Grüße
Niels
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 21 November 2016, 16:45:18
Hallo Niels, vielen Dank für die Links!

In https://forum.fhem.de/index.php/topic,17718.msg404767.html#msg404767 (https://forum.fhem.de/index.php/topic,17718.msg404767.html#msg404767) geht es um die Kommunikation mit dem Kommunikationsmodul WCM-COM von Weishaupt. Das habe ich nicht, ich hänge mit einem eBus-Umsetzer am Bus.
Siehe: http://www.weishaupt.de/produkte/heizsysteme/gas-brennwertsysteme/kommunikationsmodul-wcm-com (http://www.weishaupt.de/produkte/heizsysteme/gas-brennwertsysteme/kommunikationsmodul-wcm-com)

In https://forum.fhem.de/index.php/topic,10290.msg79846.html#msg79846 (https://forum.fhem.de/index.php/topic,10290.msg79846.html#msg79846) wird für einen Umsetzer an der seriellen Schnittstelle die Auswertung der eBus-Telegramme mit einem FHEM-Modul gemacht. Aus dem Modul kann ich bestimmt ein paar Infos ziehen, die ich noch nicht habe...

Ich verwende den ebusd https://github.com/john30/ebusd/wiki (https://github.com/john30/ebusd/wiki) und versuche Telegramm-Beschreibungen für meine Weishaupt-Geräte zu erstellen.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: ulibeyer am 25 November 2016, 15:02:48
Hallo J0K3r,

ich habe auch eine WTC15 und eine ähnliche Konfiguration, nur ohne zweiten Heizkreis und ohne Mischer. Nutze auch ebusd. Bislang lese ich aber nur Daten mit, soweit wie du bin ich leider noch nicht gekommen. Würde zukünftig aber auch gerne Werte schreiben.
Falls du weitere Erfolge bei der Entschlüsselung der Telegramme hast, wäre ich sehr an Infos interssiert. Falls ich was dazu beitragen kann, lass es mich wissen. Ich hatte schonmal versucht über meinen Klepner und den Außendienst von Weishaupt an Definitionen zu kommen, leider ohne Erfolg.

Gruß

Uli
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Muschelpuster am 25 November 2016, 15:30:38
ich wusste doch, dass ich irgendwo schon mal was gelesen hatte. Aber vermutlich kennt Ihr das auch schon: https://www.symcon.de/forum/threads/20578-User-mit-Weishaupt-Heizung-mit-eBus-Lust-auf-Weishaupt-Codes-zu-entschl%C3%BCsseln
=weishaupt]http://ebus-wiki.org/doku.php/ebus/ebusdaten?s[]=weishaupt (http://ebus-wiki.org/doku.php/ebus/ebusdaten?s%5B)

nachgeschlagene Grüße
Niels
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 26 November 2016, 11:53:36
Hallo Uli, hallo Niels!  :)

@Niels: Vielen Dank für die Links zum Thread im Symcon-Forum und zu ebus-wiki.org! Die Excel-Tabelle aus dem Symcon-Forum war der Ausgangspunkt für meine ersten grundsätzlichen Erfolge und meine Versuche mit den 0902/0903-Telegrammen!

@Uli: Weishaupt scheint ja wirklich keine Informationen herauszugeben! Schade! Bleibt leider nur der harte Weg!  ::)
Welche SW-Versionen haben denn Deine Geräte? Melden die sich auch mit der Hersteller-Identifikation 0x50 (-> Kromschroeder)?
Gibt es bei Dir auch das Problem mit den Null-Antworten auf die 0902-Requests?

Das könntest Du ausprobieren, in dem Du Adresse 0x0000 des Heizkreisreglers 1 (->0x35) mehrfach abfragst und Dir die Antworten anschaust.
ebusctl hex 35090203000012

Mittlerweile habe ich einige mehr Parameter des Heizkreisreglers 1 mit Hilfe des Scan-Shellscripts entdeckt. Beispielsweise die gesamten Wochenprogramme!
Ich werden meinen obigen Post "Telegramm 0902/0903 - 35.csv" aktualisieren, um die Informationen an einer Stelle zu halten. Die Datentypen habe ich bis jetzt noch nicht optimiert.
https://forum.fhem.de/index.php/topic,61017.msg524808.html#msg524808 (https://forum.fhem.de/index.php/topic,61017.msg524808.html#msg524808)

Sehr interessant wäre der Parameter, über den man die Anwesenheit/Abwesenheit einstellt - also die Funktion des Soft-Tasters auf der Fernbedienung - die könnte man mit der Anwesenheitserkennung über FHEM koppeln...
...leider finde ich die entsprechende Adresse nicht!  :'(
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: ulibeyer am 26 November 2016, 13:52:36
Hallo,

meine Konfiguration sieht wie folgt aus (meine Geräte melden sich auch mit Kromschroeder Kennung):


version: ebusd 2.3.5bcc475
signal: acquired
symbol rate: 22
masters: 3
messages: 6
conditional: 0
poll: 0
update: 2

address 30: master #3
address 31: master #8, ebusd
address 35: slave #3, scanned "MF=Kromschroeder;ID=;SW=2621;HW=0000", loaded "kromschroeder/35.csv"
address 36: slave #8
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST?;SW=0140;HW=0101", loaded "kromschroeder/f6.csv"


Nullantworten habe ich auch:


pi@RPi-UB04 ~ $ ebusctl r -f HK1.T_Normal
0.0
pi@RPi-UB04 ~ $ ebusctl r -f HK1.T_Normal
0.0
pi@RPi-UB04 ~ $ ebusctl r -f HK1.T_Normal
22.0
pi@RPi-UB04 ~ $ ebusctl r -f HK1.T_Normal
0.0
pi@RPi-UB04 ~ $ ebusctl r -f HK1.T_Normal
0.0
pi@RPi-UB04 ~ $ ebusctl r -f HK1.T_Normal
22.0



Das mit der Abfrage habe ich leider nicht ganz verstanden:

pi@RPi-UB04 ~ $ ebusctl hex 35090203000012
ERR: command not enabled

pi@RPi-UB04 ~ $ ebusctl r hex 35090203000012
ERR: element not found


Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 27 November 2016, 13:11:08
Hallo Uli,

hier ist meine Ausgabe von ebusctl info:

ebusctl info
version: ebusd 2.1.28b50d2
signal: acquired
symbol rate: 22
masters: 4
messages: 392
address 30: master #3
address 31: master #8, ebusd
address 35: slave #3, scanned "MF=Kromschroeder;ID=     ;SW=2633;HW=0000", loaded "kromschroeder/35.csv"
address 36: slave #8
address 51: slave, scanned "MF=Kromschroeder;ID=     ;SW=3233;HW=0001", loaded "kromschroeder/51.csv"
address 70: master #4
address 75: slave #4, scanned "MF=Kromschroeder;ID=     ;SW=2633;HW=0000", loaded "kromschroeder/75.csv"
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST?;SW=0216;HW=0101", loaded "kromschroeder/f6.csv"


Die Null-Antworten sind ein grundsätzliches Problem! Damit ist ein sicheres Pollen von Werten über FHEM nicht einfach möglich.  >:(

Die Möglichkeit HEX-Kommandos zu verwenden, wird über die Option --enablehex des ebusd eingeschaltet.
Siehe https://github.com/john30/ebusd/wiki/2.-Run (https://github.com/john30/ebusd/wiki/2.-Run)

Bei mir wird das in /etc/default/ebusd festgelegt, in der die Variable EBUSD_OPTS gesetzt wird, die wiederum beim Start des ebusd als Service über /etc/init.d/ebusd verwendet wird.


# /etc/default/ebusd
EBUSD_OPTS="--scanconfig --device=192.168.0.21:5000 --latency=10000 --loglevel=notice --enablehex"

Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 30 November 2016, 07:40:11
Hallo Leute,
es gab schon einmal den Versuch, hier etwas mehr zu entschlüsseln.
Der letzte Stand ist mangels Nachfrage und Mitarbeit allerdings schon fast ein Jahr alt und liegt hier:
ebusd-configuration/ebusd-2.x.x/de/wolf (https://github.com/john30/ebusd-configuration/tree/master/ebusd-2.x.x/de/wolf)
In den nächsten Wochen plane ich, das ebusd-configuration Repository umzustrukturieren, um auch die historischen CSVs, die nicht mehr in die neueste Version übernommen wurden, zu unterstützen.
Es wäre schön, wenn Eure Erkenntnisse da einfließen könnten.
VG John
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 30 November 2016, 17:24:36
Hallo John,

natürlich können die Erkenntnisse einfließen, das würde sicher einigen helfen! 8)

Ich habe natürlich sämtliche Quellen durchforstet, bevor ich mich selbst hingesetzt habe - zuerst auch von Deinem Projekt ebusd-configuration. Neu sind bestimmt die Nachrichten zur Parametrierung des Heizkreisreglers - also die 0902/0903-Nachrichten mit den entsprechenden Adressen in der 35.csv. (Siehe https://forum.fhem.de/index.php/topic,61017.msg524808.html#msg524808 (https://forum.fhem.de/index.php/topic,61017.msg524808.html#msg524808))

Wie würdest Du Dir unsere/meine Mitarbeit wünschen?

Große Fortschritte beim Entschlüsseln weiterer Nachrichten wären möglich, hätte man beispielsweise die WCMDiagnose-Software und dazu die mitgeschnittenen Nachrichten auf dem eBus. Somit wäre eine Zuordnung der angezeigten Parameter in der Software zu den Nachrichten möglich.
(Beispielsweise wie hier: https://www.symcon.de/forum/threads/20578-User-mit-Weishaupt-Heizung-mit-eBus-Lust-auf-Weishaupt-Codes-zu-entschl%C3%BCsseln (https://www.symcon.de/forum/threads/20578-User-mit-Weishaupt-Heizung-mit-eBus-Lust-auf-Weishaupt-Codes-zu-entschl%C3%BCsseln))
Gibt es da jemanden, der helfen kann?

Wie sieht das eigentlich mit dem Weishaupt Kommunikationsmodul WCM-COM aus, wird die Heizkreisregelung damit gemacht oder ist das Ding nur zum Parametrieren/Visualisieren gedacht? Welche Art von Telegrammen werden verschickt?
Gibt es jemanden, der Antworten hat? ;)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 01 Dezember 2016, 09:23:51
Zitat von: J0K3r am 30 November 2016, 17:24:36
Wie würdest Du Dir unsere/meine Mitarbeit wünschen?
Vielleicht wäre es sinnvoll, für Weishaupt Geräte ein eigenes Git Repository aufzumachen, in das Ihr auch contributen und/oder reinpushen könnt.
Generell ist ja die Idee von ebusd, alles herstellerneutral zu unterstützen was geht. Das gilt auch für die configs.
Da ich selbst natürlich nur eine Anlage eines Herstellers in Betrieb habe, kann ich für andere lediglich als "Guide" agieren und bei der Umsetzung unterstützen.
Ist dann mal ein stabiler und vernünftiger Stand erreicht (auch hinsichtlich Benennung der Nachrichten, Circuits und Felder), dann könnte man das in ebusd-configuration übernehmen.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 02 Dezember 2016, 17:21:29
Hallo John,

ich versuche gerade, die Weishaupt csv-Dateien Deinen aus dem config-Repository "anzugleichen".
Zuerst habe ich den ebusd neu gebaut, damit ich auf dem aktuellen Stand bin (2.3.a991a37).

Ich verstehe immer mehr davon, wie Du Dir das mit den Nachrichten-Definitionen gedacht hast.  8)
...allerdings komme ich noch sehr schnell zu für mich unlösbaren Problemen  ;)

Momentan habe ich für jeden Parameter zwei Einträge in der 35.csv (Heizkreisregler 1) definiert: jeweils einen zum Lesen und Schreiben eines Parameters.
Bsp:

*r,,,,,,"0902",,,,,,,
*w,,,,,,"0903",,,,,,,

r,,HK1.T_Normal, ,,,,"050002",,,UIN,10,,Normaltemperatur Sollwert
w,,HK1.T_Normal, ,,,,"0500",,,UIN,10,,Normaltemperatur Sollwert

(Anm.: ein Leerzeichen als Kommentar zur Abgrenzung)

Es werden also die Services "EEPROM Daten lesen (0902)" und "EEPROM Daten schreiben (0903)" verwendet.
Dabei ist in diesem Beispiel die "0500" die Adresse und das folgende Byte "02" beim Lesen-Service die Länge der zu lesenden Datenbytes, also zwei. Der Roh-Aufruf mit ebusctl würe also folgendermaßen aussehen:

# Lesen
ebusctl hex 35090203050002
Antwort-> 02f000
#Schreiben
ebusctl hex 350903040500f000


Wie bekomme ich die Definition in der csv-Datei so hin, dass ich nur einen Eintrag für das Lesen und Schreiben brauche?

Dann ist da noch das Problem, dass nur alle paar Lese-Aufrufe brauchbare Werte in der Antwort stehen.
Sagt Dir das etwas, hast Du das schon einmal gesehen? Gibt es da eine Lösung?
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 03 Dezember 2016, 07:38:32
Zitat von: J0K3r am 02 Dezember 2016, 17:21:29
Wie bekomme ich die Definition in der csv-Datei so hin, dass ich nur einen Eintrag für das Lesen und Schreiben brauche?
Das ist mal wieder einer kleiner Spezialfall und im Moment so nicht im CSV abbildbar. Das wird erst dann möglich, wenn Konstanten im CSV definiert werden können (noch kein Zeitplan dafür).

Zitat von: J0K3r am 02 Dezember 2016, 17:21:29
Dann ist da noch das Problem, dass nur alle paar Lese-Aufrufe brauchbare Werte in der Antwort stehen.
Sagt Dir das etwas, hast Du das schon einmal gesehen? Gibt es da eine Lösung?
Hm, das habe ich bis jetzt noch nicht gesehen, aber vielleicht ist das Gerät mit zu häufigen Anfragen überfordert?
Verstehe ich das richtig, dass dann oft keine Antwort bzw. eine "00" (Antwort-Länge) kommt? Poste doch mal ein Beispiel.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 03 Dezember 2016, 13:25:16
Hallo John,

hier das traurige Beispiel mit den Null-Antworten. Schlimm ist, dass die Länge der Antwort korrekt ist, leider aber jedes Byte den Wert 0x00 enthält.

Erst der 12. Aufruf enthielt eine brauchbare Antwort!

pi@raspberrypi:~ $ ebusctl hex 35090203050002
020000

pi@raspberrypi:~ $ ebusctl hex 35090203050002
020000

pi@raspberrypi:~ $ ebusctl hex 35090203050002
020000

pi@raspberrypi:~ $ ebusctl hex 35090203050002
020000

pi@raspberrypi:~ $ ebusctl hex 35090203050002
020000

pi@raspberrypi:~ $ ebusctl hex 35090203050002
020000

pi@raspberrypi:~ $ ebusctl hex 35090203050002
020000

pi@raspberrypi:~ $ ebusctl hex 35090203050002
020000

pi@raspberrypi:~ $ ebusctl hex 35090203050002
020000

pi@raspberrypi:~ $ ebusctl hex 35090203050002
020000

pi@raspberrypi:~ $ ebusctl hex 35090203050002
020000

pi@raspberrypi:~ $ ebusctl hex 35090203050002
02f000


Ich frage mich, ob ich den richtigen Service verwende oder ob es eine andere Möglichkeit gibt, an die Parameter zu gelangen.
"EEPROM lesen" und "EEPROM schreiben" klingt schon gefährlich!  :o
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 03 Dezember 2016, 14:18:55
Zitat von: J0K3r am 03 Dezember 2016, 13:25:16
Erst der 12. Aufruf enthielt eine brauchbare Antwort!
Tja, das ist ernüchternd... Sicher dass der Wert an der Adresse im EEPROM nicht erst zum Zeitpunkt der 12. Abfrage etwas vernünftiges widerspiegelt?
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: mcmuller am 04 Dezember 2016, 11:08:41
Hallo Leute,

ich stehe vor der "Aufgabe" eine Weishaupt WTC45 aus 2005 per ebusd und fhem erstmal zu überwachen. Aus einem anderen Projekt habe ich hier eine Software (Win) und ein USB-ebus-Interface liegen. Die Software hat ein Verzeichnis "Controllers", in dem offenbar Gerätedefinitionen liegen. Ich stehe noch ganz am Anfang von ebusd, aber sollte Interesse an den Dateien bestehen, könnt Ihr ja mal https://drive.google.com/drive/folders/0B6B4-rV5pWy8Q2lMYl9rWV9sbkk?usp=sharing (https://drive.google.com/drive/folders/0B6B4-rV5pWy8Q2lMYl9rWV9sbkk?usp=sharing) einen Blick darauf werfen (.zip inside!).

Grüße,
mcmuller
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 04 Dezember 2016, 11:22:50
Hallo John,

ich habe wieder viele Fragen!  ::)

Zitat von: john30 am 03 Dezember 2016, 14:18:55
Tja, das ist ernüchternd... Sicher dass der Wert an der Adresse im EEPROM nicht erst zum Zeitpunkt der 12. Abfrage etwas vernünftiges widerspiegelt?
...sicher bin ich mir mit nichts! :P Positiv scheint jedoch, dass die gesetzten Werte im Heizkreisregler über den 0903-Service scheinbar gleich angenommen werden.

SCAN-Service
Probleme gibt es aber weitere: Die Weishaupt-Geräte liefern beim SCAN-Service nicht alle eine brauchbare ID (siehe Beispiel) und eben die vermeintlich falsche Hersteller-Kennung! Damit ist die automatische Wahl der richtigen csv-Datei des ebusd auf die Adresse beschränkt.

pi@raspberrypi:~ $ ebusctl info
version: ebusd 2.1.28b50d2
signal: acquired
symbol rate: 57
masters: 4
messages: 393
address 30: master #3
address 31: master #8, ebusd
address 35: slave #3, scanned "MF=Kromschroeder;ID=     ;SW=2633;HW=0000", loaded "kromschroeder/35.csv"
address 36: slave #8
address 51: slave, scanned "MF=Kromschroeder;ID=     ;SW=3233;HW=0001", loaded "kromschroeder/51.csv"
address 70: master #4
address 75: slave #4, scanned "MF=Kromschroeder;ID=     ;SW=2633;HW=0000", loaded "kromschroeder/75.csv"
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST▒;SW=0216;HW=0101", loaded "kromschroeder/f6.csv"


Upgrade ebusd - Nachrichtendefinition
Dann gibt es noch ein weiteres Problem bei meinem Upgrade des ebusd von 2.1 auf 2.3: eine Nachrichtendefinition funktioniert mit ebusd 2.3 nicht mehr!
In der f6.csv habe ich zwei Nachrichtendefinitionen für "0507"-Nachrichten, die einmal vom Heizkreisregler 1 (MA-Adr 0x30) und vom Heizkreisregler 2 (MA-Adr 0x70) an den Heizungsregler (SL-Adr 0xF6) zyklisch (alle 10 Sekunden) verschickt werden - sie enthalten Sollwerte.
/etc/ebusd/weishaupt.f6.csv

*b,->HR,,,,F1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

b,,HK1,HK1->HR,30,,"0507",,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,
b,,HK2,HK2->HR,70,,"0507",,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,


Mit ebusd 2.1 konnte ich über ebustl die entsprechenden Werte auslesen:

pi@raspberrypi:~ $ ebusctl r HK1
hotwaterinheating;stopconsumer;29.62;-;-;40.0;-


In der aktuellen Version 2.3 funktioniert das nicht mehr!

pi@raspberrypi:~ $ ebusctl r HK1
ERR: no data stored


...und das, obwohl in /var/log/ebusd zu erkennen ist, dass die Nachricht über den Bus ging und auch richtig dekodiert wurde.

2016-12-04 11:12:51.878 [update notice] update ->HR HK1: hotwaterinheating;stopconsumer;29.62;-;-;40.0;-
2016-12-04 11:12:53.145 [update notice] update ->HR HK2: hotwaterinheating;-;37.00;-;-;-;-


Bug oder Feature? Was stimmt an meiner Nachrichtendefinition nicht?
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 04 Dezember 2016, 12:17:44
Zitat von: mcmuller am 04 Dezember 2016, 11:08:41
ich stehe vor der "Aufgabe" eine Weishaupt WTC45 aus 2005 per ebusd und fhem erstmal zu überwachen. Aus einem anderen Projekt habe ich hier eine Software (Win) und ein USB-ebus-Interface liegen. Die Software hat ein Verzeichnis "Controllers", in dem offenbar Gerätedefinitionen liegen. Ich stehe noch ganz am Anfang von ebusd, aber sollte Interesse an den Dateien bestehen, könnt Ihr ja mal https://drive.google.com/drive/folders/0B6B4-rV5pWy8Q2lMYl9rWV9sbkk?usp=sharing (https://drive.google.com/drive/folders/0B6B4-rV5pWy8Q2lMYl9rWV9sbkk?usp=sharing) einen Blick darauf werfen (.zip inside!).
puh, ob man davon was nutzen kann.? ist viel arbeit und mit viel try-and-error verbunden. wenn du rausfinden kannst, welche der files für dein gerät benutzt wird, kommt man sicher etwas weiter. dann könnte man evtl. anhand einiger nachrichten, die mit dem controller abgeglichen sind, die struktur der files rausfinden, oder zumindest teile davon.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 04 Dezember 2016, 12:26:17
Zitat von: J0K3r am 04 Dezember 2016, 11:22:50
Probleme gibt es aber weitere: Die Weishaupt-Geräte liefern beim SCAN-Service nicht alle eine brauchbare ID (siehe Beispiel) und eben die vermeintlich falsche Hersteller-Kennung! Damit ist die automatische Wahl der richtigen csv-Datei des ebusd auf die Adresse beschränkt.
Nein, dafür lassen sich auch SW und HW Version nutzen.
Ich meine mich zu erinnern, dass für diese Geräte nur die SW Version relevant ist.

Zitat von: schka17 am 02 Dezember 2016, 14:19:07
In der aktuellen Version 2.3 funktioniert das nicht mehr!
Wie aktuell ist die denn? Da gab es einen Bug, der hierfür greifen sollte. Probier mal den letzten git Stand.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 04 Dezember 2016, 12:55:48
Hallo John,

der letzte Git-Stand (2.3.24d8e75) funktioniert, der Fehler ist beseitigt!  :D

Der neuste Stand der Releases (2.3.5bcc475) hat den Bug wohl noch...
https://github.com/john30/ebusd/releases/tag/v2.3 (https://github.com/john30/ebusd/releases/tag/v2.3)

Ach übrigens: Vielen Dank für die schnelle Hilfe!  :)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 04 Dezember 2016, 13:23:54
Zitat von: J0K3r am 04 Dezember 2016, 12:55:48
der letzte Git-Stand (2.3.24d8e75) funktioniert, der Fehler ist beseitigt!  :D
Dachte ich mir.

Zitat von: J0K3r am 04 Dezember 2016, 12:55:48
Der neuste Stand der Releases (2.3.5bcc475) hat den Bug wohl noch...
https://github.com/john30/ebusd/releases/tag/v2.3 (https://github.com/john30/ebusd/releases/tag/v2.3)
Das ist üblicherweise so. Wenn man für jeden Patch ein neues Release macht, ist das ziemlich sinnbefreit ;)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 04 Dezember 2016, 13:57:55
Hallo mcmuller!

Herzlich willkommen im Weishaupt-Club!  ;D

Das reine Überwachen der WTC mit dem eBusd und FHEM sollte doch funktionieren! Wenn Du die Hardware - den eBus-Umsetzer - mit ebusd zum Laufen bringst, dann müsste man das doch hinbekommen.  ::)
Die Nachrichten, die per Broadcast an alle Teilnehmer und zwischen den Reglern auf dem eBus ausgetauscht werden, sind auch weitgehend entschlüsselt.

Hast Du die Weishaupt ServiceTool-Software ausprobiert und irgendwelche Erkenntnisse erlangt?

Wenn man sich die ControllerMap.ini anschaut, sind da nur "WRSol"-Geräte definiert.

[Controller]
15979= WRSol 2.0 V241
16149= WRSol V2.41
17928= WRSol 1.0 STD V251
17929= WRSol 2.0 STD V251
17973= WRSol 1.0 V242
17974= WRSol 2.0 V242
17983= WRSol 1.0 V243
17984= WRSol 2.0 V243
19145= WRSol 1.0 EXP1 V251
19146= WRSol 2.0 EXP1 V251
19147= WRSol 1.0 EXP2 V251
19148= WRSol 2.0 EXP2 V251
19149= WRSol 1.0 EXP3 V251
19150= WRSol 2.0 EXP3 V251
19151= WRSol 1.0 EXP4 V251
19152= WRSol 2.0 EXP4 V251
20598= WRSol 1.0 STD V252
20599= WRSol 2.0 STD V252
20600= WRSol 1.0 EXP1 V252
20601= WRSol 2.0 EXP1 V252
20602= WRSol 1.0 EXP2 V252
20603= WRSol 2.0 EXP2 V252
20604= WRSol 1.0 EXP3 V252
20605= WRSol 2.0 EXP3 V252
20606= WRSol 1.0 EXP4 V252
20607= WRSol 2.0 EXP4 V252
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: mcmuller am 04 Dezember 2016, 15:19:10
...richte mir gerade einen Raspberry mit ebusd und fhem dafür ein. Wäre ja schon schön, wenn plausible Daten zu lesen wären! Die zu überwachende Heizung steht leider 2500km entfernt - aber morgen habe ich Zugriff auf ein anderes Weishaupt-System hier in der Nachbarschaft zum Testen. Final will ich das dann per GSM-Stick als Fernwartungslösung.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 08 Dezember 2016, 18:20:36
Hallo!  :)

Inzwischen hab ich ein Repository auf github.com angelegt, in dem mein aktueller Stand der Konfigurationsdateien zu finden ist.  8)

https://github.com/J0EK3R/ebusd-configuration-weishaupt (https://github.com/J0EK3R/ebusd-configuration-weishaupt)

@John: Ich habe mich beim Erstellen an Deinen beiden Repositories orientiert und sie natürlich auch verlinkt und einfach mal angefangen... Ich hoffe, das ist soweit in Ordnung. Git und Github sind komplettes Neuland für mich. Ansonsten, ruhig meckern...  ;)
Jetzt muss ich die Konfigurationsdateien nur noch "in Form" bringen! ;)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: mcmuller am 08 Dezember 2016, 18:34:09
Hallo zusammen,

...ich kann berichten, daß mein "TEM ZIF 280" eBus-zu-USB nicht mit ebusd läuft. Kommt immer nur "No Signal". Jetzt warte ich auf das für ebusd empfohlene ebus-usb-device. Dann kann ich hier hoffentlich auch was Sinnvolles beitragen.

Grüße,
mcmuller
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 10 Dezember 2016, 08:52:29
Zitat von: mcmuller am 08 Dezember 2016, 18:34:09
...ich kann berichten, daß mein "TEM ZIF 280" eBus-zu-USB nicht mit ebusd läuft.
na das ist auch kein Wunder, weil das Teil Opentherm Protokoll spricht und nicht eBUS...
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: mcmuller am 10 Dezember 2016, 09:02:05
@john30 : OK, wo hast Du diese Info her? Ich habe über den TEM-Dongle fast nichts im Netz gefunden. "Opentherm" höre ich gerade zum ersten Mal  ::)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 10 Dezember 2016, 09:03:16
Zitat von: mcmuller am 10 Dezember 2016, 09:02:05
@john30 : OK, wo hast Du diese Info her? Ich habe über den TEM-Dongle fast nichts im Netz gefunden. "Opentherm" höre ich gerade zum ersten Mal  ::)
nur ein bisschen gegoogelt...
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: mcmuller am 10 Dezember 2016, 09:09:04
@john30 : Guten Morgen! Hast Du mal eine Quelle? Opentherm ist lt. Wikipedia ja ein ganz anderes Protokoll als ebus. Der TEM ZIF 280 ist aber definitiv ein ebus-Gerät. Steht sowohl auf der Verpackung als auch im zugehörigen Servicetool als auch an den Klemmen der Steuerung (TEM an einer Hautec-WP) mit der ich gerade teste.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 10 Dezember 2016, 09:10:49
Zitat von: J0K3r am 08 Dezember 2016, 18:20:36
https://github.com/J0EK3R/ebusd-configuration-weishaupt (https://github.com/J0EK3R/ebusd-configuration-weishaupt)
Jetzt muss ich die Konfigurationsdateien nur noch "in Form" bringen! ;)
Hierzu mal ein erster Tipp:

Wann immer Du einen Datentyp mehr als 1x in einem CSV verwendest, würde ich sofort dafür ein Template anlegen, das spart unheimlich Schreibarbeit.
Beispiel dafür: UIN,10 als Temperatur
Das würde ich gleich mal wie folgt in die _templates.csv packen:
temp10:temp,UCH,10,°C,Temperatur
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 10 Dezember 2016, 09:25:07
Zitat von: mcmuller am 10 Dezember 2016, 09:09:04
@john30 : Guten Morgen! Hast Du mal eine Quelle? Opentherm ist lt. Wikipedia ja ein ganz anderes Protokoll als ebus. Der TEM ZIF 280 ist aber definitiv ein ebus-Gerät. Steht sowohl auf der Verpackung als auch im zugehörigen Servicetool als auch an den Klemmen der Steuerung (TEM an einer Hautec-WP) mit der ich gerade teste.
Oh, bin wohl auf dem 250er Interface gelandet, und das ist mit Mikrocontroller und Opentherm angegeben.
Beide sind auf der einen Seite mit eBUS verbunden, also das heißt erst mal noch nichts :-)
Beim 280er gibt es noch eine kleine Chance, dass das funktioniert. Lass Dir mal den raw Output ausgeben. Wenn da keine "<aa" im Log auftauchen, dann macht das Interface mehr als nur 1:1 durchreichen. Oder der Bus ist passiv, d.h. mit dem Interface musst Du den Sync generieren (--generatesyn an ebusd Aufruf übergeben)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: mcmuller am 10 Dezember 2016, 09:28:36
@John OK, kann ich dann erst nächste Woche testen - jetzt geht's in Kurzurlaub :-)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 10 Dezember 2016, 09:34:05
Zitat von: mcmuller am 10 Dezember 2016, 09:28:36
@John OK, kann ich dann erst nächste Woche testen - jetzt geht's in Kurzurlaub :-)
sehr vernünftig:-) Gute Erholung!
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 10 Dezember 2016, 12:12:41
Hallo John, der Anfang ist gemacht...

...ich habe die 35.csv auf Deinen Vorschlag mit temp10 umgestellt und etwas aufgeräumt.  :D

Wie soll ich denn eigenlich die Hex-Werte der Adressen schreiben, in Anführungszeichen oder nicht?  :-[

Und es gibt noch viel zu tun! Ich würde mir gerne die verschiedenen Programme vornehmen.
Hast Du einen Tipp für den Datentyp "Uhrzeit in Viertelstunden"?
Jeweils ein Byte für die Startzeit und die Endzeit. Lesen und schreiben kann man die beiden Werte nur zusammen (als Int16).


# Parameter Anwender 161 - Zirkulationsprogramm Montag
# Wert * 15 Minuten
# 255 (0xFF) -> Off
#   1 (0x01) -> 00:15 Uhr
#  96 (0x60) -> 24:00 Uhr
r,,HK1.ZP.Mo.1, ,,,,101A02,,,UIN,,,Zirkulationsprogramm Mo 1 Start/Ende (Anwender 161)


Außerdem hat der Heizkreisregler2 (Definitionen in 75.csv) eigentlich die selben Parameter wie der Heizkreisregler1 (35.csv).
Es würde Sinn machen, einen Symlink 75.csv -> 35.csv zu setzen, um die Definitionen nur einmalig machen zu müssen.
Allerdings müsste in den Definition für die Nachrichtentypen (*b, *w) abhängig vom Dateinamen die Zieladresse eingetragen werden und die Benamung der Nachrichten müsste auch dynamisch erfolgen.

Hast Du da einen Mechanismus vorgesehen?

35.csv

*r,HK1,,,,35,"0902",,,,,,,
*w,HK1,,,,35,"0903",,,,,,,

r,,HK1.T_Normal, ,,,,050002,,,temp10,,,Normaltemperatur Sollwert (Anwender 171)
w,,HK1.T_Normal, ,,,,0500,,,temp10,,,


75.csv

*r,HK2,,,,75,"0902",,,,,,,
*w,HK2,,,,75,"0903",,,,,,,

r,,HK2.T_Normal, ,,,,050002,,,temp10,,,Normaltemperatur Sollwert (Anwender 171)
w,,HK2.T_Normal, ,,,,0500,,,temp10,,,
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 10 Dezember 2016, 14:34:37
Zitat von: J0K3r am 10 Dezember 2016, 12:12:41
Wie soll ich denn eigenlich die Hex-Werte der Adressen schreiben, in Anführungszeichen oder nicht?  :-[
Die Anführungszeichen sind eher für Excel/Openoffice User, denn damit wird beim Import dann nicht versucht, den Wert als Zahl, Datum o.ä. zu interpretieren.

Zitat von: J0K3r am 10 Dezember 2016, 12:12:41
Hast Du einen Tipp für den Datentyp "Uhrzeit in Viertelstunden"?
Jeweils ein Byte für die Startzeit und die Endzeit. Lesen und schreiben kann man die beiden Werte nur zusammen (als Int16).
Hm, dafür braucht es einen neuen Datentyp. Da hast jetzt gerade das Release 2.4 verpasst, sonst hätt ichs Dir noch schnell einbauen können.
Im Prinzip brauchst Du nur folgende Zeile in lib/ebus/datatype.cpp nach Zeile 997 einfügen:
add(new DateTimeDataType("TTQ", 8, 0, 0, false, true, 15)); // truncated time (only multiple of 15 minutes), 00:00 - 24:00 (minutes div 15 + hour * 4 as integer)
Damit bekommst Du einen neuen Datentyp "TTQ" der genau das macht, was Du brauchst.

Zitat von: J0K3r am 10 Dezember 2016, 12:12:41
Außerdem hat der Heizkreisregler2 (Definitionen in 75.csv) eigentlich die selben Parameter wie der Heizkreisregler1 (35.csv).
Es würde Sinn machen, einen Symlink 75.csv -> 35.csv zu setzen, um die Definitionen nur einmalig machen zu müssen.
Allerdings müsste in den Definition für die Nachrichtentypen (*b, *w) abhängig vom Dateinamen die Zieladresse eingetragen werden und die Benamung der Nachrichten müsste auch dynamisch erfolgen.
Hast Du da einen Mechanismus vorgesehen?
Ja, da hätte sich mal wieder der Blick in wiki gelohnt ;)
Es genügt hier, in den Default Zeilen (die mit "*r/*w" am Zeilenanfang) die Adresse wegzulassen, dann wir die von ebusd aufgrund der Adresse im Dateinamen befüllt.

Alles klar? :)
VG John
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 11 Dezember 2016, 12:33:42
Hallo John!  ;D

Zitat von: john30 am 10 Dezember 2016, 14:34:37
Die Anführungszeichen sind eher für Excel/Openoffice User, denn damit wird beim Import dann nicht versucht, den Wert als Zahl, Datum o.ä. zu interpretieren.
OK, gutes Argument. Ich werde dann alle Hex-Werte umstellen...  ???

Zitat von: john30 am 10 Dezember 2016, 14:34:37
Hm, dafür braucht es einen neuen Datentyp. Da hast jetzt gerade das Release 2.4 verpasst, sonst hätt ichs Dir noch schnell einbauen können.
Damit bekommst Du einen neuen Datentyp "TTQ" der genau das macht, was Du brauchst.
Bei Gelegenheit werde ich das ausprobieren und den Quellcode lokal anpassen.
Wirst Du denn diesen neuen Datentyp "TTQ" auch ins Repository einpflegen?  ;D

Zitat von: john30 am 10 Dezember 2016, 14:34:37
Ja, da hätte sich mal wieder der Blick in wiki gelohnt ;)
Autsch! Getroffen! Das habe ich mir wohl verdient! ;)

Zitat von: john30 am 10 Dezember 2016, 14:34:37
Es genügt hier, in den Default Zeilen (die mit "*r/*w" am Zeilenanfang) die Adresse wegzulassen, dann wir die von ebusd aufgrund der Adresse im Dateinamen befüllt.
...ich (mein Bauchgefühl) wusste doch, dass da was war!  8)

Natürlich habe ich das gleich ausprobiert: die Zieladresse aus den Defaults entfernt und einen Symlink 75.csv -> 35.csv angelegt.
Dann die Konfigurationen neu eingelesen (ebusctl reload) und...  :'(

2016-12-11 11:32:11.031 [main error] error reading scan config file /etc/ebusd/kromschroeder/75.csv for ID "", SW2633, HW0000: ERR: duplicate name


Ich befürchte, dass diese Fehlermeldung von den dann doppelt vergebenen Namen der Nachrichten kommt (weil sie sich noch im selben Cycle befinden).

Ich müsste den Cycle-Namen der Defaults abhängig (vielleicht über eine Condition?) von der Adresse setzen können, dann würde alles funktionieren:


# Conditions - ???
*[Is35],scan,,,SW,35,
*[Is75],scan,,,SW,75,

# Default-Definitionen
# Zieladresse 35 -> cycle = HK1
[Is35]*r,HK1,,,,,"0902",,,,,,,

# Zieladresse 75 -> cycle = HK2
[Is75]*r,HK2,,,,,"0902",,,,,,,

# Parameterdefinitionen
r,,Außen, ,,,,"0c0002",,,temp10,,,Außentemperatur Ist
r,,Kessel, ,,,,"0d0002",,,temp10,,,Kessel Ist


Leider hat das so nicht funktioniert. Sind Conditions für Defaults denn überhaupt möglich?
Und wie sähe denn eine entsprechende Condition aus?
Oder bin ich auf dem Holzweg und es gibt eine einfache Lösung?

Viele Grüße
J0K3r
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 11 Dezember 2016, 13:10:48
Zitat von: J0K3r am 11 Dezember 2016, 12:33:42
Bei Gelegenheit werde ich das ausprobieren und den Quellcode lokal anpassen.
Wirst Du denn diesen neuen Datentyp "TTQ" auch ins Repository einpflegen?  ;D
ist schon drin.

Zitat von: J0K3r am 11 Dezember 2016, 12:33:42
Ich müsste den Cycle-Namen der Defaults abhängig (vielleicht über eine Condition?) von der Adresse setzen können, dann würde alles funktionieren:
ebusd holt sich aus dem Dateinamen auch noch einen optionalen Suffix, z.B. für die Nr. des Heizkreises. Z.B. macht der Symlink 7c.rcc.6.csv -> 75.rcc.csv aus der default circuit "rcc" der 75.rcc.csv dann "rcc.6" für die Adresse 7c.
Ob das auch ohne die ID (im Beispiel "RCC") im Dateinamen klappt, weiß ich grad nicht. Probiers mal.

Zitat von: J0K3r am 11 Dezember 2016, 12:33:42
Leider hat das so nicht funktioniert. Sind Conditions für Defaults denn überhaupt möglich?
Nein, für defaults gibts keine condition.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 11 Dezember 2016, 18:54:55
Hallo John,

ich habe den neuen Typ "TTQ" in die datatype.cpp hineingepatcht und mir einen neuen ebusd kompiliert.
Das hat soweit funktioniert, das Heizprogramm 1 in 35.csv ist bereits umgestellt und im Repository.

Auszug 35.csv - Start und End sind jeweils ein Byte vom Typ TTQ (Uhrzeit in Viertelstunden)

r,,HK1.HP1.Mo.1,Heizprogramm 1 Mo 1 Start/Ende (Anwender 121) ,,,,1014,Start,,TTQ,,,Start ,End,,TTQ,,,Ende
w,,HK1.HP1.Mo.1, ,,,,1014,Start,,TTQ,,,Start ,End,,TTQ,,,Ende
r,,HK1.HP1.Mo.2,Heizprogramm 1 Mo 2 Start/Ende (Anwender 121) ,,,,1114,Start,,TTQ,,,Start ,End,,TTQ,,,Ende
w,,HK1.HP1.Mo.2, ,,,,1114,Start,,TTQ,,,Start ,End,,TTQ,,,Ende
r,,HK1.HP1.Mo.3,Heizprogramm 1 Mo 3 Start/Ende (Anwender 121) ,,,,1214,Start,,TTQ,,,Start ,End,,TTQ,,,Ende
w,,HK1.HP1.Mo.3, ,,,,1214,Start,,TTQ,,,Start ,End,,TTQ,,,Ende


Das Auslesen funktioniert:

pi@raspberrypi:/etc/ebusd $ ebusctl r -f HK1.HP1.Mo.1
13:15;21:30

pi@raspberrypi:/etc/ebusd $ ebusctl r -f -v HK1.HP1.Mo.1
HK1 HK1.HP1.Mo.1 Start=13:15;End=21:30


Das Setzen der Werte bekomme ich allerdings nicht hin:

pi@raspberrypi:/etc/ebusd $ ebusctl w -c HK1 HK1.HP1.Mo.1 13:15;21:30
ERR: end of input reached

-bash: 21:30: Kommando nicht gefunden.


...bestimmt mach ich wieder etwas falsch...  :-X

Zitat von: john30 am 11 Dezember 2016, 13:10:48
ebusd holt sich aus dem Dateinamen auch noch einen optionalen Suffix, z.B. für die Nr. des Heizkreises. Z.B. macht der Symlink 7c.rcc.6.csv -> 75.rcc.csv aus der default circuit "rcc" der 75.rcc.csv dann "rcc.6" für die Adresse 7c.
Ob das auch ohne die ID (im Beispiel "RCC") im Dateinamen klappt, weiß ich grad nicht. Probiers mal.
Nein, für defaults gibts keine condition.
Das Ändern des Circuits anhängig vom Dateinamen/Symlink bzw. das Anhängen eines Suffix an den Heizkreis hat so leider nicht funktioniert. Meine Heizkreisregler melden sich ja leider nicht mit einer ID, somit musste ich den ID-Teil im Dateinamen weglassen.
Da kommt dann so etwas heraus: 35..csv :-\
Das Anhängen eines Suffix hat dann auch nicht funktioniert. Meine Idee war 35..HK1.csv und 75..HK2.csv zu verwenden, der jeweilige Suffix würde den leeren Id-String dann entsprechend nach HK1 und HK2 erweitern.


pi@raspberrypi:/etc/ebusd $ ebusctl info
version: ebusd 2.3.24d8e75
... schnipp ...
address 35: slave #3, scanned "MF=Kromschroeder;ID=;SW=2633;HW=0000", loaded "kromschroeder/35.csv"
address 75: slave #4, scanned "MF=Kromschroeder;ID=;SW=2633;HW=0000", loaded "kromschroeder/75.csv"


Naja...  :'(
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 11 Dezember 2016, 20:31:12
Zitat von: J0K3r am 11 Dezember 2016, 18:54:55
ich habe den neuen Typ "TTQ" in die datatype.cpp hineingepatcht und mir einen neuen ebusd kompiliert.
das hättest Du gar nicht müssen, ein einfaches git pull hätte genügt.

Zitat von: J0K3r am 11 Dezember 2016, 18:54:55
Das Setzen der Werte bekomme ich allerdings nicht hin:

pi@raspberrypi:/etc/ebusd $ ebusctl w -c HK1 HK1.HP1.Mo.1 13:15;21:30
ERR: end of input reached
-bash: 21:30: Kommando nicht gefunden.

Da Du in der Kommandozeile bist, musst Du wegen des Strichpunkts den Werte-Teil in Anführungszeichen setzen.

Zitat von: J0K3r am 11 Dezember 2016, 18:54:55
Das Ändern des Circuits anhängig vom Dateinamen/Symlink bzw. das Anhängen eines Suffix an den Heizkreis hat so leider nicht funktioniert. Meine Heizkreisregler melden sich ja leider nicht mit einer ID, somit musste ich den ID-Teil im Dateinamen weglassen.
Da kommt dann so etwas heraus: 35..csv :-\
Das Anhängen eines Suffix hat dann auch nicht funktioniert. Meine Idee war 35..HK1.csv und 75..HK2.csv zu verwenden, der jeweilige Suffix würde den leeren Id-String dann entsprechend nach HK1 und HK2 erweitern.
Der Suffix ist maximal eine Zahl, also mit ".HK" geht es sicher nicht.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 12 Dezember 2016, 15:53:27
Zitat von: john30 am 11 Dezember 2016, 20:31:12
das hättest Du gar nicht müssen, ein einfaches git pull hätte genügt.
Sicher?  :-X

...bin zwar nicht der git-Experte, aber in datatype.cpp finde ich auch nach dem git pull besagten Typ "TTQ" nicht...  :o
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 12 Dezember 2016, 16:55:21
Zitat von: john30 am 11 Dezember 2016, 20:31:12
Da Du in der Kommandozeile bist, musst Du wegen des Strichpunkts den Werte-Teil in Anführungszeichen setzen.

OK - wieder was gelernt!  ;D

So geht's:

pi@raspberrypi:/etc/ebusd $ ebusctl w -c HK1 HK1.HP1.Mo.1 "13:15;21:30"
done

pi@raspberrypi:/etc/ebusd $ ebusctl r -f HK1.HP1.Mo.1
13:15;21:30


Ich war fleisig und habe alle Programme in der 35.csv auf den Datentyp "TTQ" umgestellt und ins Repository gepusht. Puh!  ::)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 16 Dezember 2016, 16:14:02
@John: Ich habe mich mit dem Problem beschäftigt, dass bei meinem Aufbau nur jede x-te Antwort der 0902-Nachrichten Werte enthält.

Und bin zu folgender Erkenntnis gelangt:
Der Dienst (0902) ist korrekt, meine EEPROM-Adressen stimmen.
Also muss es an der Anbindung zum eBus liegen!

Mein Verdacht ist, dass es an meinem eBus-Koppler liegt: ich habe ja einen mit Ethernet-Schnittstelle.
Ich könnte mir vorstellen, dass die Zeitverzögerung von ebusd über Ethernet zum eBus-Koppler und zurück zum Problem wird!

Das passive Mithören der Nachrichten zwischen den Reglern funktioniert bei mir ja problemlos.
Doch möchte der ebusd selbst senden, was bei den 0902-Nachrichten der Fall ist, dann muss er sich ja irgendwie auf den Bus aufsynchronisieren. Ich vermute, dass dabei wegen der Verzögerung etwas aus dem Takt läuft.

Was ist Deine Meinung dazu, hast Du Erfahrung mit dem eBus-Koppler Ethernet von eService-online?
https://www.eservice-online.de/shop/ebus/142/ebus-koppler-ethernet (https://www.eservice-online.de/shop/ebus/142/ebus-koppler-ethernet)

Oder liegt es an einem Parameter des ebusd?

/etc/default/ebusd

EBUSD_OPTS="--nodevicecheck --scanconfig --device=192.168.0.21:5000 --latency=10000 --receivetimeout=25000 --loglevel=notice --enablehex --lograwdatafile=/var/log/ebusrawdata.log --httpport=8001"
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 17 Dezember 2016, 13:54:39
Zitat von: J0K3r am 12 Dezember 2016, 15:53:27
Sicher?  :-X

...bin zwar nicht der git-Experte, aber in datatype.cpp finde ich auch nach dem git pull besagten Typ "TTQ" nicht...  :o
Da hab ich vermutlich den push vergessen, sorry
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 17 Dezember 2016, 13:58:03
[quote author=J0K3r link=topic=61017.msg540892#msg540892 date=1481901242]
Doch möchte der ebusd selbst senden, was bei den 0902-Nachrichten der Fall ist, dann muss er sich ja irgendwie auf den Bus aufsynchronisieren. Ich vermute, dass dabei wegen der Verzögerung etwas aus dem Takt läuft.

Was ist Deine Meinung dazu, hast Du Erfahrung mit dem eBus-Koppler Ethernet von eService-online?

[/quote]
Erhöhe doch mal die Latenz (--latency) locker auf 80000. Damit klappts mit meinem billig-ETH2USB Adapter ganz gut.
Ansonsten musst Du mal kurz "raw" absetzen und das Timing genau anschauen, wenn ebusd aktiv was lesen will. Dann kann man die Latenz entsprechend einstellen.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 17 Dezember 2016, 14:52:57
Heureka!?  ;D

Kann es sein, dass es an der eBus-Adresse des ebusd liegt, dass die 0902-Requests nicht funktionieren?  :o

Starte ich den ebusd mit eBus-Adresse 0xFF, dann bekomme ich immer eine gültige Antwort!  ::)

Wie sieht das denn beim eBus eigentlich mit der Arbitrierung aus?
Normalerweise wird der ebusd ja mit Master-Adresse 0x31 gestartet; übernimmt da vielleicht ein anderes Gerät mit höherer Adresse das Kommando und versaut mir meinen Request!?  8)
Kann der ebusd diesen Fall behandeln?

Die Adresse 0xFF ist laut Spezifikation für den Master 25 "PC" mit Prioritätenklasse 4 vorgesehen.
Die Adresse 0x31 ist laut Spezifikation für den Master 8 "Businterface" mit Prioritätenklasse 1 vorgesehen.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 17 Dezember 2016, 15:06:06
Zitat von: J0K3r am 17 Dezember 2016, 14:52:57
Starte ich den ebusd mit eBus-Adresse 0xFF, dann bekomme ich immer eine gültige Antwort!  ::)
Interessant. Schau mal im ebusd Log nach, ob da ein Adresskonflikt drin steht (error "own [slave/master] address XX ist used by another participant).

Zitat von: J0K3r am 17 Dezember 2016, 14:52:57
Wie sieht das denn beim eBus eigentlich mit der Arbitrierung aus?
Gut, es wird arbitriert. Wenn allerdings die Adresse von einem anderen Gerät benutzt wird, kommt alles schön durcheinander...
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 18 Dezember 2016, 15:16:54
Hallo John, hallo Welt!  :)

Nun habe ich sehr viel herumprobiert und möchte meine Vermutungen/Erkenntnisse teilen und zur Diskussion stellen.  :-[

Adresskonflikte kann ich ausschließen - es gibt weder verdächtige Einträge in der Log-Datei, noch bei der Ausgabe von ebusctl info und ich kenne mein System ja mittlerweile.

Da ich sämtliche freien Adressen mit allen Prioritäten von 0 bis 4  für den ebusd ausprobiert habe, schließe ich ein Arbitrierungsproblem ebenfalls aus.

Verlässliche Antworten auf meine 0902-Requests gibt es von den Heizkreisreglern (0x35, 0x75) nur dann, wenn die Anfragen von Master 1 mit Adresse 0x00 (Master 1 PC/Modem) oder Master 25 mit Adresse 0xFF (Master 25 PC) kommen.

Deshalb vermute ich, dass die Heizkreisregler einfach so programmiert sind, dass sie nur auf diese beiden Adressen vernünftig antworten.  8)

Die Weishaupt-Diagnosesoftware "WCMDiagnose" verwendet übrigens auch die Adresse 0xFF für die Parameteranfragen.

Jetzt stellt sich mir nur noch die Frage, ob ich den ebusd mit Adresse 0x00 oder 0xFF betreiben soll.
Ist die Adresse 0x00 nicht die, die jeden Arbitrierungswettstreit gewinnen würde? Damit könnte ich den Standard-eBus-Verkehr durcheinander bringen, oder?
John, was meinst Du?
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 22 Dezember 2016, 11:46:35
Zitat von: J0K3r am 18 Dezember 2016, 15:16:54
Jetzt stellt sich mir nur noch die Frage, ob ich den ebusd mit Adresse 0x00 oder 0xFF betreiben soll.
Ist die Adresse 0x00 nicht die, die jeden Arbitrierungswettstreit gewinnen würde? Damit könnte ich den Standard-eBus-Verkehr durcheinander bringen, oder?
Ich würde in der Tat eher 0xff verwenden, damit ebusd den Rest des Systems nicht stört.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 22 Dezember 2016, 16:35:44
Hallo John!  :D

Zitat von: john30 am 22 Dezember 2016, 11:46:35
Ich würde in der Tat eher 0xff verwenden, damit ebusd den Rest des Systems nicht stört.

So werde ich das machen, vielen Dank!  :)

Zitat von: john30 am 11 Dezember 2016, 13:10:48
ebusd holt sich aus dem Dateinamen auch noch einen optionalen Suffix, z.B. für die Nr. des Heizkreises. Z.B. macht der Symlink 7c.rcc.6.csv -> 75.rcc.csv aus der default circuit "rcc" der 75.rcc.csv dann "rcc.6" für die Adresse 7c.
Ob das auch ohne die ID (im Beispiel "RCC") im Dateinamen klappt, weiß ich grad nicht. Probiers mal.
Nein, das geht (ohne Änderung im Quellcode) nicht!

Ich habe mich intensiv mit Deinem Quellcode auseinandergesetzt und bin dabei der Frage nachgegangen, warum das Setzen eines default circuits ohne ID im Dateinamen (Bsp.: 35..hk1.csv) nicht funktioniert.
Das Problem und gleichzeitig die Lösung findet sich in der statischen Funktion extractDefaultsFromFilename (Zeile 356 in filereader.h).

https://github.com/john30/ebusd/blob/master/src/lib/ebus/filereader.h#L356 (https://github.com/john30/ebusd/blob/master/src/lib/ebus/filereader.h)

354 if (name.length()>1) {
355   pos = name.find('.', 1); // check for ".IDENT."
356   if (pos!=string::npos && pos>2 && pos<=6) { // up to 5 chars between two "."s, immediately after "ZZ."
357     ident = circuit = name.substr(1, pos-1);

Hier prüfst Du eine Mindeslänge für den ID-String ab: pos>2 bei einem Startposition von 1 - also mindestens 2 Zeichen.
Ist diese Bedingung nicht erfüllt, wird anschließend weder auf einen CIRCUIT noch auf einen SUFFIX geprüft und damit keine defaults gesetzt.

Ich habe den Code wie folgt gepatcht: pos>=1 -  damit waren meine ganzen Sorgen weg!  8)

354 if (name.length()>1) {
355   pos = name.find('.', 1); // check for ".IDENT."
356   if (pos!=string::npos && pos>=1 && pos<=6) { // up to 5 chars between two "."s, immediately after "ZZ."
357     ident = circuit = name.substr(1, pos-1);


Was hälst Du davon, so eine Änderung in Deinen Quellen vorzunehmen?
Mach mich glücklich!  ;D
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 27 Dezember 2016, 11:04:04
Zitat von: J0K3r am 22 Dezember 2016, 16:35:44
Mach mich glücklich!  ;D
werde ich tun :-)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 29 Dezember 2016, 15:00:08
Hallo John!  :)

Zitat von: john30 am 27 Dezember 2016, 11:04:04
werde ich tun :-)
...und ich freu mich drauf!  ;D

Und ich komme wieder mit einer ganz speziellen Frage:
Gerade habe ich die Definitionen für den Fehlerspeicher gemacht (errorhistory.inc).
Der Fehlerspeicher an sich besteht aus sechs Fehlereinträgen mit jeweils zehn Feldern, in denen der Systemzustand zum jeweiligen Fehlerzeitpunkt festgehalten wird.
Leider ist es nicht so, dass ich einfach sechs gleich aufgebaute Telegramme definieren kann, die sich lediglich in der ID unterscheiden.  ::)
Nein, es muss ein ganzer Speicherbereich ausgelesen werden, verteilt auf sechs Telegramme. Natürlich sind die Fehler-Strukturen innerhalb der sechs Telegramme verschoben...  :-[

Da ich Dein Wiki quasi auswendig aufsagen kann  :-*, weiß ich, dass es da doch etwas gibt: Message Chaining!  8)
Damit könnte ich mit nur einem Aufruf à la ebusctl r -f ErrorHistory den kompletten Fehlerspeicher auslesen und hätte leichten Zugriff auf die einzelnen Felder.

Hier ist ein Auszug der jetzigen Definitionen:

r,,ErrorHistory1,Fehlerhistorie ,,,,"03029F8263",,s,skip,,, ,,s,UCH,,,Byte2 ,E4.ErrorCode,s,UCH,,,Fehlercode ,E4.OperatingPhase,s,operatingphase,,,Betriebsphase ,E4.LoadSetting,s,UCH,,,Ladestellung ,E4.SettingUV,s,settingUV,,,Stellung UV ,E4.SupplyTemp,s,temp0,,,Vorlauftemperatur ,E4.FlueGasTemp,s,temp0,,,Abgastemperatur ,IonisationSignal,s,UCH,,,Ionisationssignal ,E4.ExternalTemp,s,temp0,,,Außentemperatur ,E4.DHWTemp,s,temp0,,,WW-Temperatur
r,,ErrorHistory2,Fehlerhistorie ,,,,"A8B26C",,s,skip,,, ,E4.ThroughputValue,s,UCH,,,Durchflusswert ,E3.ErrorCode,s,UCH,,,Fehlercode ,E3.OperatingPhase,s,operatingphase,,,Betriebsphase ,E3.LoadSetting,s,UCH,,,Ladestellung ,E3.SettingUV,s,settingUV,,,Stellung UV ,E3.SupplyTemp,s,temp0,,,Vorlauftemperatur ,E3.FlueGasTemp,s,temp0,,,Abgastemperatur ,E3.IonisationSignal,s,UCH,,,Ionisationssignal ,E3.ExternalTemp,s,temp0,,,Außentemperatur ,E3.DHWTemp,s,temp0,,,WW-Temperatur ,E3.ThroughputValue,s,UCH,,,Durchflusswert ,E2.ErrorCode,s,UCH,,,Fehlercode


Schön wäre etwas in dieser Richtung (man beachte die durch Semikolon getrennten IDs der beiden Telegramme)

#r,,ErrorHistory,Fehlerhistorie ,,,,03029F8263;A8B26C,,s,skip,,, ,,s,UCH,,,Byte2 ,E4.ErrorCode,s,UCH,,,Fehlercode ,E4.OperatingPhase,s,operatingphase,,,Betriebsphase ,E4.LoadSetting,s,UCH,,,Ladestellung ,E4.SettingUV,s,settingUV,,,Stellung UV ,E4.SupplyTemp,s,temp0,,,Vorlauftemperatur ,E4.FlueGasTemp,s,temp0,,,Abgastemperatur ,IonisationSignal,s,UCH,,,Ionisationssignal ,E4.ExternalTemp,s,temp0,,,Außentemperatur ,E4.DHWTemp,s,temp0,,,WW-Temperatur ,,s,skip,,, ,E4.ThroughputValue,s,UCH,,,Durchflusswert ,E3.ErrorCode,s,UCH,,,Fehlercode ,E3.OperatingPhase,s,operatingphase,,,Betriebsphase ,E3.LoadSetting,s,UCH,,,Ladestellung ,E3.SettingUV,s,settingUV,,,Stellung UV ,E3.SupplyTemp,s,temp0,,,Vorlauftemperatur ,E3.FlueGasTemp,s,temp0,,,Abgastemperatur ,E3.IonisationSignal,s,UCH,,,Ionisationssignal ,E3.ExternalTemp,s,temp0,,,Außentemperatur ,E3.DHWTemp,s,temp0,,,WW-Temperatur ,E3.ThroughputValue,s,UCH,,,Durchflusswert ,E2.ErrorCode,s,UCH,,,Fehlercode

Sollte das so funktionieren? Im Wiki-Beispiel verwendest Du IDs, die nur aus einem Byte bestehen.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 29 Dezember 2016, 18:09:38
Hallo John!

...und noch ein Problem: :o
Ich habe in einem Telegramm einen Integer-Wert, der aus 3 Bytes besteht, beginnend mit dem Low-Byte: "C6 95 01" -> 103878
Das sind die Betriebsstunden.

...in datatype.cpp habe ich nichts passendes mit 24Bit gefunden...

Intuitiv habe ich ULG:3 probiert...  :-[
...was aber nicht funktioniert hat.

Gibt es dafür denn einen passenden Datentyp?
Oder irgendeine andere Möglichkeit, den passenden Typ zu generieren?
Oder ist die einzige Option, weitere 24Bit-Integer-Typen grundsätzlich einzuführen?  :'(

Dann habe ich noch eine Drehzahl, die in 60stel angegeben ist.
Die Field-Templates lassen einen Divisor zu, jedoch keinen Multiplikator.
Natürlich ging mein Versuch mit einem Divisor von 0.016 schief...  ::)

Wäre es nicht ungemein nützlich, allgemein Brüche in der Form "Z/N" in das Feld für den Divisor eingeben zu können?

_templates.csv

crpm60,UCH,60/1,Rpm,Drehzahl

Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 01 Januar 2017, 15:41:43
Zitat von: J0K3r am 29 Dezember 2016, 15:00:08
...und ich freu mich drauf!  ;D
So, das ist nun drin, happy new year :)

Zitat von: J0K3r am 29 Dezember 2016, 15:00:08
Sollte das so funktionieren? Im Wiki-Beispiel verwendest Du IDs, die nur aus einem Byte bestehen.
IDs mit Länge größer 1 werden beim Chaining schon unterstützt, aber unterschiedliche Längen nicht. Da muss ich also im Moment sagen: geht nicht.
Das umzubauen ist bisschen schwierig, weil die chain IDs eh schon völlig aus der Reihe fallen. Da müsste man sich dann was eleganteres einfallen lassen. Daher im Moment nicht auf meiner Roadmap, aber Du kannst ja ein issue dafür aufmachen, dann fälltst nicht runter.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 01 Januar 2017, 15:47:27
Zitat von: J0K3r am 29 Dezember 2016, 18:09:38
Ich habe in einem Telegramm einen Integer-Wert, der aus 3 Bytes besteht, beginnend mit dem Low-Byte: "C6 95 01" -> 103878
Das sind die Betriebsstunden.
Gibt es dafür denn einen passenden Datentyp?
Oder ist die einzige Option, weitere 24Bit-Integer-Typen grundsätzlich einzuführen?  :'(
Dafür bräuchte es wieder einen neuen Basis-Datentyp. Ist kein Problem. Vorschläge für nen Namen?
Spontan hätte ich 3BY/3BR oder TBY/TBR genommen für "3/three byte", aber so doll find ichs nicht.
EDIT: Nochmal drüber nachgedacht. Schlage U3N/U3R/S3N/S3R vor.

Zitat von: J0K3r am 29 Dezember 2016, 18:09:38
Dann habe ich noch eine Drehzahl, die in 60stel angegeben ist.
Die Field-Templates lassen einen Divisor zu, jedoch keinen Multiplikator.
Doch tun sie, die Schreibweise ist nur alles andere als intuitiv: negativer Divisor = Multiplikator.
Also für Faktor 60 einfach -60 hinschreiben.
Das wollte ich schon lange mal von der Syntax umstellen, aber wie das halt so ist...

Zitat von: J0K3r am 29 Dezember 2016, 18:09:38
Wäre es nicht ungemein nützlich, allgemein Brüche in der Form "Z/N" in das Feld für den Divisor eingeben zu können?
Ja, aber dann müsste man das wieder in der Implementierun so durchziehen. Momentan ist der Divisor ein einfaches int (positiv für Teiler und negativ für Faktor). Mit double könnte man alles abbilden, aber dann kommen Rundungsthemen zum Vorschein...
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 02 Januar 2017, 11:21:56
Hallo John  :)

Zitat von: john30 am 01 Januar 2017, 15:41:43
So, das ist nun drin, happy new year :)
Vielen Dank und auch Dir ein frohes Neues!  :D

Zitat von: john30 am 01 Januar 2017, 15:41:43
Das umzubauen ist bisschen schwierig, weil die chain IDs eh schon völlig aus der Reihe fallen. Da müsste man sich dann was eleganteres einfallen lassen. Daher im Moment nicht auf meiner Roadmap, aber Du kannst ja ein issue dafür aufmachen, dann fälltst nicht runter.
Ist erledegt.  8)

Zitat von: john30 am 01 Januar 2017, 15:47:27
Dafür bräuchte es wieder einen neuen Basis-Datentyp. Ist kein Problem. Vorschläge für nen Namen?
Spontan hätte ich 3BY/3BR oder TBY/TBR genommen für "3/three byte", aber so doll find ichs nicht.
EDIT: Nochmal drüber nachgedacht. Schlage U3N/U3R/S3N/S3R vor.

Habe ebusd abgerufen und neu gebaut: alles funktioniert super - die Benamsung der 24-Bit Integer ist genau richtig, entspricht dem Schema, das Du bisher auch verwendet hast. Super  :D

Zitat von: john30 am 01 Januar 2017, 15:47:27
Doch tun sie, die Schreibweise ist nur alles andere als intuitiv: negativer Divisor = Multiplikator.
Also für Faktor 60 einfach -60 hinschreiben.
Hab ich das tatsächlich im Wiki überlesen!? :-[
Aber: es tut wie es soll. Auch super!

Zitat von: john30 am 01 Januar 2017, 15:47:27
Das wollte ich schon lange mal von der Syntax umstellen, aber wie das halt so ist...
Ja, aber dann müsste man das wieder in der Implementierun so durchziehen. Momentan ist der Divisor ein einfaches int (positiv für Teiler und negativ für Faktor). Mit double könnte man alles abbilden, aber dann kommen Rundungsthemen zum Vorschein...
Nein, double wäre keine gute Lösung. Wenn man das implementieren wollte, dann sollte man schon bei einem Integer-Bruch bleiben.
Abwärts-kompatibel möchtest Du bestimmt auch sein...
Hmm... dann müsste man eine Definition machen, wie man im Divider-Feld einen Bruch angeben kann. Vielleicht geklammert?

crpm60,UCH,(1/60),Rpm,Drehzahl
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 06 Januar 2017, 17:08:26
So, ich möchte den aktuellen Stand festhalten.  ???

Es geht um die Telegramme mit dem Dienst 5000. Diese Telegramme werden verwendet, um Werte aus dem WTC auszulesen; beispielsweise die Fehlerhistorie.
Die Fehlerhistorie wird, verteilt auf insgesamt sechs Telegramme, als Block ausgelesen. Der Aufbau der einzelnen Telegramme unterscheidet sich leider.

Die aktuelle Definition sieht folgendermaßen aus:

# type (r;w;u;1-9),class,name,comment,QQ,ZZ,PBSB,ID,field1,part (m;s),type / templates,divider / values,unit,comment,field2,part (m;s),type / templates,divider / values,unit,comment,field3,part (m;s),type / templates,divider / values,unit,comment,field4,part (m;s),type / templates,divider / values,unit,comment,field5,part (m;s),type / templates,divider / values,unit,comment,field6,part (m;s),type / templates,divider / values,unit,comment,field7,part (m;s),type / templates,divider / values,unit,comment,field8,part (m;s),type / templates,divider / values,unit,comment
*r,,,,,,"5000",,,,,,,
r,,ErrorHistory1,Fehlerhistorie ,,,,"03029F8263",,s,skip,,, ,,s,UCH,,,Byte2 ,E4.ErrorCode,s,UCH,,,Fehlercode ,E4.OperatingPhase,s,operatingphase,,,Betriebsphase ,E4.LoadSetting,s,UCH,,,Ladestellung ,E4.SettingUV,s,settingUV,,,Stellung UV ,E4.SupplyTemp,s,ctemp1,,,Vorlauftemperatur ,E4.FlueGasTemp,s,ctemp1,,,Abgastemperatur ,IonisationSignal,s,UCH,,,Ionisationssignal ,E4.ExternalTemp,s,ctemp1,,,Außentemperatur ,E4.DHWTemp,s,ctemp1,,,WW-Temperatur
r,,ErrorHistory2,Fehlerhistorie ,,,,"A8B26C",,s,skip,,, ,E4.ThroughputValue,s,UCH,,,Durchflusswert ,E3.ErrorCode,s,UCH,,,Fehlercode ,E3.OperatingPhase,s,operatingphase,,,Betriebsphase ,E3.LoadSetting,s,UCH,,,Ladestellung ,E3.SettingUV,s,settingUV,,,Stellung UV ,E3.SupplyTemp,s,ctemp1,,,Vorlauftemperatur ,E3.FlueGasTemp,s,ctemp1,,,Abgastemperatur ,E3.IonisationSignal,s,UCH,,,Ionisationssignal ,E3.ExternalTemp,s,ctemp1,,,Außentemperatur ,E3.DHWTemp,s,ctemp1,,,WW-Temperatur ,E3.ThroughputValue,s,UCH,,,Durchflusswert ,E2.ErrorCode,s,UCH,,,Fehlercode
r,,ErrorHistory3,Fehlerhistorie ,,,,"BCB278",,s,skip,,, ,E2.OperatingPhase,s,operatingphase,,,Betriebsphase ,E2.LoadSetting,s,UCH,,,Ladestellung ,E2.SettingUV,s,settingUV,,,Stellung UV ,E2.SupplyTemp,s,ctemp1,,,Vorlauftemperatur ,E2.FlueGasTemp,s,ctemp1,,,Abgastemperatur ,E2.IonisationSignal,s,UCH,,,Ionisationssignal ,E2.ExternalTemp,s,ctemp1,,,Außentemperatur ,E2.DHWTemp,s,ctemp1,,,WW-Temperatur ,E2.ThroughputValue,s,UCH,,,Durchflusswert ,E1.ErrorCode,s,UCH,,,Fehlercode ,E1.OperatingPhase,s,operatingphase,,,Betriebsphase ,E1.LoadSetting,s,UCH,,,Ladestellung
r,,ErrorHistory4,Fehlerhistorie ,,,,"40B284",,s,skip,,, ,E1.SettingUV,s,settingUV,,,Stellung UV ,E1.SupplyTemp,s,ctemp1,,,Vorlauftemperatur ,E1.FlueGasTemp,s,ctemp1,,,Abgastemperatur ,E1.IonisationSignal,s,UCH,,,Ionisationssignal ,E1.ExternalTemp,s,ctemp1,,,Außentemperatur ,E1.DHWTemp,s,ctemp1,,,WW-Temperatur ,E1.ThroughputValue,s,UCH,,,Durchflusswert ,E6.ErrorCode,s,UCH,,,Fehlercode ,E6.OperatingPhase,s,operatingphase,,,Betriebsphase ,E6.LoadSetting,s,UCH,,,Ladestellung ,E6.SettingUV,s,settingUV,,,Stellung UV ,E6.SupplyTemp,s,ctemp1,,,Vorlauftemperatur
r,,ErrorHistory5,Fehlerhistorie ,,,,"54B290",,s,skip,,, ,E6.FlueGasTemp,s,ctemp1,,,Abgastemperatur ,E6.IonisationSignal,s,UCH,,,Ionisationssignal ,E6.ExternalTemp,s,ctemp1,,,Außentemperatur ,E6.DHWTemp,s,ctemp1,,,WW-Temperatur ,E6.ThroughputValue,s,UCH,,,Durchflusswert ,E5.ErrorCode,s,UCH,,,Fehlercode ,E5.OperatingPhase,s,operatingphase,,,Betriebsphase ,E5.LoadSetting,s,UCH,,,Ladestellung ,E5.SettingUV,s,settingUV,,,Stellung UV ,E5.SupplyTemp,s,ctemp1,,,Vorlauftemperatur ,E5.FlueGasTemp,s,ctemp1,,,Abgastemperatur ,E5.IonisationSignal,s,UCH,,,Ionisationssignal
r,,ErrorHistory6,Fehlerhistorie ,,,,"18229C",,s,skip,,, ,E5.ExternalTemp,s,ctemp1,,,Außentemperatur ,E5.DHWTemp,s,ctemp1,,,WW-Temperatur


Vielleicht wäre es vorteilhaft, die Telegramme selbst neu zu definieren, damit sie gleich aufgebaut sind...  8)
Dazu hier das Knowhow! :-*

Um die Telegramme zu verstehen und dekodieren zu können, habe ich folgende Annahme getroffen:
Unter der Vorraussetzung, dass es sich tatsächlich um einen Speicher-Block handelt, der ausgelesen werden soll, muss folglich im Request-Teil des Telegramms irgendwo eine Länge und eine Startadresse stehen. Die Startadresse des folgenden Telegramms sollte sich dann aus der Startadresse des vorherigen plus dessen ausgelesene Länge ergeben.

Die Länge der Telegramme ist bereits bekannt.

Schaut man sich den Identifier-Teil der Telegrammdefinitionen lange genug an, dann springt einem zumindest ein Teil der Lösung quasi an:
Man darf keine Bytes betrachten, sondern muss Halb-Bytes, also die Nibbles verwenden!
Die letzten drei Nibbles enthalten die Startadresse, das Nibble davor die Länge des auszulesenden Speicherbereichs (wobei ein Längen-Wert von 0 ein nutzbares Byte in der Anwort liefert).


ToDo: Das Byte davor wiederum muss ein Check-Byte sein, dessen Wert sich irgendwie ergibt.

Um meine These zu bestätigen, habe ich mir ein Skript erstellt, das bei vorgegebener Startadresse und Länge das Check-Byte so lange durchprobiert, bis eine Antwort vom WTC kommt.
Als Adressbereich habe ich den bekannten Bereich der Fehlerhistorie verwendet, um auch das Ergebnis validieren zu können.

Ein Aufruf sieht dann beispielsweise so aus:

pi@raspberrypi:~ $ ebusctl hex 0850000393129b
03000b04


Jetzt gilt es nur noch, den Algorithmus für den Check-Wert zu finden. Hier eine Tabelle mit verschiedenen Aufrufen und passendem Check-Byte:




























SrvLenChkLenAdrResponse
50000323029B02000B
50000393129B03000B04
5000031F229B04000B0433
500003AF329B05000B0433E4
50000324029C020004
50000394129C03000433
50000318229C04000433E4
500003A8329C05000433E406
5000035C429C06000433E40600
500003EC529C07000433E4060000
50000360629C08000433E406000000
500003D0729C09000433E40600000092

Ein weiteres Rätsel ist der Aufbau der ersten Telegrammdefinition "03029F8263" - werden hier zwei Speicherbereiche ausgelesen?
0 (also ein Byte) ab Adresse 29F und 8 (also 9 nutzbare Byte) ab Adresse 263 mit Check-Byte 03?

Hat jemand eine Idee, wie das Check-Byte berechnet wird?
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 07 Januar 2017, 17:59:06
Berechnung des Check-Bytes

Ich wage zu behaupten, dass das Check-Byte ein CRC8 mit Polynom 0x5C ist.

Als Beispiel muss folgender Aufruf herhalten:


pi@raspberrypi:~ $ ebusctl hex 0850000327029F


Es gilt, das Check-Byte (0x27) aus den zwei Byte Länge+Adresse (0x029F) zu berechnen.

Hier eine sog. Lookup Table für das Polynom 0x5C

Lookup Table:
0x00 0x5C 0xB8 0xE4 0x2C 0x70 0x94 0xC8 0x58 0x04 0xE0 0xBC 0x74 0x28 0xCC 0x90
0xB0 0xEC 0x08 0x54 0x9C 0xC0 0x24 0x78 0xE8 0xB4 0x50 0x0C 0xC4 0x98 0x7C 0x20
0x3C 0x60 0x84 0xD8 0x10 0x4C 0xA8 0xF4 0x64 0x38 0xDC 0x80 0x48 0x14 0xF0 0xAC
0x8C 0xD0 0x34 0x68 0xA0 0xFC 0x18 0x44 0xD4 0x88 0x6C 0x30 0xF8 0xA4 0x40 0x1C
0x78 0x24 0xC0 0x9C 0x54 0x08 0xEC 0xB0 0x20 0x7C 0x98 0xC4 0x0C 0x50 0xB4 0xE8
0xC8 0x94 0x70 0x2C 0xE4 0xB8 0x5C 0x00 0x90 0xCC 0x28 0x74 0xBC 0xE0 0x04 0x58
0x44 0x18 0xFC 0xA0 0x68 0x34 0xD0 0x8C 0x1C 0x40 0xA4 0xF8 0x30 0x6C 0x88 0xD4
0xF4 0xA8 0x4C 0x10 0xD8 0x84 0x60 0x3C 0xAC 0xF0 0x14 0x48 0x80 0xDC 0x38 0x64
0xF0 0xAC 0x48 0x14 0xDC 0x80 0x64 0x38 0xA8 0xF4 0x10 0x4C 0x84 0xD8 0x3C 0x60
0x40 0x1C 0xF8 0xA4 0x6C 0x30 0xD4 0x88 0x18 0x44 0xA0 0xFC 0x34 0x68 0x8C 0xD0
0xCC 0x90 0x74 0x28 0xE0 0xBC 0x58 0x04 0x94 0xC8 0x2C 0x70 0xB8 0xE4 0x00 0x5C
0x7C 0x20 0xC4 0x98 0x50 0x0C 0xE8 0xB4 0x24 0x78 0x9C 0xC0 0x08 0x54 0xB0 0xEC
0x88 0xD4 0x30 0x6C 0xA4 0xF8 0x1C 0x40 0xD0 0x8C 0x68 0x34 0xFC 0xA0 0x44 0x18
0x38 0x64 0x80 0xDC 0x14 0x48 0xAC 0xF0 0x60 0x3C 0xD8 0x84 0x4C 0x10 0xF4 0xA8
0xB4 0xE8 0x0C 0x50 0x98 0xC4 0x20 0x7C 0xEC 0xB0 0x54 0x08 0xC0 0x9C 0x78 0x24
0x04 0x58 0xBC 0xE0 0x28 0x74 0x90 0xCC 0x5C 0x00 0xE4 0xB8 0x70 0x2C 0xC8 0x94


Hier etwas Pseudo-Code...

// Funktionsdefinition: Lookup mit aktuellem CRC-Wert und XOR mit neuem Wert ergibt CRC-Wert
void AddCRC(Byte value)
{
  m_crc = CRC_LOOKUP_TABLE[m_crc]^value;
}


// Berechnung mit 0x029F
m_crc = 0 // Initialisierung

// Aufruf mit erstem Byte
AddCRC(0x02)
// -> CRC_LOOKUP_TABLE[0x00] -> 0x00
// -> 0x00 ^ 0x02 -> m_crc = 0x02

// Aufruf mit zweitem Byte
AddCRC(0x9F)
// -> CRC_LOOKUP_TABLE[0x02] -> 0xB8
// -> 0xB8 ^ 0x9F -> m_crc = 0x27


Und das Ergebnis passt!  ::)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 08 Januar 2017, 18:14:28
Zitat von: J0K3r am 07 Januar 2017, 17:59:06
Ich wage zu behaupten, dass das Check-Byte ein CRC8 mit Polynom 0x5C ist.
gute Arbeit! Hatte mich auch kurz mit ner CRC befasst, aber bin nicht auf das richtige Polynom gekommen :)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 14 Januar 2017, 16:07:20
Hallo  :)

Ich habe ein Shell-Script ebuscrc entwickelt, das die CRC8-Berechnung mit dem Weishaupt-Polynom 0x5C für beliebige Eingaben von Hex-Werten durchführt.

Damit kann man sich das fehlende Check-Byte errechnen lassen, beispielsweise wenn man eine neue Telegrammdefinition für den Dienst 5000 erstellt:

Abfrage eines Blocks von 4 Bytes (->3) an Adresse 0x29C ergibt einen Len/Adr-Teil von 329C.
Mit dem Shell-Script erzeugt man sich die Werte inklusive Check-Byte.

pi@raspberrypi:~ $ ebuscrc 329C
A8329C


Der Aufruf mit ebusctl sieht dann so aus

pi@raspberrypi:~ $ ebusctl hex 08500003A8329C
0500052ee402


Oder man baut die CRC-Berechnung direkt in den Aufruf von ebusctl ein:

pi@raspberrypi:~ $ ebusctl hex 08500003"$(ebuscrc 329C)"
0500052ee402


Wichtig ist, dass das Script von der Shell auch gefunden wird - es muss im Suchpfad sein.
Beispielsweise - wie auch ebusd, ebusctl, ebusfeed - im Verzeichnis /usr/bin.

Shell-Script ebuscrc
https://github.com/J0EK3R/ebusd-tools/blob/master/ebuscrc (https://github.com/J0EK3R/ebusd-tools/blob/master/ebuscrc)

#!/bin/bash
# this shellscript calculates a CRC8-value of a given hex-string with a CRC-polynome of value 0x5C
# usage: ebuscrc b268 -> ACB268
#
# usage within ebuctl-command:
# ebusctl hex 08500003"$(ebuscrc b268)" -> ebusctl hex 08500003ACB268

# CRC-lookuptable for polynom 0x5C
lookuptable=(
0x00 0x5C 0xB8 0xE4 0x2C 0x70 0x94 0xC8 0x58 0x04 0xE0 0xBC 0x74 0x28 0xCC 0x90
0xB0 0xEC 0x08 0x54 0x9C 0xC0 0x24 0x78 0xE8 0xB4 0x50 0x0C 0xC4 0x98 0x7C 0x20
0x3C 0x60 0x84 0xD8 0x10 0x4C 0xA8 0xF4 0x64 0x38 0xDC 0x80 0x48 0x14 0xF0 0xAC
0x8C 0xD0 0x34 0x68 0xA0 0xFC 0x18 0x44 0xD4 0x88 0x6C 0x30 0xF8 0xA4 0x40 0x1C
0x78 0x24 0xC0 0x9C 0x54 0x08 0xEC 0xB0 0x20 0x7C 0x98 0xC4 0x0C 0x50 0xB4 0xE8
0xC8 0x94 0x70 0x2C 0xE4 0xB8 0x5C 0x00 0x90 0xCC 0x28 0x74 0xBC 0xE0 0x04 0x58
0x44 0x18 0xFC 0xA0 0x68 0x34 0xD0 0x8C 0x1C 0x40 0xA4 0xF8 0x30 0x6C 0x88 0xD4
0xF4 0xA8 0x4C 0x10 0xD8 0x84 0x60 0x3C 0xAC 0xF0 0x14 0x48 0x80 0xDC 0x38 0x64
0xF0 0xAC 0x48 0x14 0xDC 0x80 0x64 0x38 0xA8 0xF4 0x10 0x4C 0x84 0xD8 0x3C 0x60
0x40 0x1C 0xF8 0xA4 0x6C 0x30 0xD4 0x88 0x18 0x44 0xA0 0xFC 0x34 0x68 0x8C 0xD0
0xCC 0x90 0x74 0x28 0xE0 0xBC 0x58 0x04 0x94 0xC8 0x2C 0x70 0xB8 0xE4 0x00 0x5C
0x7C 0x20 0xC4 0x98 0x50 0x0C 0xE8 0xB4 0x24 0x78 0x9C 0xC0 0x08 0x54 0xB0 0xEC
0x88 0xD4 0x30 0x6C 0xA4 0xF8 0x1C 0x40 0xD0 0x8C 0x68 0x34 0xFC 0xA0 0x44 0x18
0x38 0x64 0x80 0xDC 0x14 0x48 0xAC 0xF0 0x60 0x3C 0xD8 0x84 0x4C 0x10 0xF4 0xA8
0xB4 0xE8 0x0C 0x50 0x98 0xC4 0x20 0x7C 0xEC 0xB0 0x54 0x08 0xC0 0x9C 0x78 0x24
0x04 0x58 0xBC 0xE0 0x28 0x74 0x90 0xCC 0x5C 0x00 0xE4 0xB8 0x70 0x2C 0xC8 0x94
)

# uppercase argument string
whcmd=${1^^}

# get the number of chars
charcount=${#whcmd}

# insert leading '0' to get full 2-char bytes
if [[ $((charcount%2)) != 0 ]]
then
  whcmd="0$whcmd"
  charcount+=1
fi

# init CRC
crcresult_dec=0

for(( currentpos=0; currentpos<charcount; currentpos+=2 ))
do
  # get substring at current position -> current byte-string in hex
  substring=${whcmd:currentpos:2}
  # convert hex-byte to decimal value
  value_dec=$((16#$substring))
#  echo "$currentpos: substring:=$substring value_dec:=$value_dec"

  # get lookupvalue with last loops result -> string looks like 0xXX
  lookupvalue_hex=${lookuptable[$crcresult_dec]}
  # cut last 2-char byte from 0xXX -> XX and convert to decimal
  lookupvalue_dec=$((16#${lookupvalue_hex:${#lookupvalue_hex}-2:2}))
#  echo "$currentpos: crcresult_dec:=$crcresult_dec lookupvalue_hex:=$lookupvalue_hex lookupvalue_dec:=$lookupvalue_dec"

  # XOR lookupvalue and currentvalue
  currentcrc_dec=$(( $lookupvalue_dec ^ $value_dec ))
  # convert to hex-Byte
#  printf -v currentcrc_hex "%02X" "$currentcrc_dec"
#  echo "$currentpos: currentcrc_dec:=$currentcrc_dec currentcrc_hex:=$currentcrc_hex"

  crcresult_dec=$currentcrc_dec
done

# convert to hex-Byte
printf -v crcresult_hex "%02X" "$crcresult_dec"

echo "$crcresult_hex$whcmd"
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 15 Januar 2017, 11:26:58
So, ich habe die Nachrichtendefinitionen für die Fehlerhistorie überarbeitet.  :)

Siehe https://github.com/J0EK3R/ebusd-configuration-weishaupt/blob/master/weishaupt/errorhistory.inc (https://github.com/J0EK3R/ebusd-configuration-weishaupt/blob/master/weishaupt/errorhistory.inc)

Dabei bin ich zu folgender Erkenntnis gelangt:

Ich habe die Nachrichten für die einzelnen Fehlereinträge nun so definiert, dass alle gleich aufgebaut sind, also die selbe Struktur haben.

Jetzt ist es auch möglich, sie zu einer einzigen Definition zu verketten und damit über einen einzigen Aufruf des ebusctl-Kommandos den kompletten Fehlerspeicher auszulesen.  ;D
Siehe https://github.com/john30/ebusd/wiki/4.1.-Message-definition#message-chaining (https://github.com/john30/ebusd/wiki/4.1.-Message-definition#message-chaining)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: timo74 am 20 Januar 2017, 16:41:56
Hallo zusammen,

ich habe heute einen eBus-Adapter an meiner Weishaupt WTC-25A in Betrieb genommen und den ebusd installiert.
Vielen herzlichen Dank an PAH, John30 und J0K3r für die unermüdliche Arbeit hier und natürlich für das Weishaupt-Config-Repo auf Github.

Sorry, dass ich mit einer ziemlichen Anfängerfrage hier dazwischen plautze.
Ich empfange von der Heizung offensichtlich Daten. Zumindest sagt ein "ebusctl info", dass dort etwas gefunden wurde.
Leider bleiben die Daten bisher cryptisch. Ein "ebusctl find" ist zumindest der Meinung, dass keine Daten erkannt werden konnten (überall "no data stored").

Im ebusd.log irritiert mich, dass vom Daemon die "_templates.csv" und "broadcast.csv" angeblich nicht gefunden werden konnte.
Beide Dateien sind aber vorhanden und die Rechte sollten ebenfalls passen.

Das Ziel ist es eigentlich nur, Temperaturen und weitere Informationen aus der Heizung auszulesen und eine Benachrichtigung zu bekommen, wenn der Brenner einen Fehler meldet.
Aber ich befürchte, bis zur Anbindung an FHEM ist es noch ein weiter Weg.


2017-01-20 16:34:11.866 [main notice] SIGTERM received
2017-01-20 16:34:11.968 [main notice] ebusd stopped
2017-01-20 16:34:11.974 [main notice] ebusd 2.4.79708d2 started
2017-01-20 16:34:11.983 [main info] loading configuration files from /etc/ebusd
2017-01-20 16:34:11.985 [bus notice] signal acquired
2017-01-20 16:34:11.990 [main info] read templates in /etc/ebusd
2017-01-20 16:34:11.990 [main info] reading file /etc/ebusd/memory.csv
2017-01-20 16:34:11.992 [main info] reading file /etc/ebusd/broadcast.csv
2017-01-20 16:34:11.995 [main info] read config files
2017-01-20 16:34:11.995 [main notice] found messages: 11 (0 conditional on 0 conditions, 0 poll, 4 update)
2017-01-20 16:34:21.983 [main notice] starting initial scan for fe
2017-01-20 16:34:21.983 [bus info] send message: fffe070400
2017-01-20 16:34:24.935 [bus notice] new master f1, master count 2
2017-01-20 16:34:24.936 [update info] update BC cmd: f1fe500a0d010047120072ff7c00f942f608
2017-01-20 16:34:24.936 [update notice] unknown BC cmd: f1fe500a0d010047120072ff7c00f942f608
2017-01-20 16:34:32.058 [bus info] send message: fff6070400
2017-01-20 16:34:32.186 [main info] scan config f6 message received
[b]2017-01-20 16:34:32.192 [main error] error reading templates in /etc/ebusd/kromschroeder: ERR: element not found, last error: /etc/ebusd/kromschroeder/_templates.csv:27[/b]
[b]2017-01-20 16:34:32.194 [main error] error reading common config file /etc/ebusd/kromschroeder/broadcast.csv: ERR: element not found[/b]
2017-01-20 16:34:32.198 [main notice] read scan config file /etc/ebusd/kromschroeder/f6.csv for ID "wwst?", SW1200, HW0302
2017-01-20 16:34:32.198 [main notice] found messages: 16 (0 conditional on 0 conditions, 0 poll, 6 update)
2017-01-20 16:34:32.198 [main notice] scan config f6: file kromschroeder/f6.csv loaded
2017-01-20 16:34:55.164 [update info] update BC cmd: f1fe500a0d010047120072ff7c00f943f608
2017-01-20 16:34:55.164 [update notice] unknown BC cmd: f1fe500a0d010047120072ff7c00f943f608





pi@fhem-hwr:/etc/ebusd $ [b]ebusctl i[/b]
version: ebusd 2.4.79708d2
signal: acquired
symbol rate: 22
reconnects: 0
masters: 2
messages: 16
conditional: 0
poll: 0
update: 6
address 04: slave #25, ebusd
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST?;SW=1200;HW=0302", loaded "kromschroeder/f6.csv"
address ff: master #25, ebusd



pi@fhem-hwr:/etc/ebusd $ [b]ebusctl find[/b]
HK1 = no data stored
HK2 = no data stored
broadcast datetime = no data stored
broadcast error = no data stored
broadcast ident = no data stored
broadcast signoflife = no data stored
SHC1 = no data stored
SHC2 = no data stored
broadcast ident = no data stored
memory eeprom = no data stored
memory ram = no data stored
scan.f6  = Kromschroeder;WWST?;1200;0302


Für den ein oder anderen Stubser in Bezug auf mögliche Wege zum Troubleshooting wäre ich sehr dankbar!!!  :)

Liebe Grüße
Timo


Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 20 Januar 2017, 17:25:34
Hallo Timo und herzlich willkommen! :)

Hast Du denn Deinen ebusd selbst aus den neuesten Quellen zusammengebaut (-> make) oder ist es eine Release-Version von John?

Ich arbeite mit den Quellen und baue den ebusd selbst zusammen, weil John dort ein paar Änderungen für uns schon eingepflegt hat, die in der Release-Version vermutlich noch nicht drin sind.

Dazu gehören auch die 24-Bit Datentypen (U3N usw.), die ich in der templates.csv schon verwende.
Ich vermute, dass Dein Problem daher kommt.

2017-01-20 16:34:32.192 [main error] error reading templates in /etc/ebusd/kromschroeder: ERR: element not found, last error: /etc/ebusd/kromschroeder/_templates.csv:27

_templates.csv

27: lhours,U3N,,h,Stunden
28: lcounter,U3N,,,


Außerdem hat John eine weitere Änderung gemacht, damit die csv-Dateien mit den zwei Punkten nach der Adresse (Bsp.: 35..hc1.csv) geladen und der Circuit automatisch und richtig gesetzt wird.

Also: entweder die aktuelle Version selbst bauen oder den Datentyp in der templates.csv von U3N ändern in HEX:3

Hier ein Diff meiner Änderung:

27: -lhours,HEX:3,,h,Stunden
28: -lcounter,HEX:3,,,
27: +lhours,U3N,,h,Stunden
28: +lcounter,U3N,,,
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 20 Januar 2017, 19:50:02
Hallo Timo  ;)

Ich habe mir nochmal Deinen Post in Ruhe angesehen.
Mir ist aufgefallen, dass Du viel neuere Geräte hast als ich.

Hier meine Info-Ausgabe
https://forum.fhem.de/index.php/topic,61017.msg529439.html#msg529439 (https://forum.fhem.de/index.php/topic,61017.msg529439.html#msg529439)

Ich kann mir gut vorstellen, dass die Broadcast-Telegramme in Deiner neueren Version gleich geblieben sein könnten.
Die anderen Telegramme, die auf eine Adresse zugreifen, die haben sich aber höchstwahrscheinlich geändert.

Soweit ich das sehe, hast Du nur einen Teilnehmer am eBus (0xF1/0xF6) - wahrscheinlich den Heizungsregler - und den ebusd (0xFF/0x04) natürlich.
Werden denn überhaupt Broadcast-Telegramme verschickt?

Hast Du mal einen Scan durchgeführt?
Dann sollte sich noch unter Adresse (0x03/0x08) - der Feuerungsautomat - melden.


ebusctl scan full
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: timo74 am 20 Januar 2017, 19:54:24
Hallo J0K3r,

Zitat von: J0K3r am 20 Januar 2017, 17:25:34
Hast Du denn Deinen ebusd selbst aus den neuesten Quellen zusammengebaut (-> make) oder ist es eine Release-Version von John?

Ich gebe zu, ich war faul und wollte ein schnelles Erfolgserlebnis. :-)

Zitat von: J0K3r am 20 Januar 2017, 17:25:34
Also: entweder die aktuelle Version selbst bauen oder den Datentyp in der templates.csv von U3N ändern in HEX:3

Dank dem EBUS-Eintrag im FHEM-Wiki war das selber compilieren gar nicht so aufregend. Direkt im Anschluss gab' es noch ein paar Probleme, dass angeblich irgendwelche Pfade nicht existierten, aber nach einer Deinstallation des vorherigen Deb-Packages und erneutem make + Reboot des Pi läuft nun der EBUS-Daemon in der Version 3.0pre.e256a74.

Und das beste ist, ich empfange sogar ein paar lesbare Daten. :-) Vielen Dank!!


root@fhem-hwr:/home/pi# ebusctl find
broadcast datetime = no data stored
broadcast error = no data stored
broadcast ident = no data stored
broadcast IstWerte = 1;BrennerAus;71;18;0;66.0;-;66.0;0.0;-10;-9.566;8
broadcast signoflife = no data stored
wwst? HK1 = no data stored
wwst? HK2 = no data stored
broadcast ident = no data stored
memory eeprom = no data stored
memory ram = no data stored
scan.f6  = Kromschroeder;WWST?;1200;0302
wwst? SHC1 = no data stored
wwst? SHC2 = no data stored


Dazu hätte ich noch eine Verständnisfrage: Laut "ebusctl info" habe ich an der Adresse "f6" meinen Brenner (als Slave).
Wurde deswegen die Datei "kromschroeder/f6.csv" geladen?
Und wenn ja, bedeutet dies, dass ich eine "f1.csv" mit der entsprechenden Register-/Wert-Übersetzung bräuchte, um weitere Werte (bspw. den Fehlerspeicher oder Status) ermitteln zu können?

BTW: Weiß jemand, wofür das "wwst" steht?

Als nächstes werde ich mal versuchen, die Werte im Feld "broadcast IstWerte = 1;BrennerAus;71;18;0;66.0;-;66.0;0.0;-10;-9.566;8" irgendwie weiter zu interpretieren.
Aber der Weg in Richtung Implementation der Heizung in FHEM ist schon ein Stück kürzer geworden. :) Vielen Dank nochmal!

Viele Grüße
Timo

Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: timo74 am 20 Januar 2017, 20:04:19
Zitat von: J0K3r am 20 Januar 2017, 19:50:02
Ich habe mir nochmal Deinen Post in Ruhe angesehen.
Mir ist aufgefallen, dass Du viel neuere Geräte hast als ich.

Die Installation ist ca. 2001/2002 durch den Vorbesitzer passiert. Und da mir auch ein Marktüberblick fehlt, kann ich nicht mal sagen, ob es zwischenzeitlich etwas neueres/besseres gibt. Aber nach knapp 15 Jahren ist wohl davon auszugehen.
EDIT: Quatsch. Mir fällt gerade ein, dass ich ja letztes Jahr für viel Geld das Mainboard tauschen lassen musste. Vermutlich ist dann da die aktuelle Firmware drauf gewesen.

Zitat von: J0K3r am 20 Januar 2017, 19:50:02
Soweit ich das sehe, hast Du nur einen Teilnehmer am eBus (0xF1/0xF6) - wahrscheinlich den Heizungsregler - und den ebusd (0xFF/0x04) natürlich.
Werden denn überhaupt Broadcast-Telegramme verschickt?

Ja, laut Log kommen Broadcasts an. Allerdings fehlt mir der Erfahrungswert, ob das nun eher wenige oder viele sind.

Zitat von: J0K3r am 20 Januar 2017, 19:50:02
Hast Du mal einen Scan durchgeführt?
Dann sollte sich noch unter Adresse (0x03/0x08) - der Feuerungsautomat - melden.

Der Hinweis auf den Full Scan war super! Jetzt findet sich tatsächlich noch ein Gerät mehr.


root@fhem-hwr:/home/pi# ebusctl scan result
08;Kromschroeder;W ;1200;0302
f6;Kromschroeder;WWST?;1200;0302


Viele Grüße
Timo
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: timo74 am 20 Januar 2017, 22:08:36
Hallo Freunde der Weishaupt Systeme,  ;)

ich frage mal ganz naiv in die Runde: Hat jemand (s)eine Weishaupt WTC im FHEM mittels des GAEBUS angebunden und erfolgreich die wichtigsten Eckdaten (VL/RL-Temperaturen, Außentemperatur, Brennerstatus, usw.) als Reading darstellen können?

Oder ist es beim derzeitigen Entwicklungsstand der CSV Files dafür noch zu früh?

Kann ich irgendwie helfen?

Viele Grüße
Timo
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: misc2000 am 21 Januar 2017, 14:11:04
hi all,
ich habe auch eine Weishaupt Heizung (WTC25A) mit 2 extra WCM-EM für die 2 Heizkreise und einen Solarregler WRSOL2.1 mit einem großen Pufferspeicher welcher von Solar als auch dem Kaminoffen geladen wird und möchte gerne die aktuellen Temperaturen auslesen.

Ich habe mir schon mal den bus-Adapter gebaut und erfolgreich an einem meiner Ras Pi's in Betrieb genommen.
den aktuellen Stand von ebusd habe ich kompiliert und habe mir dann noch das ebusd-configuration-weishaupt unter dem user pi gezogen und unter /etc/ebusd/ kopiert (Verzeichnis war zuvor noch komplett leer)
sudo git clone https://github.com/J0EK3R/ebusd-configuration-weishaupt.git
sudo mv ebusd-configuration-weishaupt/kromschroeder /etc/ebusd/kromschroeder
sudo mv ebusd-configuration-weishaupt/weishaupt /etc/ebusd/weishaupt

ebusctl info gibt mir folgende Meldung aus:
version: ebusd 3.0pre.e256a74
signal: acquired
symbol rate: 54
reconnects: 0
masters: 6
messages: 477
conditional: 0
poll: 0
update: 0
address 03: master #11
address 04: slave #25, ebusd
address 08: slave #11, scanned "MF=Kromschroeder;ID=W ;SW=0216;HW=0101", loaded "kromschroeder/08.csv"
address 30: master #3
address 35: slave #3, scanned "MF=Kromschroeder;ID=W ;SW=2634;HW=0000", loaded "kromschroeder/35..hc1.csv"
address 51: slave, scanned "MF=Kromschroeder;ID=W ;SW=3234;HW=0001"
address 70: master #4
address 75: slave #4, scanned "MF=Kromschroeder;ID=W ;SW=2634;HW=0000", loaded "kromschroeder/75..hc2.csv"
address f0: master #5
address f1: master #10
address f5: slave #5, scanned "MF=Kromschroeder;ID=W ;SW=3234;HW=0001"
address f6: slave #10, scanned "MF=0;ID=?Q"E?;SW=" error: ERR: argument value out of valid range
address ff: master #25, ebusd


Jetzt bin ich mir aber gerade nicht sicher ob ich richtig installiert habe, oder ob ich zuvor/danach auch noch ebusd-configuration von john30 installieren muss da ich sehr viele Fehler bekomme das noch Definitionen fehlen wenn ich ein "ebusd --checkconfig" aufrufe  :(
2017-01-21 14:06:24.828 [main notice] ebusd 3.0pre.e256a74 performing configuration check...
Error reading "/etc/ebusd/kromschroeder/f6.csv" line 10 field 17 value "temp0": ERR: element not found
Erroneous item is here:
r,,SHC1,System Wärmesteuerung Teil 1,,,5000,0C73BB13AC,UKN0,s,UCH,,,unknown0,HC1.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 1,HC2.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 2,HC3.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 3,HC4.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 4,HC5.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 5,HC6.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 6,HC7.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 7,HC8.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 8,UKN1,s,UCH,,,unknown1,UKN2,s,UCH,,,unknown2
                                                                                                  ^
Error reading "/etc/ebusd/kromschroeder/f6.csv" line 11 field 53 value "temp0": ERR: element not found
Erroneous item is here:
r,,SHC2,System Wärmesteuerung Teil 2,,,5000,E353AE03C3016F,UKN0,s,UCH,,,unknown0,UKN1,s,UCH,,,unknown1,UKN2,s,UCH,,,unknown2,UKN3,s,UCH,,,unknown3,UKN4,s,UCH,,,unknown4,UKN5,s,UCH,,,unknown5,UKN6,s,UCH,,,unknown6,SetpointTempSystem,s,temp0,,,Solltemperatur System,SetpointDHW,s,temp0,,,Warmwasser Sollwert
                                                                                                                                                                                                                                           ^
Error reading "/etc/ebusd/kromschroeder/f6.csv" line 47 field 11 value "opdataheat": ERR: element not found
Erroneous item is here:
b,,HK1,HK1->HR,30,,0507,,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,
                                 ^
Error reading "/etc/ebusd/kromschroeder/f6.csv" line 48 field 11 value "opdataheat": ERR: element not found
Erroneous item is here:
b,,HK2,HK2->HR,70,,0507,,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,
                                 ^
Error reading "/etc/ebusd/kromschroeder/broadcast.csv" line 26 field 41 value "temp1": ERR: element not found
Erroneous item is here:
b,,IstWerte,Broadcast mit Istwerten,,,500a,,Status0,,UCH,,,Status,Betriebsphase,,operatingphase,,,Status,Status2,,UCH,,,Status,Status3,,UCH,,,Status,Laststellung,,UCH,,,Laststellung,T_Water,,temp1,,,Wassertemperatur,T_ECS,,temp1,,,ECS-Temperatur,T_Temp1,,temp1,,,Temp,T_Temp2,,temp1,,,Temp,T_Out,,ctemp1,,,Außentemperatur,T_Trend,,temp2,,,Trend,T_Temp3,,temp0,,,Temp
                                                                                                                                                                                               ^
Error reading "/etc/ebusd/kromschroeder/51.csv" line 34 field 11 value "temp2": ERR: element not found
Erroneous item is here:
b,,MI1.PD, ,,,5010,,Temp1,m,temp2,,, ,Byte2,m,UCH,,, ,Byte3,m,UCH,,,REQ,Temp4,s,ctemp1,,, ,Temp5,s,ctemp1,,, ,Temp2,s,ctemp1,,, ,Temp3,s,ctemp1,,, ,Byte8,s,UCH,,, ,Byte9,s,UCH,,, ,ByteA,s,UCH,,, ,ByteB,s,UCH,,, ,ByteC,s,UCH,,, ,ByteD,s,UCH,,,
                            ^
Error reading "/etc/ebusd/weishaupt/f6.csv" line 10 field 17 value "temp0": ERR: element not found
Erroneous item is here:
r,,SHC1,System Wärmesteuerung Teil 1,,,5000,0C73BB13AC,UKN0,s,UCH,,,unknown0,HC1.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 1,HC2.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 2,HC3.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 3,HC4.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 4,HC5.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 5,HC6.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 6,HC7.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 7,HC8.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 8,UKN1,s,UCH,,,unknown1,UKN2,s,UCH,,,unknown2
                                                                                                  ^
Error reading "/etc/ebusd/weishaupt/f6.csv" line 11 field 53 value "temp0": ERR: element not found
Erroneous item is here:
r,,SHC2,System Wärmesteuerung Teil 2,,,5000,E353AE03C3016F,UKN0,s,UCH,,,unknown0,UKN1,s,UCH,,,unknown1,UKN2,s,UCH,,,unknown2,UKN3,s,UCH,,,unknown3,UKN4,s,UCH,,,unknown4,UKN5,s,UCH,,,unknown5,UKN6,s,UCH,,,unknown6,SetpointTempSystem,s,temp0,,,Solltemperatur System,SetpointDHW,s,temp0,,,Warmwasser Sollwert
                                                                                                                                                                                                                                           ^
Error reading "/etc/ebusd/weishaupt/f6.csv" line 47 field 11 value "opdataheat": ERR: element not found
Erroneous item is here:
b,,HK1,HK1->HR,30,,0507,,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,
                                 ^
Error reading "/etc/ebusd/weishaupt/f6.csv" line 48 field 11 value "opdataheat": ERR: element not found
Erroneous item is here:
b,,HK2,HK2->HR,70,,0507,,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,
                                 ^
Error reading "/etc/ebusd/weishaupt/broadcast.csv" line 26 field 41 value "temp1": ERR: element not found
Erroneous item is here:
b,,IstWerte,Broadcast mit Istwerten,,,500a,,Status0,,UCH,,,Status,Betriebsphase,,operatingphase,,,Status,Status2,,UCH,,,Status,Status3,,UCH,,,Status,Laststellung,,UCH,,,Laststellung,T_Water,,temp1,,,Wassertemperatur,T_ECS,,temp1,,,ECS-Temperatur,T_Temp1,,temp1,,,Temp,T_Temp2,,temp1,,,Temp,T_Out,,ctemp1,,,Außentemperatur,T_Trend,,temp2,,,Trend,T_Temp3,,temp0,,,Temp
                                                                                                                                                                                               ^
Error reading "/etc/ebusd/weishaupt/51.csv" line 34 field 11 value "temp2": ERR: element not found
Erroneous item is here:
b,,MI1.PD, ,,,5010,,Temp1,m,temp2,,, ,Byte2,m,UCH,,, ,Byte3,m,UCH,,,REQ,Temp4,s,ctemp1,,, ,Temp5,s,ctemp1,,, ,Temp2,s,ctemp1,,, ,Temp3,s,ctemp1,,, ,Byte8,s,UCH,,, ,Byte9,s,UCH,,, ,ByteA,s,UCH,,, ,ByteB,s,UCH,,, ,ByteC,s,UCH,,, ,ByteD,s,UCH,,,
                            ^
Error reading "/etc/ebusd/weishaupt/08.csv" line 28 field 8 value "0d01610309": ERR: duplicate entry
Erroneous item is here:
r,,Prozess2, ,,,5000,0d01610309,Byte01,,UCH,,,Byte1,IO,,UCH,,,IO,Modulationsgrad,,UCH,,,Modulationsgrad
                     ^
2017-01-21 14:06:25.009 [main error] error executing instructions: ERR: duplicate entry, last error: /etc/ebusd/weishaupt/timerhc.inc:6: /etc/ebusd/weishaupt/experthc2.inc:6: /etc/ebusd/weishaupt/experthc.inc:6: /etc/ebusd/weishaupt/userholiday.inc:6: /etc/ebusd/weishaupt/userhc.inc:5: /etc/ebusd/weishaupt/processhc.inc:6: /etc/ebusd/weishaupt/timercc.inc:6: /etc/ebusd/weishaupt/timerhwc.inc:6: /etc/ebusd/weishaupt/timerhc.inc:6: /etc/ebusd/weishaupt/experthwc.inc:6: /etc/ebusd/weishaupt/experthc.inc:6: /etc/ebusd/weishaupt/userholiday.inc:6: /etc/ebusd/weishaupt/userhwc.inc:6: /etc/ebusd/weishaupt/userhc.inc:5: /etc/ebusd/weishaupt/processhwc.inc:5: /etc/ebusd/weishaupt/processhc.inc:6: /etc/ebusd/weishaupt/errorhistory.inc:25: /etc/ebusd/weishaupt/manufacturer.inc:3: /etc/ebusd/weishaupt/statistic.inc:3: /etc/ebusd/weishaupt/enduser.inc:3: /etc/ebusd/weishaupt/processvalues.inc:3, error including "/etc/ebusd/kromschroeder/processvalues.inc" for "08": ERR: element not found, error including "/etc/ebusd/kromschroeder/enduser.inc" for "08": ERR: element not found, included "/etc/ebusd/kromschroeder/statistic.inc" for "08", error including "/etc/ebusd/kromschroeder/manufacturer.inc" for "08": ERR: element not found, error including "/etc/ebusd/kromschroeder/errorhistory.inc" for "08": ERR: element not found, included "/etc/ebusd/kromschroeder/processhc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/processhwc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/userhc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/userhwc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/userholiday.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/experthc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/experthwc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/timerhc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/timerhwc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/timercc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/processhc.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/userhc.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/userholiday.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/experthc.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/experthc2.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/timerhc.inc" for "75.hc2", error including "/etc/ebusd/weishaupt/processvalues.inc" for "08": ERR: element not found, error including "/etc/ebusd/weishaupt/enduser.inc" for "08": ERR: element not found, error including "/etc/ebusd/weishaupt/statistic.inc" for "08": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/manufacturer.inc" for "08": ERR: element not found, error including "/etc/ebusd/weishaupt/errorhistory.inc" for "08": ERR: element not found, error including "/etc/ebusd/weishaupt/processhc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/processhwc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userhc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userhwc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userholiday.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/experthc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/experthwc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/timerhc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/timerhwc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/timercc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/processhc.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userhc.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userholiday.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/experthc.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/experthc2.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/timerhc.inc" for "75.hc2": ERR: duplicate entry
2017-01-21 14:06:25.009 [main notice] found messages: 471 (0 conditional on 0 conditions, 0 poll, 0 update)
2017-01-21 14:06:25.014 [main notice] ebusd stopped


Kann mir jemand kurz schreiben was ich in welcher Reihenfolge wie installieren muss um eine saubere Installation für Weishaupt Geräte zu haben.
Bzw. was ich ggf. vergessen oder falsch gemacht habe.
Vielen Dank
misc2000
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 21 Januar 2017, 17:31:17
Hallo misc2000  :)
Auch Dir ein "herzlich willkommen" im Club!  ;)

Ich hab nur kurz Zeit...

Du brauchst die ebus-configuration von John, weil dort Datentypen definiert sind, auf die ich wiederum verweise. Also die Dateien /etc/ebusd/_templates.csv und /etc/ebusd/broadcast.csv.

Du hast wohl tatsächlich den allerneusten ebusd - 3.0pre.
Möglich, dass da auch noch was nicht passt.  ???
Ich versuche mal demnächst auch auf die neusten Quellen zu wechseln, dann kann ich mehr sagen.

Du hast auch eine viel neuere WTC-Version als ich.  :-[
Ich kann keine Aussage machen, welche meiner Definitionen funktioniert.
Wenn Dein ebusd-System läuft, sollten wir mal ein paar Telegramme ausprobieren...

Ebusd hat wohl mit Deinem Teilnemer mit Adresse 0xF6 ein Problem.
Da müsste man mal nach forschen...
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: misc2000 am 22 Januar 2017, 18:51:03
hi,
ich habe jetzt mal die 3 csv Dateien aus dem Hauptverzeichnis von /ebusd-configuration/ebusd-2.x.x/de dazu gelegt.
Jetzt sind die Fehler mit den unbekannten Variablen weg aber immer noch 7 x ERR: duplicate entry da:
pi@knx-rpii ~/ebusd $ ebusd-checkconfig
2017-01-22 18:39:26.515 [main notice] ebusd 3.0pre.e256a74 performing configuration check...
Error reading "/etc/ebusd/weishaupt/f6.csv" line 10 field 8 value "0C73BB13AC": ERR: duplicate entry
Erroneous item is here:
r,,SHC1,System Wärmesteuerung Teil 1,,,5000,0C73BB13AC,UKN0,s,UCH,,,unknown0,HC1.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 1,HC2.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 2,HC3.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 3,HC4.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 4,HC5.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 5,HC6.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 6,HC7.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 7,HC8.HeatingDemand,s,temp0,,,Wärmeanforderung Heizkreis 8,UKN1,s,UCH,,,unknown1,UKN2,s,UCH,,,unknown2
                                             ^
Error reading "/etc/ebusd/weishaupt/f6.csv" line 11 field 8 value "E353AE03C3016F": ERR: duplicate entry
Erroneous item is here:
r,,SHC2,System Wärmesteuerung Teil 2,,,5000,E353AE03C3016F,UKN0,s,UCH,,,unknown0,UKN1,s,UCH,,,unknown1,UKN2,s,UCH,,,unknown2,UKN3,s,UCH,,,unknown3,UKN4,s,UCH,,,unknown4,UKN5,s,UCH,,,unknown5,UKN6,s,UCH,,,unknown6,SetpointTempSystem,s,temp0,,,Solltemperatur System,SetpointDHW,s,temp0,,,Warmwasser Sollwert
                                             ^
Error reading "/etc/ebusd/weishaupt/f6.csv" line 47 field 8 value "": ERR: duplicate entry
Erroneous item is here:
b,,HK1,HK1->HR,30,,0507,,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,
                        ^
Error reading "/etc/ebusd/weishaupt/f6.csv" line 48 field 8 value "": ERR: duplicate entry
Erroneous item is here:
b,,HK2,HK2->HR,70,,0507,,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,
                        ^
Error reading "/etc/ebusd/weishaupt/broadcast.csv" line 26 field 8 value "": ERR: duplicate entry
Erroneous item is here:
b,,IstWerte,Broadcast mit Istwerten,,,500a,,Status0,,UCH,,,Status,Betriebsphase,,operatingphase,,,Status,Status2,,UCH,,,Status,Status3,,UCH,,,Status,Laststellung,,UCH,,,Laststellung,T_Water,,temp1,,,Wassertemperatur,T_ECS,,temp1,,,ECS-Temperatur,T_Temp1,,temp1,,,Temp,T_Temp2,,temp1,,,Temp,T_Out,,ctemp1,,,Außentemperatur,T_Trend,,temp2,,,Trend,T_Temp3,,temp0,,,Temp
                                           ^
Error reading "/etc/ebusd/weishaupt/51.csv" line 34 field 8 value "": ERR: duplicate entry
Erroneous item is here:
b,,MI1.PD, ,,,5010,,Temp1,m,temp2,,, ,Byte2,m,UCH,,, ,Byte3,m,UCH,,,REQ,Temp4,s,ctemp1,,, ,Temp5,s,ctemp1,,, ,Temp2,s,ctemp1,,, ,Temp3,s,ctemp1,,, ,Byte8,s,UCH,,, ,Byte9,s,UCH,,, ,ByteA,s,UCH,,, ,ByteB,s,UCH,,, ,ByteC,s,UCH,,, ,ByteD,s,UCH,,,
                   ^
Error reading "/etc/ebusd/weishaupt/08.csv" line 28 field 8 value "0d01610309": ERR: duplicate entry
Erroneous item is here:
r,,Prozess2, ,,,5000,0d01610309,Byte01,,UCH,,,Byte1,IO,,UCH,,,IO,Modulationsgrad,,UCH,,,Modulationsgrad
                     ^
2017-01-22 18:39:26.680 [main error] error executing instructions: ERR: duplicate entry, last error: /etc/ebusd/weishaupt/timerhc.inc:6: /etc/ebusd/weishaupt/experthc2.inc:6: /etc/ebusd/weishaupt/experthc.inc:6: /etc/ebusd/weishaupt/userholiday.inc:6: /etc/ebusd/weishaupt/userhc.inc:5: /etc/ebusd/weishaupt/processhc.inc:6: /etc/ebusd/weishaupt/timercc.inc:6: /etc/ebusd/weishaupt/timerhwc.inc:6: /etc/ebusd/weishaupt/timerhc.inc:6: /etc/ebusd/weishaupt/experthwc.inc:6: /etc/ebusd/weishaupt/experthc.inc:6: /etc/ebusd/weishaupt/userholiday.inc:6: /etc/ebusd/weishaupt/userhwc.inc:6: /etc/ebusd/weishaupt/userhc.inc:5: /etc/ebusd/weishaupt/processhwc.inc:5: /etc/ebusd/weishaupt/processhc.inc:6: /etc/ebusd/weishaupt/errorhistory.inc:25: /etc/ebusd/weishaupt/manufacturer.inc:3: /etc/ebusd/weishaupt/statistic.inc:3: /etc/ebusd/weishaupt/enduser.inc:3: /etc/ebusd/weishaupt/processvalues.inc:3, included "/etc/ebusd/kromschroeder/processvalues.inc" for "08", included "/etc/ebusd/kromschroeder/enduser.inc" for "08", included "/etc/ebusd/kromschroeder/statistic.inc" for "08", included "/etc/ebusd/kromschroeder/manufacturer.inc" for "08", included "/etc/ebusd/kromschroeder/errorhistory.inc" for "08", included "/etc/ebusd/kromschroeder/processhc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/processhwc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/userhc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/userhwc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/userholiday.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/experthc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/experthwc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/timerhc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/timerhwc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/timercc.inc" for "35.hc1", included "/etc/ebusd/kromschroeder/processhc.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/userhc.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/userholiday.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/experthc.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/experthc2.inc" for "75.hc2", included "/etc/ebusd/kromschroeder/timerhc.inc" for "75.hc2", error including "/etc/ebusd/weishaupt/processvalues.inc" for "08": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/enduser.inc" for "08": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/statistic.inc" for "08": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/manufacturer.inc" for "08": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/errorhistory.inc" for "08": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/processhc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/processhwc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userhc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userhwc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userholiday.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/experthc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/experthwc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/timerhc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/timerhwc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/timercc.inc" for "35.hc1": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/processhc.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userhc.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/userholiday.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/experthc.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/experthc2.inc" for "75.hc2": ERR: duplicate entry, error including "/etc/ebusd/weishaupt/timerhc.inc" for "75.hc2": ERR: duplicate entry
2017-01-22 18:39:26.680 [main notice] found messages: 498 (0 conditional on 0 conditions, 0 poll, 8 update)
2017-01-22 18:39:26.685 [main notice] ebusd stopped
pi@knx-rpii ~/ebusd $


ebusctl info zeigt danach folgendes:
version: ebusd 3.0pre.e256a74
signal: acquired
symbol rate: 22
reconnects: 0
masters: 6
messages: 501
conditional: 0
poll: 0
update: 6
address 03: master #11
address 04: slave #25, ebusd
address 08: slave #11, scanned "MF=Kromschroeder;ID=W ;SW=0216;HW=0101", loaded "kromschroeder/08.csv"
address 30: master #3
address 35: slave #3, scanned "MF=Kromschroeder;ID=W ;SW=2634;HW=0000", loaded "kromschroeder/35..hc1.csv"
address 51: slave, scanned "MF=Kromschroeder;ID=W ;SW=3234;HW=0001", loaded "kromschroeder/51.csv"
address 52: slave, scanned "MF=Kromschroeder;ID=W ;SW=3234;HW=0001"
address 70: master #4
address 75: slave #4, scanned "MF=Kromschroeder;ID=W ;SW=2634;HW=0000", loaded "kromschroeder/75..hc2.csv"
address f0: master #5
address f1: master #10
address f5: slave #5, scanned "MF=Kromschroeder;ID=W ;SW=3234;HW=0001"
address ff: master #25, ebusd


Und unter ebusctl find sind zu mindestens mal die ersten Werte unter den Broadcasts eingetragen:  ;)
Und die anderen Variablen werden ja erst gefüllt wenn ich die passenden reads absetze wenn ich das richtig verstanden habe?

broadcast datetime = -3.000;18:49:02;22.01.2017
broadcast error = no data stored
broadcast ident = no data stored
broadcast IstWerte = 1;BrennerAus;7;16;0;28.0;30.0;48.0;0.0;-3;-2.449;56
broadcast signoflife = no data stored
HK2->MI1 MI1.PD = no data stored
broadcast ident = no data stored
hc1 Adaption = no data stored
hc1 DHWMin = no data stored
hc1 DHWMode = no data stored
hc1 DHWSetpoint = no data stored
hc1 DHWSetValue = no data stored
hc1 DHWTemperature = no data stored
hc1 EndOfHoliday = no data stored
hc1 EndOfHoliday.Day = no data stored
hc1 EndOfHoliday.Month = no data stored
hc1 ExternalTemperature = no data stored
hc1 FrostProtection = no data stored
hc1 Gradient = no data stored
hc1 HeatDemand = no data stored
hc1 HolidayTemp = no data stored
hc1 HP1.Di.1 = no data stored
hc1 HP1.Di.2 = no data stored
hc1 HP1.Di.3 = no data stored
hc1 HP1.Do.1 = no data stored
hc1 HP1.Do.2 = no data stored
hc1 HP1.Do.3 = no data stored
hc1 HP1.Fr.1 = no data stored
hc1 HP1.Fr.2 = no data stored
hc1 HP1.Fr.3 = no data stored
hc1 HP1.Mi.1 = no data stored
hc1 HP1.Mi.2 = no data stored
hc1 HP1.Mi.3 = no data stored
hc1 HP1.Mo.1 = no data stored
hc1 HP1.Mo.2 = no data stored
hc1 HP1.Mo.3 = no data stored
hc1 HP1.Sa.1 = no data stored
hc1 HP1.Sa.2 = no data stored
hc1 HP1.Sa.3 = no data stored
hc1 HP1.So.1 = no data stored
hc1 HP1.So.2 = no data stored
hc1 HP1.So.3 = no data stored
hc1 HP2.Di.1 = no data stored
hc1 HP2.Di.2 = no data stored
hc1 HP2.Di.3 = no data stored
hc1 HP2.Do.1 = no data stored
hc1 HP2.Do.2 = no data stored
hc1 HP2.Do.3 = no data stored
hc1 HP2.Fr.1 = no data stored
hc1 HP2.Fr.2 = no data stored
hc1 HP2.Fr.3 = no data stored
hc1 HP2.Mi.1 = no data stored
hc1 HP2.Mi.2 = no data stored
hc1 HP2.Mi.3 = no data stored
hc1 HP2.Mo.1 = no data stored
hc1 HP2.Mo.2 = no data stored
hc1 HP2.Mo.3 = no data stored
hc1 HP2.Sa.1 = no data stored
hc1 HP2.Sa.2 = no data stored
hc1 HP2.Sa.3 = no data stored
hc1 HP2.So.1 = no data stored
hc1 HP2.So.2 = no data stored
hc1 HP2.So.3 = no data stored
hc1 HP3.Di.1 = no data stored
hc1 HP3.Di.2 = no data stored
hc1 HP3.Di.3 = no data stored
hc1 HP3.Do.1 = no data stored
hc1 HP3.Do.2 = no data stored
hc1 HP3.Do.3 = no data stored
hc1 HP3.Fr.1 = no data stored
hc1 HP3.Fr.2 = no data stored
hc1 HP3.Fr.3 = no data stored
hc1 HP3.Mi.1 = no data stored
hc1 HP3.Mi.2 = no data stored
hc1 HP3.Mi.3 = no data stored
hc1 HP3.Mo.1 = no data stored
hc1 HP3.Mo.2 = no data stored
hc1 HP3.Mo.3 = no data stored
hc1 HP3.Sa.1 = no data stored
hc1 HP3.Sa.2 = no data stored
hc1 HP3.Sa.3 = no data stored
hc1 HP3.So.1 = no data stored
hc1 HP3.So.2 = no data stored
hc1 HP3.So.3 = no data stored
hc1 LegionnairesFunction = no data stored
hc1 MaxDHWTemp = no data stored
hc1 MaxSupplyTemperature = no data stored
hc1 MinSupplyTemperature = no data stored
hc1 MixedExternalTemperature = no data stored
hc1 NormalSetTemp = no data stored
hc1 ProgramChooseSwitch = no data stored
hc1 ReducedSetTemp = no data stored
hc1 Reduces = no data stored
hc1 RoomInfluence = no data stored
hc1 RoomSensorCorrection = no data stored
hc1 RoomSetValue = no data stored
hc1 RoomTemperature = no data stored
hc1 RoomThermostat = no data stored
hc1 StartOfHoliday = no data stored
hc1 StartOfHoliday.Day = no data stored
hc1 StartOfHoliday.Month = no data stored
hc1 SummerWinterChangeOverTemperature = no data stored
hc1 SupplySetValueHC = no data stored
hc1 SupplyTemperatureHC = no data stored
hc1 SupplyTemperatureWTC = no data stored
hc1 SwitchOffSetting = no data stored
hc1 SwitchOnSetting = no data stored
hc1 TypeOfConstruction = no data stored
hc1 WP.Di.1 = no data stored
hc1 WP.Di.2 = no data stored
hc1 WP.Di.3 = no data stored
hc1 WP.Do.1 = no data stored
hc1 WP.Do.2 = no data stored
hc1 WP.Do.3 = no data stored
hc1 WP.Fr.1 = no data stored
hc1 WP.Fr.2 = no data stored
hc1 WP.Fr.3 = no data stored
hc1 WP.Mi.1 = no data stored
hc1 WP.Mi.2 = no data stored
hc1 WP.Mi.3 = no data stored
hc1 WP.Mo.1 = no data stored
hc1 WP.Mo.2 = no data stored
hc1 WP.Mo.3 = no data stored
hc1 WP.Sa.1 = no data stored
hc1 WP.Sa.2 = no data stored
hc1 WP.Sa.3 = no data stored
hc1 WP.So.1 = no data stored
hc1 WP.So.2 = no data stored
hc1 WP.So.3 = no data stored
hc1 ZP.Di.1 = no data stored
hc1 ZP.Di.2 = no data stored
hc1 ZP.Di.3 = no data stored
hc1 ZP.Do.1 = no data stored
hc1 ZP.Do.2 = no data stored
hc1 ZP.Do.3 = no data stored
hc1 ZP.Fr.1 = no data stored
hc1 ZP.Fr.2 = no data stored
hc1 ZP.Fr.3 = no data stored
hc1 ZP.Mi.1 = no data stored
hc1 ZP.Mi.2 = no data stored
hc1 ZP.Mi.3 = no data stored
hc1 ZP.Mo.1 = no data stored
hc1 ZP.Mo.2 = no data stored
hc1 ZP.Mo.3 = no data stored
hc1 ZP.Sa.1 = no data stored
hc1 ZP.Sa.2 = no data stored
hc1 ZP.Sa.3 = no data stored
hc1 ZP.So.1 = no data stored
hc1 ZP.So.2 = no data stored
hc1 ZP.So.3 = no data stored
hc2 Adaption = no data stored
hc2 BoilerMKIncrease = no data stored
hc2 DHWOperation = no data stored
hc2 EndOfHoliday = no data stored
hc2 EndOfHoliday.Day = no data stored
hc2 EndOfHoliday.Month = no data stored
hc2 ExternalTemperature = no data stored
hc2 FloorDryingDay = no data stored
hc2 FloorDryingFunction = no data stored
hc2 FloorDryingTemperature = no data stored
hc2 FrostProtection = no data stored
hc2 Gradient = no data stored
hc2 HeatDemand = no data stored
hc2 HolidayTemp = no data stored
hc2 HP1.Di.1 = no data stored
hc2 HP1.Di.2 = no data stored
hc2 HP1.Di.3 = no data stored
hc2 HP1.Do.1 = no data stored
hc2 HP1.Do.2 = no data stored
hc2 HP1.Do.3 = no data stored
hc2 HP1.Fr.1 = no data stored
hc2 HP1.Fr.2 = no data stored
hc2 HP1.Fr.3 = no data stored
hc2 HP1.Mi.1 = no data stored
hc2 HP1.Mi.2 = no data stored
hc2 HP1.Mi.3 = no data stored
hc2 HP1.Mo.1 = no data stored
hc2 HP1.Mo.2 = no data stored
hc2 HP1.Mo.3 = no data stored
hc2 HP1.Sa.1 = no data stored
hc2 HP1.Sa.2 = no data stored
hc2 HP1.Sa.3 = no data stored
hc2 HP1.So.1 = no data stored
hc2 HP1.So.2 = no data stored
hc2 HP1.So.3 = no data stored
hc2 HP2.Di.1 = no data stored
hc2 HP2.Di.2 = no data stored
hc2 HP2.Di.3 = no data stored
hc2 HP2.Do.1 = no data stored
hc2 HP2.Do.2 = no data stored
hc2 HP2.Do.3 = no data stored
hc2 HP2.Fr.1 = no data stored
hc2 HP2.Fr.2 = no data stored
hc2 HP2.Fr.3 = no data stored
hc2 HP2.Mi.1 = no data stored
hc2 HP2.Mi.2 = no data stored
hc2 HP2.Mi.3 = no data stored
hc2 HP2.Mo.1 = no data stored
hc2 HP2.Mo.2 = no data stored
hc2 HP2.Mo.3 = no data stored
hc2 HP2.Sa.1 = no data stored
hc2 HP2.Sa.2 = no data stored
hc2 HP2.Sa.3 = no data stored
hc2 HP2.So.1 = no data stored
hc2 HP2.So.2 = no data stored
hc2 HP2.So.3 = no data stored
hc2 HP3.Di.1 = no data stored
hc2 HP3.Di.2 = no data stored
hc2 HP3.Di.3 = no data stored
hc2 HP3.Do.1 = no data stored
hc2 HP3.Do.2 = no data stored
hc2 HP3.Do.3 = no data stored
hc2 HP3.Fr.1 = no data stored
hc2 HP3.Fr.2 = no data stored
hc2 HP3.Fr.3 = no data stored
hc2 HP3.Mi.1 = no data stored
hc2 HP3.Mi.2 = no data stored
hc2 HP3.Mi.3 = no data stored
hc2 HP3.Mo.1 = no data stored
hc2 HP3.Mo.2 = no data stored
hc2 HP3.Mo.3 = no data stored
hc2 HP3.Sa.1 = no data stored
hc2 HP3.Sa.2 = no data stored
hc2 HP3.Sa.3 = no data stored
hc2 HP3.So.1 = no data stored
hc2 HP3.So.2 = no data stored
hc2 HP3.So.3 = no data stored
hc2 MaxMixerRuntime = no data stored
hc2 MaxPumpSpeed = no data stored
hc2 MaxSupplyTemperature = no data stored
hc2 MinPumpSpeed = no data stored
hc2 MinSupplyTemperature = no data stored
hc2 MixedExternalTemperature = no data stored
hc2 NormalSetTemp = no data stored
hc2 ProgramChooseSwitch = no data stored
hc2 ReducedSetTemp = no data stored
hc2 Reduces = no data stored
hc2 RoomInfluence = no data stored
hc2 RoomSensorCorrection = no data stored
hc2 RoomSetValue = no data stored
hc2 RoomTemperature = no data stored
hc2 RoomThermostat = no data stored
hc2 SpeedVariation = no data stored
hc2 StartOfHoliday = no data stored
hc2 StartOfHoliday.Day = no data stored
hc2 StartOfHoliday.Month = no data stored
hc2 SummerWinterChangeOverTemperature = no data stored
hc2 SupplySetValueHC = no data stored
hc2 SupplyTemperatureHC = no data stored
hc2 SupplyTemperatureWTC = no data stored
hc2 SwitchOffSetting = no data stored
hc2 SwitchOnSetting = no data stored
memory eeprom = no data stored
memory ram = no data stored
scan.08  = Kromschroeder;W ;0216;0101
scan.35  = Kromschroeder;W ;2634;0000
scan.51  = Kromschroeder;W ;3234;0001
scan.52  = Kromschroeder;W ;3234;0001
scan.75  = Kromschroeder;W ;2634;0000
scan.f5  = Kromschroeder;W ;3234;0001
scan.f6  = no data stored
w Enduser = no data stored
w ErrorHistory = no data stored
w Manufacturer1 = no data stored
w Manufacturer2 = no data stored
w ProcessValues1 = no data stored
w ProcessValues2 = no data stored
w ProcessValues3 = no data stored
w ProcessValues4 = no data stored
w ProcessValues5 = no data stored
w ProcessValues6 = no data stored
w Prozess2 = no data stored
w Statistic1 = no data stored
w Statistic2 = no data stored
w Statistic3 = no data stored
w Statistic4 = no data stored
w Statistic5 = no data stored
w Statistic6 = no data stored
w Statistic7 = no data stored


Ups gerade hatte ich nach einem Start noch folgende Fehler, kann es ggf. sein das mein Signalpegel vielleicht noch nicht perfekt eingestellt ist und ich noch etwas Feinabstimmung am Widerstand machen muss. Oder ist das jetzt eher eine SW/konfig Sache?

pi@knx-rpii ~/ebusd $ ebusd -f --address=FF --logareas=bus --loglevel=info --device=/dev/ttyUSB0 --scanconfig
2017-01-22 18:38:49.681 [bus notice] signal acquired
2017-01-22 18:38:52.194 [bus notice] new master f1, master count 2
2017-01-22 18:38:52.721 [bus notice] new master 30, master count 3
2017-01-22 18:38:55.827 [bus notice] new master 70, master count 4
2017-01-22 18:38:56.239 [bus notice] new master f0, master count 5
2017-01-22 18:38:59.666 [bus info] send message: fffe070400
2017-01-22 18:38:59.715 [bus info] send message: ff35070400
2017-01-22 18:39:01.981 [bus info] send message: ff51070400
2017-01-22 18:39:02.051 [bus error] send to 51: ERR: read timeout, retry
2017-01-22 18:39:02.138 [bus error] send to 51: ERR: read timeout, retry
2017-01-22 18:39:02.228 [bus error] send to 51: ERR: read timeout, retry
2017-01-22 18:39:02.315 [bus error] send to 51: ERR: read timeout
2017-01-22 18:39:04.315 [bus info] send message: ff75070400
2017-01-22 18:39:06.510 [bus info] send message: fff5070400
2017-01-22 18:39:08.642 [bus info] send message: fff6070400
2017-01-22 18:39:08.746 [bus error] send to f6: ERR: CRC error, retry
2017-01-22 18:39:08.863 [bus error] send to f6: ERR: CRC error, retry
2017-01-22 18:39:09.012 [bus error] send to f6: ERR: CRC error, retry
2017-01-22 18:39:09.174 [bus error] send to f6: ERR: CRC error


misc2000
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 23 Januar 2017, 15:10:59
Hallo misc2000  :)

Die "duplicate entries" lassen sich leicht erklären: im Verzeichnis /etc/ebusd befindet sich das Unterverzeichnis weishaupt, in dem die Definitionen der Telegramme in den csv- und inc-Dateien liegen.
Da die Weishaupt-Geräte aber die Kennung für Kromschroeder verwenden (-> MF=Kromschroeder) und ebusd mit der Option --scanconfig in einem Verzeichnis mit genau dieser Kennung sucht, habe ich den entsprechenden Symlink /etc/ebusd/weishaupt -> /etc/ebusd/kromschroeder angelegt.

ebusd-checkconfig unterscheidet vermutlich die Telegrammdefinitionen nicht nach dem jeweiligen Hersteller-Verzeichnis. Und weil durch den Symlink eben zwei Hersteller-Verzeichnisse mit den selben Telegrammdefinitionen existieren, sind sämtliche Telegrammdefinitionen eben doppelt... :o
Das sollte aber kein Problem sein.

Wenn es Dich stört, dann lösche den Symlink, leg ein Verzeichnis /etc/ebusd/kromschroeder an und verschiebe alle Dateien aus dem weishaupt-Verzeichnis dort hin und lösche es dann.  ::)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: misc2000 am 23 Januar 2017, 15:45:08
hi JOK3r,
das mit den "duplicate entries" hatte ich mir auch schon fast so gedacht. Wenn diese Meldungen die Funktion nicht beeinflussen kann ich damit leben.
Ich versuche mich gerade etwas in das eBus Protokoll einzulesen und den Aufbau der CSV Dateien zu verstehen  :o
Da ich ja 2 externe Heizkreise mit je einem WCM-EM haben denke ich, muss ich noch die Datei 51.csv als Kopie mit dem Namen 52.csv für den 2. Heizkreis ablegen.
Richtig (Oder muss dafür noch mehr geändert werden)?

Kannst du mir mal ein paar Weishaupt Beispiel Abfragen nennen um zu sehen ob ich mit meiner neueren SW die gleichen Antworten wie du bekomme?
Und kann ich ebusd so konfigurieren das ich den kompletten ebus Verkehr sehe?
Ich wollte an der FB einzelne Werte des WCM-EM Abfragen und dachte ich würde die passenden Befehle dann auf dem eBus sehen um dann zu verstehen wie ich die WCM-EM abfragen kann...
Und wenn ich etwas für dich testen soll um ggf. eine Vermutung von dir zu bestätigen melde dich einfach!
Nochmal Danke für die Hilfe
misc2000
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: timo74 am 24 Januar 2017, 08:26:03
Hallo und einen wunderschönen guten Morgen, ;)

nach viel lesen und (leider bisher) noch nicht ganz so viel verstehen bin ich zumindest so weit, dass ich im FHEM (habe die Anbindung an den ebusd mittels GAEBUS Modul realisiert) die Werte der Endanwenderebene der Heizung (also die eingestellten Temperaturen), sowie verschiedene Prozess- und Statistikwerte in einzelnen Readings darstellen kann.

Als nächstes möchte ich die Broadcast-Informationen darstellen, welche alle paar Sekunden am EBUS entlang huschen.
Im ebusd-Log werden diese bereits so dargestellt:
2017-01-24 07:58:52.107 [update notice] update broadcast IstWerte QQ=f1: 1;BrennerAus;71;18;0;63.0;-;64.0;0.0;-11;-11.934;8

Und die Tatsache, dass dort lesbare Werte (bspw. BrennerAus) und keine Hex-Telegramme stehen, lässt mich vermuten, dass die Übersetzung hier bereits mit der Datei "... kromschroeder/broadcast.csv" stattgefunden hat.

Eines irritiert mich jedoch und genau da komme ich aktuell nicht weiter:
Im FHEM kann ich aus der broadcast.csv leider nur die Darstellung der "Identifikation", jedoch nicht die "IstWerte" auswählen.

Worin besteht eigentlich der Zusammenhang/Unterschied zwischen der "broadcast.csv" im kromschroeder-Verzeichnis und der "brodcast.csv" eine Ebene höher?
Woher weiß der ebusd eigentlich, welche broadcast.csv gerade relevant ist? In dem Broadcast-Telegram ist doch kein Vendor-Code enthalten, oder doch?

Könnt Ihr eventuell eine Ressource empfehlen, wo der Aufbau der CSV-Dateien und die Zusammenhänge zu den anderen Dateien beschrieben ist?
Das (wirklich sehr gut geschriebene) Wiki bei GitHub von John habe ich bereits durch. Nur als Nicht-Programmierer fehlen mir noch ein paar Schritte/Windungen bis zum ultimativen Aha-Effekt.

Als potentielle Quick'n'Dirty Variante hatte ich auch bereits die Inhalte beider broadcast.csv's ineinander kopiert, jedoch ohne jeglichen Erfolg.

Über einen kleinen Schubser in die richtige Richtung würde ich mich wahnsinnig freuen.

Viele Grüße
Timo

Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 24 Januar 2017, 17:47:11
Hallo Timo!  :)

Zitat von: timo74 am 24 Januar 2017, 08:26:03
nach viel lesen und (leider bisher) noch nicht ganz so viel verstehen bin ich zumindest so weit, dass ich im FHEM (habe die Anbindung an den ebusd mittels GAEBUS Modul realisiert) die Werte der Endanwenderebene der Heizung (also die eingestellten Temperaturen), sowie verschiedene Prozess- und Statistikwerte in einzelnen Readings darstellen kann.
Das GAEBUS-Modul ist für mich Neuland!
Aus irgendeinem Grund habe ich mich damals für die Anbindung per ECMD-Modul entschieden und so ist es noch heute.  ;)
Kann ich also wenig zu sagen, nur Vermutungen anstellen.
Aber interessieren würde mich das auch!  :D

Zitat von: timo74 am 24 Januar 2017, 08:26:03
Eines irritiert mich jedoch und genau da komme ich aktuell nicht weiter:
Im FHEM kann ich aus der broadcast.csv leider nur die Darstellung der "Identifikation", jedoch nicht die "IstWerte" auswählen.
Mit "FHEM" meinst Du das GAEBUS-Modul, oder?
Wie funktioniert das eigentlich? Greift das GAEBUS-Modul auf die dynamisch aufgebaute Liste der Variablen von ebusd zu?

So kommt man an alle Variablen und aktuellen Werte:

pi@raspberrypi:~ $ ebusctl f
broadcast datetime = 0.000;16:45:00;24.01.2017
broadcast error = no data stored
broadcast id = no data stored
broadcast IstWerte = 1;BrennerInBetrieb;127;82;46;54.0;-;49.0;0.0;0;-0.988;55
broadcast netloss = no data stored
broadcast netresetcfg = no data stored
broadcast netresetstate = no data stored
broadcast signoflife = no data stored
HK2->MI1 MI1.PD = 23.000;2;128;74;64;64;0;-;96;0;0;0;182
wwst? HK1 = no data stored
wwst? HK2 = no data stored
broadcast id = no data stored
hc1 Adaption = no data stored
hc1 DHWMin = no data stored
hc1 DHWMode = no data stored


Oder parst GAEBUS die CSV-Dateien der ebusd-Konfiguration?

Ansonsten per ebusctl read:

pi@raspberrypi:~ $ ebusctl r IstWerte
1;BrennerInBetrieb;127;82;42;55.0;-;47.0;0.0;-1;-0.961;55

pi@raspberrypi:~ $ ebusctl r -v IstWerte
broadcast IstWerte Status0=1;Betriebsphase=BrennerInBetrieb;Status2=127;Status3=82;Laststellung=42;T_Water=55.0;T_ECS=-;T_Temp1=47.0;T_Temp2=0.0;T_Out=-1;T_Trend=-0.961;T_Temp3=55

pi@raspberrypi:~ $ ebusctl r IstWerte Betriebsphase
BrennerInBetrieb

pi@raspberrypi:~ $ ebusctl r IstWerte T_Trend
-0.961


Zitat von: timo74 am 24 Januar 2017, 08:26:03
Worin besteht eigentlich der Zusammenhang/Unterschied zwischen der "broadcast.csv" im kromschroeder-Verzeichnis und der "brodcast.csv" eine Ebene höher?
Woher weiß der ebusd eigentlich, welche broadcast.csv gerade relevant ist? In dem Broadcast-Telegram ist doch kein Vendor-Code enthalten, oder doch?

Die /etc/ebusd/broadcast.csv enthält allgemeine Telegramme, die der ebus-Spezifikation definiert sind.

Laut eBus-Spec enthält ein 0704-Telegramm eine Hersteller-Identifikation (Manufacturer-Id).
Sobald ebusd mit Option "scanconfig" ein 0704-Telegramm empfängt, wird nach einem Unterverzeichnis mit entsprechendem Hersteller-Name gesucht (bei uns ist das 0x50=>Kromschoeder).
Dann werden pauschal aus diesem Verzeichnis die Dateien _templates.csv, general.csv, broadcast.csv und die scan.csv geladen (falls sie dort existieren).
Alle Telegramm-Definitionen, die dann geladen wurden, sind nun zusätzlich zu den bisher geladenen bekannt.
Das können auch Broadcast-Telegramme sein.
Wichtig ist nur, dass sie sich von den bisherigen Telegramm-Definitionen unterscheiden, sonst meckert ebusd mit der Meldung "duplicate entries".

Zitat von: timo74 am 24 Januar 2017, 08:26:03
Könnt Ihr eventuell eine Ressource empfehlen, wo der Aufbau der CSV-Dateien und die Zusammenhänge zu den anderen Dateien beschrieben ist?
Das (wirklich sehr gut geschriebene) Wiki bei GitHub von John habe ich bereits durch. Nur als Nicht-Programmierer fehlen mir noch ein paar Schritte/Windungen bis zum ultimativen Aha-Effekt.

Ich kenne nur das Wiki. Ich hab es auch mehrfach gelesen. ::)
Hier gibt's Spezifikationen http://ebus-wiki.org/doku.php/ebus/ebusdoku (http://ebus-wiki.org/doku.php/ebus/ebusdoku)
Ansonsten: frag doch einfach!  ;)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 24 Januar 2017, 18:15:42
Hallo Misc2000!  :)

Zitat von: misc2000 am 23 Januar 2017, 15:45:08
Da ich ja 2 externe Heizkreise mit je einem WCM-EM haben denke ich, muss ich noch die Datei 51.csv als Kopie mit dem Namen 52.csv für den 2. Heizkreis ablegen.
Richtig (Oder muss dafür noch mehr geändert werden)?

Prinzipiell richtig!  :D
Ich befürchte aber - die 51.csv ist aus meiner ebusd-Anfangszeit und noch nicht überarbeitet - dass ein Kopieren nicht ausreicht.
In den Telegramm-Default (die ersten Zeilen mit *b und *r) sind noch fest die Adressen (->51) drin, die musst Du anpassen (->52).
Und der Name (->MI1.PD) muss wohl auch geändert werden, damit er nicht doppelt vorkommt.
Bei Gelegenheit werde ich die Datei überarbeiten.

Zitat von: misc2000 am 23 Januar 2017, 15:45:08
Kannst du mir mal ein paar Weishaupt Beispiel Abfragen nennen um zu sehen ob ich mit meiner neueren SW die gleichen Antworten wie du bekomme?

Da müsstest Du nur eins der definierten Telegramme lesen.

Über ebusctl f bekommst Du alle definierten Telegramme angezeigt, die aktuell geladen sind.


pi@raspberrypi:~ $ ebusctl f
broadcast datetime = 0.000;17:59:00;24.01.2017
broadcast error = no data stored
...
scan.08  = Kromschroeder;W ;0216;0101
scan.35  = Kromschroeder;;2633;0000
scan.51  = Kromschroeder;;3233;0001
scan.75  = Kromschroeder;;2633;0000
scan.f6  = Kromschroeder;WWST?;0216;0101
w Enduser = 22;22;20;55;25;15;125
w ErrorHistory = no data stored
w Manufacturer1 = no data stored
w Manufacturer2 = no data stored
w ProcessValues1 = no data stored
w ProcessValues2 = no data stored
w ProcessValues3 = no data stored
w ProcessValues4 = no data stored
w ProcessValues5 = no data stored
w ProcessValues6 = no data stored
w Prozess2 = no data stored


Daraus kannst Du dann welche abfragen:

pi@raspberrypi:~ $ ebusctl r -f -v Enduser
w Enduser NormalTempSetValue=22;LoweringTempSetValue=22;ChangeoverTempSummerWinter=20;DHWSetValueDay=55;NormalRoomTemp=25;LoweringRoomTemp=15;Byte=125

pi@raspberrypi:~ $ ebusctl r -f -v ProcessValues1
w ProcessValues1 Byte1=85;Byte2=229;Byte3=14;Byte4=-;Byte5=212;Byte6=111;Byte7=64;Byte8=70



Zitat von: misc2000 am 23 Januar 2017, 15:45:08
Und kann ich ebusd so konfigurieren das ich den kompletten ebus Verkehr sehe?
Hmmm, weiß ich nicht - aber interessieren würde es mich auch!  :-[

Toll wäre eine Ausgabemöglichkeit in der Art:

18:10:18 AA AA AA AA AA AA AA AA
18:10:18 30 F1 05 07 09 BB 04 70 03 00 80 FF 65 FF 7A 00
18:10:19 AA AA AA AA AA AA AA AA AA AA
18:10:19 AA AA AA AA AA AA AA AA AA AA
18:10:19 AA AA AA AA AA AA AA
18:10:20 70 F1 05 07 09 BB FF 50 02 00 80 FF FF FF 8F 00
18:10:20 AA AA
18:10:20 70 51 50 10 04 66 17 02 80 6F 00 09 4A 40 40 00 FF 60 00 00 00 B6 00
18:10:20 AA AA AA AA AA AA AA AA AA AA


Da müsste man John fragen...  ;)

Zitat von: misc2000 am 23 Januar 2017, 15:45:08
Ich wollte an der FB einzelne Werte des WCM-EM Abfragen und dachte ich würde die passenden Befehle dann auf dem eBus sehen um dann zu verstehen wie ich die WCM-EM abfragen kann...
Schlauer Ansatz! 8)

Zitat von: misc2000 am 23 Januar 2017, 15:45:08
Und wenn ich etwas für dich testen soll um ggf. eine Vermutung von dir zu bestätigen melde dich einfach!
Nochmal Danke für die Hilfe

Vielen Dank, gerne und Grüße  :)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: timo74 am 24 Januar 2017, 18:24:12
Hallo J0K3r,

Zitat von: J0K3r am 24 Januar 2017, 17:47:11
Hallo Timo!  :)
Das GAEBUS-Modul ist für mich Neuland!
Aus irgendeinem Grund habe ich mich damals für die Anbindung per ECMD-Modul entschieden und so ist es noch heute.  ;)

Ich würde vermuten, dass das GAEBUS-Modul ähnlich wie ECMD arbeitet. Zumindest wird in der Definition direkt der ebusd mit IP und seinem Port (default 8888) angegeben.
Das Besondere ist aber, dass die CSV-Dateien unterhalb /opt/fhem liegen müssen, weil sie von dort gelesen und dementsprechend auch durch das Modul interpretiert werden.
Ich habe heute im Laufe des Tages allerdings irgendwo hier im Forum gelesen, dass es trotzdem wichtig ist, dass auch der ebusd die selben CSVs zur Verfügung hat.
Da in meinem Fall ebusd und Fhem auf unterschiedlichen Systemen laufen, muss ich mir noch etwas in Bezug auf die Synchronisation einfallen lassen. Aber das sollte nicht das Problem sein.


Zitat von: J0K3r am 24 Januar 2017, 17:47:11
So kommt man an alle Variablen und aktuellen Werte:

pi@raspberrypi:~ $ ebusctl f
broadcast datetime = 0.000;16:45:00;24.01.2017
broadcast error = no data stored
broadcast id = no data stored
broadcast IstWerte = 1;BrennerInBetrieb;127;82;46;54.0;-;49.0;0.0;0;-0.988;55
broadcast netloss = no data stored
broadcast netresetcfg = no data stored
broadcast netresetstate = no data stored
broadcast signoflife = no data stored
HK2->MI1 MI1.PD = 23.000;2;128;74;64;64;0;-;96;0;0;0;182
wwst? HK1 = no data stored
wwst? HK2 = no data stored
broadcast id = no data stored
hc1 Adaption = no data stored
hc1 DHWMin = no data stored
hc1 DHWMode = no data stored


Oder parst GAEBUS die CSV-Dateien der ebusd-Konfiguration?

Ansonsten per ebusctl read:

pi@raspberrypi:~ $ ebusctl r IstWerte
1;BrennerInBetrieb;127;82;42;55.0;-;47.0;0.0;-1;-0.961;55

pi@raspberrypi:~ $ ebusctl r -v IstWerte
broadcast IstWerte Status0=1;Betriebsphase=BrennerInBetrieb;Status2=127;Status3=82;Laststellung=42;T_Water=55.0;T_ECS=-;T_Temp1=47.0;T_Temp2=0.0;T_Out=-1;T_Trend=-0.961;T_Temp3=55

pi@raspberrypi:~ $ ebusctl r IstWerte Betriebsphase
BrennerInBetrieb

pi@raspberrypi:~ $ ebusctl r IstWerte T_Trend
-0.961


Interessant ist, dass ich bei einem "ebusctl f" leicht andere Ausgaben bekomme. So steht bei mir bspw. in der dritten Zeile "ident", statt "id" wie bei dir.


pi@fhem-hwr:~ $ ebusctl f
broadcast datetime = no data stored
broadcast error = no data stored
broadcast ident = no data stored
broadcast IstWerte = 1;BrennerInBetrieb;127;82;32;66.0;-;63.0;0.0;-8;-10.562;8
broadcast signoflife = no data stored
wwst? HK1 = no data stored
wwst? HK2 = no data stored
IstWerte = no data stored
broadcast ident = no data stored
memory eeprom = no data stored
memory ram = no data stored
scan.08  = Kromschroeder;W ;1200;0302
scan.f6  = Kromschroeder;WWST?;1200;0302
w Enduser = no data stored
w ErrorHistory = no data stored
w Manufacturer1 = no data stored
w Manufacturer2 = no data stored
w ProcessValues1 = no data stored
w ProcessValues2 = no data stored
w ProcessValues3 = no data stored
w ProcessValues4 = no data stored
w ProcessValues5 = no data stored
w ProcessValues6 = no data stored
w Prozess2 = no data stored
w Statistic1 = no data stored
w Statistic2 = no data stored
w Statistic3 = no data stored
w Statistic4 = no data stored
w Statistic5 = no data stored
w Statistic6 = no data stored
w Statistic7 = no data stored
wwst? SHC1 = no data stored
wwst? SHC2 = no data stored


Manuell kann ich die "IstWerte" auch abfragen. Nur GAEBUS scheint das nicht zu können. Ich glaube, ich werde mich dochmal ECMD zu Gemüte führen. :-)

Viele Grüße
Timo
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 24 Januar 2017, 18:59:06
Hallo Timo,

gutes Auge!  :o
"ident" wurde von John in "id" geändert - mein Abzug von ebusd-configuration war wohl davor!

Ich habe mir heute die Quellen von ebusd abgerufen und neu gebaut - irgendetwas geht jetzt nimmer, hab aber heute keine Lust mehr, vor den Rechner zu sitzen...  :-X
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 25 Januar 2017, 09:48:26
Zitat von: timo74 am 24 Januar 2017, 08:26:03
Woher weiß der ebusd eigentlich, welche broadcast.csv gerade relevant ist? In dem Broadcast-Telegram ist doch kein Vendor-Code enthalten, oder doch?
die CSVs sind einstufig hierarchisch aufgebaut, d.h. alle CSVs direkt im config Verzeichnis werden immer geladen und die aus den Hersteller-Unterverzeichnissen bei Bedarf, sprich wenn ein entsprechendes Gerät am Bus kommuniziert. Die in einem Hersteller-Verzeichnis liegenden _templates.csv und alle *.csv Dateien, die nicht mit einer Adresse "ZZ." beginnen, werden ebenfalls sofort eingelesen, sobald das erste Gerät des entsprechenden Herstellers entdeckt und gescannt wurde.

Zitat von: timo74 am 24 Januar 2017, 08:26:03
Könnt Ihr eventuell eine Ressource empfehlen, wo der Aufbau der CSV-Dateien und die Zusammenhänge zu den anderen Dateien beschrieben ist?
Das (wirklich sehr gut geschriebene) Wiki bei GitHub von John habe ich bereits durch. Nur als Nicht-Programmierer fehlen mir noch ein paar Schritte/Windungen bis zum ultimativen Aha-Effekt.
Hast Du auch Kapitel 4.7. Automatic configuration (https://github.com/john30/ebusd/wiki/4.7.-Automatic-configuration) angeschaut? Vielleicht sollte ich noch einen beispielhaften Ablauf für das Einlesen der Dateien einbauen, damit man sieht, wie ebusd das handhabt.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 25 Januar 2017, 09:52:36
Zitat von: J0K3r am 24 Januar 2017, 18:15:42
Toll wäre eine Ausgabemöglichkeit in der Art:

18:10:18 AA AA AA AA AA AA AA AA
18:10:18 30 F1 05 07 09 BB 04 70 03 00 80 FF 65 FF 7A 00

Da müsste man John fragen...  ;)
Das ist das raw logging (https://github.com/john30/ebusd/wiki/2.-Run#raw-logging-options), das sowohl beim ebusd Start als auch via ebusctl/TCP zur Laufzeit aktivierbar ist.
Die zusammengefassten Messages wie oben vorgeschlagen stehen schon als feature request (https://github.com/john30/ebusd/issues/40) drin.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 25 Januar 2017, 09:54:14
Zitat von: J0K3r am 24 Januar 2017, 18:59:06
Ich habe mir heute die Quellen von ebusd abgerufen und neu gebaut - irgendetwas geht jetzt nimmer, hab aber heute keine Lust mehr, vor den Rechner zu sitzen...  :-X
Wär cool wenn Du schauen könntest, was genau nicht mehr geht.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 25 Januar 2017, 17:22:26
Hallo John  :)

Zitat von: john30 am 25 Januar 2017, 09:54:14
Wär cool wenn Du schauen könntest, was genau nicht mehr geht.

Das mach ich:
Mein Stand der ebusd-Quellen ist vom 24.01.2017 mit Commit 06b3fa3, also ebusd Version 3.0pre.06b3fa3.

Das Problem ist, dass Telegramme zwar dekodiert, (teilweise) jedoch nicht intern im ebusd gespeichert werden.

Ich habe beispielsweise die Definition für die Telegramme mit den Sollwerten, die von den Heizkreisreglern (0x30/0x70) zum Heizungsregler (0xF1) zyklisch geschickt werden.

Die Definition sieht so aus: /ets/ebusd/weishaupt/f6.csv

*b,,,,,"F1",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
b,hc1,SetValues,HK1->HR,"30",,"0507",,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,
b,hc2,SetValues,HK2->HR,"70",,"0507",,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,


Die Definitionen wurden auch eingelesen und sind vorhanden:

pi@raspberrypi:~ $ ebusctl f
broadcast datetime = -2.000;16:58:00;25.01.2017
broadcast error = no data stored
broadcast id = no data stored
broadcast IstWerte = 1;BrennerInBetrieb;127;82;57;55.0;-;48.0;0.0;-1;-1.969;55
broadcast netloss = no data stored
broadcast netresetcfg = no data stored
broadcast netresetstate = no data stored
broadcast signoflife = no data stored
hc1 SetValues = no data stored
hc2 SetValues = no data stored
HK2->MI1 MI1.PD = 22.699;2;128;74;64;63;-2;254;96;0;0;0;166
broadcast id = no data stored
hc1 Adaption = no data stored
hc1 DHWMin = no data stored
hc1 DHWMode = no data stored
...

Irritierend finde ich hier, dass bei dieser Ausgabe "broadcast id" doppelt vorhanden ist!?

Schaue ich mir das Log-File an, dann sehe ich dort, dass "SetValues" richtig dekodiert wird:

2017-01-25 17:03:08.451 [update notice] update HK2->MI1 MI1.PD: 22.699;2;128;74;64;64;-1;254;96;0;0;0;184
2017-01-25 17:03:13.051 [update notice] update broadcast IstWerte QQ=f1: 1;BrennerInBetrieb;127;82;57;55.0;-;47.0;0.0;-1;-1.965;55
2017-01-25 17:03:17.010 [update notice] update hc1 SetValues: hotwaterinheating;startconsumer;55.00;-;-;50.5;-
2017-01-25 17:03:18.320 [update notice] update hc2 SetValues: hotwaterinheating;-;37.00;-;-;-;-
2017-01-25 17:03:18.571 [update notice] update HK2->MI1 MI1.PD: 22.699;2;128;74;64;64;-1;254;96;0;0;0;184
2017-01-25 17:03:27.017 [update notice] update hc1 SetValues: hotwaterinheating;startconsumer;55.00;-;-;50.5;-
2017-01-25 17:03:28.291 [update notice] update hc2 SetValues: hotwaterinheating;-;37.00;-;-;-;-
2017-01-25 17:03:28.480 [update notice] update HK2->MI1 MI1.PD: 22.699;2;128;74;64;64;-1;254;96;0;0;0;184


Dennoch werden die Werte nicht intern gespeichert!

pi@raspberrypi:~ $ ebusctl r -c hc1 SetValues
ERR: no data stored

pi@raspberrypi:~ $ ebusctl r -c hc2 SetValues
ERR: no data stored


Gab es das Problem nicht schon einmal?

Komischerweise funktionieren andere Telegramme - wie man oben sieht, z.B. "broadcast IstWerte" und "MI1.PD".

BTW: Ich habe noch eine kleine Weishaupt-Besonderheit, die vielleicht irgendwie mit den Problemen zu tun hat - oder in Zukunft welche schafft.
Es ist die Id, die entweder gar nicht (0x35, 0x52, 0x75), schlampig (0x08) oder mit ungünstigen Zeichen -> "?" (0xF6) von den Geräten zurückgeliefert wird.


pi@raspberrypi:~ $ ebusctl f
scan.08  = Kromschroeder;W ;0216;0101
scan.35  = Kromschroeder;;2633;0000
scan.51  = Kromschroeder;;3233;0001
scan.75  = Kromschroeder;;2633;0000
scan.f6  = Kromschroeder;WWST?;0216;0101
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 25 Januar 2017, 17:39:55
Zitat von: john30 am 25 Januar 2017, 09:52:36
Das ist das raw logging (https://github.com/john30/ebusd/wiki/2.-Run#raw-logging-options), das sowohl beim ebusd Start als auch via ebusctl/TCP zur Laufzeit aktivierbar ist.
Die zusammengefassten Messages wie oben vorgeschlagen stehen schon als feature request (https://github.com/john30/ebusd/issues/40) drin.
Momentan schreibt das raw-logging ja in das parametrierte Log-File...

Da könnte ich mir zwei weitere nützliche Szenarien vorstellen:

Eine Ausgabe der Roh-Daten über ebusctl - ähnlichen dem Kommando  ebusctl listen.

pi@raspberrypi:~ $ ebusctl listen raw
18:10:18 AA AA AA AA AA AA AA AA
18:10:18 30 F1 05 07 09 BB 04 70 03 00 80 FF 65 FF 7A 00
18:10:19 AA AA AA AA AA AA AA AA AA AA
18:10:19 AA AA AA AA AA AA AA AA AA AA
18:10:19 AA AA AA AA AA AA AA
18:10:20 70 F1 05 07 09 BB FF 50 02 00 80 FF FF FF 8F 00
18:10:20 AA AA


Und das Durchreichen des kompletten eBus-Verkehrs an einen TCP-Port - damit könnte man mit einem externen Programm (das beispielsweise auf einem Windows-Rechner läuft und über einen virtuellen COM-Port über TCP/UDP mit dem ebusd verbunden ist), die Daten analysieren, usw...
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 26 Januar 2017, 09:36:28
Zitat von: J0K3r am 25 Januar 2017, 17:22:26
Das Problem ist, dass Telegramme zwar dekodiert, (teilweise) jedoch nicht intern im ebusd gespeichert werden.
Hm, das kann ich leider nicht nachvollziehen. Bei mir kommen die ordentlich rein mit dem aktuellen Sourcecode.
Schau doch mal im Logfile, ob die auch wirklich ankommen und dekodiert werden.

Also datetime kommt ja zumindest laut Deiner Ausgabe:
Zitat von: J0K3r am 25 Januar 2017, 17:22:26

pi@raspberrypi:~ $ ebusctl f
broadcast datetime = -2.000;16:58:00;25.01.2017


Irritierend finde ich hier, dass bei dieser Ausgabe "broadcast id" doppelt vorhanden ist!?
Das liegt vermutlich daran, dass es sowohl eine "read" Message mit dem Namen gibt als auch eine "passive read".
"find -f -c broadcast id" wird Dir mehr darüber sagen können.

Zitat von: J0K3r am 25 Januar 2017, 17:22:26
Schaue ich mir das Log-File an, dann sehe ich dort, dass "SetValues" richtig dekodiert wird:

2017-01-25 17:03:08.451 [update notice] update HK2->MI1 MI1.PD: 22.699;2;128;74;64;64;-1;254;96;0;0;0;184
2017-01-25 17:03:13.051 [update notice] update broadcast IstWerte QQ=f1: 1;BrennerInBetrieb;127;82;57;55.0;-;47.0;0.0;-1;-1.965;55
2017-01-25 17:03:17.010 [update notice] update hc1 SetValues: hotwaterinheating;startconsumer;55.00;-;-;50.5;-
2017-01-25 17:03:18.320 [update notice] update hc2 SetValues: hotwaterinheating;-;37.00;-;-;-;-
2017-01-25 17:03:18.571 [update notice] update HK2->MI1 MI1.PD: 22.699;2;128;74;64;64;-1;254;96;0;0;0;184
2017-01-25 17:03:27.017 [update notice] update hc1 SetValues: hotwaterinheating;startconsumer;55.00;-;-;50.5;-
2017-01-25 17:03:28.291 [update notice] update hc2 SetValues: hotwaterinheating;-;37.00;-;-;-;-
2017-01-25 17:03:28.480 [update notice] update HK2->MI1 MI1.PD: 22.699;2;128;74;64;64;-1;254;96;0;0;0;184

Dennoch werden die Werte nicht intern gespeichert!
Beim read Kommando (https://github.com/john30/ebusd/wiki/3.1.-TCP-client-commands#read) musst Du auf das Alter Nachrichten achten, denn ohne "-m SECONDS" werden passive Nachrichten nur mit einem Alter unter 5 Minuten ausgegeben.

Zitat von: J0K3r am 25 Januar 2017, 17:22:26
BTW: Ich habe noch eine kleine Weishaupt-Besonderheit, die vielleicht irgendwie mit den Problemen zu tun hat - oder in Zukunft welche schafft.
Es ist die Id, die entweder gar nicht (0x35, 0x52, 0x75), schlampig (0x08) oder mit ungünstigen Zeichen -> "?" (0xF6) von den Geräten zurückgeliefert wird.
Ja das hab ich gesehen. Ist halt nicht Standard-konform...
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 26 Januar 2017, 09:38:30
Zitat von: J0K3r am 25 Januar 2017, 17:39:55
Eine Ausgabe der Roh-Daten über ebusctl - ähnlichen dem Kommando  ebusctl listen.
Und das Durchreichen des kompletten eBus-Verkehrs an einen TCP-Port - damit könnte man mit einem externen Programm (das beispielsweise auf einem Windows-Rechner läuft und über einen virtuellen COM-Port über TCP/UDP mit dem ebusd verbunden ist), die Daten analysieren, usw...
Kann man machen, aber sehe ich jetzt nicht high priority. Wenn Du das wirklich brauchst, dann mach Tickets (https://github.com/john30/ebusd/issues) dafür auf, dann gerät das nicht in Vergessenheit.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 29 Januar 2017, 12:15:13
Hallo John  :)

Nach stundenlanger Such-Arbeit habe ich den Fehler (wahrscheinlich) gefunden!  8)

Die Telegramme, die bei mir nicht mehr funktionieren, sind Master-Master-Telegramme, die von den Heizkreisreglen zum Heizungsregler (0x30 -> 0xF1 und 0x70 -> 0xF1) zyklisch geschickt werden. Ich hör da nur mit...


*b,,,,,"F1",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
b,hc1,SetValues,HK1->HR,"30",,"0507",,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,
b,hc2,SetValues,HK2->HR,"70",,"0507",,Status,,opdataheat,,, ,Aktion,,opdataaction,,, ,Temp1,,temp,,, ,Solldruck,,press,,, ,stellgrad,,percent1,,, ,Temp2,,temp1,,, ,brennstoff,,fueltype,,,


Bei Deinem Commit 39c7678 ("always touch lastupdatetime when storing data of a write message" 39c7678406d31d7dad08e6c9d55137751f7e43c9) hast Du gerade diese Bedingung
partType == pt_masterData && isMaster(this->m_dstAddress)
herausgeworfen...

https://github.com/john30/ebusd/commit/39c7678406d31d7dad08e6c9d55137751f7e43c9 (https://github.com/john30/ebusd/commit/39c7678406d31d7dad08e6c9d55137751f7e43c9)

result_t Message::storeLastData(const PartType partType, SymbolString& data, unsigned char index)
{
if (data.size() > 0
- && (this->m_dstAddress == BROADCAST || partType == pt_slaveData || (partType == pt_masterData && isMaster(this->m_dstAddress)))) {
+ && (m_isWrite || this->m_dstAddress == BROADCAST || partType == pt_slaveData)) {
time(&m_lastUpdateTime);
}
if (partType == pt_masterData) {


Füge ich in der message.cpp diese Bedingung wieder ein, dann funktioniert wieder alles!  :D
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 29 Januar 2017, 16:38:19
Zitat von: J0K3r am 29 Januar 2017, 12:15:13
Die Telegramme, die bei mir nicht mehr funktionieren, sind Master-Master-Telegramme, die von den Heizkreisreglen zum Heizungsregler (0x30 -> 0xF1 und 0x70 -> 0xF1) zyklisch geschickt werden.
Ah, Spezial-Spezial-Fall, da hatte ich nicht drangedacht.
Danke fürs rausfinden!

Zitat von: J0K3r am 29 Januar 2017, 12:15:13
Füge ich in der message.cpp diese Bedingung wieder ein, dann funktioniert wieder alles!  :D
Ist eingecheckt.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: timo74 am 03 Februar 2017, 20:28:44
Hallo zusammen,

ich will nur mal kurz von meinen Fortschritten berichten und nochmal die Gelegenheit nutzen, John und J0K3r zu danken! :-)

Und zwar habe ich am eBusd auf dem abgesetzten Pi jetzt einfach die MQTT-Unterstützung verwendet, um die "IstWerte" der Weishaupt eventbasiert zu übermitteln.
Das ist insofern relevant, weil ein regelmäßiger Poll (wie bei ECMD oder GAEBUS) des Status ja ggf. durchaus Events übersehen könnte.
So habe ich zwar eine Menge an Daten (immerhin wird offensichtlich jeder Zustandsänderung ein Broadcast-Event erzeugt), aber dafür auch eine sehr granualare Auswertung.

Auf FHEM-Seite gibt es eine MQTT-Bridge, welche die IstWerte in einen Dummy schreibt. Dort nehme ich die einzelnen Werte mittels userReadings wieder auseinander und lasse einzelne Readings erzeugen bzw. mit Werten befüllen.

Wenn es jemanden interessiert, so siehts aus: :-)


define HWR.Weishaupt dummy
attr HWR.Weishaupt userReadings Status0 {my @a = split(";;",ReadingsVal("HWR.Weishaupt","state",0));;;; $a[0]},\
Betriebsphase {my @a = split(";;",ReadingsVal("HWR.Weishaupt","state",0));;;; $a[1]},\
Status2 {my @a = split(";;",ReadingsVal("HWR.Weishaupt","state",0));;;; $a[2]},\
Status3 {my @a = split(";;",ReadingsVal("HWR.Weishaupt","state",0));;;; $a[3]},\
Laststellung {my @a = split(";;",ReadingsVal("HWR.Weishaupt","state",0));;;; $a[4]},\
TempWater {my @a = split(";;",ReadingsVal("HWR.Weishaupt","state",0));;;; $a[5]},\
Temp1 {my @a = split(";;",ReadingsVal("HWR.Weishaupt","state",0));;;; $a[7]},\
Temp2 {my @a = split(";;",ReadingsVal("HWR.Weishaupt","state",0));;;; $a[8]},\
AussenTemp {my @a = split(";;",ReadingsVal("HWR.Weishaupt","state",0));;;; $a[9]},\
TempTrend {my @a = split(";;",ReadingsVal("HWR.Weishaupt","state",0));;;; $a[10]},\
Temp3 {my @a = split(";;",ReadingsVal("HWR.Weishaupt","state",0));;;; $a[11]}\

define mqtt_HWR.Weishaupt MQTT_BRIDGE HWR.Weishaupt
attr mqtt_HWR.Weishaupt IODev Mosquitto
attr mqtt_HWR.Weishaupt stateFormat transmission-state
attr mqtt_HWR.Weishaupt subscribeSet ebusd/broadcast/IstWerte


Jetzt muss ich "nur" noch die tatsächliche Bedeutung der Informationen (bspw. Status0,1,2 oder Temp1,2) herausfinden und kann dann ggf. wieder einzelne Readings entsorgen, sofern die Messdaten nicht interessant sind.

BTW: Mich würde mal interessieren, ob jemand ebenso wie ich ein Delta von ziemlich genau 6°C zwischen der tatsächlichen und der von der Weishaupt gemessenen Außentemperatur beobachtet hat.

Viele Grüße
Timo
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 04 Februar 2017, 10:32:21
Zitat von: J0K3r am 25 Januar 2017, 17:22:26
BTW: Ich habe noch eine kleine Weishaupt-Besonderheit, die vielleicht irgendwie mit den Problemen zu tun hat - oder in Zukunft welche schafft.
Es ist die Id, die entweder gar nicht (0x35, 0x52, 0x75), schlampig (0x08) oder mit ungünstigen Zeichen -> "?" (0xF6) von den Geräten zurückgeliefert wird.
betrifft das bei Dir nur den ID Teil oder auch SW/HW?
Für letzteres ist der aktuelle Code zumindest beim Laden einer scanconfig CSV etwas toleranter...
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 04 Februar 2017, 13:59:15
Hallo John  :)

Zitat von: john30 am 04 Februar 2017, 10:32:21
betrifft das bei Dir nur den ID Teil oder auch SW/HW?
Für letzteres ist der aktuelle Code zumindest beim Laden einer scanconfig CSV etwas toleranter...

So wie es aussieht, betrifft es nur die ID.
Ich habe mal ein paar Ausgaben von ebusctl info aus diesem Thread zusammengefasst:

mein System

version: ebusd 3.0pre.ef65a8c
address 09: slave, scanned
address 30: master #3
address 31: master #8, ebusd (answering)
address 35: slave #3, scanned "MF=Kromschroeder;ID=;SW=2633;HW=0000", loaded "kromschroeder/35..hc1.csv"
address 36: slave #8, ebusd (answering)
address 51: slave, scanned "MF=Kromschroeder;ID=;SW=3233;HW=0001", loaded "kromschroeder/51..hc2.csv"
address 70: master #4
address 75: slave #4, scanned "MF=Kromschroeder;ID=;SW=2633;HW=0000", loaded "kromschroeder/75..hc2.csv"
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST?;SW=0216;HW=0101", loaded "kromschroeder/f6.csv"


Timo74

version: ebusd 2.4.79708d2
address 04: slave #25, ebusd
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST?;SW=1200;HW=0302", loaded "kromschroeder/f6.csv"
address ff: master #25, ebusd


ulibeyer

version: ebusd 2.3.5bcc475
address 30: master #3
address 31: master #8, ebusd
address 35: slave #3, scanned "MF=Kromschroeder;ID=;SW=2621;HW=0000", loaded "kromschroeder/35.csv"
address 36: slave #8
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST?;SW=0140;HW=0101", loaded "kromschroeder/f6.csv"


misc2000

version: ebusd 3.0pre.e256a74
address 03: master #11
address 04: slave #25, ebusd
address 08: slave #11, scanned "MF=Kromschroeder;ID=W ;SW=0216;HW=0101", loaded "kromschroeder/08.csv"
address 30: master #3
address 35: slave #3, scanned "MF=Kromschroeder;ID=W ;SW=2634;HW=0000", loaded "kromschroeder/35..hc1.csv"
address 51: slave, scanned "MF=Kromschroeder;ID=W ;SW=3234;HW=0001", loaded "kromschroeder/51.csv"
address 52: slave, scanned "MF=Kromschroeder;ID=W ;SW=3234;HW=0001"
address 70: master #4
address 75: slave #4, scanned "MF=Kromschroeder;ID=W ;SW=2634;HW=0000", loaded "kromschroeder/75..hc2.csv"
address f0: master #5
address f1: master #10
address f5: slave #5, scanned "MF=Kromschroeder;ID=W ;SW=3234;HW=0001"
address ff: master #25, ebusd
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 04 Februar 2017, 14:17:20
Hallo Timo74  :)

Vielen Dank, dass Du Deine Fortschritte mit uns teilst!
Das interessiert mich sehr!  :)

Bei Gelegenheit möchte ich die Anbindung über MQTT auch testen und dank Deiner Infos sollte ich recht schnell Erfolge erzielen!

Zitat von: timo74 am 03 Februar 2017, 20:28:44
BTW: Mich würde mal interessieren, ob jemand ebenso wie ich ein Delta von ziemlich genau 6°C zwischen der tatsächlichen und der von der Weishaupt gemessenen Außentemperatur beobachtet hat.

Naja, das mit der "tatsächlichen Temperatur" ist so eine Sache...
Mein Fühler für die Heizung hängt beispielsweise in 5 m Höhe windgeschützt auf der Nordseite.
Wenn es am Boden Frost hat, dann kann ich mir durchaus vorstellen, dass es da oben noch Plus-Temperaturen hat.

Aber unabhängig davon gibt es doch auch einen Parameter, mit dem man einen Temperaturoffset einstellen kann:
P20 Außenfühler-Korrektur
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 05 Februar 2017, 16:20:36
Zitat von: J0K3r am 04 Februar 2017, 13:59:15
So wie es aussieht, betrifft es nur die ID.
Ich habe mal ein paar Ausgaben von ebusctl info aus diesem Thread zusammengefasst:
ja das ist nicht besonder toll. Vielleicht sollte ich das Abschneiden von Zahlen am Ende der ID auf unsinnige Zeichen erweitern...
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 05 Februar 2017, 16:27:45
Zitat von: john30 am 05 Februar 2017, 16:20:36
ja das ist nicht besonder toll. Vielleicht sollte ich das Abschneiden von Zahlen am Ende der ID auf unsinnige Zeichen erweitern...

Macht Sinn - zumindest bei Zeichen, die nicht für Dateinamen erlaubt sind!  :)

Ach, ich hab die Mosquitto-Unterstützung zum Laufen bekommen, tolle Arbeit! :)
@Timo74: auch Dir vielen Dank!
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 03 Juni 2017, 13:43:08
Zitat von: J0K3r am 05 Februar 2017, 16:27:45
Macht Sinn - zumindest bei Zeichen, die nicht für Dateinamen erlaubt sind!  :)
die ID wird jetzt bereinigt um alles außer alphanumrischen Zeichen und "_".
VG John
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 03 Juni 2017, 14:02:58
Hallo John, vielen Dank!  :)

Bei Gelegenheit probier ich das mal aus!
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Spassat35i am 15 Januar 2018, 20:37:30
Hi,

Dank der guten Arbeit hier im Forum experimentiere ich nun ebenfalls an meiner Weishaupt Heizungsanlage. Allerding betreibe ich zusätzlich eine WRSOL2.1 und versuche diese jetzt zu integrieren. Aus einem anderen Forums Beitrag habe ich diverse Daten erhalten und versuche diese jetzt zu laden aber irgendwie funktioniert es nicht richtig
Hier meine Auszug:

address 03: master #11
address 07: master #16
address 08: slave #11, scanned "MF=Kromschroeder;ID=W ;SW=1200;HW=0302", loaded "kromschroeder/08..sc.csv"
address 0c: slave #16, scanned "MF=-;ID=??;SW=-;HW=-"
address 10: master #2
address 15: slave #2, scanned "MF=TEM;ID=WRSOL;SW=0201;HW=6521"
address 31: master #8, ebusd
address 36: slave #8, ebusd
address 51: slave, scanned "MF=Kromschroeder;ID=W ;SW=7203;HW=-", loaded "kromschroeder/51..hc2.csv"
address 70: master #4
address 75: slave #4, scanned "MF=Kromschroeder;ID=W ;SW=2726;HW=-", loaded "kromschroeder/75..hc2.csv"
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST?;SW=1200;HW=0302", loaded "kromschroeder/f6..sc.csv"

ich habe nun ein CSV File erstellt in dem Ordner ,,tem" mit dem Namen 15.wrsol.csv . aber wie ihr seht wird es nicht geladen. Muss ich noch etwas beachten?

Vielen Dank im Voraus.

Marcel
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 16 Januar 2018, 16:15:21
Hallo Marcel,

prinzipiell sieht das gut aus, was Du da machst.
Ich habe mal etwas herumgespielt und mir überlegt, wie Du Dein Problem vielleicht findest:

Wenn ebusd ein Gerät am Bus findet - so wie bei Dir geschehen -, dann versucht er eine passende Konfigurationsdatei zu laden.

Das sieht man gut in der log-Datei:
Das Kommando tail zeigt in der Konsole das Ende einer Datei an. Wird in diese Datei geschrieben - hier die Log-Ausgaben von ebusd -, dann wird das auch als Ausgabe des tail-Kommando in der Konsole gezeigt.
Also führe das folgende Kommando in einer eigenen Konsole aus.


tail -f /var/log/ebusd.log


Ach: den ebusd starte ich übrigens mit dem Parameter --scanconfig=full, um alle Adressen beim Start abzuklappern.

Ich habe einmal /etc/ebusd/kromschroeder entfernt, die tail-Ausgabe sieht dann so aus:

2018-01-16 15:48:07.128 [bus notice] scan 08: ;Kromschroeder;W ;0216;0101
2018-01-16 15:48:10.349 [bus notice] scan 35: ;Kromschroeder;;2633;0000
2018-01-16 15:48:13.495 [bus notice] scan 51: ;Kromschroeder;;3233;0001
...
2018-01-16 15:48:18.561 [main error] unable to load scan config 08: list files in /etc/ebusd/kromschroeder ERR: element not found


Nun habe ich das Verzeichnis  /etc/ebusd/kromschroeder wieder eingefügt, aber daraus die Konfigurationsdatei 08..sc.csv entfernt. Bei Neustart von ebusd sieht man, dass für das Gerät 08 keine Datei geladen wird, für das Gerät 35 hingegen wird  35..hc1.csv geladen. Die tail-Ausgabe sieht so aus:

2018-01-16 15:56:07.594 [bus notice] scan 08: ;Kromschroeder;W ;0216;0101
2018-01-16 15:56:11.122 [bus notice] scan 35: ;Kromschroeder;;2633;0000
2018-01-16 15:56:13.982 [bus notice] scan 51: ;Kromschroeder;;3233;0001
...
2018-01-16 15:56:19.037 [main error] unable to load scan config 08: no file from /etc/ebusd/kromschroeder with prefix 08. found
2018-01-16 15:56:19.037 [main error] scan config 08: ERR: element not found
2018-01-16 15:56:21.046 [main notice] read scan config file /etc/ebusd/kromschroeder/35..hc1.csv for ID "", SW2633, HW0000


Also meine Empfehlung: schau einfach mal in die log Datei.

Existiert das Verzeichnis und die csv-Datei, dann kann es noch ein Berechtigungsproblem sein - ebusd muss zugriffsberechtigt sein.
Du könntest die Datei 15.wrsol.csv noch in 15.csv umbenennen und Dich weiter herantasten...

Viel Erfolg
J0K3r
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 16 Januar 2018, 16:46:09
...noch etwas: mich irritiert folgender Eintrag


address 0c: slave #16, scanned "MF=-;ID=??;SW=-;HW=-"


Was ist denn das!?
Keine Herstellerkennung!?

Hast Du eine Ahnung, was das sein könnte?
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Spassat35i am 16 Januar 2018, 23:10:42
Danke für die detaillierte Antwort. Ich versuche mich mal daran zu kämpfen.

Den Eintrag kann ich mir im Moment auch noch nicht erklären. Ich werde am WE mal Unit für Unit vom Bus nehmen und sehen was übrig bleibt.
   
Ich entschuldige mich schon mal im Voraus das ich sicher die nächste Zeit noch mit ein paar Fragen aufwarten werde.   

Marcel
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: hans88 am 08 März 2018, 21:02:20
auf die Gefahr hin dass ich das Thema verfehle:

nur für die, die nur die Daten von einer weishaupt WTCx5 darstellen wollen

schaut euch das mal an:
https://forum.fhem.de/index.php/topic,10290.msg79372.html#msg79372

Das Modul läuft bei mir seit 2013 problemlos.

Gruss Hans
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: curt am 01 April 2018, 02:46:39
Guten Tag und frohe Ostern!

Ich habe eine Weishaupt WTC 25A und googelte diesen Suchbegriff in Zusammenhang mit FHEM. Oh wie schön, da scheint was zu gehen. Leider habe ich im Moment so gar keinen Plan ...

Also meine Heizung ist einfach nur so da. Sie hat keinerlei "mit Cloud" oder wie auch immer geartete Zusätze oder Erweiterungen.

Ich frage mal ganz naiv und ganz direkt: Was brauche ich denn, um meine Heizung mit FHEM zu verbinden?

@J0EK3R erwähnt in #6 ein Weishaupt-Zusatzgerät: http://www.weishaupt.de/produkte/heizsysteme/gas-brennwertsysteme/kommunikationsmodul-wcm-com
Das brauche ich? Das baut mir mein Heizungsmonteur an? Was kostet das ganz grob?

Dann brauche ich noch den Daemonen ebusd, den gibt es auf github.

So erstmal alles richtig?

Was brauche ich zwingend noch dafür?

@timo74 #64
Bei Dir läuft das nun alles? Vermutlich muss ich von Dir lernen.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 01 April 2018, 07:08:48
Hallo Curt,

ganz einfache Antwort zu all Deinen Fragen: kommt drauf an!  ;)

Prinzipiell kommuniziert WTC15/WTC25 über eBus mit den anderen Geräten der Heizungsanlage: Heizkreisregler (das Bedienteil WCM-FB), Mischer (WCM-EM). In den Telegrammen, die über den eBus gehen, sind Statusinformationen enthalten (Ist-Temperaturen und Zustände der Anlage) bzw. Steuerbefehle von den Reglern.

Diese Telegramme kann man ,,mithören" und ,,entschlüsseln" und dann beispielsweise als Temperaturkurven über FHEM darstellen. Dafür braucht man eine Hardware, den Umsetzer, den man an die zwei Drähte des eBusses anschließt und eine Software, den ebusd, der entschlüsselt und die Werte beispielsweise über MQTT an FHEM übermittelt. So mach ich das.

Ich kenne mich allerdings nur mit einer ,,älteren Anlage" (BJ 2003) aus.

Für die folgende Gerätegeneration gab es dann das WCM-COM, das wohl Ähnliches leistet wie Umsetzer und ebusd und die Werte in einer Web-Oberfläche darstellt. Meines Wissens funktioniert dieses WCM-COM erst ab einem bestimmten Softwarestand der Anlage!
Für die Anbindung von WCM-COM an FHEM gibt es mindestens diesen Thread:
https://forum.fhem.de/index.php/topic,17718.0/all.html

Der andere Weg über Umsetzer und ebusd, der unabhängig vom Softwarestand ist, der wird in diesem Thread behandelt.
Hier muss ich allerdings auch sagen, dass die Telegramm-Definitionen, die ich für ebusd gemacht habe, nicht zwingend für einen neueren Softwarestand geeignet sein müssen.
https://github.com/J0EK3R/ebusd-configuration-weishaupt

Zum Thema Umsetzer hat John - der Autor der ebusd-Software - hier etwas geschrieben:
https://github.com/john30/ebusd/wiki/6.-Hardware
Seine Empfehlung:
https://ebus.github.io/adapter/

...jetzt habe ich viel Text produziert und Du hast dennoch keine klare Aussage  :-X
Vielleicht antwortet noch jemand, der mehr weiß!?

Viele Grüße in die Runde
J0EK3R
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: curt am 02 April 2018, 01:26:55
Hallo @J0EK3R
danke für Deine Antwort, die den Schleier ein wenig hebt.

Das Typenschild meiner WTC25 kommt mit einer Seriennummer und einer Kombination, die vielleicht der Versionsstand ist. Leider kein Produktionsjahr.

Meine WTC25 bekam ich Herbst 2007. Einem Mail-Schriftwechsel mit der Fa Weishaupt entnehme ich zudem, dass es für meine Heizung ein "WEA-Modul" gibt, welches die Heizung (wohl seriell) mit einem PC verbindet. Das musste wohl an den eBus. Kaufte ich nicht, war mir zu teuer und zu nutzlos.

Gleicher Mail entnehme ich, dass es 2007 eine "USER Gemeinschaft E-Bus" gab, die weitere Informationen zum eBus-Protokoll habe.

Den von Dir genannten "Umsetzer" habe ich noch nicht so richtig verstanden. Zumal sehr lange Forenthreads eher verwirren: Was stimmt noch, was ist da veraltet? Der "Umsetzer" ist wohl eine Platine. Und vielleicht noch eine Platine für WLAN. Und ganz vielleicht ein Raspberry - aber das habe ich nicht genau verstanden.

Die genannte "Umsetzer"-Platine gibt es bei Reichelt nicht (mehr), auch die Erweiterungsplatine nicht. Oder ich bin zu doof, mag auch sein. Es scheint auch so als ob die Platinen unbestückt seien - also da wäre ich raus. Ich kann nicht löten, konnte das noch nie. Also wenn das der Fall wäre, kann ich nur hoffen, dass mir das jemand lötet und testet.

Wie weiter?
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 02 April 2018, 08:20:02
Hallo Curt  :)

Ein ,,Umsetzer" in diesem Zusammenhang ist nichts anderes als ein Pegelwandler, also eine Schaltung, über die man einen PC/Raspberry/usw. über die serielle Schnittstelle mit dem eBus verbinden kann, um die Signale - die Informationen, die über den Bus huschen - mithören bzw. selbst welche versenden zu können.

Dieses Mithören/Versenden macht dann eine Software; beispielsweise ebusd.

Es gibt verschiedene selbstentwickelte Schaltungen (auch von hier im Forum), die man sich besorgen und dann selbst zusammenlöten muss - oder jemand von hier bietet inzwischen fertige Umsetzer an?
Und es gibt kommerzielle Produkte:
https://www.esera.de/produkte/ebus/135/1-wire-hub-platine
https://www.esera.de/produkte/ebus/142/ebus-koppler-ethernet

Die Software ebusd, um die es hier eigentlich geht, die läuft dann beispielsweise auf einem Raspberry oder Linux-PC.
Bei mir läuft sowohl ebusd als auch FHEM als docker-Container auf einem NAS - ich habe den kommerziellen Umsetzer mit Ethernet-Schnittstelle.

Es gab mal einen ,,User Club eBUS". Das war ein Zusammenschluss von Kessel-Herstellern zur ,,Pflege des eBUS-Protokolls". Dort gab es allgemeine Definitionen zum eBus.
Jetzt findet man hier viele Informationen:
http://ebus-wiki.org/doku.php

Das Weishaupt WEA ist ein Umsetzer von eBus auf die serielle Schnittstelle und eine Software, über die man Parameter aus den verschiedenen Geräten auslesen kann. Inzwischen viel zu teuer! Und der Umsetzer funktioniert meines Wissens nicht mit ebusd.
http://www.loebbeshop.de/weishaupt/heizsysteme/zubehoer/service/pc-software-wea.htm

Soweit ich weiß, spielt die Firmware-Version des WTC für die Telegramme, die die Geräte untereinander austauschen (Prozessdaten) keine Rolle. Ein Mithören sollte möglich sein.
Die Parameter(-Adressen) (die Einstellungen, die man über die Fernbedienung macht) hingegen, die sind von der Firmware abhängig.
Diese Firmware-Version sind Parameter, die man sich am WTC und der Fernbedienung anzeigen lassen kann.

Wie weiter? ...ins kalte Wasser springen, Geld ausgeben, viel Zeit investieren, die hohe Einstiegshürde überwinden und dann irgendwann das gesteckte Ziel erreichen!  ;)

Viele Grüße
J0EK3R
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 02 April 2018, 11:30:12
Hallo Curt,

Zitat von: curt am 02 April 2018, 01:26:55
Die genannte "Umsetzer"-Platine gibt es bei Reichelt nicht (mehr), auch die Erweiterungsplatine nicht.

Du meintest wahrscheinlich Reinhard :) Reichelt hat unsere Platine bis jetzt noch nicht im Programm ;D

Also wenn Du noch eine fertig gelötete und getestete Adapter Platine brauchst: ich hab noch eine hier. Der fehlen nur momentan die Wemos zur Anbindung über WLAN, aber wenn Du direkt via USB arbeiten willst, dann kann ich Dir ein Päckchen schnüren :-) Die Wemos sind aber auch bestellt und sollten in den nächsten Tagen eintreffen.

LG John
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: curt am 03 April 2018, 02:39:48
Hallo John,

das klingt sehr schön. Du hast PN.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: curt am 04 April 2018, 02:31:10
Zitat von: J0EK3R am 02 April 2018, 08:20:02
Ein ,,Umsetzer" in diesem Zusammenhang ist nichts anderes als ein Pegelwandler, also eine Schaltung, über die man einen PC/Raspberry/usw. über die serielle Schnittstelle mit dem eBus verbinden kann, um die Signale - die Informationen, die über den Bus huschen - mithören bzw. selbst welche versenden zu können.

Ich muss lernen genauer zu lesen ...

Also den RPi muss ich mir selbst besorgen?
Würde denn auch ein RPi Zero W gehen?
Was nun wieder "Wemos" sind - habe ich auch noch nicht verstanden: Ein RPi Zero W hat doch Wlan schon an Bord, reicht das denn nicht?

Zitat von: J0EK3R am 02 April 2018, 08:20:02
Wie weiter? ...ins kalte Wasser springen, Geld ausgeben, viel Zeit investieren, die hohe Einstiegshürde überwinden und dann irgendwann das gesteckte Ziel erreichen!  ;)

Du erwähnst alle meine Lieblinge ... ansich knall ich grad das Geld raus, weil ich neugierig bin.

Dazu muss ich erklären, dass ich an meiner Weishauptheizung noch nie irgendwas eingestellt oder gar geregelt habe (peinlicherweise sollte ich das wegen meines Studiums ansich können, es interessierte mich aber nie). Das macht alles der Heizungsmonteur und dann stellt da noch der Schornsteinfeger jährlich was rum. Ist halt so. Und ich habe es schön warm - mein Problem ist NICHT Energieeinsparung (Niedrigenergiehaus, von meinen Werten träumen andere).

Meine Idee ist die des naiven kleinen Kinds:
Ich will mal gucken, was meine schöne Heizung mir alles zu erzählen hat. (Und, aus dem Kindermusical Tabaluga & Lilli: "Mit roten Knöpfen spielt man nicht!")

@J0EK3R @john30
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 04 April 2018, 18:09:20
Zitat von: curt am 04 April 2018, 02:31:10
Ich muss lernen genauer zu lesen ...
schau mal auf http://ebus.github.io/adapter
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: carlos am 13 Mai 2018, 20:53:51
Hi,
Jetzt brauche ich wohl etwas Hilfe  in diesem thread.

Ausgangssituation ist folgende:

ebus adapter 2.1 mit ebusd vom git selbst kompiliert mit den Weishaupt Konfig Dateien.

Weishaupt WTC-15A mit Erweiterungsmodul WCM-EM 2.1 und Fernbedienstation WCM-FS 2.0
Solarregler WRSol 1.0

Der ebus 2.1 adapter ist zusammen mit der Fernbedienstation am ebus Eingang des Erweiterungsmoduls angeklemmt.

ebus info:
ebusctl info
version: ebusd 3.2.v3.2-3-g5bf4667
update check: revision v3.2-2-g1737636 available, broadcast.csv: different version available
access: *
signal: acquired
symbol rate: 23
max symbol rate: 121
min arbitration micros: 32
max arbitration micros: 159
min symbol latency: 5
max symbol latency: 24
reconnects: 0
masters: 6
messages: 548
conditional: 0
poll: 0
update: 9
address 03: master #11
address 07: master #16
address 08: slave #11, scanned "MF=Kromschroeder;ID=W ;SW=1200;HW=0302", loaded "kromschroeder/08..sc.csv"
address 0c: slave #16, scanned "MF=-;ID=??;SW=-;HW=-"
address 30: master #3
address 31: master #8, ebusd
address 35: slave #3, scanned "MF=Kromschroeder;ID=W ;SW=2724;HW=-", loaded "kromschroeder/35..hc1.csv"
address 36: slave #8, ebusd
address 70: master #4
address 75: slave #4, scanned "MF=Kromschroeder;ID=W ;SW=7203;HW=-", loaded "kromschroeder/75..hc2.csv"
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST?;SW=1200;HW=0302", loaded "kromschroeder/f6..sc.csv"


ebus f:
ebusctl f
broadcast datetime = 15.000;20:48:-;13.05.2018
broadcast error = no data stored
broadcast ident = no data stored
broadcast ident = no data stored
broadcast signoflife = no data stored
hc1 Adaption = no data stored
hc1 BCAST1 = no data stored
hc1 BCAST2 = no data stored
hc1 DHWMin = no data stored
hc1 DHWMode = no data stored
hc1 DHWSetpoint = no data stored
hc1 DHWSetValue = no data stored
hc1 DHWTemperature = no data stored
hc1 EndOfHoliday.Day = no data stored
hc1 EndOfHoliday.Month = no data stored
hc1 EndOfHoliday = no data stored
hc1 ExternalTemperature = no data stored
hc1 FrostProtection = no data stored
hc1 Gradient = no data stored
hc1 HeatDemand = no data stored
hc1 HeatingDemand = no data stored
hc1 HolidayTemp = no data stored
hc1 HP1.Di.1 = no data stored
hc1 HP1.Di.2 = no data stored
hc1 HP1.Di.3 = no data stored
hc1 HP1.Do.1 = no data stored
hc1 HP1.Do.2 = no data stored
hc1 HP1.Do.3 = no data stored
hc1 HP1.Fr.1 = no data stored
hc1 HP1.Fr.2 = no data stored
hc1 HP1.Fr.3 = no data stored
hc1 HP1.Mi.1 = no data stored
hc1 HP1.Mi.2 = no data stored
hc1 HP1.Mi.3 = no data stored
hc1 HP1.Mo.1 = no data stored
hc1 HP1.Mo.2 = no data stored
hc1 HP1.Mo.3 = no data stored
hc1 HP1.Sa.1 = no data stored
hc1 HP1.Sa.2 = no data stored
hc1 HP1.Sa.3 = no data stored
hc1 HP1.So.1 = no data stored
hc1 HP1.So.2 = no data stored
hc1 HP1.So.3 = no data stored
hc1 HP2.Di.1 = no data stored
hc1 HP2.Di.2 = no data stored
hc1 HP2.Di.3 = no data stored
hc1 HP2.Do.1 = no data stored
hc1 HP2.Do.2 = no data stored
hc1 HP2.Do.3 = no data stored
hc1 HP2.Fr.1 = no data stored
hc1 HP2.Fr.2 = no data stored
hc1 HP2.Fr.3 = no data stored
hc1 HP2.Mi.1 = no data stored
hc1 HP2.Mi.2 = no data stored
hc1 HP2.Mi.3 = no data stored
hc1 HP2.Mo.1 = no data stored
hc1 HP2.Mo.2 = no data stored
hc1 HP2.Mo.3 = no data stored
hc1 HP2.Sa.1 = no data stored
hc1 HP2.Sa.2 = no data stored
hc1 HP2.Sa.3 = no data stored
hc1 HP2.So.1 = no data stored
hc1 HP2.So.2 = no data stored
hc1 HP2.So.3 = no data stored
hc1 HP3.Di.1 = no data stored
hc1 HP3.Di.2 = no data stored
hc1 HP3.Di.3 = no data stored
hc1 HP3.Do.1 = no data stored
hc1 HP3.Do.2 = no data stored
hc1 HP3.Do.3 = no data stored
hc1 HP3.Fr.1 = no data stored
hc1 HP3.Fr.2 = no data stored
hc1 HP3.Fr.3 = no data stored
hc1 HP3.Mi.1 = no data stored
hc1 HP3.Mi.2 = no data stored
hc1 HP3.Mi.3 = no data stored
hc1 HP3.Mo.1 = no data stored
hc1 HP3.Mo.2 = no data stored
hc1 HP3.Mo.3 = no data stored
hc1 HP3.Sa.1 = no data stored
hc1 HP3.Sa.2 = no data stored
hc1 HP3.Sa.3 = no data stored
hc1 HP3.So.1 = no data stored
hc1 HP3.So.2 = no data stored
hc1 HP3.So.3 = no data stored
hc1 LegionnairesFunction = no data stored
hc1 MaxDHWTemp = no data stored
hc1 MaxSupplyTemperature = no data stored
hc1 MinSupplyTemperature = no data stored
hc1 MixedExternalTemperature = no data stored
hc1 NormalSetTemp = no data stored
hc1 ProgramChooseSwitch = no data stored
hc1 ReducedSetTemp = no data stored
hc1 Reduces = no data stored
hc1 RoomInfluence = no data stored
hc1 RoomSensorCorrection = no data stored
hc1 RoomSetValue = no data stored
hc1 RoomTemperature = no data stored
hc1 RoomThermostat = no data stored
hc1 Set = hotwater;startconsumer;34.69;-;-;55.0;-
hc1 StartOfHoliday.Day = no data stored
hc1 StartOfHoliday.Month = no data stored
hc1 StartOfHoliday = no data stored
hc1 Status = no data stored
hc1 SummerWinterChangeOverTemperature = no data stored
hc1 SupplySetValueHC = no data stored
hc1 SupplyTemperatureHC = no data stored
hc1 SupplyTemperatureWTC = no data stored
hc1 SwitchOffSetting = no data stored
hc1 SwitchOnSetting = no data stored
hc1 TypeOfConstruction = no data stored
hc1 WP.Di.1 = no data stored
hc1 WP.Di.2 = no data stored
hc1 WP.Di.3 = no data stored
hc1 WP.Do.1 = no data stored
hc1 WP.Do.2 = no data stored
hc1 WP.Do.3 = no data stored
hc1 WP.Fr.1 = no data stored
hc1 WP.Fr.2 = no data stored
hc1 WP.Fr.3 = no data stored
hc1 WP.Mi.1 = no data stored
hc1 WP.Mi.2 = no data stored
hc1 WP.Mi.3 = no data stored
hc1 WP.Mo.1 = no data stored
hc1 WP.Mo.2 = no data stored
hc1 WP.Mo.3 = no data stored
hc1 WP.Sa.1 = no data stored
hc1 WP.Sa.2 = no data stored
hc1 WP.Sa.3 = no data stored
hc1 WP.So.1 = no data stored
hc1 WP.So.2 = no data stored
hc1 WP.So.3 = no data stored
hc1 ZP.Di.1 = no data stored
hc1 ZP.Di.2 = no data stored
hc1 ZP.Di.3 = no data stored
hc1 ZP.Do.1 = no data stored
hc1 ZP.Do.2 = no data stored
hc1 ZP.Do.3 = no data stored
hc1 ZP.Fr.1 = no data stored
hc1 ZP.Fr.2 = no data stored
hc1 ZP.Fr.3 = no data stored
hc1 ZP.Mi.1 = no data stored
hc1 ZP.Mi.2 = no data stored
hc1 ZP.Mi.3 = no data stored
hc1 ZP.Mo.1 = no data stored
hc1 ZP.Mo.2 = no data stored
hc1 ZP.Mo.3 = no data stored
hc1 ZP.Sa.1 = no data stored
hc1 ZP.Sa.2 = no data stored
hc1 ZP.Sa.3 = no data stored
hc1 ZP.So.1 = no data stored
hc1 ZP.So.2 = no data stored
hc1 ZP.So.3 = no data stored
hc2 Adaption = no data stored
hc2 BoilerMKIncrease = no data stored
hc2 DHWOperation = no data stored
hc2 EndOfHoliday.Day = no data stored
hc2 EndOfHoliday.Month = no data stored
hc2 EndOfHoliday = no data stored
hc2 ExternalTemperature = no data stored
hc2 FloorDryingDay = no data stored
hc2 FloorDryingFunction = no data stored
hc2 FloorDryingTemperature = no data stored
hc2 FrostProtection = no data stored
hc2 Gradient = no data stored
hc2 HeatDemand = no data stored
hc2 HeatingDemand = no data stored
hc2 HolidayTemp = no data stored
hc2 HP1.Di.1 = no data stored
hc2 HP1.Di.2 = no data stored
hc2 HP1.Di.3 = no data stored
hc2 HP1.Do.1 = no data stored
hc2 HP1.Do.2 = no data stored
hc2 HP1.Do.3 = no data stored
hc2 HP1.Fr.1 = no data stored
hc2 HP1.Fr.2 = no data stored
hc2 HP1.Fr.3 = no data stored
hc2 HP1.Mi.1 = no data stored
hc2 HP1.Mi.2 = no data stored
hc2 HP1.Mi.3 = no data stored
hc2 HP1.Mo.1 = no data stored
hc2 HP1.Mo.2 = no data stored
hc2 HP1.Mo.3 = no data stored
hc2 HP1.Sa.1 = no data stored
hc2 HP1.Sa.2 = no data stored
hc2 HP1.Sa.3 = no data stored
hc2 HP1.So.1 = no data stored
hc2 HP1.So.2 = no data stored
hc2 HP1.So.3 = no data stored
hc2 HP2.Di.1 = no data stored
hc2 HP2.Di.2 = no data stored
hc2 HP2.Di.3 = no data stored
hc2 HP2.Do.1 = no data stored
hc2 HP2.Do.2 = no data stored
hc2 HP2.Do.3 = no data stored
hc2 HP2.Fr.1 = no data stored
hc2 HP2.Fr.2 = no data stored
hc2 HP2.Fr.3 = no data stored
hc2 HP2.Mi.1 = no data stored
hc2 HP2.Mi.2 = no data stored
hc2 HP2.Mi.3 = no data stored
hc2 HP2.Mo.1 = no data stored
hc2 HP2.Mo.2 = no data stored
hc2 HP2.Mo.3 = no data stored
hc2 HP2.Sa.1 = no data stored
hc2 HP2.Sa.2 = no data stored
hc2 HP2.Sa.3 = no data stored
hc2 HP2.So.1 = no data stored
hc2 HP2.So.2 = no data stored
hc2 HP2.So.3 = no data stored
hc2 HP3.Di.1 = no data stored
hc2 HP3.Di.2 = no data stored
hc2 HP3.Di.3 = no data stored
hc2 HP3.Do.1 = no data stored
hc2 HP3.Do.2 = no data stored
hc2 HP3.Do.3 = no data stored
hc2 HP3.Fr.1 = no data stored
hc2 HP3.Fr.2 = no data stored
hc2 HP3.Fr.3 = no data stored
hc2 HP3.Mi.1 = no data stored
hc2 HP3.Mi.2 = no data stored
hc2 HP3.Mi.3 = no data stored
hc2 HP3.Mo.1 = no data stored
hc2 HP3.Mo.2 = no data stored
hc2 HP3.Mo.3 = no data stored
hc2 HP3.Sa.1 = no data stored
hc2 HP3.Sa.2 = no data stored
hc2 HP3.Sa.3 = no data stored
hc2 HP3.So.1 = no data stored
hc2 HP3.So.2 = no data stored
hc2 HP3.So.3 = no data stored
hc2 MaxMixerRuntime = no data stored
hc2 MaxPumpSpeed = no data stored
hc2 MaxSupplyTemperature = no data stored
hc2 MinPumpSpeed = no data stored
hc2 MinSupplyTemperature = no data stored
hc2 MixedExternalTemperature = no data stored
hc2 NormalSetTemp = 22.0
hc2 ProgramChooseSwitch = no data stored
hc2 ReducedSetTemp = no data stored
hc2 Reduces = no data stored
hc2 RoomInfluence = no data stored
hc2 RoomSensorCorrection = no data stored
hc2 RoomSetValue = no data stored
hc2 RoomTemperature = no data stored
hc2 RoomThermostat = no data stored
hc2 Set = hotwater;-;26.69;-;-;-;-
hc2 SpeedVariation = no data stored
hc2 StartOfHoliday.Day = no data stored
hc2 StartOfHoliday.Month = no data stored
hc2 StartOfHoliday = no data stored
hc2 Status = no data stored
hc2 SummerWinterChangeOverTemperature = no data stored
hc2 SupplySetValueHC = no data stored
hc2 SupplyTemperatureHC = no data stored
hc2 SupplyTemperatureWTC = no data stored
hc2 SwitchOffSetting = no data stored
hc2 SwitchOnSetting = no data stored
hc3 HeatingDemand = no data stored
hc3 Status = no data stored
hc4 HeatingDemand = no data stored
hc4 Status = no data stored
hc5 HeatingDemand = no data stored
hc5 Status = no data stored
hc6 HeatingDemand = no data stored
hc6 Status = no data stored
hc7 HeatingDemand = no data stored
hc7 Status = no data stored
hc8 HeatingDemand = no data stored
hc8 Status = no data stored
memory eeprom = no data stored
memory ram = no data stored
sc Act = 1;BrennerAus;1;1;1;0;0;0;0;0;0;Summer;0;0;0;0;0;Heating;0;63.0;30.0;56.0;0.0;15;20.207;8
sc BoilerSensorDefective = no data stored
sc BurnerOperationSinceLastService = no data stored
sc CRCErrorHeatingEngeneerParameter = no data stored
sc CRCErrorManufacturerParameter = no data stored
sc DHWSensorDefective = no data stored
sc Enduser = no data stored
sc ErrorHistory = no data stored
sc ErrorSCOTCalibration4 = no data stored
sc ErrorSCOTCalibration5 = no data stored
sc ErrorSCOTCalibration6 = no data stored
sc ErrorSCOTCalibration8 = no data stored
sc ErrorSCOTControlInput = no data stored
sc ErrorSCOTIOControl = no data stored
sc ErrorVoltagSupply = no data stored
sc ExternalSensorDefektive = no data stored
sc FanFaultDuringOperation = no data stored
sc FanFaultDuringShutdown = no data stored
sc FlameFailureDuringOperation = no data stored
sc FlameSimulation = no data stored
sc FlueGasSensorDefective = no data stored
sc GasValveCycleV1V2Defective = no data stored
sc GPSFailureDuringSafetyTime = no data stored
sc H2EmergencyOffFunction = no data stored
sc Manufacturer1 = no data stored
sc Manufacturer2 = no data stored
sc NoFlameFormation = no data stored
sc NoGasPressureAvailable = no data stored
sc ProcessValues1 = no data stored
sc ProcessValues2 = no data stored
sc ProcessValues3 = no data stored
sc ProcessValues4 = no data stored
sc ProcessValues5 = no data stored
sc ProcessValues6 = no data stored
sc PWMPumpDefective = no data stored
sc SetpointDHW = no data stored
sc SetpointTempSystem = no data stored
sc Statistic1 = no data stored
sc Statistic2 = no data stored
sc Statistic3 = no data stored
sc Statistic4 = no data stored
sc Statistic5 = no data stored
sc Statistic6 = no data stored
sc StatisticUkn01 = no data stored
sc StatisticUkn02 = no data stored
sc StatisticUkn03 = no data stored
sc StatisticUkn04 = no data stored
sc StatisticUkn05 = no data stored
sc WWTurbineDefective = no data stored
scan.08  = Kromschroeder;W ;1200;0302
scan.0c  = -;??;-;-
scan.35  = Kromschroeder;W ;2724;-
scan.75  = Kromschroeder;W ;7203;-
scan.f6  = Kromschroeder;WWST?;1200;0302


Damit habe in FHEM schon mal folgende devices anlegen können.
ECMDDevice
Weishaupt.BC.Date 13.05.2018
Weishaupt.BC.ExternalTemp15.000
Weishaupt.BC.Time 20:53:-
Weishaupt.SC.Act.Operatingphase BrennerAus
Weishaupt.SC.Act.Status1 1

Ist das alles was man hier bekommt oder muss ich noch was anders konfigurieren?

Wäre dankbar wenn mir hier jemand weiterhelfen könnte.

Danke und Gruß

Carlos
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 14 Mai 2018, 17:00:51
Hallo Carlos,

ich versuche mal freihändig zu antworten, ich hab mich lange nicht mehr mit dem Thema beschäftigt:
Dein Aufbau scheint prinzipiell zu funktionieren - Telegramme kommen an und die Dateien mit den Definitionen werden geladen.  :)

Für das folgende Gerät gibt es (noch) keine Definitionen - ich vermute, dass dieses Gerät mit dem Solar-Kreislauf zu tun hat:

address 07: master #16
address 0c: slave #16, scanned "MF=-;ID=??;SW=-;HW=-"


Die passende Datei müsste dann beispielsweise "0c..soc.csv" heißen "0c" für die Adresse, "soc" vielleicht für "SOlarCircuit".
Auffallend ist, dass sich dieser Busteilnehmer weder mit Herstellerkennung, noch mit einer ID meldet.
Die Telegrammdefinitionen für dieses Gerät, müsste jemand erarbeiten...  :-X

Die Ausgabe von "ebusctl f" gibt im Prinzip alle definierten Telegramme aller geladenen Definitionen aus und deren aktuelle Werte.
Bei Dir gibt es welche, die bereits dekodiert und gespeichert wurden (-> broadcast datetime = 15.000;20:48:-;13.05.2018) und welche, die noch nicht über den eBus gehuscht sind (-> no data stored).

Jetzt muss man noch wissen, dass es Telegramme gibt, die das System von sich aus über den Bus schickt (Bsp. broadcast datetime = 15.000;20:48:-;13.05.2018).
Die kann ebusd, wenn sie definiert sind, einfach mithören - das sind dann die, bei denen nicht "no data stored" steht.
Und es gibt welche, die man aktiv lesen muss (Bsp. hc1 ProgramChooseSwitch = no data stored).
In den Definitionen beginnen die einen mit einem "b" für "broadcast", die anderen mit "r" für "read" und "w" für "write".

Das aktive Lesen - hier die Stellung des Programmwahlschalters - würde beispielsweise so aussehen:

ebusctl r -f -c hc1 ProgramChooseSwitch


Ich selbst polle die über einen Timer - allerdings über MQTT.

defmod mqtt.timer.ebusd at +*00:00:10\
set Mosquitto publish ebusd/sc/FlameFailureDuringOperation/*/get;;\
set Mosquitto publish ebusd/sc/NoFlameFormation/*/get;;\
set Mosquitto publish ebusd/hc1/SummerWinterChangeOverTemperature/SuWiChangeOverTemperature/get;;\
set Mosquitto publish ebusd/hc1/ProgramChooseSwitch/ProgramChooseSwitch/get;;\
set Mosquitto publish ebusd/hc2/SummerWinterChangeOverTemperature/SuWiChangeOverTemperature/get;;\
set Mosquitto publish ebusd/hc2/ProgramChooseSwitch/ProgramChooseSwitch/get;;
attr mqtt.timer.ebusd group Logic
attr mqtt.timer.ebusd room Heizung,MQTT


Jetzt kommt die schlechte Nachricht:
Die bestehenden Definitionen sind für meine Versionen von WTC und Fernbedienung.
Soweit ich das aus der Ferne erkenne, ist Deine Anlage neuer!


Mit Glück funktionieren die Definitionen der Telegramme weiterhin - falls sich die Adressen nicht geändert haben. Sonst währe viel Arbeit notwendig...
In diesem Thread haben einige geschrieben, die auch eine neuere Anlage haben. Vielleicht kontaktierst Du die mal, wie deren Stand der Dinge ist.

Wenn Du die log-Datei beobachtest, dann siehst Du, welche Telegramme bekannt sind und dekodiert wurden und welche nicht.
tail -f /var/log/ebusd.log

Noch ein Tipp:
Ich bin inzwischen weg vom ECMDDevice und auf MQTT umgestiegen.
https://github.com/J0EK3R/ebusd-configuration-weishaupt/wiki/ebusd-mqtt-fhem
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: carlos am 17 Mai 2018, 07:47:31
Hallo J0EK3R,
Danke für die Infos, das hilft schon mal weiter.
Ich habe jetzt mal alles auf MQTT umgestellt(gefällt mir besser ) da ich das auch schon mit meinen sonoffs benutze.
Dank hexenmeisters Generic MQTT Bridge geht das sehr gut.

Da gibts es dann jede Menge Readings, die man mit ebus f auch sieht.
Auch muss man erst mal verstehen was das alles ist(gibts da eine Beschreibung?).
D.h aus meiner Sicht funktionieren ein grossteil der Telegramme noch auch mit meiner Anlage.

Bzgl der WRSol habe ich mal die datei vom hc1 auf "0c..soc.csv" kopiert, die wird aber nicht geladen.
Dass die Datei nicht korrekt ist, ist mir schon bewusst, aber das Verständnis dafür wie ich diese aufbauen muss habe ich leider nicht.

Könntest du mir mal deine FHEM config für deine Anlage zur verfügung stellen.
Im ersten Ansatz würden mir schon mal deine Definition der Werte und die plots reichen wie du sie im git beschrieben hast.
Das mit der Solaranlage ist ja wohl ein größerer Aufwand.
Mal sehen ob ich mir das antue.
Da brauche ich aber erst mehr Verständns der Telegramme, die da über den ebus huschen.

Danke und Gruß

Carlos
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 17 Mai 2018, 15:17:00
Hallo Carlos,

hier eine schnelle Antwort dazu, dass "0c..soc.csv" nicht geladen wird:

Das Gerät meldet sich bekanntermaßen so:

address 0c: slave #16, scanned "MF=-;ID=??;SW=-;HW=-"


ebusd sucht die Dateien zu den Geräten in den entsprechenden ,,Herstellerverzeichnissen".
Also für Geräte mit ,,MF=Kromschroeder" im entsprechenden Verzeichnis ,,Kromschroeder".

Jetzt gibt dieses Gerät keine Herstellerkennung zurück (@John: oder ist dieser Hersteller in ebusd noch nicht bekannt?) und ebusd kann somit in keinem Herstellerverzeichnis suchen.

Hier wäre es sehr interessant, dieses Telegramm mit der Herstellerkennung und den Versionsständen als Roh-Telegramm zu sehen. Meinst Du, Du könntest das hier posten?  8)

Vielleicht hilft es, die Datei "0c..soc.csv" eine Verzeichnisebene höher, also nicht in einem Herstellerverzeichnis, abzulegen...
Einen Versuch wäre es wert.

Die Beschreibung für die Werte ist teilweise zu finden in
https://github.com/J0EK3R/ebusd-configuration-weishaupt/tree/master/weishaupt/Documentation

...allerdings war ich da nicht sonderlich fleißig und sauber...  :-[
Im Prinzip steht vieles auch in den Weishaupt-Anleitungen.

Natürlich könnte ich meine FHEM-Konfiguration bereitstellen.
Momentan muss ich meine Zeit allerdings für andere Dinge nutzen. ...ich komm zu nix!  ::)
Ich schau mal, ob ich die Tage was machen kann.

Viele Grüße
J0EK3R


Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: carlos am 17 Mai 2018, 16:26:40
Hallo J0EK3R

Ich habe mal auf raw umgestellt und ein scan 0c gemacht
Ergebnis:

2018-05-17 16:17:17.694 [main debug] >>> scan 0c                                                                                                                                                         
2018-05-17 16:17:17.696 [main debug] <<< 0c;-;??;-;-                                                                                                                                                     
2018-05-17 16:17:17.920 [bus notice] <30500902030c000214                                                                                                                                                 
2018-05-17 16:17:17.920 [bus debug] ERR: SYN received during receive command ACK, switching to ready                                                                                                     
2018-05-17 16:17:18.005 [bus notice] <30500902030c000214                                                                                                                                                 
2018-05-17 16:17:18.005 [bus debug] ERR: SYN received during receive command ACK, switching to ready                                                                                                     


Zum Vergleich habe ich das auch noch mal mit scan 08 gemacht:

2018-05-17 16:14:18.178 [main debug] >>> scan 08                                                                                                                                                         
2018-05-17 16:14:18.180 [main debug] <<< 08;Kromschroeder;W ;1200;0302                                                                                                                                   
2018-05-17 16:14:18.634 [bus notice] <0750090203990102ff                                                                                                                                                 


Kannst du da mit was anfangen?

Gruß

Carlos
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 19 Mai 2018, 16:44:22
Hallo Carlos,

Deine geposteten scan-Nachrichten kommen mir spanisch vor...

2018-05-17 16:17:17.694 [main debug] >>> scan 0c                                                                                                                                                         
2018-05-17 16:17:17.696 [main debug] <<< 0c;-;??;-;-                                                                                                                                                     
2018-05-17 16:17:17.920 [bus notice] <30500902030c000214 

Das Telegramm wird von Master-Adresse 0x30 nach Adresse 0x50 geschickt - hat nix mit Adresse 0x0c zu tun, die gescannt werden soll.
"0902" ist der Lese-Dienst.


2018-05-17 16:14:18.178 [main debug] >>> scan 08                                                                                                                                                         
2018-05-17 16:14:18.180 [main debug] <<< 08;Kromschroeder;W ;1200;0302                                                                                                                                   
2018-05-17 16:14:18.634 [bus notice] <0750090203990102ff

Dieses Telegramm wird von Master-Adresse 0x07 nach 0x50 geschickt - ist aber auch vom Typ "0902", dem Lese-Dienst.

Ich habe mal etwas herumgespielt, wie das bei mir aussieht:
Dabei habe ich festgestellt, dass ebusd auf das scan-Kommando bereits "gefundene" Geräte nicht erneut aktiv scannt, sondern das entsprechende Ergebnis ausgibt.

Hier als Beispiel meine Geräte:

/ # ebusctl scan result                                                                                                                                                                                                                         
08;Kromschroeder;W ;0216;0101                                                                                                                                                                                                                   
35;Kromschroeder;W ;2635;0000                                                                                                                                                                                                                   
51;Kromschroeder;;3233;0001                                                                                                                                                                                                                     
75;Kromschroeder;W ;2635;0000                                                                                                                                                                                                                   
f6;Kromschroeder;WWST?;0216;0101


Was hilft, ist ein ebusctl scan full. Dann ballert ebusd scan-Telegramme für den kompletten Adressbereich raus:

2018-05-19 16:25:55.840 [bus notice] >ff02070400b0                                                                                                                                                                                             
2018-05-19 16:25:55.913 [bus notice] >ff04070400ef                                                                                                                                                                                             
2018-05-19 16:25:55.987 [bus notice] >ff05070400b1                                                                                                                                                                                             
2018-05-19 16:25:56.061 [bus notice] >ff0607040053                                                                                                                                                                                             
2018-05-19 16:25:56.160 [update notice] sent scan.08  QQ=ff: Kromschroeder;W ;0216;0101                                                                                                                                                         
2018-05-19 16:25:56.160 [bus notice] scan 08: ;Kromschroeder;W ;0216;0101                                                                                                                                                                       
2018-05-19 16:25:56.161 [bus notice] >ff0807040051<000a50570f0000b10216010101>00                                                                                                                                                               
2018-05-19 16:25:56.284 [bus notice] >ff090704000f                                                                                                                                                                                             
2018-05-19 16:25:56.358 [bus notice] >ff0a070400ed                                                                                                                                                                                             
2018-05-19 16:25:56.433 [bus notice] >ff0b070400b3                                                                                                                                                                                             
2018-05-19 16:25:56.507 [bus notice] >ff0c070400b2                                                                                                                                                                                             
2018-05-19 16:25:56.581 [bus notice] >ff0d070400ec


Hier das Ergebis für Adresse 0x08:

2018-05-19 16:25:56.160 [update notice] sent scan.08  QQ=ff: Kromschroeder;W ;0216;0101                                                                                                                                                         
2018-05-19 16:25:56.160 [bus notice] scan 08: ;Kromschroeder;W ;0216;0101                                                                                                                                                                       
2018-05-19 16:25:56.161 [bus notice] >ff0807040051<000a50570f0000b10216010101>00


Also:
Master-Teil des Telegramms: Adresse 0xFF (ebusd bei mir) an Adresse 0x08, Dienst "0704" mit Datenlänge "00" und Checkbyte "51"
Slave-Teil: "00" k.A., "0a" -> Länge der folgenden Daten 10, "50" -> MF 0x50="kromschröder", "570f0000b1" -> "W    ", "0216" SW-Version, "0101" HW-Version.

Siehe https://github.com/john30/ebusd/wiki/4.7.-Automatic-configuration

Ich hatte übrigens große Probleme mit der Standard-Adresse 0x31 von ebusd - ich bekam von den Geräten oft keine Antwort.
Deshalb fahre ich mit der Adresse für ebusd mit der höchsten Priorität: 0xff

/ # ebusctl i                                                                                                                                                                                                                                   
version: ebusd 3.1.v3.1-23-g275fd68                                                                                                                                                                                                             
signal: acquired                                                                                                                                                                                                                               
symbol rate: 31                                                                                                                                                                                                                                 
max symbol rate: 172                                                                                                                                                                                                                           
min arbitration micros: 20                                                                                                                                                                                                                     
max arbitration micros: 7063                                                                                                                                                                                                                   
min symbol latency: 0                                                                                                                                                                                                                           
max symbol latency: 99                                                                                                                                                                                                                         
reconnects: 0                                                                                                                                                                                                                                   
masters: 5                                                                                                                                                                                                                                     
messages: 551                                                                                                                                                                                                                                   
conditional: 0                                                                                                                                                                                                                                 
poll: 0                                                                                                                                                                                                                                         
update: 10                                                                                                                                                                                                                                     
address 03: master #11                                                                                                                                                                                                                         
address 04: slave #25, ebusd (answering)                                                                                                                                                                                                       
address 08: slave #11, scanned "MF=Kromschroeder;ID=W ;SW=0216;HW=0101", 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 51: slave, scanned "MF=Kromschroeder;ID=;SW=3233;HW=0001", loaded "kromschroeder/51..hc2.csv"                                                                                                                                           
address 70: master #4                                                                                                                                                                                                                           
address 75: slave #4, scanned "MF=Kromschroeder;ID=W ;SW=2635;HW=0000", loaded "kromschroeder/75..hc2.csv"                                                                                                                                     
address f1: master #10                                                                                                                                                                                                                         
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST?;SW=0216;HW=0101", loaded "kromschroeder/f6..sc.csv"                                                                                                                                   
address ff: master #25, ebusd (answering)


Ich hoffe, das hilft Dir etwas weiter.

Grüße
J0EK3R
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: carlos am 30 Mai 2018, 09:50:17
Hallo J0EK3R
Ich habe dir mal das komplette ebusd.log angehängt, vielleicht lässt sich da mehr entnehmen.
Habe auch mal ein ebusctl scan full gemacht, entsprechende log Einträge sind im log zu sehen.

ZitatIch hatte übrigens große Probleme mit der Standard-Adresse 0x31 von ebusd - ich bekam von den Geräten oft keine Antwort.
Deshalb fahre ich mit der Adresse für ebusd mit der höchsten Priorität: 0xff
Habe ich jetzt auch so gemacht. Keine Ahnung ob sich da eine Verbesserung ergeben hat.

Was komisch ist, dass bei mir  in der Zwischenzeit die outsidetemp -100.000 sein soll.
War vorher korrekt.

Gruß

Carlos
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 02 Juni 2018, 10:50:28
Hi Jochen,

sorry für das Delay, komme gerade zu nichts.

Zitat von: J0EK3R am 30 Mai 2018, 17:58:07
Auffällig ist das Gerät mit Adresse 0x0c

2018-05-29 08:48:49.582 [bus notice] >ff0c070400b2<000affffff000080ffffffff0e>00
2018-05-29 08:48:49.582 [main error] unable to load scan config 0c: list files in - ERR: element not found

hm, das ist etwas merkwürdig, da trotz korrekter CRC der Hersteller Code auf 0xff steht, was kein bis dato bekannter Hersteller Code ist. Der Wert 0xff ist zudem etwas speziell, da dieser der Replacement Value von UCH ist und somit in "-" übersetzt wird. Damit sucht ebusd im Ordner "-" nach Konfigurationsdateien.

Zitat von: J0EK3R am 30 Mai 2018, 17:58:07
und hier: outsidetemp -100 !?!

2018-05-29 08:48:44.324 [update info] received BC cmd: 30fe070009009cff480929050319
2018-05-29 08:48:44.324 [update notice] received update-read broadcast datetime QQ=30: -100.000;09:48:-;29.05.2019

Auch hier sind die CRCs in Ordnung, weshalb ich davon ausgehe, dass -100 ein stand-in für sowas wie "unbekannt" oder "unlesbar" ist. Auffällig ist auch die 0xff im Sekundenteil des time Felds. Das ist wider Replacement für "unbekannt" o.ä., bewegt sich aber schon etwas am Rande der Spezifikation. Anyway, der Rest von Uhrzeit und Datum passen zusammen, sofern das System als Zeitzone UTC eingestellt hat.

Zitat von: J0EK3R am 30 Mai 2018, 17:58:07
Und das Gerät mit Adresse 0x50

2018-05-29 08:48:52.798 [bus debug] ERR: wrong symbol received during send SYN, switching to skip
2018-05-29 08:48:52.847 [bus notice] <0afd
2018-05-29 08:48:53.127 [bus notice] <305050140711001c339c006e8f
2018-05-29 08:48:53.127 [bus debug] ERR: SYN received during receive command ACK, switching to ready
2018-05-29 08:48:53.225 [bus notice] <305050140711001c339c006e8f
2018-05-29 08:48:53.226 [bus debug] ERR: SYN received during receive command ACK, switching to ready

hier antwortet das adressierte Gerät einfach nicht in der dafür von der Spezifikation vorgesehenen Zeit, weshalb dann der SYN Generator eingreift.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: mathein am 13 Januar 2019, 11:03:55
Frage in die Runde:
Hat es schon mal jemand geschafft, per ebusctl Parameter (z.B. Warmwasser-Solltemperatur oder irgendwas anderes) einer Weishaupt WTC-15A zu ändern ? Lesen geht bei mir einwandfrei, aber bei Schreibbefehlen passiert entweder gar nichts oder es gibt Fehlermeldungen.
Gruß, Matthias.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 13 Januar 2019, 15:58:41
Hallo Matthias  :)

...ich bin zwar nicht mehr ganz im Thema drin, habe aber eine Ahnung:
Kann es an der Adresse liegen, die ebusd verwendet...

Zitat von: J0EK3R am 18 Dezember 2016, 15:16:54
...
Verlässliche Antworten auf meine 0902-Requests gibt es von den Heizkreisreglern (0x35, 0x75) nur dann, wenn die Anfragen von Master 1 mit Adresse 0x00 (Master 1 PC/Modem) oder Master 25 mit Adresse 0xFF (Master 25 PC) kommen.

Deshalb vermute ich, dass die Heizkreisregler einfach so programmiert sind, dass sie nur auf diese beiden Adressen vernünftig antworten.  8)

Die Weishaupt-Diagnosesoftware "WCMDiagnose" verwendet übrigens auch die Adresse 0xFF für die Parameteranfragen.

Jetzt stellt sich mir nur noch die Frage, ob ich den ebusd mit Adresse 0x00 oder 0xFF betreiben soll.
Ist die Adresse 0x00 nicht die, die jeden Arbitrierungswettstreit gewinnen würde? Damit könnte ich den Standard-eBus-Verkehr durcheinander bringen, oder?
...
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: mathein am 14 Januar 2019, 09:26:00
Hallo J0EK3R,

danke für die schnelle Antwort !

Ich bin leider noch nicht so richtig firm mit der ebusctl Syntax.
Hier mein Lesezugriff (Abrage Sollwert Warmassertemperatur):
pi@ebus:/ $ ebusctl read -V -c hc1 Set DHWSetTemp
hc1 Set DHWSetTemp=39.0 °C [ ]
-> funktioniert einwandfrei

Beim Versuch zu schreiben gibt's einen Fehler:
pi@ebus:/ $ ebusctl write -c hc1 Set DHWSetTemp=37.0
ERR: element not found

Was mache ich falsch ? Hast du vielleicht ein konkretes Besipiel eines Schreibzugriffs, der bei dir funktioniert ? Daran könnte ich mich orientieren.

Vielen Dank, Matthias
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 14 Januar 2019, 09:42:45
Ich versuche mal freihändig zu antworten:
...lass mal das Gleichheitszeichen "=" weg, das kann so nicht stimmen...

ebusctl write -c hc1 Set DHWSetTemp 37.0

https://github.com/john30/ebusd/wiki/3.1.-TCP-client-commands (https://github.com/john30/ebusd/wiki/3.1.-TCP-client-commands)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: mathein am 15 Januar 2019, 10:09:46
Schade, hat nicht funktioniert:

pi@ebus:/ $ ebusctl write -c hc1 DHWSetTemp 37.0
ERR: element not found

Hast du noch eine Idee ?
Was ich nicht verstehe: 'read' funktioniert einwandfrei, aber bei 'write' scheint die Kombination circiut und name unbekannt zu sein.

Danke & Gruß, Matthias.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 16 Januar 2019, 07:23:47
Zitat von: mathein am 15 Januar 2019, 10:09:46
Schade, hat nicht funktioniert:

pi@ebus:/ $ ebusctl write -c hc1 DHWSetTemp 37.0
ERR: element not found

das liegt bestimmt daran, dass du dich noch nicht authentifiziert hast. ebusd hat seit Version 3 eine ACL und per default sind keine Rechte gesetzt, sprich alles mit #install oder #service ist nicht verfügbar. Deshalb entweder die ACL deaktivieren (/etc/default/ebusd EBUSD_OPTS um --accesslevel=* (https://github.com/john30/ebusd/wiki/2.-Run#daemon-options) ergänzen) oder eine richtige ACL definieren und dann auch authentifizieren (https://github.com/john30/ebusd/wiki/3.1.-TCP-client-commands#auth).
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: mathein am 16 Januar 2019, 10:16:08
OK, danke für den Hinweis.
Werde noch ein bisschen rumprobieren.
Matthias.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: J0EK3R am 09 März 2019, 17:46:53
Hallo an alle, die ebusd mit einer Weishaupt-Anlage einsetzen!  :)

Ich suche jemanden, der die bestehenden Weishaupt-Definitionen übernimmt, bereinigt, auch ins Englische übersetzt und pflegt, damit sie dann vielleicht in Johns offizielles Repository eingepflegt werden können.

Hier sind meine Konfigurationen:
https://github.com/J0EK3R/ebusd-configuration-weishaupt (https://github.com/J0EK3R/ebusd-configuration-weishaupt)

Hier sollten sie hin:
https://github.com/john30/ebusd-configuration (https://github.com/john30/ebusd-configuration)

Johns ebusd
https://github.com/john30/ebusd (https://github.com/john30/ebusd)

Selbst habe ich keine Weishaupt-Anlage mehr und auch keine Zeit dafür.

Es wäre schön, wenn meine Arbeit, deren Entwicklung man in diesem Thread nachlesen kann ;), weitergeführt würde!

Beste Grüße
J0EK3R
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: kimi1983 am 04 Dezember 2019, 14:00:30
Hallo,

anbei noch ein aktueller Dokument für wrsol 1.1 und wrsol 2.1 Besitzer.

Die ebus Befehle Sammlung.

Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: duffy6 am 07 Februar 2020, 15:17:57
Hallo zuammen,

mit dem WCM-COM Lan Modul kann man die Werte ja auch von der Heizung abfragen.
Dazu gibt es bei den Kollegen im Homematic einen Thread und da hat jmd sehr viele Werte für die Weishaupt Anlage dekodiert:

https://forum.fhem.de/index.php/topic,17718.0.html

Ich habe die Files aus dem obigen Thread mal hier angehängt, vielleicht kann die ja jmd hier beim ebusd-Weishaupt Konzept einpflegen. Mir fehlen dazu leider die Kenntnisse.

Gruß
duffy6

Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Ingo_48 am 09 März 2020, 23:34:09
Guten Abend zusammen,

ich bin neu hier im Forum und möchte gern einen Datenlogger für meine Weishaupt WTC-GW25-B (Ausf.H) Heizung bauen. Neben der Therme ist dabei noch eine Solarthermieanlage verbaut.

Ich habe bei dem Logger an die Umsetzung mit einem Raspi gedacht, der über einen eBus-Koppler von z.b. Esera die Daten der Heizung mitliest.

Leider habe ich von der ganze Materie nicht allzuviel Ahnung und fange erst an, mich damit zu beschäftigen.

Könnt ihr mir Tipps zu Hard- und Software für die Umsetzung meines Vorhabens geben?

Vorerst interessiert mich, welcher eBus-Koppler sich für diese Anwendung am besten eignet.

Vielen Dank vorab!

Beste Grüße,
Ingo
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 14 Juli 2021, 10:21:53
Hallo zusammen.

Zitat von: J0EK3R am 09 März 2019, 17:46:53
Es wäre schön, wenn meine Arbeit, deren Entwicklung man in diesem Thread nachlesen kann ;), weitergeführt würde!
Ich würde mich da sogar dran wagen. Stehe aktuell aber noch komplett bei Null.

Wenn ich versuche einzusteigen, verstehe ich schon nicht wie man von den Rohwerten zu einem übersetzten Mapping kommt. Das ist ja nicht selbstsprechend und irgendwo müsste die Bedeutung ja her kommen.

Auszug aus dem Startlog:

2021-07-14 10:04:22.616 [bus notice] bus started with own address ff/04
2021-07-14 10:04:22.629 [bus notice] signal acquired
2021-07-14 10:04:22.637 [mqtt notice] connection established
2021-07-14 10:04:23.104 [bus notice] device status: reset
2021-07-14 10:04:26.876 [bus notice] new master 30, master count 2
2021-07-14 10:04:26.882 [bus notice] new master f1, master count 3
2021-07-14 10:04:26.882 [update notice] received unknown MM cmd: 30f1050709550350000080ff60ff
2021-07-14 10:04:32.818 [bus notice] scan 35: ;Kromschroeder;W ;2726;-
2021-07-14 10:04:32.818 [update notice] store 35 ident: done
2021-07-14 10:04:32.818 [update notice] sent scan-read scan.35  QQ=ff: Kromschroeder;W ;2726;-
2021-07-14 10:04:32.818 [bus notice] scan 35: ;Kromschroeder;W ;2726;-
2021-07-14 10:04:32.826 [main notice] read scan config file kromschroeder/35..hc1.csv for ID "w", SW2726, HW65535
2021-07-14 10:04:32.866 [main notice] found messages: 277 (0 conditional on 0 conditions, 0 poll, 3 update)
2021-07-14 10:04:35.048 [bus notice] scan f6: ;Kromschroeder;WWST?;1200;0302
2021-07-14 10:04:35.048 [update notice] store f6 ident: done
2021-07-14 10:04:35.048 [update notice] sent scan-read scan.f6  QQ=ff: Kromschroeder;WWST?;1200;0302
2021-07-14 10:04:35.048 [bus notice] scan f6: ;Kromschroeder;WWST?;1200;0302
2021-07-14 10:04:35.050 [main notice] read scan config file kromschroeder/f6..sc.csv for ID "wwst", SW1200, HW0302
2021-07-14 10:04:35.054 [main notice] found messages: 297 (0 conditional on 0 conditions, 0 poll, 4 update)
2021-07-14 10:04:36.896 [bus notice] new master 07, master count 4
2021-07-14 10:04:39.591 [update notice] received unknown BC cmd: 30fe0700090011ff071014070321
2021-07-14 10:04:46.842 [update notice] received update-read hc1 Set: hotwater;stopconsumer;5.00;-;-;48.0;-
2021-07-14 10:04:47.222 [bus notice] scan 0c: ;-;??;-;-
2021-07-14 10:04:47.222 [update notice] store 0c ident: done
2021-07-14 10:04:47.222 [update notice] sent scan-read scan.0c  QQ=ff: -;??;-;-
2021-07-14 10:04:47.222 [bus notice] scan 0c: ;-;??;-;-
2021-07-14 10:04:47.222 [main error] unable to load scan config 0c: list files in - ERR: element not found
2021-07-14 10:04:47.222 [main error] scan config 0c: ERR: element not found
2021-07-14 10:04:51.529 [update notice] received update-read sc Act QQ=f1: 1;BrennerAus;1;1;1;0;0;0;0;0;0;Summer;0;0;0;0;0;Heating;0;44.0;-;48.0;0.0;17;16.621;8
2021-07-14 10:05:06.778 [update notice] received update-read hc1 Set: hotwater;stopconsumer;5.00;-;-;48.0;-
2021-07-14 10:05:21.555 [update notice] received update-read sc Act QQ=f1: 1;BrennerAus;1;1;1;0;0;0;0;0;0;Summer;0;0;0;0;0;Heating;0;44.0;-;48.0;0.0;17;16.625;8
2021-07-14 10:05:26.711 [update notice] received update-read hc1 Set: hotwater;stopconsumer;5.00;-;-;48.0;-
2021-07-14 10:05:40.560 [update notice] received unknown BC cmd: 30fe0700090011ff081014070321
2021-07-14 10:05:46.661 [update notice] received update-read hc1 Set: hotwater;stopconsumer;5.00;-;-;48.0;-
2021-07-14 10:05:51.499 [update notice] received update-read sc Act QQ=f1: 1;BrennerAus;1;1;1;0;0;0;0;0;0;Summer;0;0;0;0;0;Heating;0;44.0;-;48.0;0.0;17;16.625;8


Solche Unknown also müssten nach meinem Verständnis ins CSV-Mapping gelangen. Aber was schreib ich da hin? (vom wie und wo bin ich da noch ganz weit weg  :o ).

2021-07-14 10:04:26.882 [update notice] received unknown MM cmd: 30f1050709550350000080ff60ff
2021-07-14 10:04:39.591 [update notice] received unknown BC cmd: 30fe0700090011ff071014070321
2021-07-14 10:05:40.560 [update notice] received unknown BC cmd: 30fe0700090011ff081014070321
2021-07-14 10:06:39.720 [update notice] received unknown BC cmd: 30fe0700090011ff091014070321
2021-07-14 10:07:42.045 [update notice] received unknown BC cmd: 30fe0700090011ff101014070321
2021-07-14 10:08:39.420 [update notice] received unknown BC cmd: 30fe0700090011ff111014070321
2021-07-14 10:09:39.749 [update notice] received unknown BC cmd: 30fe0700090011ff121014070321
2021-07-14 10:10:39.598 [update notice] received unknown BC cmd: 30fe0700090011ff131014070321
2021-07-14 10:11:39.433 [update notice] received unknown BC cmd: 30fe0700090011ff141014070321
2021-07-14 10:12:39.798 [update notice] received unknown BC cmd: 30fe0700090011ff151014070321
2021-07-14 10:13:39.557 [update notice] received unknown BC cmd: 30fe0700090011ff161014070321
2021-07-14 10:14:39.417 [update notice] received unknown BC cmd: 30fe0700090011ff171014070321
2021-07-14 10:15:40.891 [update notice] received unknown BC cmd: 30fe0700090011ff181014070321


Diesen Error würde ich so deuten: 0c wurde getroffen, es fehlt aber das passende CSV. Haut das hin?

2021-07-14 10:04:47.222 [main error] unable to load scan config 0c: list files in - ERR: element not found


Vielen Dank und beste Grüße
rob
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 21 Juli 2021, 15:29:12
OK. Kann ich mir quasi selbst beantworten: in #117 steht es.

@carlos: bist Du mit diesem Device "0C" weiter gekommen? Ich meine in Richtung CSV.

Falls nein, müsste ich irgendwie herausfinden, wie man ein neues CSV erstellt und bestückt. Wobei ich von dem hier

[update notice] sent scan-read scan.0c  QQ=ff: -;??;-;-

nicht allzu viele Infos zu erwarten haben dürfte. Oder?
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 21 Juli 2021, 15:46:07
In den oben beigefügten Modulen von Elektrolurch stehen u.a. die Errorcodes. Ich habe diese 3 testweise ins _templates.csv übernommen und die sc.errorhistory.inc entspr. angepasst.

00 fehlerfrei
0C Temperatur am eSTB > 95 °C
0F Differenz Vorlauf- und Rücklauftemperatur zu groß


In den Readings E1.ErrorCode und E5.ErrorCode habe ich 0 bzw. 15 drin stehen. Müsste also übersetzt werden in "fehlerfrei" und "Differenz Vorlauf- und Rücklauftemperatur zu groß". Ergibt tatsächlich:

E1.ErrorCode fehlerfrei 2021-07-21 15:23:59
...
E5.ErrorCode Differenz Vorlauf- und Rücklauftemperatur zu groß 2021-07-21 15:23:59

Alles wäre schön. Aber: im Reading E4.ErrorCode steht 251!?! Wie das? In der Codeliste gibt es das nicht. Ist der Code E5=15 also nur zufällig zur Liste passend und besagt eigentl. was ganz anderes?
Oder steht die 251 für "Fehler" und die 51 wäre wieder in der Liste? Dann hätte "15" aber "115" lauten müssen, wenn 1=Warning wäre. :kopfkratz:

Die Quelle aus Elektrolurchs Modul:

%HzFehlercodes = (
'0' => 'fehlerfrei',
'W12' => 'Temperatur am eSTB > 95 �C',
'W14' => 'Temperatur am eSTB steigt zu schnell an',
'W15' => 'Differenz Vorlauf- und Rücklauftemperatur zu groß',
'W16' => 'Abgastemperatur zu hoch',
'W18' => 'Differenz eSTB und Vorlauftemperatur zu groß',
'W21' => 'Keine Flammenbildung beim Brennerstart',
'W22' => 'Flammenausfall während des Betriebs',
'W24' => 'Eingang H2 ist geschlossen',
'W33' => 'Außenfühler defekt',
'W34' => 'Warmwasserfühler defekt',
'W39' => 'Weichenfühler defekt',
'W47' => 'Gasdruck zu gering',
'W48' => 'Maximale Laufzeit der Abgasklappe (A31) überschritten',
'W57' => 'Kommunikation WCM-CPU und WCM-CUI fehlerhaft',
'W80' => 'Kommunikation zum Kaskadenmanager fehlerhaft',
'W81' => 'Kommunikation zur WCM-FS fehlerhaft',
'W82' => 'Kommunikation zu EM#2 fehlerhaft',
'W83' => 'Kommunikation zu EM#3 fehlerhaft',
'W84' => 'Kommunikation zu EM#4 fehlerhaft',
'W85' => 'Kommunikation zu EM#5 fehlerhaft',
'W86' => 'Kommunikation zu EM#6 fehlerhaft',
'W87' => 'Kommunikation zu EM#7 fehlerhaft',
'W88' => 'Kommunikation zu EM#8 fehlerhaft',
'W89' => 'Temperaturfernsteuerung (Eingang N1) fehlerhaft',
'F11' => 'Temperatur am eSTB > 105 �C',
'F15' => 'Differenz Vorlauf- und Rücklauftemperatur zu groß',
'F18' => 'Differenz eSTB und Vorlauftemperatur zu groß',
'F21' => 'Keine Flammenbildung beim Brennerstart',
'F23' => 'Flammenvortäuschung',
'F30' => 'eSTB defekt',
'F31' => 'Abgasfühler defekt',
'F32' => 'Schaltkontakt Luftdruckwächter nicht in Ruhestellung',
'F35' => 'Vorlauffühler defekt',
'F36' => 'Wasserdruck zu gering',
'F37' => 'Rücklauffühler defekt',
'F38' => 'Abgasdruckwächter fällt während der Stillstandskontrolle Gebläse nicht ab',
'F41' => 'Gasventil (intern) undicht',
'F43' => 'Gebläsedrehzahl wird nicht erreicht',
'F44' => 'Gebläsestillstand fehlerhaft',
'F45' => 'Luftdruckwächter schaltet nicht',
'F46' => 'Abgasseitiger Druck zu groß',
'F48' => 'Maximale Laufzeit der Abgasklappe',
'F49' => 'Eingang H2 ist geschlossen (Kondensat)',
'F51' => 'Datensatz-Fehler Kessel',
'F52' => 'Datensatz-Fehler Brenner',
'F53' => 'Spannungsversorgung bzw. Netzfrequenz außerhalb Toleranz',
'F54' => 'Elektronikfehler',
'F55' => 'Anlage wurde zu oft entriegelt',
'F57' => 'Kommunikation WCM-CPU und WCM-CUI fehlerhaft');


Edit: OK, die Fehlercodes stimmen mit denen im Handbuch überein und sind die übersetzten Ablesecodes, welche man nachschlagen kann. Was konkret über den eBus huscht, kann man daran wohl nicht erkennen.
Also habe ich am Gerät die Codes E1-E6 anzeigen lassen: überall steht '22' drin, außer bei E4 steht '21' (wenig erfreulich, aber zum Testen gut...). Via eBus kommen aber bei E1-E3 nur Nullen und bei E4-E5 oben gen. Werte. So lässt sich kein Zusammenhang herstellen. Komischerweise kommt kein E6.ErrorCode. Vielleicht sind im CSV die Felder anders zu definieren??

Ich hoffe jmd. kann hier unterstützen. Komme so leider nicht weiter und hätte noch mehr fragen.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: carlos am 25 Juli 2021, 09:44:05
Hallo,
Ich bin leider damals auch nicht weiter gekommen,zumal mein ebus Module irgendwie auch ziemlich instabil war. Habe das ganze nicht mehr weiter verfolgt.
Sollte es hier weiter vorgehen bin ich gerne bereit das wieder zu aktivieren. Jedoch habe ich erst im September wieder Zeit.
Gruß Carlos
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: littleyoda am 23 Oktober 2021, 19:16:23
Hallo zusammen,

ich habe eine WTC 15-A von Weishaupt zu hause.

Leider bin ich mir auch nach längeren Recherchen immer noch nicht sicher, was aktuell möglich ist und was nicht und wie es möglich ist.

Vielleicht kann mir jemand bei meinen Fragen helfen:


Vielen lieben Dank ... Vielleicht könnt ihr meiner Konfusion helfen;

Gruß
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 25 Oktober 2021, 09:55:00
Hallo littleyoda.

Hat jemand eine Lösung für Weishaupt WTC über EBus im Alltag am laufen?
Jain, hab ich stabil 24/7 am Laufen. Auch WTC 15-A. Sinnvolles kann ich aber leider noch nicht damit anstellen.

Welche Möglichkeiten habt ihr?
Es kommen jede Menge Readings und einige Werte ließen sich ändern (z.B. Temp. vom Frostschutz). Die für mich sinnvollen/ interessanten Dinge kann man aber leider nicht ändern bzw. fehlen (liegt an Weishaupt z.B. keine Vorlauf- Rücklauftemp.; kein Brennstoffzähler).
Habe noch keinen Use-Case gefunden. Muss allerdings nicht zwingend auch für Dich gelten. Ggf. hast Du mehr Fantasie als ich oder eine neuere Firmware und mit Glück kann die mehr - wer weiß. Meine WTC ist von 2014.
Falls Dich Details interessieren, rücke ich sie gerne raus :)

Wie greift ihr das Ebus Signal ab?
Einfach parallel auf die eBus-Klemme mit draufgeklemmt  - bei meinem Deckel von der WTC pappt hinten ein Anschlussschema dran, was das ebenfalls zeigt (siehe Bilder)

Hat jemand in diesem Zusammenhang Erfahrungen mit dem eBus Adapter V3?(https://adapter.ebusd.eu/)
Ja. Funktioniert exzellent. Ich habe die LAN-Variante, der ebus-Dienst läuft in einem Dockercontainer und sendet via MQTT an FHEM.

Wie ist die Belegung des RJ12(?) Anschlusses.
Ist mir auch unklar. Scheint eher für den Weishaupt-Techniker gedacht zu sein. Weishaupt liefert ja umfangreiche Unterlagen mit, aber einige (wichtige) Dinge fehlen dennoch.

Kennst Du diese Threads?
https://forum.fhem.de/index.php/topic,118143.0.html
https://forum.fhem.de/index.php/topic,122048.0.html

Weishaupt-"Freunde" gibt es wohl nicht so viele. Carlos schrieb zwar, dass er das Thema ggf. für sich wieder aktivieren würde, aber aus meiner Sicht lohnt sich das nicht und ich möchte ihn nicht aus purem Eigennutz dazu nötigen.

Hilft dies die Konfusion etwas zu lichten? Für mehr Fragen können wir uns gerne weiter austauschen.

Viele Grüße
rob

Edit: Bilder vergessen ;)


Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: littleyoda am 31 Oktober 2021, 08:56:53
Hallo rob,

danke, dass hilft mir schon mal ungemein.

Extrem schade, dass die WTC so wichtig Werte liefert.
Vor- und Rücklauf wären für mich interessant gewesen, da ich mal ermitteln wollte, ob unser Haus langfristig für eine Luftwärmepumpe geeignet ist.

Da meine Heizung von 2011 ist, wird meine wohl nicht mehr können, als deine.

Gruß,
Sven
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 31 Oktober 2021, 13:38:42
Nativ liefert die WTC das zwar nicht, aber über FHEM lässt sich das anderweitig nachrüsten: z.B. 2x 1-Wire Temp-Sensoren (DS18S20) an die Rohre dran. Hab es selber zeitl. noch nicht geschafft, werde das aber noch tun. Und den Gaszähler werde ich wohl ebenfalls noch bestücken müssen ;D

BTW: Der ebus-Adapter wurde extra so gut durchdacht gebaut, dass man dort auch die Sensoren dranhängen kann.

Ja, ist schade, dass der elegantere Weg nicht klappt. Dann halt mit basteln  ;D

VG
rob
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Trony am 09 November 2021, 10:46:57
Hallo,

ich habe auch eine WTC-15. Bekomme auch Daten von Adapter. Leider nicht sehr viele und meistens 0.
Ich verwende einen Raspi mit ebusd von john30 und den Konfigurationsdateien von J0EK3R.
Ich wollte einmal in die Runde fragen, wie ich die Daten, welche J0EK3R so schön als Screenshot hat, auslesen kann. Mich interessieren eigentlich nur die Daten, welche auch auf seinem Screenshot zu sehen sind, nichts spezielles.
Ich frage über http ab.

Bin für jede Anregung dankbar. Komme seit Tagen einfach nicht weiter.

Michael
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 09 November 2021, 13:03:16
Hallo Michael.

Welche Screenshots meinst Du genau: die Charts im Github (https://github.com/J0EK3R/ebusd-configuration-weishaupt) ?
Solche kannst Du in FHEM erzeugen, sofern die Werte in ein Log-File geschrieben werden. Im LOG-Device gibt es dann einen Link "Create SVG plot" und von dort geht es recht intuitiv weiter.

Zitat von: Trony am 09 November 2021, 10:46:57
Bekomme auch Daten von Adapter. Leider nicht sehr viele und meistens 0.
Solange das so ist, kannst Du die Charts ggf. nicht sinnvoll aufbauen. Dann haut ggf. noch etwas nicht so hin wie es sollte. Readings, sprich Daten, müssten durch die CSV einige kommen.
Wenn der ebusd direkt auf dem Raspi läuft, was sagt "ebusctl i" von der Kommandozeile aus?

Bei mir schaut das so aus:

version: ebusd 21.2.v21.2
update check: OK
access: *
signal: acquired
symbol rate: 23
max symbol rate: 69
min arbitration micros: 12
max arbitration micros: 15
min symbol latency: 7
max symbol latency: 7
reconnects: 0
masters: 5
messages: 356
conditional: 0
poll: 0
update: 8
address 03: master #11
address 04: slave #25, ebusd
address 07: master #16
address 08: slave #11, scanned "MF=Kromschroeder;ID=W ;SW=1200;HW=0302", loaded "kromschroeder/08..sc.csv"
address 0c: slave #16, scanned "MF=-;ID=??;SW=-;HW=-"
address 30: master #3
address 35: slave #3, scanned "MF=Kromschroeder;ID=W ;SW=2726;HW=-", loaded "kromschroeder/35..hc1.csv"
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST?;SW=1200;HW=0302", loaded "kromschroeder/f6..sc.csv"
address ff: master #25, ebusd


Welche Readings bekommst Du denn bereits?

VG
rob
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 09 November 2021, 15:53:41
Zitat von: littleyoda am 31 Oktober 2021, 08:56:53
Vor- und Rücklauf wären für mich interessant gewesen...

Hallo Sven.

Sorry, ich muss mich korrigieren. Zumindest die Vorlaufwerte Ist/Soll habe ich nun identifizieren können. Gibt eine ganze Menge was alles ähnlich heißt und ich hab leider nicht alles auseinander klamüsern können/ verstanden (z.B. gibt es viele Readings mit DHWTemp und alle haben denselben Wert - woran erkennt man, was das ist?  :o ).

@Michael: Danke Dir für den Denkanstoß. Denn in den Charts steht ja eindeutig Vorlauftemp drin, also muss es die ja geben  ::)

Hab gschwind in den CSV und Readings geprüft und testweise drei SVG erstellt. Mal beobachten, ob ich die richtigen Readings erwischt hab (den Screenshots sehe ich leider nicht, welche Readings bzw. CSV-Werte dahinter stecken).

VG
rob
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Trony am 09 November 2021, 19:28:26
Hallo Rob,

mir ist schon klar, dass ich für die Auswertung erst einmal die Werte brauche. Das ist ja genau mein Problem.  :'(
Ich verstehe nicht, was ich falsch mache beim Einbinden der csv's. Oder muss ich die meisten Werte aktiv pollen? Wenn ja, wie?
Sorry für diese Anfaengerfragen.

Leider bekomme ich momentan nicht so viele... :

version: ebusd 21.2.v21.2
update check: OK
signal: acquired
symbol rate: 22
max symbol rate: 142
min arbitration micros: 559
max arbitration micros: 580
min symbol latency: 5
max symbol latency: 7
reconnects: 0
masters: 3
messages: 2
conditional: 0
poll: 0
update: 0
address 30: master #3
address 31: master #8, ebusd
address 36: slave #8, ebusd
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST?;SW=0306;HW=0301"



{
"scan.35": {
"messages": {
"": {
"name": "",
"passive": false,
"write": false,
"lastup": 0
}
}
},
"scan.f6": {
"messages": {
"": {
"name": "",
"passive": false,
"write": false,
"lastup": 1636481059,
"zz": 246,
"fields": {
"MF": {
"value": "Kromschroeder"
},
"ID": {
"value": "WWST?"
},
"SW": {
"value": "0306"
},
"HW": {
"value": "0301"
}
}
}
}
},
"global": {
"version": "21.2.v21.2",
"updatecheck": "OK",
"signal": true,
"symbolrate": 22,
"maxsymbolrate": 142,
"minarbitrationmicros": 559,
"maxarbitrationmicros": 580,
"minsymbollatency": 5,
"maxsymbollatency": 7,
"qq": 49,
"reconnects": 0,
"masters": 3,
"messages": 2,
"lastup": 1636481059
}
}


Viele Grüsse

Michael
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 09 November 2021, 19:56:43
Ah OK, dann hab ich Dein Problem jetzt besser verstanden. Sorry, sollte nicht doof rüber kommen.

Also, es gibt schon einige Werte die man aktiv holen muss. Aber die wichtigsten nicht, die kommen von selber - naja, sollten es  ;)

Schaut so aus, als wäre nur das _template.csv geladen. Da kommt wirklich nix weiter außer Hersteller und manchmal Außentemp.
Wie genau hast Du ebusd am Laufen und wie konkret die CSV eingebunden?

Vielleicht lässt sich da schon etwas finden. Müssen leider detektivisch vorgehen. Bei mir ist es alles via Docker eingebunden. Aber so groß sollten die Unterschiede nicht sein.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Trony am 09 November 2021, 20:09:22
Hallo Rob,

ich habe einen Raspi 4 oben bei meiner Heizung. Daran hängt ein USB-ebus-Adapter.

So sieht meine ebusd Konfiguration aus. Im Moment verwende ich eine kurze Version, um mich langsam voranzutasten. Meine ursprüngliche ist auskommentiert.


# /etc/default/ebusd:
# config file for ebusd service.

# Options to pass to ebusd (run "ebusd -?" for more info):
EBUSD_OPTS="--scanconfig=full --configpath=/etc/ebusd/configtest --httpport=8889 --htmlpath=/var/ebusd/html"
#EBUSD_OPTS="-d /dev/ttyUSB0 -p 8888 --scanconfig --latency=10000 --receivetimeout=100000 -l /var/log/ebusd.log --configpath=/etc/ebusd/config  --httpport=8889 --htmlpath=/var/ebusd/html --mqtthost=192.168.1.221 --mqtttopic=ebusd/%circuit/%name/%field"
#EBUSD_OPTS="--scanconfig=full -d /dev/ttyUSB0 -p 8888 --httpport=8889 --htmlpath=/var/ebusd/html"
#EBUSD_OPTS="-d 192.168.1.23:8889 --httpport=9092 -l /var/log/ebusd.log --loglevel=error --latency=60000 --scanconfig --mqtthost=localhost --mqttport=1883 --mqttjson --mqttretain --mqttuser=homeassistant --mqttpass=Gr1sul0n386 --mqttversion=3.1.1"




# MULTIPLE EBUSD INSTANCES WITH SYSV
# In order to run multiple ebusd instances on a SysV enabled system, simply
# define several EBUSD_OPTS with a unique suffix for each. Recommended is to
# use a number as suffix for all EBUSD_OPTS settings. That number will then be
# taken as additional "instance" parameter to the init.d script in order to
# start/stop an individual ebusd instance instead of all instances.
# Example: (uncomment the EBUSD_OPTS above)
#EBUSD_OPTS1="--scanconfig -d /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0 -p 8888 -l /var/log/ebusd1.log"
#EBUSD_OPTS2="--scanconfig -d /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900acTF-if00-port0 -p 8889 -l /var/log/ebusd2.log"
#EBUSD_OPTS3="--scanconfig -d /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900beCG-if00-port0 -p 8890 -l /var/log/ebusd3.log"

# MULTIPLE EBUSD INSTANCES WITH SYSTEMD
# In order to run muiltiple ebusd instances on a systemd enabled system, just
# copy the /usr/lib/systemd/system/ebusd.service file to /etc/systemd/system/
# with a different name (e.g. ebusd-2.service), remove the line starting with
# 'EnvironmentFile=', and replace the '$EBUSD_OPTS' with the options for that
# particular ebusd instance.


Mein configtest Verzeichnis sieht so aus:


Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 09 November 2021, 21:25:44
Es schaut so aus, als wäre es ein Kombi aus zwei Themen. Wenn ich nicht ganz falsch liege, könnte das erste Thema der selbe Stolperstein sein, über den ich auch springen musste: die Ordnerstruktur. Das zweite Thema: selbst wenn, die CSV richtig liegen, könnte dennoch nichts weiter geladen werden, weil die Adressen andere sind: #36 gibt es in den CSV noch nicht. Aber eins nach dem anderen.

Thema1:
- anhand der Herstellerkennung möchte ebusd im passenden Unterordner suchen
- leider sendet Weishaupt Kromschröder, statt Weishaupt --> deshalb braucht man einen Link zum Unterordner weishaupt (wie in Jokers Repo)
- eigentlich sogar nach Sprachschlüssel unterteilt, aber das soll uns jetzt nicht jucken

Versuch bitte mal folgendes:
- Unterordner "weishaupt" in Deinem Verzeichnis /etc/ebusd/configtest anlegen und alle CSV dorthinein verschieben
- einen Symlink "kromschroeder" auf den Folder weishaupt legen
- muss genauso aussehen wie in jokers Repo (https://github.com/J0EK3R/ebusd-configuration-weishaupt); alternativ kannst auch gleich das Repo in Deinen Pfad clonen
- nun aus john30s Repo (https://github.com/john30/ebusd-configuration/tree/master/ebusd-2.1.x/de) noch diese Dateien holen und direkt ablegen unter /etc/ebusd/configtest:
   _templates.csv
   broadcast.csv
   memory.csv

Schaut bei mir so aus:

-rw-r--r-- 1 dietpi dietpi  1253 Jul 14 19:38 broadcast.csv
lrwxrwxrwx 1 dietpi dietpi     9 Jul 12 11:06 kromschroeder -> weishaupt
-rw-r--r-- 1 dietpi dietpi 35141 Jul 12 11:06 LICENSE
-rw-r--r-- 1 dietpi dietpi   754 Jul 14 19:38 memory.csv
-rw-r--r-- 1 dietpi dietpi  1734 Jul 12 11:06 README.md
-rw-r--r-- 1 dietpi dietpi  1228 Jul 14 19:38 _templates.csv
drwxr-xr-x 4 dietpi dietpi  4096 Aug 22 11:13 weishaupt


Und innerhalb ./weishaupt schauts so aus:

-rw-r--r-- 1 dietpi dietpi   442 Jul 12 11:06 04..EA.csv
-rw-r--r-- 1 dietpi dietpi   572 Jul 12 11:06 05..EA.csv
-rw-r--r-- 1 dietpi dietpi   230 Jul 12 11:06 08..sc.csv
-rw-r--r-- 1 dietpi dietpi  1435 Jul 12 11:06 1c..hc4.csv
-rw-r--r-- 1 dietpi dietpi  1435 Jul 12 11:06 24..hc8.csv
-rw-r--r-- 1 dietpi dietpi  1970 Jul 12 11:06 35..hc1.csv
-rw-r--r-- 1 dietpi dietpi  1435 Jul 12 11:06 3c..hc5.csv
-rw-r--r-- 1 dietpi dietpi  1367 Jul 12 11:06 51..hc2.csv
-rw-r--r-- 1 dietpi dietpi  1435 Jul 12 11:06 75..hc2.csv
-rw-r--r-- 1 dietpi dietpi  1435 Jul 12 11:06 7c..hc6.csv
drwxr-xr-x 2 dietpi dietpi  4096 Jul 12 11:06 Documentation
-rw-r--r-- 1 dietpi dietpi  1435 Jul 12 11:06 f5..hc3.csv
-rw-r--r-- 1 dietpi dietpi  2822 Jul 12 11:06 f6..sc.csv
-rw-r--r-- 1 dietpi dietpi  1435 Jul 12 11:06 fc..hc7.csv
drwxr-xr-x 2 dietpi dietpi  4096 Jul 12 11:06 FHEM
-rw-r--r-- 1 dietpi dietpi  1774 Jul 12 11:06 hc.expert2.inc
-rw-r--r-- 1 dietpi dietpi  1951 Jul 12 11:06 hc.expert.inc
-rw-r--r-- 1 dietpi dietpi  1575 Jul 12 11:06 hc.processvalues.inc
-rw-r--r-- 1 dietpi dietpi 13515 Aug 16 12:39 hc.timer.inc
-rw-r--r-- 1 dietpi dietpi  1742 Jul 12 11:06 hc.userholiday.inc
-rw-r--r-- 1 dietpi dietpi  1361 Jul 12 11:06 hc.user.inc
-rw-r--r-- 1 dietpi dietpi  1209 Jul 12 11:06 hwc.expert.inc
-rw-r--r-- 1 dietpi dietpi   801 Jul 12 11:06 hwc.processvalues.inc
-rw-r--r-- 1 dietpi dietpi  5049 Aug 16 13:08 hwc.timercc.inc
-rw-r--r-- 1 dietpi dietpi  4958 Aug 16 12:57 hwc.timer.inc
-rw-r--r-- 1 dietpi dietpi   874 Jul 12 11:06 hwc.user.inc
-rw-r--r-- 1 dietpi dietpi  1022 Jul 12 11:06 sc.enduser.inc
-rw-r--r-- 1 dietpi dietpi  9969 Jul 21 15:04 sc.errorhistory.inc
-rw-r--r-- 1 dietpi dietpi  1279 Jul 12 11:06 sc.manufacturer.inc
-rw-r--r-- 1 dietpi dietpi  1631 Jul 12 11:06 sc.processvalues.inc
-rw-r--r-- 1 dietpi dietpi  6345 Jul 12 11:06 sc.statistic.inc
-rw-r--r-- 1 dietpi dietpi  3644 Jul 12 11:06 sc.systemheatcontrol.inc
-rw-r--r-- 1 dietpi dietpi  3804 Aug 22 11:13 _templates.csv


Dann bzgl. Startparameter sehen meine so aus

-f --scanconfig -d enh:localIP:9999 --latency=20 --accesslevel=* --address=ff --mqttport=1883 --mqttjson --mqtthost=fehmIP --mqtttopic=ebusd/%circuit/%name --mqttchanges --configpath=/etc/ebusd

Unterhalb von /etc/ebusd liegen bei mir also die oben genannten Files/Folder.

Nach einem Restart vom ebusd sollte es mit etwas Glück besser aussehen. Vielleicht kommt sogar schon etwas mehr in Fhem an.
Falls nicht, schauen wir was "ebusctl i" dann sagt und müssten ggf. nach Thema2 weiterforschen.

Ich drück schonmal die Daumen :)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Trony am 10 November 2021, 19:02:44
Hallo Rob!

Wow, das sieht ja vielversprechend aus  :D
Werde es in den nächsten Tagen ausprobieren und dir Rückmeldung geben.
Erst einmal vielen, vielen Dank für Deine Hilfe!!!!

Michael
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: zenlight777 am 11 November 2021, 00:27:02
Hallo,

Wenn ich mir diesen Aufwand ansehe, habe ich den Eindruck, dass es einen einfacheren Weg geben könnte.

Ich habe dieses Forum gefunden.

https://www.plumbersforums.net/threads/nest-opentherm-ebus-interface.120120/

Sie haben erfolgreich ein Nest 3-Thermostat (OpenTherm-basiert) an eine EBUS-Zentralheizung angeschlossen.
Da OpenTherm ein etabliertes Protokoll und Standard ist, enthält es alle Befehle, die Sie zurückentwickeln möchten.
Und alles, was Sie tun müssen, ist einen Hardware-Mapper von OpenTherm an EBUS anzuschließen.

Übersehe ich hier etwas? Oder könnte man stattdessen einfach einen Raspberry Pi zu OpenTherm Adapter entwickeln?
Dann ist kein Reverse-Engineering-Aufwand mehr erforderlich.

Auf der Suche nach einem Kommentar dazu.

Dankeschön!
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 11 November 2021, 07:28:11
Hi.

Klingt interessant!  8)
Mit OpenTherm kenne ich mich leider auch nicht aus. Im Prinzip wäre es für diesen Weg auch nötig, dass sich wer mit Ahnung damit auseinander setzt, damit Noobs wie ich davon profitieren können. Also welche Hardware muss wie angeschl. werden, wo kauft man das ran oder was muss gebastelt werden. Welche Software wird benötigt, wie kommt an die Daten und welche Daten/ Befehle sind wie zu interpretieren.

Wenn ich es richtig verstehe, wäre genau dieser Aufwand deutlich geringer und somit progressiver bzgl. konkreter Anlagen. Die Abhängigkeit der User von demjenigen, der sich dann konkret reinvertieft bliebe ggf. gleich.
Gäbe es jemanden, der schon Erfahrung damit hat und dies hier teilen würde, das wäre super. Ich würde da leider bei Null anfangen und kann das schwer einschätzen  :-\

VG
rob
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: zenlight777 am 11 November 2021, 21:22:45
Zitat von: rob am 11 November 2021, 07:28:11
Hi.

Klingt interessant!  8)
Mit OpenTherm kenne ich mich leider auch nicht aus. Im Prinzip wäre es für diesen Weg auch nötig, dass sich wer mit Ahnung damit auseinander setzt, damit Noobs wie ich davon profitieren können. Also welche Hardware muss wie angeschl. werden, wo kauft man das ran oder was muss gebastelt werden. Welche Software wird benötigt, wie kommt an die Daten und welche Daten/ Befehle sind wie zu interpretieren.

Wenn ich es richtig verstehe, wäre genau dieser Aufwand deutlich geringer und somit progressiver bzgl. konkreter Anlagen. Die Abhängigkeit der User von demjenigen, der sich dann konkret reinvertieft bliebe ggf. gleich.
Gäbe es jemanden, der schon Erfahrung damit hat und dies hier teilen würde, das wäre super. Ich würde da leider bei Null anfangen und kann das schwer einschätzen  :-\

VG
rob

Danke rob!

Ich war etwas zu gespannt auf eine Lösung mit OpenTherm und einer vereinfachten Einrichtung.
Was ich aber nicht gesagt habe war, dass man einen zweiten Adapter kaufen müsste, also bleibt vielleicht die ideale Lösung das Reverse Engineering und der USB - EBUS Adapter.
Auch der Vorteil, das Heizsystem möglicherweise zu modulieren und auch auf versteckte / zusätzliche Parameter zuzugreifen. Mit OpenTherm ist dies vielleicht nicht möglich.

Stromdiagramm:
RaspberryPI <-> USB auf EBUS Adapter <-> EBUS Zentralheizung

Alternativdiagramm:
RaspberryPI <-> OpenThermGateway Adapter [1] <-> OpenTherm auf EBUS Adapter [2] <-> EBUS Zentralheizung

[1]
https://www.nodo-shop.nl/en/opentherm-gateway/188-opentherm-gateway.html - http://otgw.tclcode.com/
http://ihormelnyk.com/opentherm_adapter
[2] https://cvdeals.eu/product/0020092426-opentherm-module-advanced-awb/

Auf jeden Fall, für jemanden ohne viel Erfahrung mit EBUS/Debugging des Systems, der nur eine schnellere Lösung möchte, könnte das alternative Diagramm eine Lösung sein. Außerdem würde es OpenTherm verwenden, was ein besserer Standard ist und hoffentlich die Kompatibilität mit jeder Art von Heizsystem ermöglicht.

Ich bin tatsächlich in dieser Situation und würde mich sehr freuen, wenn jemand darauf hinweisen würde, dass es eine einfache Möglichkeit gibt, Raspberry Pi mit Weishaupt-Heizsystemen zu verwenden.
Meine Frau besteht darauf, nur ein nicht angeschlossenes EBUS-Thermostat zu verwenden.
Aber wenn es einfach wäre, würde ich lieber RaspberryPi verwenden.

Vielen Dank!
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Trony am 20 November 2021, 21:39:13
rob,

bin noch nicht dazu gekommen... Gattin wollte Wohnzimmer neu tapezieren.
Melde mich aber, sobald ich es ausprobiert habe.

Gruss
Michael
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 22 November 2021, 07:19:49
Kein Thema, nimm Dir die Zeit, die Du halt benötigst  :)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Trony am 28 November 2021, 16:40:53
Hallo rob,

es kommt etwas, aber nicht das, was ich erwartet habe...  :-\

Hier mal das Ergebnis von ebusctl i:

pi@raspi-8-relays:~ $ ebusctl i
version: ebusd 21.2.v21.2
signal: acquired
symbol rate: 32
max symbol rate: 119
min arbitration micros: 451
max arbitration micros: 6670
min symbol latency: 4
max symbol latency: 32
reconnects: 0
masters: 3
messages: 14
conditional: 0
poll: 0
update: 5
address 30: master #3
address 31: master #8, ebusd
address 36: slave #8, ebusd
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST?;SW=0306;HW=0301", loaded "kromschroeder/f6..sc.csv"


JSON der Webseite:
{
"broadcast": {
"messages": {
"datetime": {
"name": "datetime",
"passive": true,
"write": false,
"lastup": 0
},
"error": {
"name": "error",
"passive": true,
"write": false,
"lastup": 0
},
"id-u": {
"name": "id",
"passive": true,
"write": false,
"lastup": 0
},
"signoflife": {
"name": "signoflife",
"passive": true,
"write": false,
"lastup": 0
}
}
},
"sc": {
"messages": {
"Act": {
"name": "Act",
"passive": true,
"write": false,
"lastup": 0
}
}
},
"scan.35": {
"messages": {
"": {
"name": "",
"passive": false,
"write": false,
"lastup": 0
}
}
},
"scan.f6": {
"messages": {
"": {
"name": "",
"passive": false,
"write": false,
"lastup": 1638113773,
"zz": 246,
"fields": {
"MF": {
"value": "Kromschroeder"
},
"ID": {
"value": "WWST?"
},
"SW": {
"value": "0306"
},
"HW": {
"value": "0301"
}
}
}
}
},
"global": {
"version": "21.2.v21.2",
"updatecheck": "OK, broadcast.csv: different version available, memory.csv: different version available",
"signal": true,
"symbolrate": 22,
"maxsymbolrate": 125,
"minarbitrationmicros": 451,
"maxarbitrationmicros": 6670,
"minsymbollatency": 4,
"maxsymbollatency": 32,
"qq": 49,
"reconnects": 0,
"masters": 3,
"messages": 14,
"lastup": 1638113773
}
}


Was könnte denn doch falsch sein?

Gruß
Michael
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 29 November 2021, 07:15:24
Hallo Michael.

Vielleicht die Slave-Adresse 36? Im Repo gibt es dafür keine CSV, weshalb auch nichts weiter geladen wird --> Thema2 greift.
Sonst scheinen weiter keine Slaves vorhanden zu sein.

Leider weiß ich nicht, was für ein Gerät die #36 ist. Du könntest testweise also versuchen, einfach die Dateien umzubenennen: "08..sc.csv" in "36..sc.csv" und schauen was da kommt, danach "35..hc1.csv" in "36..hc1.csv" und schauen was da kommt. Ist etwas plump, aber bringt vielleicht etwas.
Zumindest sollten die Files immer geladen werden, auch wenn sich damit nichts weiter dekodieren lassen sollte...also mit ebusctl i sollte das so ähnlich ausschauen:
address 36: slave #8, ebusd, scanned "MF=Kromschroeder;ID=bla ;SW=bla;HW=-", loaded "kromschroeder/36..hc1.csv"
Die beiden Files wären einmal Feuerungsautomat und einmal Warmwasser. Mit Glück kommt bei einem schon brauchbares und damit müsstest dann weiterforschen (unknown messages dekodieren usw.).

Wenn bei beiden nichts brauchbares rauskommt, müsstest Du Dich an die Profis wenden im Thread zur Inbetriebnahme des ebus-Adapters (https://forum.fhem.de/index.php/topic,118143.0/topicseen.html). Dann wäre imho ein Neuaufbau der für Dich nötigen CSV fällig. Da kenne ich mich leider nicht aus und könnte wenig unterstützen  :(

Im dortigen Fred hat john30 in diesem Post https://forum.fhem.de/index.php/topic,118143.msg1185002.html#msg1185002 kurz umrissen, wie man die unbekannten Geräte/ Daten schrittweise dekodiert.

Viele Grüße
rob
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Trony am 29 November 2021, 20:35:14
Hallo rob,

ich werde die Files umbenennen und schauen, ob sich was meldet.
Meine Anlage besteht lediglich aus einem WTC-15 mit Fernbedienung und einer Steuerung für die Kollektoren.

Ist Adresse 36 nicht mein ebus Adapter? Oder warum steht dort ebusd dahinter?

Sollten aber nicht beim Master noch andere Details kommen, wie Vorlauftemperatur, usw.? Der hat ja bestimmt nicht die 36, oder?
Die Daten der erkannten Felder machen ja auch keinen Sinn. Oder muss ich diese Werte gezielt anfragen?
Ich denke schon, dass 0xF6 mein Kessel ist. Aber die meisten Werte sind 0 oder 1.
Den passenden Output wollte ich gerade anhängen, aber jetzt kommt er nicht mehr...
Ich weiß nicht, was jetzt anders ist, aber es wird kein File für 0xf6 mehr geladen.

pi@raspi-8-relays:~ $ ebusctl i
version: ebusd 21.2.v21.2
access: *
signal: acquired
symbol rate: 22
max symbol rate: 113
min arbitration micros: 601
max arbitration micros: 660
min symbol latency: 5
max symbol latency: 7
reconnects: 0
masters: 3
messages: 13
conditional: 0
poll: 0
update: 4
address 04: slave #25, ebusd
address 30: master #3
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST?;SW=0306;HW=0301"
address ff: master #25, ebusd

pi@raspi-8-relays:~ $


Ach ja, ich hab' (so wie Du) die Adresse meines Adapters mal auf 0xFF gelegt.

Wenn wir beide eine WTC-15 haben, sollte ich doch irgendwie an die gleichen Werte rankommen. Ich fühle mich jetzt zu blöd dafür  :-\


Nochmals vielen Dank für Deine Hilfe!

Gruß
Michael
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Trony am 30 November 2021, 12:58:53
So, jetzt kommt wieder was :-)

Ich habe den Link gelöscht und direkt ein Verzeichnis für Kromschroeder angelegt.

pi@raspi-8-relays:~ $ ebusctl i
version: ebusd 21.2.v21.2
update check: OK, broadcast.csv: different version available, memory.csv: different version available
access: *
signal: acquired
symbol rate: 33
max symbol rate: 132
min arbitration micros: 581
max arbitration micros: 750
min symbol latency: 5
max symbol latency: 11
reconnects: 0
masters: 3
messages: 32
conditional: 0
poll: 0
update: 5
address 04: slave #25, ebusd
address 30: master #3
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


Adresse 0xF6 scheint mein einziger Slave zu sein. Wundert mich ein wenig. Mein Solarregler ist doch auch noch da. Aber erst mal egal.

So sieht nun meine Ausgabe der Webseite aus:

broadcast:
  messages:
    datetime:
      name: datetime
      passive: true
      write: false
      lastup: 1638273027
      zz: 254
      fields:
        outsidetemp:
          value: 0
        time:
          value: '12:43:06'
        date:
          value: 30.11.2021
    error:
      name: error
      passive: true
      write: false
      lastup: 0
    id-u:
      name: id
      passive: true
      write: false
      lastup: 0
    signoflife:
      name: signoflife
      passive: true
      write: false
      lastup: 0
hc1:
  messages:
    HeatingDemand:
      name: HeatingDemand
      passive: false
      write: false
      lastup: 0
    Status:
      name: Status
      passive: false
      write: false
      lastup: 0
hc2:
  messages:
    HeatingDemand:
      name: HeatingDemand
      passive: false
      write: false
      lastup: 0
    Status:
      name: Status
      passive: false
      write: false
      lastup: 0
hc3:
  messages:
    HeatingDemand:
      name: HeatingDemand
      passive: false
      write: false
      lastup: 0
    Status:
      name: Status
      passive: false
      write: false
      lastup: 0
hc4:
  messages:
    HeatingDemand:
      name: HeatingDemand
      passive: false
      write: false
      lastup: 0
    Status:
      name: Status
      passive: false
      write: false
      lastup: 0
hc5:
  messages:
    HeatingDemand:
      name: HeatingDemand
      passive: false
      write: false
      lastup: 0
    Status:
      name: Status
      passive: false
      write: false
      lastup: 0
hc6:
  messages:
    HeatingDemand:
      name: HeatingDemand
      passive: false
      write: false
      lastup: 0
    Status:
      name: Status
      passive: false
      write: false
      lastup: 0
hc7:
  messages:
    HeatingDemand:
      name: HeatingDemand
      passive: false
      write: false
      lastup: 0
    Status:
      name: Status
      passive: false
      write: false
      lastup: 0
hc8:
  messages:
    HeatingDemand:
      name: HeatingDemand
      passive: false
      write: false
      lastup: 0
    Status:
      name: Status
      passive: false
      write: false
      lastup: 0
sc:
  messages:
    Act:
      name: Act
      passive: true
      write: false
      lastup: 1638273064
      zz: 254
      fields:
        Status1:
          value: 1
        Operatingphase:
          value: BrennerInBetrieb
        Ukn2_1:
          value: 1
        Ukn2_2:
          value: 1
        Ukn2_3:
          value: 1
        Flame:
          value: 1
        GasValve1:
          value: 1
        GasValve2:
          value: 1
        Pump:
          value: 1
        Error:
          value: 0
        Ukn3_1:
          value: 0
        SoWi:
          value: Winter
        Ukn3_3:
          value: 0
        Ukn3_4:
          value: 1
        Ukn3_5:
          value: 1
        Ukn3_6:
          value: 0
        Ukn3_7:
          value: 1
        SettingUV:
          value: Heating
        Load:
          value: 34
        SupplyTemp:
          value: 0
        FlueGasTemp:
          value: null
        DHWTemp:
          value: 0
        UknTemp:
          value: 0
        ExternalTemp:
          value: 3
        TrendTemp:
          value: 0
        SupplySetTemp:
          value: 53
    SetpointDHW:
      name: SetpointDHW
      passive: false
      write: false
      lastup: 0
    SetpointTempSystem:
      name: SetpointTempSystem
      passive: false
      write: false
      lastup: 0
scan.35:
  messages:
    '':
      name: ''
      passive: false
      write: false
      lastup: 0
scan.f6:
  messages:
    '':
      name: ''
      passive: false
      write: false
      lastup: 1638272954
      zz: 246
      fields:
        MF:
          value: Kromschroeder
        ID:
          value: WWST?
        SW:
          value: '0306'
        HW:
          value: '0301'
global:
  version: 21.2.v21.2
  access: '*'
  signal: true
  symbolrate: 94
  maxsymbolrate: 132
  minarbitrationmicros: 581
  maxarbitrationmicros: 750
  minsymbollatency: 5
  maxsymbollatency: 11
  qq: 255
  reconnects: 0
  masters: 3
  messages: 32
  lastup: 1638273064


Aber so richtige Live Values sehe ich dort nicht. Na ja gut, drei sehe ich. Wie kommst Du an deine?

Gruß
Michael

Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 01 Dezember 2021, 07:41:12
Hallo.

Ob die #36 zum Adapter gehört hatte ich fast befürchtet, konnte es aber nicht erkennen, weil das bei mir auch anders ausschaut. OK, hast es jetzt eh geändert und es gibt anscheinend nur einen Slave. Irgendwie verwirrend dieser ebus-Krams.

Zitat von: Trony am 29 November 2021, 20:35:14
Wenn wir beide eine WTC-15 haben, sollte ich doch irgendwie an die gleichen Werte rankommen. Ich fühle mich jetzt zu blöd dafür  :-\
Nein, bist Du nicht  :) Ich hatte einfach nur das Glück, dass meine Anlage ähnlich der von Joker damals zu sein scheint und profitiere schlicht von seiner Fleißarbeit. Was bei meiner auf mehrere Slaves aufgeteilt ist, scheint sich bei Dir hinter einer Adresse zu verbergen. Kurios.

In Deinem zweiten Post schaut es tatsächlich vielversprechend aus. Ich erkenne dort:

outsidetemp:  value: 0
Operatingphase:
          value: BrennerInBetrieb
        Ukn2_1:          value: 1
        Ukn2_2:          value: 1
        Ukn2_3:          value: 1
        Flame:          value: 1
        GasValve1:          value: 1
        GasValve2:          value: 1
        Pump:          value: 1
        Error:          value: 0
        Ukn3_1:          value: 0
        SoWi:          value: Winter
        Ukn3_3:          value: 0
        Ukn3_4:          value: 1
        Ukn3_5:          value: 1
        Ukn3_6:          value: 0
        Ukn3_7:          value: 1
        SettingUV:          value: Heating
        Load:          value: 34
        SupplyTemp:          value: 0
        FlueGasTemp:          value: null
        DHWTemp:          value: 0
        UknTemp:          value: 0
        ExternalTemp:          value: 3
        TrendTemp:          value: 0
        SupplySetTemp:          value: 53

Ein paar Werte wurden also erkannt. Schaut bei mir ähnlich aus (mit "Action" kommen diese Werte bei mir und gehören zum Feuerungsautomaten).
Darauf müsste sich doch aufbauen lassen, wenn die verteileten CSVen, zu welchen Deine WTC einfachen keine extra Slaves hat, einfach ins CSV #f6 wandern. Dann stehen eben alle Dekodierungen in einem CSV.
Wenn zumindest zum f6 korrekt dekodiert wird, muss das doch zu schaffen sein. Schwierig wird es, wenn auch noch die Werte etc. ganz anders kommen.

Was sagt bei Dir ein "ebusctl f" im CLI? Schaut bei mir so aus:

root@512bb76debe5:/# ebusctl f
broadcast datetime = 3.000;07:24:-;01.12.2021
broadcast error = no data stored
broadcast id = no data stored
broadcast id = no data stored
broadcast signoflife = no data stored
hc1 Adaption = no data stored
hc1 BCAST1 = no data stored
hc1 BCAST2 = no data stored
hc1 DHWMin = no data stored
hc1 DHWMode = no data stored
hc1 DHWSetpoint = no data stored
hc1 DHWSetValue = no data stored
hc1 DHWTemperature = no data stored
hc1 EndOfHoliday.Day = no data stored
hc1 EndOfHoliday.Month = no data stored
hc1 EndOfHoliday = no data stored
hc1 ExternalTemperature = no data stored
hc1 FrostProtection = no data stored
hc1 Gradient = no data stored
hc1 HeatDemand = no data stored
hc1 HeatingDemand = no data stored
hc1 HolidayTemp = no data stored
hc1 HP1.Di.1 = no data stored
hc1 HP1.Di.2 = no data stored
hc1 HP1.Di.3 = no data stored
hc1 HP1.Do.1 = no data stored
hc1 HP1.Do.2 = no data stored
hc1 HP1.Do.3 = no data stored
hc1 HP1.Fr.1 = no data stored
hc1 HP1.Fr.2 = no data stored
hc1 HP1.Fr.3 = no data stored
hc1 HP1.Mi.1 = no data stored
hc1 HP1.Mi.2 = no data stored
hc1 HP1.Mi.3 = no data stored
hc1 HP1.Mo.1 = no data stored
hc1 HP1.Mo.2 = no data stored
hc1 HP1.Mo.3 = no data stored
hc1 HP1.Sa.1 = no data stored
hc1 HP1.Sa.2 = no data stored
hc1 HP1.Sa.3 = no data stored
hc1 HP1.So.1 = no data stored
hc1 HP1.So.2 = no data stored
hc1 HP1.So.3 = no data stored
hc1 HP2.Di.1 = no data stored
hc1 HP2.Di.2 = no data stored
hc1 HP2.Di.3 = no data stored
hc1 HP2.Do.1 = no data stored
hc1 HP2.Do.2 = no data stored
hc1 HP2.Do.3 = no data stored
hc1 HP2.Fr.1 = no data stored
hc1 HP2.Fr.2 = no data stored
hc1 HP2.Fr.3 = no data stored
hc1 HP2.Mi.1 = no data stored
hc1 HP2.Mi.2 = no data stored
hc1 HP2.Mi.3 = no data stored
hc1 HP2.Mo.1 = no data stored
hc1 HP2.Mo.2 = no data stored
hc1 HP2.Mo.3 = no data stored
hc1 HP2.Sa.1 = no data stored
hc1 HP2.Sa.2 = no data stored
hc1 HP2.Sa.3 = no data stored
hc1 HP2.So.1 = no data stored
hc1 HP2.So.2 = no data stored
hc1 HP2.So.3 = no data stored
hc1 HP3.Di.1 = no data stored
hc1 HP3.Di.2 = no data stored
hc1 HP3.Di.3 = no data stored
hc1 HP3.Do.1 = no data stored
hc1 HP3.Do.2 = no data stored
hc1 HP3.Do.3 = no data stored
hc1 HP3.Fr.1 = no data stored
hc1 HP3.Fr.2 = no data stored
hc1 HP3.Fr.3 = no data stored
hc1 HP3.Mi.1 = no data stored
hc1 HP3.Mi.2 = no data stored
hc1 HP3.Mi.3 = no data stored
hc1 HP3.Mo.1 = no data stored
hc1 HP3.Mo.2 = no data stored
hc1 HP3.Mo.3 = no data stored
hc1 HP3.Sa.1 = no data stored
hc1 HP3.Sa.2 = no data stored
hc1 HP3.Sa.3 = no data stored
hc1 HP3.So.1 = no data stored
hc1 HP3.So.2 = no data stored
hc1 HP3.So.3 = no data stored
hc1 LegionnairesFunction = no data stored
hc1 MaxDHWTemp = no data stored
hc1 MaxSupplyTemperature = no data stored
hc1 MinSupplyTemperature = no data stored
hc1 MixedExternalTemperature = no data stored
hc1 NormalSetTemp = no data stored
hc1 ProgramChooseSwitch = no data stored
hc1 ReducedSetTemp = no data stored
hc1 Reduces = no data stored
hc1 RoomInfluence = no data stored
hc1 RoomSensorCorrection = no data stored
hc1 RoomSetValue = no data stored
hc1 RoomTemperature = no data stored
hc1 RoomThermostat = no data stored
hc1 Set = hotwaterinheating;stopconsumer;54.31;-;-;48.0;-
hc1 StartOfHoliday.Day = no data stored
hc1 StartOfHoliday.Month = no data stored
hc1 StartOfHoliday = no data stored
hc1 Status = no data stored
hc1 SummerWinterChangeOverTemperature = no data stored
hc1 SupplySetValueHC = no data stored
hc1 SupplyTemperatureHC = no data stored
hc1 SupplyTemperatureWTC = no data stored
hc1 SwitchOffSetting = no data stored
hc1 SwitchOnSetting = no data stored
hc1 TypeOfConstruction = no data stored
hc1 WP.Di.1 = no data stored
hc1 WP.Di.2 = no data stored
hc1 WP.Di.3 = no data stored
hc1 WP.Do.1 = no data stored
hc1 WP.Do.2 = no data stored
hc1 WP.Do.3 = no data stored
hc1 WP.Fr.1 = no data stored
hc1 WP.Fr.2 = no data stored
hc1 WP.Fr.3 = no data stored
hc1 WP.Mi.1 = no data stored
hc1 WP.Mi.2 = no data stored
hc1 WP.Mi.3 = no data stored
hc1 WP.Mo.1 = no data stored
hc1 WP.Mo.2 = no data stored
hc1 WP.Mo.3 = no data stored
hc1 WP.Sa.1 = no data stored
hc1 WP.Sa.2 = no data stored
hc1 WP.Sa.3 = no data stored
hc1 WP.So.1 = no data stored
hc1 WP.So.2 = no data stored
hc1 WP.So.3 = no data stored
hc1 ZP.Di.1 = no data stored
hc1 ZP.Di.2 = no data stored
hc1 ZP.Di.3 = no data stored
hc1 ZP.Do.1 = no data stored
hc1 ZP.Do.2 = no data stored
hc1 ZP.Do.3 = no data stored
hc1 ZP.Fr.1 = no data stored
hc1 ZP.Fr.2 = no data stored
hc1 ZP.Fr.3 = no data stored
hc1 ZP.Mi.1 = no data stored
hc1 ZP.Mi.2 = no data stored
hc1 ZP.Mi.3 = no data stored
hc1 ZP.Mo.1 = no data stored
hc1 ZP.Mo.2 = no data stored
hc1 ZP.Mo.3 = no data stored
hc1 ZP.Sa.1 = no data stored
hc1 ZP.Sa.2 = no data stored
hc1 ZP.Sa.3 = no data stored
hc1 ZP.So.1 = no data stored
hc1 ZP.So.2 = no data stored
hc1 ZP.So.3 = no data stored
hc2 HeatingDemand = no data stored
hc2 Status = no data stored
hc3 HeatingDemand = no data stored
hc3 Status = no data stored
hc4 HeatingDemand = no data stored
hc4 Status = no data stored
hc5 HeatingDemand = no data stored
hc5 Status = no data stored
hc6 HeatingDemand = no data stored
hc6 Status = no data stored
hc7 HeatingDemand = no data stored
hc7 Status = no data stored
hc8 HeatingDemand = no data stored
hc8 Status = no data stored
memory eeprom = no data stored
memory ram = no data stored
sc Act = 1;BrennerInBetrieb;1;1;1;1;1;1;1;0;0;Winter;0;0;1;0;1;Heating;32;55.0;-;48.0;0.0;3;1.383;54
sc BoilerSensorDefective = no data stored
sc BurnerOperationSinceLastService = no data stored
sc CRCErrorHeatingEngeneerParameter = no data stored
sc CRCErrorManufacturerParameter = no data stored
sc DHWSensorDefective = no data stored
sc Enduser = no data stored
sc ErrorHistory = no data stored
sc ErrorSCOTCalibration4 = no data stored
sc ErrorSCOTCalibration5 = no data stored
sc ErrorSCOTCalibration6 = no data stored
sc ErrorSCOTCalibration8 = no data stored
sc ErrorSCOTControlInput = no data stored
sc ErrorSCOTIOControl = no data stored
sc ErrorVoltagSupply = no data stored
sc ExternalSensorDefektive = no data stored
sc FanFaultDuringOperation = no data stored
sc FanFaultDuringShutdown = no data stored
sc FlameFailureDuringOperation = no data stored
sc FlameSimulation = no data stored
sc FlueGasSensorDefective = no data stored
sc GasValveCycleV1V2Defective = no data stored
sc GPSFailureDuringSafetyTime = no data stored
sc H2EmergencyOffFunction = no data stored
sc Manufacturer1 = no data stored
sc Manufacturer2 = no data stored
sc NoFlameFormation = no data stored
sc NoGasPressureAvailable = no data stored
sc ProcessValues1 = no data stored
sc ProcessValues2 = no data stored
sc ProcessValues3 = no data stored
sc ProcessValues4 = no data stored
sc ProcessValues5 = no data stored
sc ProcessValues6 = no data stored
sc PWMPumpDefective = no data stored
sc SetpointDHW = no data stored
sc SetpointTempSystem = no data stored
sc Statistic1 = no data stored
sc Statistic2 = no data stored
sc Statistic3 = no data stored
sc Statistic4 = no data stored
sc Statistic5 = no data stored
sc Statistic6 = no data stored
sc StatisticUkn01 = no data stored
sc StatisticUkn02 = no data stored
sc StatisticUkn03 = no data stored
sc StatisticUkn04 = no data stored
sc StatisticUkn05 = no data stored
sc WWTurbineDefective = no data stored
scan.08  = Kromschroeder;W ;1200;0302
scan.0c  = -;??;-;-
scan.35  = Kromschroeder;W ;2726;-
scan.f6  = Kromschroeder;WWST?;1200;0302


Alles was mit "sc" anfängt, ist der #f6. Und ja, es kommt von Haus aus nur eine Zeile.
sc Act = 1;BrennerInBetrieb;1;1;1;1;1;1;1;0;0;Winter;0;0;1;0;1;Heating;32;55.0;-;48.0;0.0;3;1.383;54
Alles andere wäre manuell zu holen (imho meist unnütz). Holbar z.B. via "ebusctl r -f -c sc SetpointDHW"

In Deiner Website-Übersicht schaut es doch so ähnlich schon aus, oder? "SupplySetTemp: value: 53" ist nämlich schonmal der Vorlauf :)

Edit: mit "ebusctl find -V" kommt es ein wenig sprechender - frisch aus dem ebus-Thread herausgefischt  :D

VG
rob
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Trony am 01 Dezember 2021, 08:40:25
Guten Morgen  ;)

So, das kommt, wenn ich ebusctl find -V eingebe.
Ich glaube, dass SetpointDHW und SetpointTempSystem erst kommen seit ich mal mit ebusd read rumgespielt habe und diese Bezeichner irgendwo in einem Thread gelesen hatte. Bin mir sicher, die Werte vorher noch nicht gesehen zu haben.
Ich waere ja schon zufrieden, wenn ich verschiedene Werte 'manuell' lesen könnte, wenn ich die Bezeichner wissen würde.

pi@raspi-8-relays:~ $ ebusctl find -V
broadcast datetime = outsidetemp=0.000 °C [Temperatur];time=08:29:06 [Uhrzeit];date=01.12.2021 [Datum] [ZZ=fe, lastup=2021-12-01 07:36:32, passive read]
broadcast error = no data stored [ZZ=fe, passive read]
broadcast id = no data stored [ZZ=fe, passive read]
broadcast id = no data stored [ZZ=any, active read]
broadcast signoflife = no data stored [ZZ=fe, passive read]
hc1 HeatingDemand = no data stored [ZZ=f6, active read]
hc1 Status = no data stored [ZZ=f6, active read]
hc2 HeatingDemand = no data stored [ZZ=f6, active read]
hc2 Status = no data stored [ZZ=f6, active read]
hc3 HeatingDemand = no data stored [ZZ=f6, active read]
hc3 Status = no data stored [ZZ=f6, active read]
hc4 HeatingDemand = no data stored [ZZ=f6, active read]
hc4 Status = no data stored [ZZ=f6, active read]
hc5 HeatingDemand = no data stored [ZZ=f6, active read]
hc5 Status = no data stored [ZZ=f6, active read]
hc6 HeatingDemand = no data stored [ZZ=f6, active read]
hc6 Status = no data stored [ZZ=f6, active read]
hc7 HeatingDemand = no data stored [ZZ=f6, active read]
hc7 Status = no data stored [ZZ=f6, active read]
hc8 HeatingDemand = no data stored [ZZ=f6, active read]
hc8 Status = no data stored [ZZ=f6, active read]
memory eeprom = no data stored [ZZ=any, active read]
memory ram = no data stored [ZZ=any, active read]
sc Act = Status1=1 [ ];Operatingphase=BrennerInBetrieb [Betriebsphase];Ukn2_1=1 [ ];Ukn2_2=1 [ ];Ukn2_3=1 [ ];Flame=1 [ ];GasValve1=1 [ ];GasValve2=1 [ ];Pump=1 [ ];Error=0 [ ];Ukn3_1=0 [ ];SoWi=Winter [ ];Ukn3_3=0 [ ];Ukn3_4=1 [ ];Ukn3_5=0 [ ];Ukn3_6=0 [ ];Ukn3_7=1 [ ];SettingUV=Heating [ ];Load=34 [Laststellung];SupplyTemp=0.0 °C [Vorlauftemperatur];FlueGasTemp=- °C [Abgastemperatur];DHWTemp=0.0 °C [Warmwassertemperatur];UknTemp=0.0 °C [ ];ExternalTemp=6 °C [Außentemperatur];TrendTemp=0.000 °C [Temperaturtrend];SupplySetTemp=49 °C [Vorlauf Solltemperatur] [ZZ=fe, lastup=2021-12-01 07:35:39, passive read]
sc SetpointDHW = no data stored [ZZ=f6, active read]
sc SetpointTempSystem = no data stored [ZZ=f6, active read]
scan.35  = no data stored [ZZ=35, active read]
scan.f6  = MF=Kromschroeder;ID=WWST?;SW=0306;HW=0301 [ZZ=f6, lastup=2021-12-01 07:36:32, active read]


Viele Grüsse
Michael
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 01 Dezember 2021, 09:15:39
Zitat von: Trony am 01 Dezember 2021, 08:40:25
Ich waere ja schon zufrieden, wenn ich verschiedene Werte 'manuell' lesen könnte, wenn ich die Bezeichner wissen würde.
Das verstehe ich absolut. Ich vermisse auch die ganzen Dinger zu "sc" im Output. Bereits bei "broadcast datetime = outsidetemp=0.000 °C [Temperatur]" steht null drin. Hätte ich gestern noch für plausibel gehalten. Offensichtl. wird das nicht dekodiert.

Folgende Hoffnung habe ich: bei mir ist die #08 separat. OK. Die CSV beinhaltet aber nix weiter als Verweise auf sc. Wenn Du diese Verweise in Deine f6..sc.csv aufnimmst, müsste hoffentlich deutlich mehr kommen.
Würde so ausschauen:
f6..sc.csv

# type (r[1-9];w;u),class,name,comment,QQ,ZZ,PBSB,ID,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment,field,part (m/s),type / templates,divider / values,unit,comment
*b,,,,,"FE",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
b,,Act,Broadcast mit Istwerten ,,,"500A",,Status1,,_8_Status,,, ,Operatingphase,,_8_Operatingphase,,,Betriebsphase ,Ukn2_1,,BI0,,, ,Ukn2_2,,BI1,,, ,Ukn2_3,,BI2,,, ,Flame,,BI3,,, ,GasValve1,,BI4,,, ,GasValve2,,BI5,,, ,Pump,,BI6,,, ,Error,,BI7,,, ,Ukn3_1,,BI0,,, ,SoWi,,BI1,0=Summer;1=Winter,, ,Ukn3_3,,BI2,,, ,Ukn3_4,,BI3,,, ,Ukn3_5,,BI4,,, ,Ukn3_6,,BI5,,, ,Ukn3_7,,BI6,,, ,SettingUV,,BI7,0=Heating;1=DHW,, ,Load,,_8_Load,,,Laststellung ,SupplyTemp,,_8_Temp2,,,Vorlauftemperatur ,FlueGasTemp,,_8_Temp2,,,Abgastemperatur ,DHWTemp,,_8_Temp2,,,Warmwassertemperatur ,UknTemp,,_8_Temp2,,, ,ExternalTemp,,_8_Temp1,,,Außentemperatur ,TrendTemp,,_16_Temp0,,,Temperaturtrend ,SupplySetTemp,,_8_Temp0,,,Vorlauf Solltemperatur

!include,sc.systemheatcontrol.inc,,System Wärmesteuerung,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

#das hier einfach unten dran gehangen
#instruction,parameter,comment
!include,sc.processvalues.inc,Prozesswerte
!include,sc.enduser.inc,Endanwender
!include,sc.statistic.inc,Statistik
!include,sc.manufacturer.inc,Hersteller
!include,sc.errorhistory.inc,Fehlerhistorie

Neu laden lassen und schauen was ebus find -V nun sagt.

Ich hoffe nicht, dass auch noch die Daten in anderen Formaten kommen. Dann wäre quasi ein Neuaufbau der CSV fällig. Ich drück die Daumen  :)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Trony am 01 Dezember 2021, 10:05:21
Hallo Rob,

hat schon einmal (ein wenig) geklappt. Ich bekomme mehr Daten:

{
  "broadcast":{
    "messages":{
      "datetime":{
        "name":"datetime",
        "passive":true,
        "write":false,
        "lastup":1638349112,
        "zz":254,
        "fields":{
          "outsidetemp":{
            "value":0
          },
          "time":{
            "value":"09:51:06"
          },
          "date":{
            "value":"01.12.2021"
          }
        }
      },
      "error":{
        "name":"error",
        "passive":true,
        "write":false,
        "lastup":0
      },
      "id-u":{
        "name":"id",
        "passive":true,
        "write":false,
        "lastup":0
      },
      "signoflife":{
        "name":"signoflife",
        "passive":true,
        "write":false,
        "lastup":0
      }
    }
  },
  "hc1":{
    "messages":{
      "HeatingDemand":{
        "name":"HeatingDemand",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "Status":{
        "name":"Status",
        "passive":false,
        "write":false,
        "lastup":0
      }
    }
  },
  "hc2":{
    "messages":{
      "HeatingDemand":{
        "name":"HeatingDemand",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "Status":{
        "name":"Status",
        "passive":false,
        "write":false,
        "lastup":0
      }
    }
  },
  "hc3":{
    "messages":{
      "HeatingDemand":{
        "name":"HeatingDemand",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "Status":{
        "name":"Status",
        "passive":false,
        "write":false,
        "lastup":0
      }
    }
  },
  "hc4":{
    "messages":{
      "HeatingDemand":{
        "name":"HeatingDemand",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "Status":{
        "name":"Status",
        "passive":false,
        "write":false,
        "lastup":0
      }
    }
  },
  "hc5":{
    "messages":{
      "HeatingDemand":{
        "name":"HeatingDemand",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "Status":{
        "name":"Status",
        "passive":false,
        "write":false,
        "lastup":0
      }
    }
  },
  "hc6":{
    "messages":{
      "HeatingDemand":{
        "name":"HeatingDemand",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "Status":{
        "name":"Status",
        "passive":false,
        "write":false,
        "lastup":0
      }
    }
  },
  "hc7":{
    "messages":{
      "HeatingDemand":{
        "name":"HeatingDemand",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "Status":{
        "name":"Status",
        "passive":false,
        "write":false,
        "lastup":0
      }
    }
  },
  "hc8":{
    "messages":{
      "HeatingDemand":{
        "name":"HeatingDemand",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "Status":{
        "name":"Status",
        "passive":false,
        "write":false,
        "lastup":0
      }
    }
  },
  "sc":{
    "messages":{
      "Act":{
        "name":"Act",
        "passive":true,
        "write":false,
        "lastup":1638349130,
        "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":1
          },
          "Ukn3_5":{
            "value":0
          },
          "Ukn3_6":{
            "value":0
          },
          "Ukn3_7":{
            "value":0
          },
          "SettingUV":{
            "value":"Heating"
          },
          "Load":{
            "value":0
          },
          "SupplyTemp":{
            "value":0
          },
          "FlueGasTemp":{
            "value":null
          },
          "DHWTemp":{
            "value":0
          },
          "UknTemp":{
            "value":0
          },
          "ExternalTemp":{
            "value":7
          },
          "TrendTemp":{
            "value":0
          },
          "SupplySetTemp":{
            "value":48
          }
        }
      },
      "BoilerSensorDefective":{
        "name":"BoilerSensorDefective",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "BurnerOperationSinceLastService":{
        "name":"BurnerOperationSinceLastService",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "CRCErrorHeatingEngeneerParameter":{
        "name":"CRCErrorHeatingEngeneerParameter",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "CRCErrorManufacturerParameter":{
        "name":"CRCErrorManufacturerParameter",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "DHWSensorDefective":{
        "name":"DHWSensorDefective",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "Enduser":{
        "name":"Enduser",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "ErrorHistory":{
        "name":"ErrorHistory",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "ErrorSCOTCalibration4":{
        "name":"ErrorSCOTCalibration4",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "ErrorSCOTCalibration5":{
        "name":"ErrorSCOTCalibration5",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "ErrorSCOTCalibration6":{
        "name":"ErrorSCOTCalibration6",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "ErrorSCOTCalibration8":{
        "name":"ErrorSCOTCalibration8",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "ErrorSCOTControlInput":{
        "name":"ErrorSCOTControlInput",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "ErrorSCOTIOControl":{
        "name":"ErrorSCOTIOControl",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "ErrorVoltagSupply":{
        "name":"ErrorVoltagSupply",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "ExternalSensorDefektive":{
        "name":"ExternalSensorDefektive",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "FanFaultDuringOperation":{
        "name":"FanFaultDuringOperation",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "FanFaultDuringShutdown":{
        "name":"FanFaultDuringShutdown",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "FlameFailureDuringOperation":{
        "name":"FlameFailureDuringOperation",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "FlameSimulation":{
        "name":"FlameSimulation",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "FlueGasSensorDefective":{
        "name":"FlueGasSensorDefective",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "GasValveCycleV1V2Defective":{
        "name":"GasValveCycleV1V2Defective",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "GPSFailureDuringSafetyTime":{
        "name":"GPSFailureDuringSafetyTime",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "H2EmergencyOffFunction":{
        "name":"H2EmergencyOffFunction",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "Manufacturer1":{
        "name":"Manufacturer1",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "Manufacturer2":{
        "name":"Manufacturer2",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "NoFlameFormation":{
        "name":"NoFlameFormation",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "NoGasPressureAvailable":{
        "name":"NoGasPressureAvailable",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "ProcessValues1":{
        "name":"ProcessValues1",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "ProcessValues2":{
        "name":"ProcessValues2",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "ProcessValues3":{
        "name":"ProcessValues3",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "ProcessValues4":{
        "name":"ProcessValues4",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "ProcessValues5":{
        "name":"ProcessValues5",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "ProcessValues6":{
        "name":"ProcessValues6",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "PWMPumpDefective":{
        "name":"PWMPumpDefective",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "SetpointDHW":{
        "name":"SetpointDHW",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "SetpointTempSystem":{
        "name":"SetpointTempSystem",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "Statistic1":{
        "name":"Statistic1",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "Statistic2":{
        "name":"Statistic2",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "Statistic3":{
        "name":"Statistic3",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "Statistic4":{
        "name":"Statistic4",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "Statistic5":{
        "name":"Statistic5",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "Statistic6":{
        "name":"Statistic6",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "StatisticUkn01":{
        "name":"StatisticUkn01",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "StatisticUkn02":{
        "name":"StatisticUkn02",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "StatisticUkn03":{
        "name":"StatisticUkn03",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "StatisticUkn04":{
        "name":"StatisticUkn04",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "StatisticUkn05":{
        "name":"StatisticUkn05",
        "passive":false,
        "write":false,
        "lastup":0
      },
      "WWTurbineDefective":{
        "name":"WWTurbineDefective",
        "passive":false,
        "write":false,
        "lastup":0
      }
    }
  },
  "scan.35":{
    "messages":{
      "":{
        "name":"",
        "passive":false,
        "write":false,
        "lastup":0
      }
    }
  },
  "scan.f6":{
    "messages":{
      "":{
        "name":"",
        "passive":false,
        "write":false,
        "lastup":1638349041,
        "zz":246,
        "fields":{
          "MF":{
            "value":"Kromschroeder"
          },
          "ID":{
            "value":"WWST?"
          },
          "SW":{
            "value":"0306"
          },
          "HW":{
            "value":"0301"
          }
        }
      }
    }
  },
  "global":{
    "version":"21.2.v21.2",
    "access":"*",
    "signal":true,
    "symbolrate":22,
    "maxsymbolrate":118,
    "minarbitrationmicros":476,
    "maxarbitrationmicros":497,
    "minsymbollatency":5,
    "maxsymbollatency":5,
    "qq":255,
    "reconnects":0,
    "masters":3,
    "messages":78,
    "lastup":1638349130
  }
}


Wenn ich dann z.B. so einen neuen Wert manuell lese bekomme ich folgendes:

pi@raspi-8-relays:~ $ ebusctl read -f -V ProcessValues1
sc ProcessValues1 Byte1=113 [ ];Byte2=180 [ ];Byte3=8 [ ];Byte4=247 [ ];Byte5=144 [ ];Byte6=72 [ ];Byte7=1 [ ];Byte8=3

pi@raspi-8-relays:~ $ ebusctl read -f -V ProcessValues2
sc ProcessValues2 Byte1=0 [ ];Byte2=0 [ ];Byte3=0 [ ];FanControlSetSpeed=0 Rpm [Gebläseregelung Soll-Drehzahl];FanControlActualSpeed=0 Rpm [Gebläseregelung Ist-Drehzahl];Byte6=7

pi@raspi-8-relays:~ $ ebusctl read -f -V ProcessValues3
sc ProcessValues3 Byte1=0 [ ];Byte2=3 [ ];Byte3=160

pi@raspi-8-relays:~ $ ebusctl read -f -V ProcessValues4
sc ProcessValues4 Byte1=8 [ ];Byte2=- [ ];Byte3=7 [ ];Byte4=43 [ ];Byte5=127 [ ];Byte6=44

pi@raspi-8-relays:~ $ ebusctl read -f -V ProcessValues5
sc ProcessValues5 Byte1=51 [ ];Byte2=48 [ ];Byte3=50 [ ];Byte4=30 [ ];Byte5=60 [ ];Byte6=-


pi@raspi-8-relays:~ $ ebusctl find -V
broadcast datetime = outsidetemp=0.000 °C [Temperatur];time=09:50:06 [Uhrzeit];date=01.12.2021 [Datum] [ZZ=fe, lastup=2021-12-01 08:57:32, passive read]
broadcast error = no data stored [ZZ=fe, passive read]
broadcast id = no data stored [ZZ=fe, passive read]
broadcast id = no data stored [ZZ=any, active read]
broadcast signoflife = no data stored [ZZ=fe, passive read]
hc1 HeatingDemand = no data stored [ZZ=f6, active read]
hc1 Status = no data stored [ZZ=f6, active read]
hc2 HeatingDemand = no data stored [ZZ=f6, active read]
hc2 Status = no data stored [ZZ=f6, active read]
hc3 HeatingDemand = no data stored [ZZ=f6, active read]
hc3 Status = no data stored [ZZ=f6, active read]
hc4 HeatingDemand = no data stored [ZZ=f6, active read]
hc4 Status = no data stored [ZZ=f6, active read]
hc5 HeatingDemand = no data stored [ZZ=f6, active read]
hc5 Status = no data stored [ZZ=f6, active read]
hc6 HeatingDemand = no data stored [ZZ=f6, active read]
hc6 Status = no data stored [ZZ=f6, active read]
hc7 HeatingDemand = no data stored [ZZ=f6, active read]
hc7 Status = no data stored [ZZ=f6, active read]
hc8 HeatingDemand = no data stored [ZZ=f6, active read]
hc8 Status = no data stored [ZZ=f6, active read]
memory eeprom = no data stored [ZZ=any, active read]
memory ram = no data stored [ZZ=any, active read]
sc Act = Status1=1 [ ];Operatingphase=BrennerAus [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=1 [ ];Ukn3_5=0 [ ];Ukn3_6=0 [ ];Ukn3_7=0 [ ];SettingUV=Heating [ ];Load=0 [Laststellung];SupplyTemp=0.0 °C [Vorlauftemperatur];FlueGasTemp=- °C [Abgastemperatur];DHWTemp=0.0 °C [Warmwassertemperatur];UknTemp=0.0 °C [ ];ExternalTemp=7 °C [Au▒entemperatur];TrendTemp=0.000 °C [Temperaturtrend];SupplySetTemp=48 °C [Vorlauf Solltemperatur] [ZZ=fe, lastup=2021-12-01 08:57:50, passive read]
sc BoilerSensorDefective = no data stored [ZZ=f6, active read]
sc BurnerOperationSinceLastService = no data stored [ZZ=f6, active read]
sc CRCErrorHeatingEngeneerParameter = no data stored [ZZ=f6, active read]
sc CRCErrorManufacturerParameter = no data stored [ZZ=f6, active read]
sc DHWSensorDefective = no data stored [ZZ=f6, active read]
sc Enduser = no data stored [ZZ=f6, active read]
sc ErrorHistory = no data stored [ZZ=f6, active read]
sc ErrorSCOTCalibration4 = no data stored [ZZ=f6, active read]
sc ErrorSCOTCalibration5 = no data stored [ZZ=f6, active read]
sc ErrorSCOTCalibration6 = no data stored [ZZ=f6, active read]
sc ErrorSCOTCalibration8 = no data stored [ZZ=f6, active read]
sc ErrorSCOTControlInput = no data stored [ZZ=f6, active read]
sc ErrorSCOTIOControl = no data stored [ZZ=f6, active read]
sc ErrorVoltagSupply = no data stored [ZZ=f6, active read]
sc ExternalSensorDefektive = no data stored [ZZ=f6, active read]
sc FanFaultDuringOperation = no data stored [ZZ=f6, active read]
sc FanFaultDuringShutdown = no data stored [ZZ=f6, active read]
sc FlameFailureDuringOperation = no data stored [ZZ=f6, active read]
sc FlameSimulation = no data stored [ZZ=f6, active read]
sc FlueGasSensorDefective = no data stored [ZZ=f6, active read]
sc GasValveCycleV1V2Defective = no data stored [ZZ=f6, active read]
sc GPSFailureDuringSafetyTime = no data stored [ZZ=f6, active read]
sc H2EmergencyOffFunction = no data stored [ZZ=f6, active read]
sc Manufacturer1 = no data stored [ZZ=f6, active read]
sc Manufacturer2 = no data stored [ZZ=f6, active read]
sc NoFlameFormation = no data stored [ZZ=f6, active read]
sc NoGasPressureAvailable = no data stored [ZZ=f6, active read]
sc ProcessValues1 = no data stored [ZZ=f6, active read]
sc ProcessValues2 = no data stored [ZZ=f6, active read]
sc ProcessValues3 = no data stored [ZZ=f6, active read]
sc ProcessValues4 = no data stored [ZZ=f6, active read]
sc ProcessValues5 = no data stored [ZZ=f6, active read]
sc ProcessValues6 = no data stored [ZZ=f6, active read]
sc PWMPumpDefective = no data stored [ZZ=f6, active read]
sc SetpointDHW = no data stored [ZZ=f6, active read]
sc SetpointTempSystem = no data stored [ZZ=f6, active read]
sc Statistic1 = no data stored [ZZ=f6, active read]
sc Statistic2 = no data stored [ZZ=f6, active read]
sc Statistic3 = no data stored [ZZ=f6, active read]
sc Statistic4 = no data stored [ZZ=f6, active read]
sc Statistic5 = no data stored [ZZ=f6, active read]
sc Statistic6 = no data stored [ZZ=f6, active read]
sc StatisticUkn01 = no data stored [ZZ=f6, active read]
sc StatisticUkn02 = no data stored [ZZ=f6, active read]
sc StatisticUkn03 = no data stored [ZZ=f6, active read]
sc StatisticUkn04 = no data stored [ZZ=f6, active read]
sc StatisticUkn05 = no data stored [ZZ=f6, active read]
sc WWTurbineDefective = no data stored [ZZ=f6, active read]
scan.35  = no data stored [ZZ=35, active read]
scan.f6  = MF=Kromschroeder;ID=WWST?;SW=0306;HW=0301 [ZZ=f6, lastup=2021-12-01 08:57:21, active read]
f

Sind das alle Werte, welche Du auch bekommst?

Gruss
Michael


Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 01 Dezember 2021, 11:55:05
Ja, zu sc wären das grundsätzlich alle. Liegt einfach am CSV - alles was das CSV kennt, wird jetzt angeboten. Heißt nur leider nicht, dass es alles richtig dekodiert wird. Mich stört, dass dort bei Action überall Nullen stehen oder einfach nichts.

Wenn Du soetwas los lässt "ebusctl r -f -c sc SetpointDHW" kommt wahrscheinlich auch kein Wert, oder?
Würden zumindest schonmal Werte kommen, könnest Du die f6..sc.csv einfach weiter ergänzen mit den Verweisen aus 35..hc1.csv, wodurch Dir alles zu Hc1 angeboten wird. Ich befürchte nur, dass auch dann keine Werte dekodiert werden. Mist  :(

Joker hatte das damals wohl mit einem W-EA-Modul analysieren können. Allerdings 400 Öcken sind dafür mehr als happig.

Wie man grundsätzlich zur Analyse vorgeht, ist im Wiki beschrieben https://github.com/john30/ebusd/wiki/HowTos - ich habe schon den grab-Teil nicht verstanden, weil bei mir nur "done" erscheint, aber keinerlei Werte.

Interessant wäre ggf. noch das Log vom ebusd. Alles was mit unknown beginnt, hat Werte, welche aber nicht dekodiert wurden.

Vielleicht macht es doch mehr Sinn, wenn Du im Thread https://forum.fhem.de/index.php/topic,118143.msg1185002.html#msg1185002 postest, weil ich scheinbar nicht mehr wirklich helfen kann  :-\

Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Trony am 01 Dezember 2021, 17:42:27
Erst einmal vielen, vielen Dank für Deine Hilfe!!!
Ich steige jetzt viel besser durch und denke, dass ich nun ein wenig ohne Hilfe probieren kann.
Ich schicke Dir zum Dank hiermit einen virtuellen Kasten Bier :-)

ZitatWenn Du soetwas los lässt "ebusctl r -f -c sc SetpointDHW" kommt wahrscheinlich auch kein Wert, oder?

Doch, kommt:

pi@raspi-8-relays:~ $ ebusctl r -f -c sc SetpointDHW
50


Ich werde morgen mal unters Dach steigen und schauen, warum meine WRSOL 2.0 nicht als Slave auftaucht. Vielleicht nur ein Stecker korrodiert.

Ich werde hier berichten, ob ich's hinbekommen habe, die wichtigsten Werte auszulesen. Scheint bei Euch allen ja zu funktionieren.
Werde mich als Erstes mal an die Interpretation der "ProcessValue1" bis "ProcessValue6" Werte machen. Vielleicht ist dort ja drin, was mich interessiert. Polle die Werte gerade in einem cron job um sie dann mit Grafana anzuzeigen.

Viele Grüsse aus Mauer
Michael
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 02 Dezember 2021, 07:09:44
Hi Michael.

Danke für Deine Rückmeldung. Bier ist immer gut! Bei den CSVen zu diesen Zeiten meine ich sowieso  ;D Dann lass uns gemeinsam zuprosten ... naja, heute Abend eher, sonst schauts komisch aus  ;)

Es kommt also ein Wert. Das ist doch schonmal prima!  8)
Die wichtigsten Werte kommen eigentl. automatisch. Halt Dich bitte nicht zurück zu posten. Wenn ich nicht helfen kann, sag ich es und ggf. weiß jmd. anderes weiter. Es scheint nur halt so, dass unsere ebus Profis wegen Zeitmangel hier nicht unbedingt mitlesen, dafür aber im ebus Fred besser zu erreichen sind.

Ja, es gibt einige Werte die ich für mich als "nutzlos" abgehakt hatte. Keine Infos auffindbar. ProcessValue1 usw. gehörte dazu. Vielleicht hast Du mehr Geduld+Glück. Einige davon haben auch noch im JSON gleiche Namen, wenn sie per MQTT kommen - weshalb BetaUser einiges an Zeit investierte, um dies zu entwirren (z.B. 16_Counter).
Fred: https://forum.fhem.de/index.php/topic,122048.0.html dort findest nützliche Infos für MQTT - häng Dich da gerne mit dran, sobald Du das angehst.

Wenn Du die f6..sc.csv mit dem aus 35..hc1.csv ebenfalls ergänzt hast, könnten dort nun auch ein paar Werte automatisch kommen. Diese sind:

Action startconsumer
DHWSetTemp 48.0
SetTemp 53.62
Status hotwaterinheating


Bliebe noch die Frage, warum bei Act zum sc die Werte fehlen. Automatisch sollte ja das kommen:
DHWTemp
Error
ExternalTemp
Flame
GasValve1
GasValve2
Load
Operatingphase
PWMPumpDefective
Pump
SettingUV
SoWi
Status1
SupplySetTemp
SupplyTemp
TrendTemp
Ukn2_1
Ukn2_2
Ukn2_3
Ukn3_1
Ukn3_3
Ukn3_4
Ukn3_5
Ukn3_6
Ukn3_7
UknTemp

Wäre interessant, wo Du Werte bekommst beim manuellen abholen und wo nicht. Dort wo nicht, muss ggf. die Dekodierung im CSV konkret geprüft werden.

Vielleicht bringt ein Neustart der Therme auch etwas?

VG
rob
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Trony am 02 Dezember 2021, 08:15:09
Aktuell verzweifle ich daran, dass ich scheinbar nicht "direkt" vom Bus lesen kann:

pi@raspi-8-relays:~ $ ebusctl r -m 1 -c sc Act SupplySetTemp
49

pi@raspi-8-relays:~ $ ebusctl r -m 0 -c sc Act SupplySetTemp
ERR: element not found


Ich probiere weiter...
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 02 Dezember 2021, 09:11:20
Die Optionen m1 oder m0 kannte ich noch garnicht. Was macht das genau? Irgendwie scheinen die Infos im Wiki zu ebusctl nicht ganz aktuell zu sein.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: Trony am 02 Dezember 2021, 20:43:02
Soll, genauso wie -f, direkt vom Bus lesen und nicht vom Cache.
Funktioniert aber beides nicht, was ich nicht verstehe.
Wenn es nicht funktioniert, ein Datum aktiv anzufordern, werde ich niemals andere Werte bekommen, als was eh zyklisch übertragen wird.

pi@raspi-8-relays:~ $ ebusctl r
usage: read [-f] [-m SECONDS] [-s QQ] [-d ZZ] [-c CIRCUIT] [-p PRIO] [-v|-V] [-n|-N] [-i VALUE[;VALUE]*] NAME [FIELD[.N]]
  or:  read [-f] [-m SECONDS] [-s QQ] [-d ZZ] [-v|-V] [-n|-N] [-i VALUE[;VALUE]*] -def DEFINITION (only if enabled)
  or:  read [-f] [-m SECONDS] [-s QQ] [-c CIRCUIT] -h ZZPBSBNN[DD]*
Read value(s) or hex message.
  -f           force reading from the bus (same as '-m 0')
  -m SECONDS   only return cached value if age is less than SECONDS [300]
  -c CIRCUIT   limit to messages of CIRCUIT
  -s QQ        override source address QQ
  -d ZZ        override destination address ZZ
  -p PRIO      set the message poll priority (1-9)
  -v           increase verbosity (include names/units/comments)
  -V           be very verbose (include names, units, and comments)
  -n           use numeric value of value=name pairs
  -N           use numeric and named value of value=name pairs
  -i VALUE     read additional message parameters from VALUE
  NAME         NAME of the message to send
  FIELD        only retrieve the field named FIELD
  N            only retrieve the N'th field named FIELD (0-based)
  -def         read with explicit message definition (only if enabled):
    DEFINITION message definition to use instead of known definition
  -h           send hex read message (or answer from cache):
    ZZ         destination address
    PB SB      primary/secondary command byte
    NN         number of following data bytes
    DD         data byte(s) to send
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: john30 am 05 Dezember 2021, 21:45:36
Zitat von: Trony am 02 Dezember 2021, 20:43:02
Soll, genauso wie -f, direkt vom Bus lesen und nicht vom Cache.
Funktioniert aber beides nicht, was ich nicht verstehe.
das hängt von der Message Definition ab. Wenn das eine passive ist, dann wird ebusd niemals aktiv auf dem Bus lesen.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: mwolle am 21 März 2022, 17:25:48
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

Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 25 März 2022, 08:39:09
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
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: mwolle am 28 März 2022, 17:06:36
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.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 29 März 2022, 10:35:19
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
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: mwolle am 31 März 2022, 12:46:55
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.
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 01 April 2022, 12:52:54
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
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: mwolle am 04 April 2022, 13:26:14
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 :)
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: zenlight777 am 04 November 2022, 04:17:12
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!
Titel: Antw:Weishaupt WTC am eBus mit ebusd
Beitrag von: rob am 04 November 2022, 08:57:36
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
Titel: Aw: Weishaupt WTC am eBus mit ebusd
Beitrag von: rubinho am 03 Oktober 2023, 18:08:38
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



Titel: Aw: Weishaupt WTC am eBus mit ebusd
Beitrag von: mb201 am 08 Dezember 2023, 10:17:53
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
Titel: Aw: Weishaupt WTC am eBus mit ebusd
Beitrag von: mb201 am 13 Dezember 2023, 14:38:27
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.
Titel: Aw: Weishaupt WTC am eBus mit ebusd
Beitrag von: mb201 am 07 Januar 2024, 19:00:51
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.
Titel: Aw: Weishaupt WTC am eBus mit ebusd
Beitrag von: alfiriel am 10 Januar 2024, 21:12:39
@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
Titel: Aw: Weishaupt WTC am eBus mit ebusd
Beitrag von: mb201 am 12 Januar 2024, 18:57:49
@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
Titel: Aw: Weishaupt WTC am eBus mit ebusd
Beitrag von: morjak am 10 März 2024, 08:49:42
Hallo in die Runde,

ich versuche mich seit ein paar Wochen auch darin, Daten meiner Weishauptheizung (insbesondere die Solardaten) per eBus zu entlocken, tappe hier aber ziemlich im Dunkeln.

Hier bin ich auf eine funktionierende Lösung gestoßen: https://github.com/felixoswald/weishaupt-ebus-reader (https://github.com/felixoswald/weishaupt-ebus-reader)

Ich versuche nun den eigentlichen Befehl zu dekodieren und ein Schema zu erkennen.

50 22 03 86 7C 06 liefert mir den Wh - Anteil des Gesamtertrages

50 22 03 DA 7D 06 den kWh - Anteil

50 22 03 E3 7E 06 den MWh - Anteil

Die Summe ergibt wohl den Gesamtertrag.

Jetzt zu meinem eigentlichen Problem: Was bedeuten die einzelnen Symbole?

50 -> Primärbefehl
22 -> Sekundärbefehl: Register? lesen (23 dürfte dann schreiben sein)
03 -> Anzahl der folgenden Datensymbole
86 -> ?
7c 06 -> Registeradresse 0x067c ?

Die drei Befehle würden dann 3 aufeinanderfolgene Adressen (0x067c, 0x067d und 0x067e) auslesen, was durchaus Sinn ergeben würde

Aber was zum Henker wäre dann das 1. Datensymbol (im 1. Befehl die 86)

Oder liege ich völlig falsch?