Probleme mit Ebusd Adapter C6 => ständige disconnects

Begonnen von cs-online, 29 November 2025, 12:40:22

Vorheriges Thema - Nächstes Thema

cs-online

Hallo zusammen,

ich habe für meine Vaillant Therme plus Vaillant Solarthermie zwei Ebus-Adapter in Betrieb genommen. Der an der Solarthermie arbeitet einwandfrei, einmal connected und läuft. Der an der Heizung erzeugt im ECMD-Device ständige disconnects. Ich habe sowohl den Adapter gegen einen dritten als auch Netzteil (mit dem von der Solarthermie) getauscht, verschiedene Firmawares getestet, immer das selbe.

Hier mal ein Info aus dem EBUSD:
localhost: info
version: ebusd 25.1.25.1
device: 192.168.2.16:9999, TCP, enhanced, firmware 1.1[5114].1[5114]
access: *
signal: acquired
symbol rate: 41
max symbol rate: 43
min arbitration micros: 9
max arbitration micros: 139
min symbol latency: 5
max symbol latency: 6
reconnects: 0
masters: 3
messages: 11
conditional: 0
poll: 0
update: 4
address 03: master #11
address 08: slave #11
address 10: master #2
address 31: master #8, ebusd
address 36: slave #8, ebusd

Hier ein List aus dem ECMD-Device:

FUUID      5c477535-f33f-1755-98b2-9ee9fb0b43a1a1a1
   NAME       EBUS
   NEXT_OPEN  1764416249.06331
   NR         749
   PARTIAL   
   Protocol   telnet
   STATE      disconnected
   TYPE       ECMD
   eventCount 16
   READINGS:
     2025-11-29 12:36:29   state           disconnected
   fhem:
     classDefs:
       Heizungsfunktionen.class:
         filename   /opt/fhem/FHEM/ebusd_Heizungsfunktionen.cfg
         gets:
           Aussentemperatur:
             cmd        {"r outsidetemp\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%5.2f",$_);  } $rval; }
           Betriebsart_Heizung:
             cmd        {"r -f hc1opmode\n"}
             expect     \d+\.\d+\n\n
           Betriebsstunden_Heizung:
             cmd        {"r HcHours\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%5.0f",$_);  } $rval; }
           Betriebsstunden_Warmwasser:
             cmd        {"r HwcHours\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%5.0f",$_);  } $rval; }
           Brenner_Heizung:
             cmd        {"r -f sdflame\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=$_;  } $rval; }
           Brennersperrzeit:
             cmd        {"r -f RemainingBoilerblocktime\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%5.0f",$_);  } $rval; }
           Druck:
             cmd        {"r -f WaterPressure\n"}
             expect     \d+\.\d+
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    my $Stop = index($_,";");my $zurueck = substr($_,0,$Stop);  $rval=sprintf("%5.2f",$zurueck);  } $rval; }
           Fehlermeldung:
             cmd        {"r -f -c bai currenterror\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%s",$_);  } $rval; }
           Flowrate:
             cmd        {"r -f primarycircuitflowrate\n"}
             expect     \d+\.\d+\n\n
           Heizkurve:
             cmd        {"r -f Hc1HeatCurve\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%5.1f",$_);  } $rval; }
           Heizung_Soll:
             cmd        {"r -f Hc1ActualFlowTempDesired\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%5.2f",$_);  } $rval; }
           Heizung_max:
             cmd        {"r -f PartloadHcKW\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%5.0f",$_);  } $rval; }
           Pumpenpower:
             cmd        {"r -f wppwmPower\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%5.0f",$_);  } $rval; }
           Raumtemperatur:
             cmd        {"r -f DisplayedRoomTemp\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%5.2f",$_);  } $rval; }
           Ruecklauf:
             cmd        {"r -f SDTRT\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    my $Stop = index($_,";");my $zurueck = substr($_,0,$Stop);  $rval=$zurueck;  } $rval; }
           SendToEbus:
             cmd        {"".Value("EBUS_CMD")."\n"}
             expect     .*\n\n
             postproc   { $_ }
           Volumenstrom:
             cmd        {"w -h 08b509030dfb00\n"}
             expect     \d+\.\d+\n\n
           Vorlauf:
             cmd        {"r -f FlowTemp\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    my $Stop = index($_,";");my $zurueck = substr($_,0,$Stop);  $rval=$zurueck;  } $rval; }
           WW_max:
             cmd        {"r -f PartloadHwcKW\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%5.0f",$_);  } $rval; }
           Warmwasser_Soll:
             cmd        {"r -f storagetempdesired\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%5.2f",$_);  } $rval; }
           Warmwasserbetrieb:
             cmd        {"r -f HwcOPMode\n"}
             expect     \d+\.\d+\n\n
           Wunsch_heute:
             cmd        {"r -f Hc1QuickVetoTemp\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%5.2f",$_);  } $rval; }
           Wunschtempnacht:
             cmd        {"r -f hc1nighttemp\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%5.2f",$_);  } $rval; }
           Wunschtemptag:
             cmd        {"r -f hc1daytemp\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%5.2f",$_);  } $rval; }
           errorhistory:
             cmd        {"r -f -c bai -i 0 -V errorhistory\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%s",$_);  } $rval; }
           erster_Fehlstart:
             cmd        {"r -f CounterStartattempts1\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%5.0f",$_);  } $rval; }
           search_activ:
             cmd        {"find -d\n"}
             expect     .*
             postproc   { s_ebus($_); }
           zweiter_Fehlstart:
             cmd        {"r -f CounterStartattempts2\n"}
             expect     \d+\.\d+\n\n
             postproc   { my $rval;  if(($_ eq "")||($_ eq "no data stored") ){    $rval = "err";  }else{    $rval=sprintf("%5.0f",$_);  } $rval; }
         sets:
           Heizautomatik:
             cmd        {"w -c 470 hc1opmode 2\n"}
           Partymodus:
             cmd        {"w -c 470 hwcOPMode 4\n"}
           Sommerbetrieb:
             cmd        {"w -c 470 hc1opmode 5\n"}
           Speicher_laden:
             cmd        {"w -c 470 hwcOPMode 6\n"}
           Speicherautomatik:
             cmd        {"w -c 470 hwcOPMode 2\n"}
           Speicherfüllung:
             cmd        {"w -c 470 hwctempdesired 45\n"}
           Wannenfuellung:
             cmd        {"w -c 470 hwctempdesired 60\n"}
Attributes:
   alias      EBUSD Heizung
   classdefs  Heizungsfunktionen.class=/opt/fhem/FHEM/ebusd_Heizungsfunktionen.cfg
   group      eBus
   requestSeparator �
   room       Technik->Heizung
   verbose    5


Mit der Grundkonfiguration lief mein altes System mit USB-Adaptern über Jahre problemfrei. Nun ist da so praktisch nicht brauchbar, mal bekomme ich Werte, dann wieder nicht, mal schaltet die Therme, dann wieder nicht....

Hat jemand eine Idee ?

Grüße

Christian
FHEM auf DELL Thinclient, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway+Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem TC und da geht noch mehr