Läuft: Heizung mit eBus-Schnittstelle

Begonnen von Prof. Dr. Peter Henning, 29 November 2014, 13:36:59

Vorheriges Thema - Nächstes Thema

cs-online

Zitat von: Reinhart am 31 Mai 2020, 09:40:08

r;wi,,PartloadHcKW,d.00 Heizungsteillast,,,,"0704",,,power,,,Heizungsteillast


Hi Reinhart,

ich mag mich täuschen, ist das nicht die Leistungsbegrenzung im Teillastbereich ? Also auf z.b. 5KW eingestellt heizt eine "normale" Brennwerttherme dann mit einer Begrenzung von 5KW, damit z.B. in der Übergangszeit die Therme bei 20KW nicht ständig an und aus geht...
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

Reinhart

Ja genau so macht dann der verstellbare Wert auch Sinn.

Die reine Pumpenleistung kann ja auch über ein Register abgefragt werden, ob das allerdings so exakt stimmt müsste wirklich nachgemessen werden. da aber auch der Ventilator die Drehzahl stufenlos einstellt, wird aber alles eine Schätzung bleiben. Daher wird das einfach besser und genauer sein sich so ein Shelly EM zu besorgen.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

morpheus999

Hallo zusammen.

Bin auf dieses Forum gestoßen im Zuge meiner Suche nach meinem Problem bei der Einbindung der Vaillant Komponenten in meine Hausautomatisation mittels EBUSD und Ebuskoppler.

Ich habe ein Plugin auf meinem Rasberry am Laufen, welches eine grafische Oberfläche hat und im Hintergrund das EBUSD ausführt.
Jetzt komme ich aber nicht weiter. Ich bekomme von dem Plugin folgende Auswertung in einer PHP Datei bereitgestellt.

{"bai":{"AccessoriesOne":"no data stored","AccessoriesTwo":"no data stored","ACRoomthermostat":"no data stored","averageIgnitiontime":"no data stored","BlockTimeHcMax":"no data stored","BoilerType":"no data stored","ChangesDSN":"no data stored","CirPump":"no data stored","CounterStartattempts1":"no data stored","CounterStartattempts2":"no data stored","CounterStartAttempts3":"no data stored","CounterStartAttempts4":"no data stored","currenterror":"no data stored","DateTime":"no data stored","dcfState":"no data stored","DCFTimeDate":"no data stored","DCRoomthermostat":"no data stored","DeactivationsIFC":"no data stored","DeactivationsTemplimiter":"no data stored","DeltaFlowReturnMax":"no data stored","DisplayMode":"no data stored","DSN":"no data stored","DSNOffset":"no data stored","DSNStart":"no data stored","EBusHeatcontrol":"no data stored","EbusSourceOn":"no data stored","EbusVoltage":"no data stored","errorhistory":"no data stored","expertlevel_ReturnTemp":"no data stored","ExternalFaultmessage":"no data stored","externalFlowTempDesired":"no data stored","externalHwcSwitch":"no data stored","ExternGasvalve":"no data stored","ExtFlowTempDesiredMin":"no data stored","ExtStorageModulCon":"no data stored","extWP":"no data stored","FanHours":"no data stored","FanMaxSpeedOperation":"no data stored","FanMinSpeedOperation":"no data stored","FanPWMSum":"no data stored","FanPWMTest":"no data stored","FanSpeed":"no data stored","FanSpeedOffsetMax":"no data stored","FanSpeedOffsetMin":"no data stored","FanStarts":"no data stored","Flame":"no data stored","FlameSensingASIC":"no data stored","FloorHeatingContact":"no data stored","FlowsetHcMax":"no data stored","FlowsetHwcMax":"no data stored","FlowSetPotmeter":"no data stored","FlowTemp":"no data stored","FlowTempDesired":"no data stored","FlowTempMax":"no data stored","Fluegasvalve":"no data stored","FluegasvalveOpen":"no data stored","Gasvalve3UC":"no data stored","Gasvalve":"no data stored","GasvalveASICFeedback":"no data stored","GasvalveUC":"no data stored","GasvalveUCFeedback":"no data stored","HcHours":"no data stored","HcPumpMode":"no data stored","HcPumpStarts":"no data stored","HcStarts":"no data stored","HcUnderHundredStarts":"no data stored","HeatingSwitch":"no data stored","HoursTillService":"no data stored","HwcDemand":"no data stored","HwcHours":"no data stored","HwcImpellorSwitch":"no data stored","HwcPostrunTime":"no data stored","HwcSetPotmeter":"no data stored","HwcStarts":"no data stored","HwcSwitch":"no data stored","HwcTemp":"no data stored","HwcTempDesired":"no data stored","HwcTempMax":"no data stored","HwcTypes":"no data stored","HwcUnderHundredStarts":"no data stored","HwcWaterflow":"no data stored","HwcWaterflowMax":"no data stored","Ignitor":"no data stored","InitialisationEEPROM":"no data stored","IonisationVoltageLevel":"no data stored","maintenancedata_HwcTempMax":"no data stored","maxIgnitiontime":"no data stored","minIgnitiontime":"no data stored","ModulationTempDesired":"no data stored","OutdoorstempSensor":"no data stored","OverflowCounter":"no data stored","ParamToken":"no data stored","PartloadHcKW":"no data stored","PartloadHwcKW":"no data stored","PartnumberBox":"no data stored","PositionValveSet":"no data stored","PowerValue":"no data stored","PrAPSCounter":"no data stored","PrAPSSum":"no data stored","PrEnergyCountHc1":"no data stored","PrEnergyCountHc2":"no data stored","PrEnergyCountHc3":"no data stored","PrEnergyCountHwc1":"no data stored","PrEnergyCountHwc2":"no data stored","PrEnergyCountHwc3":"no data stored","PrEnergySumHc1":"no data stored","PrEnergySumHc2":"no data stored","PrEnergySumHc3":"no data stored","PrEnergySumHwc1":"no data stored","PrEnergySumHwc2":"no data stored","PrEnergySumHwc3":"no data stored","ProductionByte":"no data stored","PrVortexFlowSensorValue":"no data stored","PumpHours":"no data stored","PumpHwcFlowNumber":"no data stored","PumpHwcFlowSum":"no data stored","RemainingBoilerblocktime":"no data stored","ReturnRegulation":"no data stored","ReturnTemp":"no data stored","ReturnTempMax":"no data stored","SecondPumpMode":"no data stored","SerialNumber":"no data stored","SetFactoryValues":"no data stored","SHEMaxDeltaHwcFlow":"no data stored","SHEMaxFlowTemp":"no data stored","SolPostHeat":"no data stored","Statenumber":"no data stored","Status01":"57.0;56.0;-;-;-;off","Status02":"no data stored","Status16":"no data stored","Status":"no data stored","Storageloadpump":"no data stored","StorageLoadPumpHours":"no data stored","StorageloadPumpStarts":"no data stored","StorageLoadTimeMax":"no data stored","StoragereleaseClock":"no data stored","StorageTemp":"no data stored","StorageTempDesired":"no data stored","StorageTempMax":"no data stored","TargetFanSpeed":"no data stored","TargetFanSpeedOutput":"no data stored","TempDiffBlock":"no data stored","TempDiffFailure":"no data stored","TempGradientFailure":"no data stored","Templimiter":"no data stored","TemplimiterWithNTC":"no data stored","TempMaxDiffExtTFT":"no data stored","Testbyte":"no data stored","TimerInputHc":"no data stored","ValveMode":"no data stored","ValveStarts":"no data stored","VolatileLockout":"no data stored","VolatileLockoutIFCGV":"no data stored","VortexFlowSensor":"no data stored","WarmstartDemand":"no data stored","WarmstartOffset":"no data stored","WaterHcFlowMax":"no data stored","WaterPressure":"no data stored","WaterpressureBranchControlOff":"no data stored","WaterpressureMeasureCounter":"no data stored","WaterpressureVariantSum":"no data stored","WP":"no data stored","WPPostrunTime":"no data stored","WPSecondStage":"no data stored"},"broadcast":{"id":"no data stored"},"general":{"valuerange":"no data stored"},"memory":{"eeprom":"no data stored","ram":"no data stored"},"scan":{"id":"no data stored"},"scan.06":{"":"Vaillant;PMS02;0209;8402"} ,"scan.08":{"":"Vaillant;BAI00;0703;7401","id": "no data stored"},"scan.0a":{"":"Vaillant;PMW01;0205;8302"} ,"scan.12":{"":"Vaillant;PMW01;0205;8302"},"scan.1 5":{"":"no data stored"},"scan.23":{"":"no data stored"},"scan.25":{"":"no data stored"},"scan.26":{"":"Vaillant;SOLSY;0500;6301"} ,"scan.50":{"":"Vaillant;SOLSY;0500;6301"},"scan.e c":{"":"Vaillant;SOLSY;0500;6301"},"scan.ed":{"":" Vaillant;PMS02;0209;8402"},"scan.fc":{"":"Vaillant ;PMW01;0205;8302"}}


Es wird meiner Meinung nach nur ein "Status01" ausgelesen mit 2 Werten mit denen ich nichts anfangen kann.
Hat da jemand eine Idee, was nicht stimmen kann.

mfg Schorsch

cs-online

Hallo,

das könnten mehrere Dinge sein. Du könntest dich auf dem Raspi einloggen (im Terminal, per ssh, putty,....) und ein "ebusctl info" absetzen. Dort müsste ziemlich weit unten bei den Devices stehen, ob und welche CSVs geladen wurden. Ein "ebusctl find -d" würde dir alle Werte anzeigen, bei denen auch etwas gefunden wurde. Wenn du die beiden Dinge dann hier postest, kann man ggf. schon mehr sehen.

Grüße

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

morpheus999

Hallo.

Anbei die Auswertung:

root@loxberry:~# ebusctl info
version: ebusd 3.4.v3.4-16-g9e152da
update check: revision v3.4 available
access: *
signal: acquired
symbol rate: 37
max symbol rate: 158
reconnects: 0
masters: 5
messages: 221
conditional: 3
poll: 0
update: 9
address 01: master #6
address 03: master #11
address 06: slave #6, scanned "MF=Vaillant;ID=PMS02;SW=0209;HW=8402"
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0703;HW=7401", loaded "v                                           aillant/bai.308523.inc" ([HW=7401]), "vaillant/08.bai.csv"
address 0a: slave, scanned "MF=Vaillant;ID=PMW01;SW=0205;HW=8302"
address 10: master #2
address 12: slave, scanned "MF=Vaillant;ID=PMW01;SW=0205;HW=8302"
address 15: slave #2
address 23: slave
address 25: slave
address 26: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301"
address 31: master #8, ebusd
address 36: slave #8, ebusd
address 50: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301"
address ec: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301"
address ed: slave, scanned "MF=Vaillant;ID=PMS02;SW=0209;HW=8402"
address f7: master #20
address fc: slave #20, scanned "MF=Vaillant;ID=PMW01;SW=0205;HW=8302"



root@loxberry:~# ebusctl find -d
bai SetMode = auto;0.0;-;-;1;0;0;0;0;0
bai Status01 = 37.0;41.0;-;-;-;off
broadcast datetime = 20.000;09:39:01;04.06.2020
broadcast outsidetemp = 20.000
broadcast vdatetime = 09:39:01;04.06.2020
scan.06  = Vaillant;PMS02;0209;8402
scan.08  = Vaillant;BAI00;0703;7401
scan.0a  = Vaillant;PMW01;0205;8302
scan.12  = Vaillant;PMW01;0205;8302
scan.26  = Vaillant;SOLSY;0500;6301
scan.50  = Vaillant;SOLSY;0500;6301
scan.ec  = Vaillant;SOLSY;0500;6301
scan.ed  = Vaillant;PMS02;0209;8402
scan.fc  = Vaillant;PMW01;0205;8302


mfg schorsch

cs-online

...das ist in der Tat etwas mager, es scheint, als ob nur die eine CSV für die BAI (das müsste die Therme selber sein, wenn ich mich nicht täusche) geladen wird. Aber es werden noch keine Daten abgefragt. Die gute Nachricht ist damit, dass EBUSD läuft und auch der Broadcast von der Therme wie Datum und Aussentemperatur kommen. Nun müssen noch Werte aufgenommen werden, es werden hier noch keine gepollt (also aktiv an Werten gezogen, denn von sich aus gibt die Therme erstmal gar nichts freiwillig raus). Du kannst das entweder über Abfragen der Marke "ebusctl r -f <und dann was aus der CSV, 3. Spalte>" (z.B. "ebusctl r -f PartloadHcKW") machen, das hat den Nachteil, dass du alle Werte aktiv und einzeln ziehen musst, oder in der CSV, wenn du sie denn lokal hast und auch von dort beim Start von EBUSD ranziehst, bei den Werten, die du gerne gelesen haben möchtest, statt "r" am Anfang ein "r1" draus machst. Dann sollte (wenn ich das noch richtig in Erinnerung habe) EBUSD diese Werte automatisch abfragen, die Ergebnisse siehst du dann unter "ebusctl find -d" und dann müsstest du auch in deinem Skript entsprechende Werte sehen...

Wenn ich ganz groben Blödsinn schreibe, darf mich auch gern jemand korrigieren ;-)

Grüße

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

chlehmann

Hallo @thomhug und @john30

Ich habe auch eine "IT 5711" von TEM (Kessel von Ryll, Brenner von Elco) und versuche gerade, die wichtigsten Kenndaten (vor allem Status und Temperaturen) auszulesen (read only reicht mir im Moment).

Hast du @thomashug das mal hingekriegt? Ich habe schon x Kombinationen von CSV-Files probiert, aber hatte irgendwie noch keinen Erfolg. Es kann aber auch sein, dass ich etwas noch nicht richtig verstanden habe...

Liebe Grüsse
Christian

hasenhirn

Hallo,

wie ich schon letztens geschrieben habe bin ich, wenn es die Zeit zulässt, dabei meine Recovair 275 verstehen zu wollen  ;D

ein paar Dinge habe ich schon heraus gefunden und möchte sie hier mal einstellen und vielleicht hat ja jemand eine gute Idee zu meinem aktuellen Problem.

Ich habe herausgefunden wie die Lüftungsstufe übertragen wird, bekomme aber nicht heraus wie es codiert ist  >:(

10c0b509050e1500a600 Lüftung = 50
10c0b509050e1500b700 Lüftung = 55
10c0b509050e1500c800 Lüftung = 60
10c0b509050e1500d800 Lüftung = 65
10c0b509050e1500e900 Lüftung = 70
10c0b509050e1500fa00 Lüftung = 75
10c0b509050e15000a01 Lüftung = 80
10c0b509050e15001b01 Lüftung = 85
10c0b509050e15002c01 Lüftung = 90
10c0b509050e15003c01 Lüftung = 95
10c0b509050e15004d01 Lüftung = 100
10c0b509050e15005e01 Lüftung = 105
10c0b509050e15006e01 Lüftung = 110
10c0b509050e15007f01 Lüftung = 115
10c0b509050e15009001 Lüftung = 120
10c0b509050e1500a001 Lüftung = 125
10c0b509050e1500b101 Lüftung = 130
10c0b509050e1500c201 Lüftung = 135
10c0b509050e1500d201 Lüftung = 140
10c0b509050e1500e301 Lüftung = 145
10c0b509050e1500f401 Lüftung = 150
10c0b509050e15000402 Lüftung = 155
10c0b509050e15001502 Lüftung = 160
10c0b509050e15002602 Lüftung = 165
10c0b509050e15003602 Lüftung = 170
10c0b509050e15004702 Lüftung = 175
10c0b509050e15005802 Lüftung = 180
10c0b509050e15006802 Lüftung = 185
10c0b509050e15007902 Lüftung = 190
10c0b509050e15008a02 Lüftung = 195
10c0b509050e15009a02 Lüftung = 200
10c0b509050e1500ab02 Lüftung = 205
10c0b509050e1500bc02 Lüftung = 210
10c0b509050e1500cc02 Lüftung = 215
10c0b509050e1500dd02 Lüftung = 220
10c0b509050e1500ee02 Lüftung = 225
10c0b509050e1500fe02 Lüftung = 230
10c0b509050e15000f03 Lüftung = 235
10c0b509050e15002003 Lüftung = 240
10c0b509050e15003003 Lüftung = 245
10c0b509050e15004103 Lüftung = 250
10c0b509050e15005203 Lüftung = 255
10c0b509050e15006203 Lüftung = 260
10c0b509050e15007303 Lüftung = 265
10c0b509050e15008403 Lüftung = 270
10c0b509050e15009403 Lüftung = 275
10c0b509050e1500a503 Lüftung = 280
10c0b509050e1500b603 Lüftung = 285
10c0b509050e1500c603 Lüftung = 290
10c0b509050e1500d703 Lüftung = 295
10c0b509050e1500e803 Lüftung = 300


e1500 scheinet ja für die Lüftungsstufe zu stehen und die 4 Werte danach ergebn die Stufe - aber wie?
Wenn ich die ersten 2 Werte nehme ist immer ein Sprung von 16 oder 17 auf den nächst höheren bis bei den letzten 2 Werten um 1 aufsummiert wird.
Jemand eine Idee?

Hier noch ein paar Werte die ich heraus gefunden habe:

# type (r[1-9] w u ),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment
#,recov,RecoVair 275,,,,,,,,,,,
# ##### Generell #####,,,,,,,,,,,,,
*r,,,,,,B509,,,,,,,
*w,,,,,,B509,,,,,,,
w,wtw04,Waermerueckgewinnung,Waermerueckgewinnung,,,,0e0a00,,,UCH,1=an;2=aus,,
#w,wtw04,Waermerueckgewinnung aus,Waermerueckgewinnung ausschalten,,,,0e0a0002,,,,,,
#w,wtw04,Waermerueckgewinnung an,Waermerueckgewinnung anschalten,,,,0e0a0001,,,,,,
w,wtw04,Lueftungsmodus Tag,Lueftungsstufe Tag,,,,0e1500a001,,,,,,
w,wtw04,Lueftungsmodus Nacht,Lueftungsstufe Nacht,,,,0e15000a01,,,,,,
w,wtw04,Lueftungsmodus HI,Lueftungsstufe HI,,,,0e1500dd02,,,,,,
w,wtw04,Lueftungsmodus Aus,Lueftungsstufe Aus,,,,0e1500a600,,,,,,
w,wtw04,Roomtemp,Temperatur Zimmer,,,,0e0000,,,temp,,,
#######Weitere #####,,,,,,,,,,,,,
*r,,,,,,B509,,,,IGN:2,,,
*w,,,,,,B509,,,,,,,
r,wtw04,TempOutsideAir SAO,Temperatur Aussenluft,,,,290200,,,temp,,,
r,wtw04,TempOutgoingAir EAO,Temperatur Fortluft,,,,290400,,,temp,,,
r,wtw04,TempWasteAir EAI,Temperatur Abluft,,,,290300,,,temp,,,
r,wtw04,TempInletAir SAI,Temperatur Zuluft,,,,290100,,,temp,,,


Die Werte für Tag, Nacht, HI sind halt jetzt "fest verdrahtet"

Die .csv's sind von mir zum Testen erstellt  ;)

ebusctl info
version: ebusd 3.4.v3.4-18-g5e97d08
signal: acquired
symbol rate: 79
max symbol rate: 91
min arbitration micros: 1562
max arbitration micros: 3064
min symbol latency: 5
max symbol latency: 6
reconnects: 0
masters: 2
messages: 29
conditional: 0
poll: 0
update: 4
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=VAI00;SW=0124;HW=8901", loaded "vaillant/15.vai00.csv"
address 31: master #8, ebusd
address 36: slave #8, ebusd
address c0: slave, scanned "MF=Vaillant;ID=WTW04;SW=0123;HW=9001", loaded "vaillant/c0.wtw04.csv"


Gruß
Thomas




Kolbenschieber

Liebe Leute,
ich brauche jetzt auch einmal Eure Expertise. Angefixt durch ein posting eines anderen users in de.rec.heimwerken habe ich mich an ein vor Jahren eingemottetes Projekt gemacht, meine Heizungsanlage mit fhem zu verbinden. Den Buskoppler hatte ich schon cor ein paar Jahren erstanden (Fertiggerät, Ebus-LAN), jetzt endlich angeschlossen und in Betrieb genommen. Heizungsseitig werkelt eine Vaillant Calormatic 630 und ein Vaillant icoVIT Öl-Brennwertkessel, beides 2012 eingebaut.
Was schon funktioniert:

ebusctl info
version: ebusd 3.4.v3.3-51-g57eae05
signal: acquired
symbol rate: 24
max symbol rate: 179
min arbitration micros: 13
max arbitration micros: 4447
min symbol latency: 0
max symbol latency: 14
reconnects: 0
masters: 3
messages: 406
conditional: 3
poll: 1
update: 9
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0703;HW=7401", loaded "vaillant/bai.308523.inc" ([HW=7401]), "vaillant/08.bai.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=UI   ;SW=0501;HW=6201", loaded "vaillant/15.ui.csv"
address 23: slave, scanned "MF=Vaillant;ID=VR630;SW=0500;HW=6301"
address 25: slave, scanned "MF=Vaillant;ID=VR630;SW=0500;HW=6301"
address 26: slave, scanned "MF=Vaillant;ID=VR630;SW=0500;HW=6301"
address 31: master #8, ebusd
address 36: slave #8, ebusd
address 50: slave, scanned "MF=Vaillant;ID=VR630;SW=0500;HW=6301"
address 51: slave, scanned "MF=Vaillant;ID=VR630;SW=0500;HW=6301"

ebusctl find -d
bai SetMode = auto;15.0;-;-;0;0;0;0;0;0
bai Status01 = 52.0;29.0;-;0.0;-;off
broadcast datetime = 16.812;08:02:04;22.06.2020
broadcast outsidetemp = 16.812
broadcast vdatetime = 08:02:04;22.06.2020
scan.08  = Vaillant;BAI00;0703;7401
scan.15  = Vaillant;UI   ;0501;6201
scan.15 id = 21;11;36;0020080467;0907;005943;N3
scan.23  = Vaillant;VR630;0500;6301
scan.25  = Vaillant;VR630;0500;6301
scan.26  = Vaillant;VR630;0500;6301
scan.50  = Vaillant;VR630;0500;6301
scan.51  = Vaillant;VR630;0500;6301
ui YieldThisYear = 0;0;0;0;0;0;0;0;0;0;0;0

Der Buskoppler ist abgeglichen, ebusctl raw bytes liefert ganz viele <aa wie es wohl auch sein soll.

Was leider nicht funktioniert ist das laden der passenden csv-Dateien von (wenn ichs richtig verstanden habe) ebusd.eu. Die 15.ui.csv passt und wird relativ schnell nach start des ebusd-services geladen. Die bai.308523.inc passt nicht, gehört zu einem ecoTec und wird wohl als fallback-Datei irgendwann geladen, wenn nichts besser passendes gefunden wird (?).
Es gibt allerdings mindestens drei csv's für icoVIT-Geräte für die ebusd-Version 2.2, deren Konfigurationsfiles ich mir heruntergeladen habe, ich gehe davon aus, dass diese auch für Version 3.4 zur Verfügung stehen müssten(?)..
Für die Adressen 23, 25, 26, 50 und 51 gibt es ebenfalls zur calormatic 630 passende csv-Dateien, das weiß ich aus besagtem usenet-posting, da ist der gleiche Regler verbaut und die entsprechenden Dateien für die fünf Heizkreise werden geladen und können abgefragt werden.

Wenn ich die log-Datei richtig interpretiere (zip im Anhang) lädt ebusd die Dateien nicht, weil er von den Devices keine Antwort bekommt. Beispielsweise letzter Eintrag diesbezüglich:
2020-06-22 08:44:03.417 [main error] scan config 50: ERR: ACK error

Frage also: Liege ich mit meiner Annahme richtig, dass das Problem hier seine Ursache hat? Was tue ich dagegen?
Probiert habe ich schon, den Ebuskoppler auf der anderen Seite der festen Ebus-Verdrahtung anzuklemmen (also statt auf die Klemmen im Regler auf die des Kessels zu legen), keine Änderung. Ein anderes Buskabel zwischen Koppler und Vaillant Gerätschaften hat ebenfalls nichts gebracht.
Ich wollte dann von TCP- auf UDP-Betrieb umschalten weil der Hersteller des Buskopplers diese Betriebsart wegen der geringeren Latenzzeiten empfiehlt, aber nach Umschalten des Buskopplers auf UDP-Betrieb (geht per Windows-Konfigurationsprogramm) erhalte ich bei Aufruf von

ebusd -f -c /tmp --logareas bus --loglevel debug --device=udp:192.168.1.47:5010

nur ein "no signal", egal welchen Port ich probiere.

Und jetzt seid Ihr gefragt: Was kann ich noch probieren, vorzugsweise die ACK ERRORs wegzubekommen, oder hilfsweise das Laden der passenden csv's zu erzwingen? Die Methode für Version 2.2, kopieren der Dateien nach /etc/ebusd und setzen der configpath-option endete bei mir in Fehlermeldungen ohne Ende, wahrscheinlich weil die 2.2er csv's nicht zur Version 3.4 passen?

Bonusfrage: Die Abfrage  YieldThisYear = 0;0;0;0;0;0;0;0;0;0;0;0 alle paar 10tel Sekunden ist bei meiner Anlage sinnlos, es ist keine Solaranlage, Brennstoffzelle oder BHKW angeschlossen, welches einen "Ertrag" melden könnte. Schon gar nicht ändert sich der nicht vorhandene Ertrag 10tel-sekundenweise. Bekomme ich das irgendwie weg, oder liegt das auch an ACK ERROR?

Danke Euch fürs Lesen dieses doch länglich geratenen Beitrags und für Eure Ideen!

Reinhart

du kannst ja einmal versuchen in der config den Parameter "--latency=20000" zu testen. Die Fehlermeldung bei Adresse 50 sollte nicht sein!
Nach setzen des Parameters bitte den Dämon neu starten!

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Reinhart

habe gerade im Log gesehen, du hast den ACK Error ja grundsätzlich bei allen VR630 Adressen!

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Kolbenschieber

Erstmal danke für Deine Antwort, Reinhart!

Ja, der ACK Error kommt bei allen VR630-Adressen regelmäßig, und das sind dann auch die, zu denen keine csv geladen wird.
Dass das nicht gut ist und nicht so sein sollte ist auch klar, aber man findet im Netz leider nur sehr spärliche Informationen über Ursache und Wirkung dieser Fehlermeldung. Der einzige Leidensgenosse, dem aber auch nicht abschliessend geholfen wurde, hat dann zusätzlich noch einen Timeout-Reading-Fehler hinterher, der kommt bei mir nicht.
Deswegen meine Hoffnung, dass hier jemand noch einen Tipp hat.

Deine Idee mit latency=20000 habe ich über Nacht laufen lassen, ohne  dass sich etwas verbessert (oder verschlechtert) hätte.
Ich hatte versäumt, die ebusd-Einstellungen, mit denen die Logdatei erstellt wurde, mitzuliefern. Das sei hiermit nachgeholt:
Ausschnitt aus /etc/default/ebusd:
EBUSD_OPTS="--device=192.168.1.47:5007 --latency=10000 --scanconfig=full --enablehex"

Alle anderen Zeilen sind mit # auskommentiert. Wie gesagt, Änderung auf latency =20000 hat nix gebracht, ich teste jetzt nochmal mit 40000, aber habe wenig Hoffnung.
Was irgendwie auch merkwürdig ist: das ui-Device, das ja problemlos ohne Fehlermeldung gefunden und geladen wird, befindet sich ja physisch wohl im gleichen Gehäuse wie die VR630-devices, die mit Ack-Error Probleme machen.

Ich habe auch Zugriff auf die Vaillant-Software (VRDialog) und den zugehörigen Original-Vaillant-Buskoppler. Die VRDialog-Software hat keine Probleme die devices zu finden, Werte auszulesen und Parameter zu setzen. Heizungshardwareseitig sollte also alles ok sein.

TiPpFeHlEr

Hoi,

hab mal ein kleines Problem.
Ich lese grade alle Register meiner RecoVair 260/4 aus, um sie zuzuordnen.

Dabei habe ich ein seltsames Problem.

ich habe in der bai00.cfg folgendes definiert
# Test 10
get Test10 cmd {"r -f temp10 \n"}
get Test10 expect "\d+\.\d+\;\w+\n\n"
get Test10 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 11
get Test11 cmd {"r -f temp11 \n"}
get Test11 expect "\d+\.\d+\;\w+\n\n"
get Test11 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 12
get Test12 cmd {"r -f temp12 \n"}
get Test12 expect "\d+\.\d+\;\w+\n\n"
get Test12 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 13
get Test13 cmd {"r -f temp13 \n"}
get Test13 expect "\d+\.\d+\;\w+\n\n"
get Test13 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 14
get Test14 cmd {"r -f temp14 \n"}
get Test14 expect "\d+\.\d+\;\w+\n\n"
get Test14 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 15
get Test15 cmd {"r -f temp15 \n"}
get Test15 expect "\d+\.\d+\;\w+\n\n"
get Test15 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 16
get Test16 cmd {"r -f temp16 \n"}
get Test16 expect "\d+\.\d+\;\w+\n\n"
get Test16 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 17
get Test17 cmd {"r -f temp17 \n"}
get Test17 expect "\d+\.\d+\;\w+\n\n"
get Test17 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 18
get Test18 cmd {"r -f temp18 \n"}
get Test18 expect "\d+\.\d+\;\w+\n\n"
get Test18 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 19
get Test19 cmd {"r -f temp19 \n"}
get Test19 expect "\d+\.\d+\;\w+\n\n"
get Test19 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 20
get Test20 cmd {"r -f temp20 \n"}
get Test20 expect "\d+\.\d+\;\w+\n\n"
get Test20 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 21
get Test21 cmd {"r -f test21 \n"}
get Test21 expect "\d+\.\d+\;\w+\n\n"
get Test21 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 22
get Test22 cmd {"r -f temp22 \n"}
get Test22 expect "\d+\.\d+\;\w+\n\n"
get Test22 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 23
get Test23 cmd {"r -f temp23 \n"}
get Test23 expect "\d+\.\d+\;\w+\n\n"
get Test23 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 24
get Test24 cmd {"r -f temp24 \n"}
get Test24 expect "\d+\.\d+\;\w+\n\n"
get Test24 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 25
get Test25 cmd {"r -f temp25 \n"}
get Test25 expect "\d+\.\d+\;\w+\n\n"
get Test25 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 26
get Test26 cmd {"r -f temp26 \n"}
get Test26 expect "\d+\.\d+\;\w+\n\n"
get Test26 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 27
get Test27 cmd {"r -f temp27 \n"}
get Test27 expect "\d+\.\d+\;\w+\n\n"
get Test27 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 28
get Test28 cmd {"r -f temp28 \n"}
get Test28 expect "\d+\.\d+\;\w+\n\n"
get Test28 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 29
get Test29 cmd {"r -f temp29 \n"}
get Test29 expect "\d+\.\d+\;\w+\n\n"
get Test29 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 30
get Test30 cmd {"r -f temp30 \n"}
get Test30 expect "\d+\.\d+\;\w+\n\n"
get Test30 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#
# Test 31
get Test31 cmd {"r -f temp31 \n"}
get Test31 expect "\d+\.\d+\;\w+\n\n"
get Test31 postproc { s/(\d+\.\d+)\n\n/$1/;;$_}
#


Test 10 - 20 geht
pi@raspberrypi:~ $ ebusctl -p 8889 r -f temp10
88

Test 21 - 31 geht nicht
pi@raspberrypi:~ $ ebusctl -p 8889 r -f temp31
ERR: element not found


der hex cdoe für zB. Test31 geht
pi@raspberrypi:~ $ ebusctl -p 8889 hex 08b509030d4e0d
022b04


das ist meine 08.recov.scv
pi@raspberrypi:~ $ cat /etc/ebusd/vaillant/08.recov.csv
# type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment
#,recoV,RecoVair,RecoVair,,,,,,,,,,
*r,,,,,,B509,0D,,,,,,
*w,,,,,,B509,0E,,,,,,
*wi,#install,,,,,B509,0E,,,,,,
# ##### Generell #####,,,,,,,,,,,,,
r;w,,FanLevelDay,Lüfterstufe Tag,,,,8a03,,,UCH,1=1;2=2;3=3;4=4;5=5;6=6,,
r;w,,FanLevelNight,Lüfterstufe Nacht,,,,8b03,,,UCH,1=1;2=2;3=3;4=4;5=5;6=6,,
r;w,,Heatrecovery,Wärmerückgewinnung,,,,8c03,,,UCH,0=auto;1=on;2=off,,Aktuelle Uhrzeit
r;w,,FilterChange,Tage bisFilterwechsel,,,,350e,,,UIN,,Tage,
r;w,,maintenance,Tage bis Wartung,,,,360e,,,UIN,,Tage,
r,,DayKwh,Ertrag Heute kwh /10,,,,560e,,,ULG,10,Kwh,
r,,YesterdayKwh,Ertrag Vortag kwh /10,,,,570e,,,ULG,10,Kwh,
r,,MonthKwh,Ertrag Monat kwh /10,,,,580e,,,ULG,10,Kwh,
r,,YearKwh,Ertrag Jahr kwh,,,,590e,,,ULG,,Kwh,
r,,TotalKwh,Ertrag Gesamt kwh,,,,5a0e,,,ULG,,Kwh,
r;w,,InstallationHight,Installationshöhe in m,,,,1a0e,,,UIN,,m,
r;w,,Disbalance,Dissbalance Abluft %,,,,1b0e,,,SCH,,%,
r;w,,VolumeFlow,Nennvolumenstrom NL,,,,1c0e,,,UIN,,m³/h,
r;w,,RedVolumeFlow,Red.lüftung % zu NL,,,,1d0e,,,UCH,,%,
r;w,,IntensVolumeFlow,Intensivlüftung % zu NL,,,,1e0e,,,UCH,,%,
r;w,,WTTyp,WTTyp,,,,250e,,,UCH,0=Standart;1=Etalphie,,
r;w,,FreezProtect,FrostschutzTyp,,,,260e,,,UCH,0=kein;1=elektrisch;2=hydraulisch,,
r;w,,GroundCollector,Erdkollektor,,,,280e,,,UCH,0=nein;1=ja,,
r;w,,BypassDiffTemp,BypassDiffTemp,,,,2a0e,,,temp,,°C,
r;w,,PressureSwitch,Druckwächter,,,,2b0e,,,UCH,0=nein;1=ja,,
r;w,,StepSwitch,Stufenschalter,,,,2c0e,,,UCH,0=nein;1=ja,,
r;w,,AirQualitySens,Luftqualitätssensor,,,,2d0e,,,UCH,0=keiner;1=1Sensor;2=2Sensoren,,
r;w,,MinCO2,min CO2 Wert,,,,2e0e,,,UIN,,ppm,
r;w,,MaxCO2,max CO2 Wert,,,,2f0e,,,UIN,,ppm,
r;w,,MinHum,min Luftfeuchte %,,,,300e,,,UCH,,,
r;w,,MaxHum,max Luftfeuchte %,,,,310e,,,UCH,,,
r,,VolumeFlowAct,aktueller Volumenstrom,,,,040e,,,UIN,,,
r;w,,ByPass,ByPass Klappe,,,,0a0e,,,UCH,0=on;01=mid;02=off,,
r;w,,FanStage,Luefterstufe,,,,150e,,,UCH,0=low;1=auto;2=mid;3=high,,
r;w,,Desiredtemp,Wunschtemp,,,,140e,,,temp,,°C,
r,,OutsideAirTemp,AussenTemp,,,,0c0e,,,temp,,°C,
r,,ExhaustAirTemp,FortLuft,,,,0d0e,,,temp,,°C,
r,,OutletAirTemp,AbLuft,,,,b40d,,,temp,,°C,
r,,InletAirTemp,ZuLuft,,,,b30d,,,temp,,°C,
r,,HeatElement,Frostschutzelement,,,,f10c,,,UCH,0=off;1=on,,
r,,BypassPos,Bypass Position,,,,0b0e,,,UIN,10,%,
r,,RPM1,Drehzahl,,,,b00d,,,UIN,,rpm,
r,,RPM2,Drehzahl,,,,b10d,,,UIN,,rpm,
r,,temp4,Zu Fort Luft AVG,,,,b50d,,,temp,,°C,
r,,humidity,Feuchtigkeit?,,,,b70d,,,temp,,°C,
r,,temp6,Zu Fort Luft AVG,,,,b20d,,,temp,,°C,
r,,temp7,,,,,8503,,,UIN,,,
r,,temp8,,,,,010e,,,UIN,,,
r,,temp9,,,,,020e,,,UIN,,,
r,,temp10,,,,,030e,,,UIN,,,
r,,temp11,,,,,050e,,,UIN,,,
r,,temp12,,,,,060e,,,UIN,,,
r,,temp13,,,,,070e,,,UIN,,,
r,,temp14,,,,,080e,,,UIN,,,
r,,temp15,,,,,0e0e,,,UIN,,,
r,,temp16,,,,,0f0e,,,UIN,,,
r,,temp17,,,,,170D,,,UIN,,,
r,,temp18,,,,,180d,,,UIN,,,
r,,temp19,,,,,190D,,,UIN,,,
r,,temp20,,,,,1a0d,,,UIN,,,
r,,temp21,,,,,1b0e,,,UCH,,,
r,,temp22,,,,,270d,,,temp,,,
r,,temp23,,,,,370e,,,UIN,,,
r,,temp24,,,,,420e,,,UIN,,,
r,,temp25,,,,,430e,,,UIN,,,
r,,temp26,,,,,490e,,,UIN,,,
r,,temp27,,,,,4a0d,,,temp,,,
r,,temp28,,,,,4a0e,,,UIN,,,
r,,temp29,,,,,4b0e,,,UIN,,,
r,,temp30,,,,,4d0d,,,temp,,,
r,,temp31,,,,,4e0d,,,temp,,,


kann mir das einer erklären?

MfG Maik

hasenhirn

Moin,

wenn du ebusd im Vordergrund in einem Fenster laufen lässt und den Befehl temp31 in einem anderen absetzt müsstest du doch sehen ob der  richtige hexwert vom ebusdämon zusammen gebaut wird. Passt das?

Gruß
Thomas

TiPpFeHlEr

Zitat von: hasenhirn am 27 Juni 2020, 09:35:46
Moin,

wenn du ebusd im Vordergrund in einem Fenster laufen lässt und den Befehl temp31 in einem anderen absetzt müsstest du doch sehen ob der  richtige hexwert vom ebusdämon zusammen gebaut wird. Passt das?

Gruß
Thomas

Danke,

hast mir geholfen!
Es waren
[main error] error reading scan config file vaillant/08.recov.csv for ID "recov", SW0217, HW0203: ERR: duplicate entry, vaillant/08.recov.csv:48: ERR: duplicate entry, duplicate ID


die Test21 war schon vorhanden, und somit stoppte der Dämon dort  ;D

MfG Maik