eBUS Adapter v5 - Hilfe bei auslesen und setzen von Werten benötigt

Begonnen von salexes, 10 März 2024, 17:43:09

Vorheriges Thema - Nächstes Thema

salexes

Hallo FHEM Forum,

Ich habe vor ein paar Tagen meinen eBUS Adapter v5 erhalten und habe diesen an mein Gerät: Vaillant ecoVIT exlusiv VKK 226/4 angeschlossen.

Soweit scheint auch alles zu funktionieren, aber das Problem das ich jetzt habe ist, dass ich nicht weiß wie ich bestimmte Werte/Dinge auslesen kann, die mir einem Raumtemperaturregler calorMATIC angezeigt werden (der die Daten ja auch nur über eBUS erhält).

Ich würde mich freuen wenn mir da jemand mit mehr Erfahrung eventuell helfen könnte, da ich mit meinem Latein am Ende bin.

Die Dinge die ich gerne auslesen würde und ggf. setzen wollen würde wären:
- Auslesen des Aktuellen "Modus" in dem sich das Gerät befindet, also z.B.: Auto, Sommerbetrieb etc. (siehe Bilder betriebsarten1.jpg und betriebsarten2.jpg
- Setzen des Modus

Hier sind mal die wichtigsten Ausgaben der verschiedenen Kommandos:

Für ebusctl i bekomme ich das folgende ausgegeben

version: ebusd 23.3.23.3
update check: OK
device: 192.168.1.211:9999, TCP, enhanced, firmware 1.1[4106].1[4106]
access: *
signal: acquired
symbol rate: 22
max symbol rate: 95
min arbitration micros: 2
max arbitration micros: 266
min symbol latency: 1
max symbol latency: 127
scan: finished
reconnects: 1
masters: 3
messages: 231
conditional: 0
poll: 0
update: 10
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0703;HW=7401", loaded "vaillant/bai.0010006101.inc" ([PROD='']), "vaillant/08.bai.csv"
address 10: master #2
address 15: slave #2, scanning
address 31: master #8, ebusd
address 36: slave #8, ebusd, scanning

und für ebusctl find das folgende:

bai AATemp = 197.25;62379;cutoff
bai AccessoriesOne = circulationpump
bai AccessoriesTwo = extheatingpump
bai ACRoomthermostat = on
bai AircontrolOk = off
bai AITemp =  (ERR: invalid position for 3108b509030d3300 / 00)
bai AntiCondensValue = 0
bai averageIgnitiontime = 1.8
bai BlockTimeHcMax = 20
bai BoilerType2 = 768
bai BoilerType = 7
bai ChangesDSN = 1
bai CirPump = 100
bai CounterStartattempts1 = 1
bai CounterStartattempts2 = 0
bai CounterStartAttempts3 = 0
bai currenterror = -;-;-;-;-
bai DateTime = valid;14:32:06;10.03.2024;10.812
bai dcfState = valid
bai DCFTimeDate =  (ERR: invalid position for 3108b509030de500 / 0729390d0a030718)
bai DCRoomthermostat = off
bai DeactivationsIFC = 0
bai DeactivationsTemplimiter = 0
bai DeltaFlowReturnMax = 95.81
bai DisplayMode = 129
bai DSN = 6145
bai DSNOffset = 1
bai DSNStart = 6144
bai EBusHeatcontrol = yes
bai EbusSourceOn = on
bai EbusVoltage = on
bai errorhistory = no data stored
bai ExhaustCurve = 0
bai exhaustWayBlockCounter = 0
bai expertlevel_ReturnTemp = -1.81;cutoff
bai ExternalFaultmessage = off
bai externalFlowTempDesired = 90.00
bai externalHwcSwitch = off
bai ExternGasvalve = 15
bai ExtFlowTempDesiredMin = 47.00
bai extWP = on
bai FanHours = 0
bai FanMaxSpeedOperation = 4950
bai FanMinSpeedOperation = 1748
bai FanPWMSum = 0
bai FanPWMTest = 0
bai FanSpeed = 4950
bai FanStarts = 3
bai Flame = on
bai FlameSensingASIC = 242
bai FloorHeatingContact = off
bai FlowsetHcMax = 75.00
bai FlowsetHwcMax = 80.00
bai FlowSetPotmeter = 67.19
bai FlowTemp = 41.12;ok
bai FlowTempDesired = 47.00
bai Fluegasvalve = on
bai Gasvalve3UC = on
bai Gasvalve = on
bai GasvalveASICFeedback = on
bai GasvalveUC = on
bai GasvalveUCFeedback = off
bai GVStepOffsetMax = -25
bai GVStepOffsetMin = 45
bai HcHours = 9716
bai HcPumpMode = permanent
bai HcPumpStarts = 1
bai HcStarts = 17600
bai HcUnderHundredStarts = 21
bai HeatingSwitch = on
bai HoursTillService = 3010
bai HwcDemand = yes
bai HwcHours = 4324
bai HwcImpellorSwitch = no
bai HwcPostrunTime = 300
bai HwcSetPotmeter = 60.50
bai HwcStarts = 13600
bai HwcSwitch = on
bai HwcTemp = -14.94;cutoff
bai HwcTempDesired = 0.00
bai HwcTempMax = 65.00
bai HwcTypes = 32
bai HwcUnderHundredStarts = 85
bai HwcWaterflow =  (ERR: invalid position for 3108b509030d5500 / 00)
bai HwcWaterflowMax =  (ERR: invalid position for 3108b509030d5600 / 00)
bai Ignitor = off
bai IonisationVoltageLevel = 13.7
bai maintenancedata_HwcTempMax = 0.00
bai maxIgnitiontime = 2.8
bai minIgnitiontime = 0.3
bai ModulationTempDesired = 87.7
bai OutdoorstempSensor = 10.56;ok
bai OverflowCounter = yes
bai ParamToken = 3
bai PartloadHcKW = 100
bai PartloadHwcKW = 100
bai PartnumberBox = 00 20 14 99 50
bai PositionValveSet = 0
bai PowerValue =  (ERR: invalid position for 3108b509030daa00 / 00)
bai PrAPSCounter = 0
bai PrAPSSum = 0
bai PredCombustionDecrementTime = 0
bai PredCombustionPredCounter = 0;0;0
bai PredCombustionSwitchingPoint = 0
bai PredFanPWMDevThreshold = 0
bai PredFanPWMPredCounter = 0;0;0
bai PredFanPWMRefPWMcounter = 0
bai PredFanPWMRefPWMsum = 0
bai PredFanPWMSwitchingPoint = 0
bai PredIgnitionPredCounter = 0;0;0
bai PredIgnitionSwitchingPoint = 0
bai PredSourcePressureDevThreshold =  (ERR: invalid position for 3108b509030d4101 / 00)
bai PredSourcePressurePredCounter =  (ERR: invalid position for 3108b509030d4301 / 00)
bai PredSourcePressureSwitchingPoint =  (ERR: invalid position for 3108b509030d4201 / 00)
bai PredWaterflowDevThreshold =  (ERR: invalid position for 3108b509030d4401 / 00)
bai PredWaterflowSwitchingPoint =  (ERR: invalid position for 3108b509030d4501 / 00)
bai PredWaterpressureMaxPressure = 4000
bai PredWaterpressureMinPressure = 0
bai PredWaterpressureSwitchingPoint = 0
bai PrEnergyCountHc1 = 1711645
bai PrEnergyCountHc2 = 0
bai PrEnergyCountHc3 = 0
bai PrEnergyCountHwc1 = 1107092
bai PrEnergyCountHwc2 = 0
bai PrEnergyCountHwc3 = 0
bai PrEnergySumHc1 = 4294966987
bai PrEnergySumHc2 = 0
bai PrEnergySumHc3 = 0
bai PrEnergySumHwc1 = 4294965713
bai PrEnergySumHwc2 = 0
bai PrEnergySumHwc3 = 0
bai PumpHours = 0
bai PumpHwcFlowNumber =  (ERR: invalid position for 3108b509030dc200 / 00)
bai PumpHwcFlowSum = 18435
bai ReduceModulationBlocktime =  (ERR: invalid position for 3108b509030d5c00 / 00)
bai RemainingBoilerblocktime = 0
bai ReturnRegulation = off
bai ReturnTemp = -13.50;215;cutoff
bai ReturnTempMax = 0.00
bai SecondPumpMode = 2
bai SerialNumber = 30 30 30 30 31 32 35 30
bai SetFactoryValues = no
bai SetMode = auto;45.0;55.0;-;0;0;0;0;0;0
bai SHEMaxDeltaHwcFlow =  (ERR: invalid position for 3108b509030dc400 / 00)
bai SHEMaxFlowTemp =  (ERR: invalid position for 3108b509030dc300 / 00)
bai SolPostHeat = 0
bai SpecialAdj = 0
bai Statenumber = 4
bai Status01 = 45.0;-;10.812;0.0;53.0;on
bai Status02 = auto;60;67.0;80;60.0
bai Status16 =  (ERR: invalid position for 3108b5040116 / 00)
bai Status =  (ERR: invalid position for 3108b5110103 / 00)
bai StatusCirPump = on
bai Storageloadpump = 0
bai StorageLoadPumpHours = 0
bai StorageloadPumpStarts = 2
bai StorageLoadTimeMax = no data stored
bai StoragereleaseClock = yes
bai StorageTemp = 53.50;ok
bai StorageTempDesired = 55.00
bai StorageTempMax = 67.56
bai TargetFanSpeed = 3649
bai TargetFanSpeedOutput = 2492
bai TempDiffBlock = 0
bai TempDiffFailure = 0
bai TempGradientFailure = 0
bai Templimiter = on
bai TemplimiterWithNTC = yes
bai TempMaxDiffExtTFT = 0.00
bai TimerInputHc = on
bai ValveMode = 0
bai ValveStarts =  (ERR: invalid position for 3108b509030d1a00 / 00)
bai VolatileLockout = yes
bai WarmstartDemand = no
bai WarmstartOffset = 0.00
bai WaterHcFlowMax =  (ERR: invalid position for 3108b509030dd000 / 00)
bai WaterPressure = 1.602;ok
bai WaterpressureBranchControlOff = off
bai WaterpressureMeasureCounter = 0
bai WaterpressureVariantSum = 0
bai WP = on
bai WPPostrunTime = 5
bai WPPWMPower = 69
bai WPPWMPowerDia = 101
bai WPSecondStage =  (ERR: invalid position for 3108b509030ded00 / 00)
broadcast datetime = no data stored
broadcast error = no data stored
broadcast hwcStatus = no data stored
broadcast id = no data stored
broadcast id = no data stored
broadcast load = no data stored
broadcast outsidetemp = 7.562
broadcast signoflife = no data stored
broadcast vdatetime = 14:31:26;10.03.2024
general valuerange = no data stored
memory eeprom = no data stored
memory ram = no data stored
scan id = no data stored
scan.08  = Vaillant;BAI00;0703;7401
scan.08 id = ;;;;;;

Außerdem habe ich noch zwei Bilder angehängt von den Daten die ich bei meinem calorMATIC sehe und ggf auch gerne abrufen würde, aber auch bisher nicht herausgefunden habe wie ich an die daten komme.

Viele Grüße,
salexes

salexes

Nach weiteren Nachforschungen hat sich herausgestellt, dass das automatische Matching die Falsche .inc Datei geladen hat.

Das ganze konnte ich jetzt so weit fixen, jetzt lädt er die korrekte bai.0010007508.inc Datei.

Desweiteren hat er jetzt auch durch einen full scan meine calorMatic erkannt, siehe Ausgabe von "ebusctl i"

version: ebusd 23.3.23.3
update check: OK, device firmware 1[430a] available, broadcast.csv: different version available, memory.csv: different version available, vaillant/08.bai.csv: different version available, vaillant/15.470.csv: different version available, vaillant/bai.0010007508.inc: different version available, vaillant/broadcast.csv: different version available, vaillant/errors.inc: different version available, vaillant/general.csv: different version available, vaillant/hcmode.inc: different version available, vaillant/service.inc: different version available, vaillant/timercc.inc: different version available, vaillant/timercool.inc: different version available, vaillant/timerhc.inc: different version available, vaillant/timerhwc.inc: different version available, vaillant/timertariff.inc: different version available, vaillant/yield3d43.inc: different version availab
device: 192.168.1.211:9999, TCP, enhanced, firmware 1.1[4106].1[4106]
access: *
signal: acquired
symbol rate: 22
max symbol rate: 80
min arbitration micros: 2
max arbitration micros: 89
min symbol latency: 8
max symbol latency: 149
scan: finished
reconnects: 0
masters: 3
messages: 484
conditional: 0
poll: 1
update: 10
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0703;HW=7401", loaded "vaillant/bai.0010007508.inc" ([HW=7401]), "vaillant/08.bai.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=47000;SW=0231;HW=6002", loaded "vaillant/15.470.csv"
address 31: master #8, ebusd
address 36: slave #8, ebusd

Jetzt gibt es nur noch folgendes Problem, das folgende Kommando gibt leider nicht den korrekten Status aus:

Hc1SFMode

divder/values: 0=none;1=party;2=onedaybankholiday;3=onedayholiday;4=holiday;5=bankholiday;6=quickveto;7=onetimeventilation;8=onetimewate

comment: activated special function of first heating circuit

Wenn ich andere Betriebsarten einstelle wie "Party" und erneut den Wert auslese, dann erhalte ich immer noch die selbe Ausgabe: none. Es wird nie etwas anderes ausgegeben, obwohl sich die Betriebsart ändert.

Woran liegt das und wie kann man das lösen? Und als weitere Frage, wie kann ich die Betriebsart setzen? vom calorMatic aus geht das ohne Probleme, sprich es sollte auch über ebusctl write irgendwie gehen oder?