From 7695d98d2e6d28488b329db4af9344fee25cc1e4 Mon Sep 17 00:00:00 2001 From: pahenning Date: Sun, 11 Jan 2015 18:58:04 +0000 Subject: [PATCH] EBUS: Konfigurationsdateien verbessert git-svn-id: https://svn.fhem.de/fhem/trunk@7530 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/contrib/EBUS/Vaillant_Protokoll_kurz.ods | Bin 31986 -> 44594 bytes fhem/contrib/EBUS/bai00.csv | 102 +++++ fhem/contrib/EBUS/ebus_background.cfg | 49 ++ fhem/contrib/EBUS/ebus_hz.cfg | 29 +- fhem/contrib/EBUS/ebus_solar.cfg | 8 +- fhem/contrib/EBUS/ebus_ww.cfg | 8 +- fhem/contrib/EBUS/vrs620.csv | 421 +++++++++--------- 7 files changed, 394 insertions(+), 223 deletions(-) create mode 100644 fhem/contrib/EBUS/bai00.csv create mode 100644 fhem/contrib/EBUS/ebus_background.cfg diff --git a/fhem/contrib/EBUS/Vaillant_Protokoll_kurz.ods b/fhem/contrib/EBUS/Vaillant_Protokoll_kurz.ods index f51e085bb0c86d3aeb273d36e70007dc882d17ae..f4d1e62363b61e4618194cfcf9191302568df798 100644 GIT binary patch literal 44594 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 diff --git a/fhem/contrib/EBUS/bai00.csv b/fhem/contrib/EBUS/bai00.csv new file mode 100644 index 000000000..cd9d49215 --- /dev/null +++ b/fhem/contrib/EBUS/bai00.csv @@ -0,0 +1,102 @@ +#################################,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# bai00.csv,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# Version 1.1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# amunra,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# Prof. Dr. Peter A. Henning,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# GNU GPL V2.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +#################################,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +"# Es wird ausdrücklich davor gewarnt, ein Heizgerät an einem externen Controller vorbei zu steuern.",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# Die Register der 2. Diagnoseebene dürfen nur durch Fachhandwerker geändert werden. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +#################################,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,ungetestet,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,1. Diagnosebene,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,2. Diagnosebene,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,fehlende Registeradresse,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +#################################,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# type (r;w;u;1-9),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 +r,bai00,ID,Vaillant BAI00 07.03 74.01,,08,0704,,,,HEX,,,,,,STR:5,,,,,,BCD,,,,,,BCD,,,,,,BCD,,,,,,BCD,,, +################################# Register Messages BAI00 1. und Diagnoseebene,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +*r,bai00,,,,08,B509,0D,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,PartialPower,d.00 => Heizungsteillast,,,,0704,,,UCH,,kW,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,PumpAfterRunTime,d.01 => Pumpennachlaufzeit,,,,F703,,,UCH,,min,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BurnerBlockingTimeMax,d.02 => maximale Brennersperrzeit bei 20 °C,,,,0904,,,UCH,,min,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,StorageLoadTemp,d.03 => Speicherladetemperatur / max.,,,,1600,,,D2C,2,,,,,UCH,,,,,,HEX,,,,,,,,,,,,,,,,,,,,, +r,,StorageTemp,d.04 => Speichertemperatur / Sensorstatus,,,,1700,,,temp;sensor,,,,,,,,,,,,HEX,,,,,,,,,,,,,,,,,,,,, +r,,FlowTempDesired,d.05 => Vorlauftemperatur Soll,,,,3900,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,,d.06,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,StorageTempDesired,d.07 => Speichertemperatur Soll,,,,0400,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,RoomSensorStatus,d.08 => Raumthermostat an Klemme 3-4,,,,2A00,,,UCH,0=noheat;1=heat,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,FlowTempExtern,d.09 => Regler 7-8-9 / EBUS Soll,,,,6E04,,,temp,, °C,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,PumpStatus,d.10 => Status Heizungspumpe,,,,4400,,,onoff,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,ExternPumpStatus,d.11 => Status Externe Heizungspumpe,,,,3F00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,StorageLoadPumpStatus,d.12 => Status Speicherladepumpe,,,,9E00,,,UCH,,%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,CircPumpStatus,d.13 => Status Zirkulationspumpe,,,,7B00,,,UCH,,%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,PumpPowerDesired,d.14 => Leistung Heizungspumpe Soll,,,,0A04,,,UCH,0=auto;1=53;2=60;3=70;4=85;5=100,%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,PumpPower,d.15 => Leistung Heizungspumpe,,,,7300,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,RoomSensorFound,d.16 => Raumthermostat vorhanden,,,,0E00,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,RegulationMode,d.17 => Regelungsmodus,,,,0C04,,,UCH,0=flow;1=return,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,PumpMode,d.18 => Pumpenbetriebsart,,,,4904,,,UCH,0=aftertime;1=continous;2=winter;3=intermittent,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,PumpMode2,d.19 => Pumpenbetriebsart 2. Pumpe,,,,0B04,,,UCH,0=aftertime;1=continous;2=winter;3=intermittent,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,StorageTempSetMax,d.20 => Maximale Speichersolltemperatur,,,,4304,,,temp,, °C,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,OperatingModeHWC,d.22 => Betriebsart Warmwasser (Anforderung),,,,5800,,,onoff,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,OperatingModeHC,d.23 => Betriebsart Heizung,,,,F203,,,onoff,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,AirPressure,d.24 => Luftdruck,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,StorageLoadEnabled,d.25 => Speicherladung durch EBUS freigegeben,,,,4704,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,Relay,d.26 => Schalten Relais ecoTEC Exclusiv,,,,,,,,1=Circ;2=ExtPump;3=StorageLoadPump;4=Exhaust;5=ExtValve;6=ExtErr;7=ExhaustConf;8=Remote;9=LegionellaPump,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,AccRelay1,d.27 => Schalten Zubehörrelais 1,,,,4B04,,,status,1=Circ;2=ExtPump;3=StorageLoadPump;4=Exhaust;5=ExtValve;6=ExtErr;7=ExhaustConf;8=Remote;9=LegionellaPump,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,AccRelay2,d.28 => Schalten Zubehörrelais 2,,,,4C04,,,status,1=Circ;2=ExtPump;3=StorageLoadPump;4=Exhaust;5=ExtValve;6=ExtErr;7=ExhaustConf;8=Remote;9=LegionellaPump,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,,d.29 => Umlaufwassermenge,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,GasValveStatus,d.30 => Steuersignal Gasventil,,,,BB00,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,FanSpeedDesired,d.33 => Gebläsedrehzahl Soll,,,,2400,,,UIN,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,FanSpeed,d.34 => Gebläsedrehzahl,,,,8300,,,UIN,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,COVPosition,d.35 => Position Vorrang-Umschaltventil (Changeover Valve) ,,,,5400,,,percent0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,FlowTemp,d.40 => Vorlauftemperatur / Sensorstatus,,,,1800,,,tempsensor,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,ReturnTemp,d.41 => Rücklauftemperatur / 3 weitere Bytes,,,,9800,,,temp;status;status;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,IonizationVoltage,d.44 => Ionisationsspannung <40 ok > 80 keine Flamme,,,,A400,,,SIN,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,OutsideTemp,d.47 => Außentemperatur ,,,,7600,,,tempsensor,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,FanSpeedMinOffset,d.50 => Offset minimale Gebläsedrehzahl ,,,,2404,,,SIN,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,FanSpeedMaxOffset,d.51 => Offset maximale Gebläsedrehzahl,,,,2504,,,SIN,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,TempLimitFaults,d.60 => Temperaturbegrenzer-Abschaltungen,,,,2000,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BurnerFaults,d.61 => Feuerungsautomat-Störungen,,,,1F00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BurnerIgnitionTimeMax,d.64 => Maximale Zündzeit,,,,2C00,,,UCH,10,s,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BurnerIgnitionTimeAv,d.65 => Mittlere Zündzeit,,,,2D00,,,UCH,10,s,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BurnerBlockingTimeRes,d.67 => verbleibende Brennersperrzeit,,,,3800,,,UCH,,min,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BurnerStartFaults1,d.68 => Erfolglose Zündungen im 1. Versuch,,,,6E00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BurnerStartFaults2,d.69 => Erfolglose Zündungen im 2. Versuch,,,,6F00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,COVMode,d.70 => Modus Vorrang-Umschaltventil (Changeover Valve),,,,2A04,,,UCH,0=normal;1=parallel;2=heating,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,FlowTempMax,d.71 => Maximale Vorlauftemperatur Heizung,,,,0E04,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,StorageLoadAfterBurnTime,d.72,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,StorageLoadTimeMax,d.75 => Maximaldauer Speicherladung,,,,1204,,,UCH,,min,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,DeviceTypeDSN,d.76 => Gerätevariante,,,,3004,,,UCH,6=VC146;7=VC206;8=VC276,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,StorageLoadPowerMax,d.77 => Maximale Speicherladeleistung,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,StorageLoadTempMax,d.78 => Maximale Speicherladetemperatur ,,,,0F04,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,OperatingHoursHC,d.80 => Betriebsstunden Heizung,,,,2800,,,UIN,,hours,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,OperatingHoursHWC,d.81 => Betriebsstunden Warmwasser,,,,2200,,,UIN,,hours,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BurnerStartsHC,d.82 => Brennerstarts Heizung,,,,2900,,,UIN,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BurnerStartsHWC,d.83 => Brennerstarts Warmwasser,,,,2300,,,UIN,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,TimeToService,d.84 => Zeit bis zur nächsten Wartung,,,,2004,,,UIN,,hours,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,,d.86 => Servicebetrieb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,,d.87 => Gasart einstellen,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,,d.89 => Start-Offset,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,,d.90 => Digitaler Regler erkannt 1 = erkannt/ 0 = nicht erkannt,,,,0400,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,DCFStatus,d.91 => Status DCF Empfänger,,,,6900,,,dcfstate,0=no_signal;1=signal;2=synchronized;3=valid,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,DeviceTypeDSNSet,d.93 => Gerätevariante einstellen,,,, ,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SetFactoryDefault,d.96 => Werkseinstellung 0 = aus/ 1 = ein,,,,6804,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,Password,d.97 => Code 17 für 2. Diagnoseebene,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,Telephone,d.98 => Telefon Fachhandwerker,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,Language,d.99 => Sprache,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,EbusVoltage_DK,EbusVoltage_DK,,,,7F00,,,onoff,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,external_Flowsetpoint_DK,external_Flowsetpoint_DK,,,,2500,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,Flame_DK,Flame_DK,,,,0500,,,onoff,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,FloorHeatingContact_DK,FloorHeatingContact_DK,,,,7000,,,onoff,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,FluegasvalveOpen,FluegasvalveOpen (Display?),,,,8900,,,onoff,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,FillPressure,Fülldruck,,,,0200,,,press;sensor,,bar,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,MainSwitch,Hauptschalter EIN/AUS,,,,F303,,,onoff,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,FlowTempSet,Regler Vorlauftemperatur,,,,F003,,,calibration,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,StorageTempSet,Regler Warmwasser Speichertemperatur,,,,F103,,,calibration,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,KeyStatus,Status Info-Taste (Display i-Taste 1xgedrückt bsp. S.31),,,,AB00,,,status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,MainSwitchHWC,Warmwasser Hauptschalter EIN/AUS,,,,0000,,,onoff,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,TempSetHWC,Warmwasser Temperatur Soll,,,,EA03,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +################################# Get Messages,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +*r,bai00,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,StatusTHER,VL/RL/AussenT/VLWW/RLWW/Status (auch zyklisch 10->08),,08,B511,01,,,temp1;temp1;temp;temp1;temp1;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, diff --git a/fhem/contrib/EBUS/ebus_background.cfg b/fhem/contrib/EBUS/ebus_background.cfg new file mode 100644 index 000000000..72605decc --- /dev/null +++ b/fhem/contrib/EBUS/ebus_background.cfg @@ -0,0 +1,49 @@ +#-- Solare Erträge nach Monat + +get solart_W_M01 cmd {"read vrs620 SolarYieldJan"} +get solart_W_M01 expect ".*" +get solart_W_M01 postproc { fhem("trigger HK.SOL W_M01 $_") } + +get solart_W_M02 cmd {"read vrs620 SolarYieldFeb"} +get solart_W_M02 expect ".*" +get solart_W_M02 postproc { fhem("trigger HK.SOL W_M02 $_") } + +get solart_W_M03 cmd {"read vrs620 SolarYieldMar"} +get solart_W_M03 expect ".*" +get solart_W_M03 postproc { fhem("trigger HK.SOL W_M03 $_") } + +get solart_W_M04 cmd {"read vrs620 SolarYieldApr"} +get solart_W_M04 expect ".*" +get solart_W_M04 postproc {fhem("trigger HK.SOL W_M04 $_") } + +get solart_W_M05 cmd {"read vrs620 SolarYieldMay"} +get solart_W_M05 expect ".*" +get solart_W_M05 postproc { fhem("trigger HK.SOL W_M05 $_") } + +get solart_W_M06 cmd {"read vrs620 SolarYieldJun"} +get solart_W_M06 expect ".*" +get solart_W_M06 postproc { fhem("trigger HK.SOL W_M06 $_") } + +get solart_W_M07 cmd {"read vrs620 SolarYieldJul"} +get solart_W_M07 expect ".*" +get solart_W_M07 postproc { fhem("trigger HK.SOL W_M07 $_") } + +get solart_W_M08 cmd {"read vrs620 SolarYieldAug"} +get solart_W_M08 expect ".*" +get solart_W_M08 postproc { fhem("trigger HK.SOL W_M08 $_") } + +get solart_W_M09 cmd {"read vrs620 SolarYieldSep"} +get solart_W_M09 expect ".*" +get solart_W_M09 postproc { fhem("trigger HK.SOL W_M09 $_")} + +get solart_W_M10 cmd {"read vrs620 SolarYieldOct"} +get solart_W_M10 expect ".*" +get solart_W_M10 postproc { fhem("trigger HK.SOL W_M10 $_")} + +get solart_W_M11 cmd {"read vrs620 SolarYieldNov"} +get solart_W_M11 expect ".*" +get solart_W_M11 postproc { fhem("trigger HK.SOL W_M11 $_") } + +get solart_W_M12 cmd {"read vrs620 SolarYieldDec"} +get solart_W_M12 expect ".*" +get solart_W_M12 postproc { fhem("trigger HK.SOL W_M12 $_") } diff --git a/fhem/contrib/EBUS/ebus_hz.cfg b/fhem/contrib/EBUS/ebus_hz.cfg index dee94b292..e225e4f33 100644 --- a/fhem/contrib/EBUS/ebus_hz.cfg +++ b/fhem/contrib/EBUS/ebus_hz.cfg @@ -1,22 +1,28 @@ -# Außentemperatur -get Outside.T cmd {"read BC OutsideTempBC"} +#-- Außentemperatur +get Outside.T cmd {"read OutsideTempBC"} get Outside.T expect ".*" get Outside.T postproc { sprintf("%5.2f °C",$_) } -# Heizkeis HC -get mode cmd {"read HC OperatingMode\n\000read HC Param1\n\000read vrs620 NameHC"} +#-- Heizkeis HC +get mode cmd {"read HC OperatingModeHC\n\000read ParamHC\n\000read vrs620 NameHC"} get mode expect ".*" get mode postproc { Vaillant_HC_mode_postproc("%NAME",$_,1) } -# Mischerkreis MIX -get mode2 cmd {"read MIX OperatingMode\n\000read MIX Param1\n\000read vrs620 NameMIX"} +#-- Mischerkreis MIX +get mode2 cmd {"read OperatingModeMIX\n\000read ParamMIX\n\000read vrs620 NameMIX"} get mode2 expect ".*" get mode2 postproc { Vaillant_HC_mode_postproc("%NAME",$_,2) } -get state cmd {"read HC Status1\n\000read HC Status2a\n\000read MS StatusHC"} +get state cmd {"read StatusHC1\n\000read StatusHC2\n\000read StatusTHER"} get state expect ".*" get state postproc { Vaillant_HC_state_postproc("%NAME",$_) } +#-- Überwachung Therme +get stateboiler cmd {"read bai00 FlowTemp\n\000read bai00 FillPressure"} +get stateboiler expect ".*" +get stateboiler postproc { Vaillant_HC_stateboiler_postproc("%NAME",$_) } + +#-- Timer-Programme get progMonday cmd {"read HC TimerProgMonday"} get progMonday expect ".*" get progMonday postproc { Vaillant_Timer($_); } @@ -45,18 +51,19 @@ get progSunday cmd {"read HC TimerProgSunday"} get progSunday expect ".*" get progSunday postproc { Vaillant_Timer($_); } -set Night.T cmd { write HC NightTemp %temp } +set Night.T cmd { "write HC NightTemp %temp" } set Night.T params temp set Night.T expect ".*" +set Night.T postproc { $_ } -set Cut.T cmd { write HC OutsideTempLimit %temp } +set Cut.T cmd { "write HC OutsideTempLimit %temp" } set Cut.T params temp set Cut.T expect ".*" -set VL.T.min cmd { write HC MinFlowTemp %temp } +set VL.T.min cmd { "write HC MinFlowTemp %temp" } set VL.T.min params temp set VL.T.min expect ".*" -set VL.T.max cmd { write HC MaxFlowTemp %temp } +set VL.T.max cmd { "write HC MaxFlowTemp %temp" } set VL.T.max params temp set VL.T.max expect ".*" diff --git a/fhem/contrib/EBUS/ebus_solar.cfg b/fhem/contrib/EBUS/ebus_solar.cfg index ff7557077..1b9735815 100644 --- a/fhem/contrib/EBUS/ebus_solar.cfg +++ b/fhem/contrib/EBUS/ebus_solar.cfg @@ -1,8 +1,12 @@ # Solarkreis -get mode cmd {"read SOL ParmSOL"} +get mode cmd {"read OperatingModeSOL\n\000read ParamSOL"} get mode expect ".*" get mode postproc { Vaillant_SOL_mode_postproc("%NAME",$_) } -get state cmd {"read SOL StatusSOL1\n\000read SOL StatusSOL2\n\000read SOL Status2\n\000read MS StatusSOL3"} +get state cmd {"read StatusSOL1\n\000read StatusSOL2\n\000read StatusHWC2\n\000read StatusSOL3"} get state expect ".*" get state postproc { Vaillant_SOL_state_postproc("%NAME",$_) } + +get year cmd {"read vrs620 SolarYield"} +get year expect ".*" +get year postproc { Vaillant_SOL_year_postproc("%NAME",$_) } diff --git a/fhem/contrib/EBUS/ebus_ww.cfg b/fhem/contrib/EBUS/ebus_ww.cfg index 90bfe7f32..5cf82e7bb 100644 --- a/fhem/contrib/EBUS/ebus_ww.cfg +++ b/fhem/contrib/EBUS/ebus_ww.cfg @@ -1,16 +1,12 @@ # Warmwasserkeis HWC -get state cmd {"read HWC Status2\n\000read SOL Status2"} +get state cmd {"read StatusHWC1\n\000read StatusHWC2"} get state expect ".*" get state postproc { Vaillant_HWC_state_postproc("%NAME",$_) } -get mode cmd {"read HWC OperatingMode\n\000read HWC Param1"} +get mode cmd {"read OperatingModeHWC\n\000read ParamHWC"} get mode expect ".*" get mode postproc { Vaillant_HWC_mode_postproc("%NAME",$_) } -get broadcast cmd {"read MS StatusHWC\n"} -get broadcast expect ".*" -get broadcast postproc { Vaillant_HWC_broadcast_postproc("%NAME",$_) } - get progMonday cmd {"read HWC TimerProgMonday"} get progMonday expect ".*" get progMonday postproc { Vaillant_Timer($_); } diff --git a/fhem/contrib/EBUS/vrs620.csv b/fhem/contrib/EBUS/vrs620.csv index 9bc9926af..dcf3f2a5e 100644 --- a/fhem/contrib/EBUS/vrs620.csv +++ b/fhem/contrib/EBUS/vrs620.csv @@ -1,204 +1,217 @@ -#################################,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -# vrs620.csv,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -# Version 1.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -# Prof. Dr. Peter A. Henning,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -# GNU GPL V2.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -#################################,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -# type (r;w;u;1-9),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 -r,THER,ID,Vaillant BAI00 07.03 74.01,,08,0704,,,,HEX,,,,,,STR:5,,,,,,BCD,,,,,,BCD,,,,,,BCD,,,,,,BCD,,, -r,vrs620,ID,Vaillant UI 05.08 62.01 ,,15,0704,,,,HEX,,,,,,STR:5,,,,,,BCD,,,,,,BCD,,,,,,BCD,,,,,,BCD,,, -r,SOL,ID,Vaillant SOLSY 5.00 63.01,,EC,0704,,,,HEX,,,,,,STR:5,,,,,,BCD,,,,,,BCD,,,,,,BCD,,,,,,BCD,,, -################################# Register Messages VRS620,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -*r,vrs620,,,,15,B509,0D,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -*w,vrs620,,,,15,B509,0E,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,RoomTemp,Raumtemperatur,,,,0000,,,tempsensor,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,OutsideTemp,Außentemperatur ,,,,0100,,,tempsensor,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,VF1,Vorlauffühler intern,,,,0200,,,tempsensor,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYield,Solarer Ertrag,,,,0600,,,energy4,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,isInHoliday,Ferienmodus,,,,0E00,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg10,Reg10,,,,1000,,,status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg17,Reg17,,,,1700,,,status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg19,Reg19,,,,1900,,,status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg1D,Reg1D,,,,1D00,,,status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg1E,Reg1E,,,,1E00,,,status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,RoomTempOffset,Raumtemperatur Offset,,,,1F00,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,OutsideTempOffset,Außentemperatur Offset,,,,2100,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,RoomTempHoliday,Ferien Solltemperatur,,,,2200,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg23,Reg23,,,,2300,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg24,Reg24,,,,2400,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,MinTempBoiler,Minimaltemperatur Wärmeerzeuger,,,,2500,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,ServiceDate,Servicedatum,,,,2B00,,,HDA:3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -#,HWC,OperatingMode,Betriebsart,,25,,2B00,,,hwmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -#,HC,OperatingMode,Betriebsart,,26,,2B00,,,hwmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -#,MIX,OperatingMode,Betriebsart,,50,,2B00,,,hwmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -#,SOL,OperatingMode,Betriebsart,,EC,,2B00,,,hwmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Password,Passwort,,,,2C00,,,code,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,HWC,MinStorageTemp,Speichertemperatur minimal,,25,,3000,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,HC,MinFlowTemp,Vorlauftemperatur minimal,,26,,3000,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,MIX,MinFlowTemp,Vorlauftemperatur minimal,,50,,3000,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,HWC,MaxStorageTemp,Speichertemperatur maximal,,25,,3100,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,HC,MaxFlowTemp,Vorlauftemperatur maximal,,26,,3100,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,MIX,MaxFlowTemp,Vorlauftemperatur maximal,,50,,3100,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,HWC,DayTemp,Speichertemperatur Tag,,25,,3200,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,HC,DayTemp,Raumtemperatur Tag,,26,,3200,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,or,DayTemp,Raumtemperatur Tag,,50,,3200,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,SOL,FlowTemp,??,,EC,,3200,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,HC,NightTemp,Absenktemperatur,,26,,3300,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,MIX,NightTemp,Absenktemperatur,,50,,3300,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,SOL,FlowTemp2,??,,EC,,3300,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,HC,HeatingCurve,Heizkurve,,26,,3500,,,uin100,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,MIX,HeatingCurve,Heizkurve,,50,,3500,,,uin100,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,LcdContrast,Kontrast Display,,,,3600,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,HC,OutsideTempLimit,Abschalttemperatur,,26,,3600,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,MIX,OutsideTempLimit,Abschalttemperatur,,50,,3600,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,PreHeatingTimeMax,Voraufheizung MAX,,,,3800,,,hours,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,HC,PreHeatingTimeMax,Voraufheizung MAX,,26,,3800,,,hours,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,MIX,PreHeatingTimeMax,Voraufheizung MAX,,50,,3800,,,hours,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,MIX,FloorDryingDay,Estrichtrocknung Tag,,50,,3B00,,,daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,HeatingCircuitType,??,,,,3C00,,,mctype,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,HC,HeatingCircuitType,??,,26,,3C00,,,mctype,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,MIX,HeatingCircuitType,??,,50,,3C00,,,mctype,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,NameHC,Name Heizkreis,,,,4100,,,STR:10,,,,,,IGN:1,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,NameMIX,Name Mischerkreis,,,,4108,,,STR:10,,,,,,IGN:1,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,HolidayPeriod,Ferien Zeitraum,,,,4300,,,HDA:3,,,,,,HDA:3,,,,,,HDA:3,,,,,,HDA:3,,,,,,,,,,,,,,, -r,,SolarYieldJan,Solarer Ertrag Januar ,,,,4400,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldFeb,Solarer Ertrag Februar ,,,,4408,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldMar,Solarer Ertrag März,,,,4410,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldApr,Solarer Ertrag April,,,,4418,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldMay,Solarer Ertrag Mai,,,,4420,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldJun,Solarer Ertrag Juni,,,,4428,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldJul,Solarer Ertrag Juli,,,,4430,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldAug,Solarer Ertrag August,,,,4438,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldSep,Solarer Ertrag September,,,,4440,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldOct,Solarer Ertrag Oktober,,,,4448,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldNov,Solarer Ertrag November,,,,4450,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldDec,Solarer Ertrag Dezember,,,,4458,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldJanPrev,Solarer Ertrag Januar voriges Jahr,,,,4400,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldFebPrev,Solarer Ertrag Februar voriges Jahr,,,,4408,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldMarPrev,Solarer Ertrag März voriges Jahr,,,,4410,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldAprPrev,Solarer Ertrag April voriges Jahr,,,,4418,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldMayPrev,Solarer Ertrag Mai voriges Jahr,,,,4420,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldJunPrev,Solarer Ertrag Juni voriges Jahr,,,,4428,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldJulPrev,Solarer Ertrag Juli voriges Jahr,,,,4430,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldAugPrev,Solarer Ertrag August voriges Jahr,,,,4438,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldSepPrev,Solarer Ertrag September voriges Jahr,,,,4440,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldOctPrev,Solarer Ertrag Oktober voriges Jahr,,,,4448,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldNovPrev,Solarer Ertrag November voriges Jahr,,,,4450,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYieldDecPrev,Solarer Ertrag Dezember voriges Jahr,,,,4458,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,SolarYield2,Solarer Ertrag – welche Periode ???,,,,4600,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,HC,FlowTempDesired,Vorlauftemperatur Soll,,26,,4600,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,MIX,FlowTempDesired,Vorlauftemperatur Soll,,50,,4600,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Time,Uhrzeit,,,,5F00,,,VTI,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Date,Datum,,,,6100,,,HDA:3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,StartHolidayPeriod1,Anfang Ferienperiode 1 (vorher Status),,,,6B00,,,IGN:1,,,,,,HDA:3,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,EndHolidayPeriod1,Ende Ferienperiode 1 (vorher Status),,,,6C00,,,IGN:1,,,,,,HDA:3,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,FloorProtectionTempLimit,Fußbodenschutz Temp > VF2,,,,7B01,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,SOL,Reg81,Reg81,,EC,,8100,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,SOL,SolarProtection,Solarkreisschutz,,EC,,8200,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,SOL,Reg83,Reg83,,EC,,8300,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -################################# Register Messages Boiler,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -*r,THER,,,,08,B509,0D,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg00,Reg00,,,,0000,,,status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg01,Reg01,,,,0100,,,HEX,,,,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Pressure,Fülldruck,,,,0200,,,press;sensor,,bar,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg03,Reg03,,,,0300,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg04,Reg04,,,,0400,,,HEX,,,,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg05,Reg05,,,,0500,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg07,Reg07,,,,0700,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg09,Reg09,,,,0900,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg0A,Reg0A,,,,0A00,,,HEX,,,,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg0B,Reg0B,,,,0B00,,,HEX,,,,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg0C,Reg0C,,,,0C00,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg0D,Reg0D,,,,0D00,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg0E,Reg0E,,,,0E00,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg0F,Reg0F,,,,0F00,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg10,Reg10,,,,1000,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg11,Reg11,,,,1100,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg12,Reg12,,,,1200,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg13,Reg13,,,,1300,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg14,Reg14,,,,1400,,,HEX,,,,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg15,Reg15,,,,1500,,,HEX,,,,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg16,Reg16,,,,1600,,,HEX,,,,,,HEX,,,,,,HEX,,,,,,,,,,,,,,,,,,,,, -r,,Reg17,Reg17,,,,1700,,,HEX,,,,,,HEX,,,,,,HEX,,,,,,,,,,,,,,,,,,,,, -r,,FlowTemp,Vorlauftemperatur,,,,1800,,,temp;sensor,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg6B,Reg6B,,,,6B00,,,temp;sensor,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,,Reg76,Reg76,,,,7600,,,status;temp;status;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -################################# Get Messages,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -*ra,CIR,,,,23,B504,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -*rb,HWC,,,,25,B504,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -*rc,HC,,,,26,B504,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -*rd,MIX,,,,50,B504,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -*re,SOL,,,,EC,B504,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ra,,OperatingMode,,,,,01,,,temp0;hwmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -rb,,OperatingMode,Speichertemperatur Soll/Mode,,,,01,,,temp0;hwmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -rc;rd,,OperatingMode,Raumtemperatur/Mode,,,,01,,,temp0;mcmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -re,,OperatingMode, ,,,,01,,,temp0;mcmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ra;rb;rc,,TimerProgMonday,Schaltzeiten Montag,,,,02,,,slot1-3;days,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ra;rb;rc,,TimerProgTuesday,Schaltzeiten Dienstag,,,,03,,,slot1-3;days,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ra;rb;rc,,TimerProgWednesday,Schaltzeiten Mittwoch,,,,04,,,slot1-3;days,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ra;rb;rc,,TimerProgThursday,Schaltzeiten Donnerstag,,,,05,,,slot1-3;days,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ra;rb;rc,,TimerProgFriday,Schaltzeiten Freitag,,,,06,,,slot1-3;days,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ra;rb;rc,,TimerProgSaturday,Schaltzeiten Samstag,,,,07,,,slot1-3;days,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ra;rb;rc,,TimerProgSunday,Schaltzeiten Sonntag,,,,08,,,slot1-3;days,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -rb,,Param1,SP1; ?; ?; ?; SP1.min; SP1.max; ?,,,,09,,,temp0;status;status;status;temp0;temp0;status;temp0;temp0;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -rc;rd,,Param1,RaumTemp AbsenkTemp / 8c 00 85 /AbschaltTemp Raumaufschaltung MinVL MaxVL Vorheizzeit,,,,09,,,temp0;temp0;status;status;status;temp0;temp0;temp0;temp0;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -rb,,Status1,,,,,0A,,,temp0;hwmode;status;status;status;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -rc,,Status1,Vorlauf VL; Pumpe,,,,0A,,,status;status;status;status;status;temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -rb,,Status2,Status Warmwasserkreis:Status; Ladung; SP1; Target; ,,,,0D,,,status;status;temp;temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -rc;rd,,Status2a,Status Heizkreis,,,,0D,,,temp0;status;temp;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -re,,Status2,Speicher SP1 – SP3,,,,0F,,,temp;temp;temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -re,,ParmSOL,Max/HystOn/HystOf f für SOL1 SOL2 LEAD ,,,,11,,,temp0;temp0;temp0;temp0;temp0;temp0;temp0;temp0;temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -re,,StatusSOL1,KollTemp/Status/PumpenLZ für SOL1 SOL2,,,,12,,,temp;status;energy;temp;status;energy,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -re,,StatusSOL2,Solarer Ertrag; Fluss; Pumpe (?),,,,13,,,energy;skip;energy;skip;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -rb,,isInService,Warmwasserdienst,,,,17,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -re,,StatusSOL3,KollTemp; Status; Füllung; Power,,,,21,,,temp1;skip;status;percent0;percent0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -r,THER,Status,VL/RL/AussenT/VLWW/RLWW/Status,,08,B511,01,,,temp1;temp1;temp;temp1;temp1;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -################################# Set Messages ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,HWC,StorageLoadDirect,Einmalige Speicherheizung (evtl. FE),,25,B505,06,,,onoff,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,HC,NightTemp,Absenktemperatur,,26,B505,0A,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,MIX,NightTemp,Absenktemperatur,,50,B505,0A,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,HWC,NightTemp,Absenktemperatur,,25,B505,0A,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,HC,HeatingCurve,Heizkurve (Verhältnis Innen/Außen),,26,B505,0B,,,UIN,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,MIX,HeatingCurve,Heizkurve (Verhältnis Innen/Außen),,50,B505,0B,,,UIN,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,HC,OutsideTempLimit,Abschalttemperatur,,26,B505,0C,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,MIX,OutsideTempLimit,Abschalttemperatur,,50,B505,0C,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,HC,RoomTempAction,Raumaufschaltung,,26,B505,0D,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,MIX,PumpBlockingTime,Pumpensperrzeit ,,50,B505,0D,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,HC,MinFlowTemp,MinVL,,26,B505,0E,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,MIX,MinFlowTemp,MinVL,,50,B505,0E,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,HC,MaxFlowTemp,MaxVL,,26,B505,0F,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,MIX,MaxFlowTemp,MaxVL,,50,B505,0F,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,HC,PreheatTime,Vorheizzeit (in h),,26,B505,10,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,MIX,PreheatTime,Vorheizzeit (in h),,50,B505,10,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,HWC,LoadPumpDelayTime,Nachladeverzögerungszeit ,,25,B505,11,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,HWC,LoadPumpTrailTime,Ladepumpennachlaufzeit 3-9,,25,B505,12,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,HWC,LegionellaProt,Legionellenschutz an/aus,,25,B505,13,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,HWC,ParallelLoad,Parallele Ladung an/aus,,25,B505,14,,,onoff,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,SOL,StorageMax1,Maximaltemperatur Solarspeicher 1,,EC,B505,1A,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,SOL,StorageHyst1,Hysterese Solarspeicher 1,,EC,B505,1B,,,temp0;temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,SOL,OutsideTempOffset1,Temperaturoffset,,EC,B505,1C,,,temps,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,SOL,StorageMax2,Maximaltemperatur Solarspeicher 2,,EC,B505,1D,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,SOL,StorageHyst2,Hysterese Solarspeicher 2,,EC,B505,1E,,,temp0;temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,SOL,OutsideTempOffset2,Temperaturoffset ??,,EC,B505,1F,,,temps,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,SOL,ResetSolarYield,Rücksetzen Solarertrag,,EC,B505,20,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,SOL,SolarFlow,Solarer Durchfluss in l/h,,EC,B505,21,,,uin,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,HWC,PreDeactivationTime,Vorabschaltung 15-120 (in Schritten von 15 Minuten),,25,B505,23,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,SOL,EDControl,ED-Steuerung,,EC,B505,23,,,onoff,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,HC,DistantRoomTemp,Erwartet 5 Bytes 3C fest/ Roomtemp/ Roomtem+Offset,,26,B505,2B,,,status;temp;temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -w,HC,Flow,erwartet 3 Bytes Status/ temp/ status ?,,26,B505,2D,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -################################# Cyclic Messages,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -u,MS,OperatingModeHWC,Targettemperatur/Mode,10,25,B505,01,,,temp0;hwmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -u,MS,Status2HWC,Status Warmwasserkreis:Status; Ladung; SP1; Target; ,10,25,B505,0D,,,status;status;temp;temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -u,MS,DateTimeOutsideTemp,Uhrzeit/Datum/Außentemperatur,10,26,B505,00,,,IGN:1,,,,,,BTI,,,,,,HDA,,,,,,D2B,,,,,,,,,,,, ,,, -u,MS,OperatingModeHC,Raumtemperatur/Mode,10,26,B505,01,,,temp0;mcmode,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,, -u,MS,Status2aHC,Status Heizkreis,10,26,B505,0D,,,temp0;status;temp;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -u,MS,OperatingModeSOL,,10,EC,B505,01,,,temp0;hwmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -u,MS,StatusSOL3,KollTemp/Status/Füllung/Power,10,EC,B505,21,,,temp1;skip;status;percent0;percent0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -u,MS,OperatingModeMIX,Raumtemperatur/Mode,10,50,B505,01,,,temp0;mcmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -u,MS,Status2aMIX,Status Heizkreis,10,50,B505,0D,,,temp0;status;temp;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -u,MS,SetBoiler,VL Soll,10,08,B510,00,,,status;temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -u,MS,StatusHC,VL RL status,10,08,B511,01, ,,temp1;temp1;status;status;skip;skip;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -u,BC,OutsideTempBC,Außentemperatur ,10,FE,B516,01,,,D2B,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -u,BC,DateTimeBC,Uhrzeit/Datum,10,FE,B516,00,,,BTI,,,,,,HDA,,,,,,,,,,,,,,,,,,,,,,,,,,, -u,BC,DateTimeBC2,Uhrzeit/Datum,10,FE,0700,,,,IGN:2,,,,,,BTI,,,,,,HDA,,,,,,,,,,,,,,,,,,,,, -u,BC,Störung,comment,10,FE,FE01,,,,IGN:5,,,,errcode,,UCH,,,,,,UCH,,,,,,,,,,,,,,,,,,,,, +#################################,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# vrs620.csv,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# Version 1.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# Prof. Dr. Peter A. Henning,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# GNU GPL V2.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +#################################,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +"# Es wird ausdrücklich davor gewarnt, ein Heizgerät an einem externen Controller vorbei zu steuern.",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +#################################,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,ungetestet,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,getestet,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +# ,,fehlerhaft,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +#################################,,+C11fehlerhaft,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,vrs620,ID,Vaillant UI 05.08 62.01 ,,15,0704,,,,HEX,,,,,,STR:5,,,,,,BCD,,,,,,BCD,,,,,,BCD,,,,,,BCD +r,SOL,ID,Vaillant SOLSY 5.00 63.01,,EC,0704,,,,HEX,,,,,,STR:5,,,,,,BCD,,,,,,BCD,,,,,,BCD,,,,,,BCD +################################# Register Messages VRS620,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +*r,vrs620,,,,15,B509,0D,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +*w,vrs620,,,,15,B509,0E,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,RoomTemp,Raumtemperatur,,,,0000,,,tempsensor,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,OutsideTemp,Außentemperatur ,,,,0100,,,tempsensor,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,FlowTemp,Vorlauffühler intern,,,,0200,,,tempsensor,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYield,Solarer Ertrag,,,,0600,,,energy4,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,EditKeyPress,YesNo,,,,0700,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,MenuKeyPress,YesNo,,,,0800,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,Incrementalgeber1Value,schar,,,,0900,,,SCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,Incrementalgeber2Value,schar,,,,0A00,,,SCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,AdressSwitch,uchar,,,,0B00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,EmvTestAktiv,YesNo,,,,0C00,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,IsInHelpControl,YesNo,,,,0D00,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,isInHoliday,Ferienmodus (weitere Kreise 0e08 – 0e78),,,,0E00,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,ChimneySweepSource,uchar,,,,0F00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SavingTimeOffset,uchar,,,,1000,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,EepromUpdateStart,YesNo,,,,1100,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,EepromUpdateActive,YesNo,,,,1200,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,FactoryTestActive,YesNo,,,,1300,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,DisablePowerSave,YesNo,,,,1400,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,ExtraDisplayEnable,uchar,,,,1500,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,ExtraDisplayCount,uchar,,,,1600,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SystemType,uchar,,,,1700,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,MixerDetected,Mischer gefunden,,,,1800,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BoilerDetected,Heizgerät gefunden,,,,1900,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,RemoteDetected,Fernbedienung gefunden,,,,1A00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,AccessoriesDetected,Zubehör gefunden,,,,1B00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BoilerCount,Anzahl Heizgeräte,,,,1C00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarCircuitCount,??? ,,,,1D00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,HydraulicMap,Hydraulikplan,,,,1E00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,RoomTempOffset,Raumtemperatur Offset,,,,1F00,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,RaumTempOffsetEigenErwaerm, ,,,,2000,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,OutsideTempOffset,Außentemperatur Offset,,,,2100,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,RoomTempHoliday,Ferien Solltemperatur,,,,2200,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BoilerSwitchHyster,TIte,,,,2300,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BoilerTempMax,Maximaltemperatur Heizgerät,,,,2400,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BoilerTempMin,Minimaltemperatur Heizgerät,,,,2500,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,LanguageVariant,uchar,,,,2600,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,CountryVariant,uchar,,,,2700,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,StartPowerVantage,uchar,,,,2800,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SeparationShift,YesNo,,,,2A00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r;w,,ServiceDate,Servicedatum,,,,2B00,,,HDA:3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +#,HWC,OperatingMode,Betriebsart,,25,,2B00,,,hwmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +#,HC,OperatingMode,Betriebsart,,26,,2B00,,,hwmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +#,MIX,OperatingMode,Betriebsart,,50,,2B00,,,hwmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +#,SOL,OperatingMode,Betriebsart,,EC,,2B00,,,hwmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,Password,Passwort,,,,2C00,,,code,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,PreShutDownTime,uchar,,,,2D00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,FrostOverRideTime,uchar,,,,2E00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,TempIncrease,TIte,,,,2F00,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,TurnOnDelay,uchar,,,,3000,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,HWC,StorageTempMin,Speichertemperatur minimal,,25,,3000,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,HC,FlowTempMin,Vorlauftemperatur minimal,,26,,3000,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,MIX,FlowTempMin,Vorlauftemperatur minimal,,50,,3000,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,TurnOffDelay,uchar,,,,3100,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,HWC,StorageTempMax,Speichertemperatur maximal,,25,,3100,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,HC,FlowTempMax,Vorlauftemperatur maximal,,26,,3100,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,MIX,FlowTempMax,Vorlauftemperatur maximal,,50,,3100,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BoilerSequence,uchar,,,,3200,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,HWC,DayTemp,Speichertemperatur Tag,,25,,3200,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,HC,DayTemp,Raumtemperatur Tag,,26,,3200,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,MIX,DayTemp,Raumtemperatur Tag,,50,,3200,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,SOL,unknown,??,,EC,,3200,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,TempFailDetectTime,uchar,,,,3300,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,HC,NightTemp,Absenktemperatur,,26,,3300,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,MIX,NightTemp,Absenktemperatur,,50,,3300,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,SOL,FlowTemp2,??,,EC,,3300,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,NumberOfBoilerSys430,uchar,,,,3400,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BoilerSwitchSteps,BoilerInterface,,,,3500,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,HC,HeatingCurve,Heizkurve,,26,,3500,,,uin100,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,MIX,HeatingCurve,Heizkurve,,50,,3500,,,uin100,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,LcdContrast,Kontrast Display,,,,3600,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,HC,OutsideTempLimit,Abschalttemperatur,,26,,3600,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,MIX,OutsideTempLimit,Abschalttemperatur,,50,,3600,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BoilerSequenceChangeTime,uchar,,,,3700,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,BoilerSelectIntface,BoilerInterfaceType,,,,3800,,,status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,HC,PreHeatingTimeMax,Voraufheizung MAX,,26,,3800,,,hours,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,MIX,PreHeatingTimeMax,Voraufheizung MAX,,50,,3800,,,hours,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,RoomTempSwitchOn,StructArray (8x onoff ??),,,,3900,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarVentilationTime,uint,,,,3A00,,,UIN,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,ReglerTyp,uchar,,,,3B00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,MIX,FloorDryingDay,Estrichtrocknung Tag,,50,,3B00,,,daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,Incrementalgeber1Typ,uchar,,,,3C00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,HC,HeatingCircuitType,??,,26,,3C00,,,mctype,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,MIX,HeatingCircuitType,??,,50,,3C00,,,mctype,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,Incrementalgeber2Typ,uchar,,,,3D00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,RtcSynchornisationValue,sint,,,,3E00,,,SIN,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,NameHC,Name Heizkreis (weitere Namen 4108 – 4178),,,,4100,,,STR:10,,,,,,IGN:1,,,,,,,,,,,,,,,,,,,,,,,, +r,,NameMIX,Name Mischerkreis,,,,4108,,,STR:10,,,,,,IGN:1,,,,,,,,,,,,,,,,,,,,,,,, +r,,HolidayPeriod,Ferien Zeitraum (2. Satz bei 4308 ??),,,,4300,,,HDA:3,,,,,,HDA:3,,,,,,HDA:3,,,,,,HDA:3,,,,,,,,,,,, +r,,SolarYieldJan,Solarer Ertrag Januar ,,,,4400,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldFeb,Solarer Ertrag Februar ,,,,4408,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldMar,Solarer Ertrag März,,,,4410,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldApr,Solarer Ertrag April,,,,4418,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldMay,Solarer Ertrag Mai,,,,4420,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldJun,Solarer Ertrag Juni,,,,4428,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldJul,Solarer Ertrag Juli,,,,4430,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldAug,Solarer Ertrag August,,,,4438,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldSep,Solarer Ertrag September,,,,4440,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldOct,Solarer Ertrag Oktober,,,,4448,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldNov,Solarer Ertrag November,,,,4450,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldDec,Solarer Ertrag Dezember,,,,4458,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldJanPrev,Solarer Ertrag Januar voriges Jahr,,,,4500,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldFebPrev,Solarer Ertrag Februar voriges Jahr,,,,4508,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldMarPrev,Solarer Ertrag März voriges Jahr,,,,4510,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldAprPrev,Solarer Ertrag April voriges Jahr,,,,4518,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldMayPrev,Solarer Ertrag Mai voriges Jahr,,,,4520,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldJunPrev,Solarer Ertrag Juni voriges Jahr,,,,4528,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldJulPrev,Solarer Ertrag Juli voriges Jahr,,,,4530,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldAugPrev,Solarer Ertrag August voriges Jahr,,,,4538,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldSepPrev,Solarer Ertrag September voriges Jahr,,,,4540,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldOctPrev,Solarer Ertrag Oktober voriges Jahr,,,,4548,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldNovPrev,Solarer Ertrag November voriges Jahr,,,,4550,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYieldDecPrev,Solarer Ertrag Dezember voriges Jahr,,,,4558,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,SolarYield2,Solarer Ertrag – welche Periode ???,,,,4600,,,UIN,,kWh,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,HC,FlowTempDesired,Vorlauftemperatur Soll,,26,,4600,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,MIX,FlowTempDesired,Vorlauftemperatur Soll,,50,,4600,,,temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,DesiredFlowTempBoiler,uchar,,,,4800,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,DesiredDegreeBoiler,uchar,,,,4900,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,DesiredStateBoiler,uchar,,,,4A00,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,StateEM,TUiEnergieManagerState,,,,4B00,,,HEX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r;w,HC,isInParty,Partymodus (0=no;1=HWC;247=yes=beide) (auch für 26),,25,,4E00,,,party,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,Time,Uhrzeit,,,,5F00,,,VTI,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,Date,Datum,,,,6100,,,HDA:3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,,StartHolidayPeriod1,Anfang Ferienperiode 1 (vorher Status),,,,6B00,,,IGN:1,,,,,,HDA:3,,,,,,,,,,,,,,,,,,,,,,,, +r,,EndHolidayPeriod1,Ende Ferienperiode 1 (vorher Status),,,,6C00,,,IGN:1,,,,,,HDA:3,,,,,,,,,,,,,,,,,,,,,,,, +r,,FloorProtectionTempLimit,Fußbodenschutz Temp > VF2,,,,7B01,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,SOL,Reg81,Reg81,,EC,,8100,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,SOL,SolarProtection,Solarkreisschutz,,EC,,8200,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +r,SOL,Reg83,Reg83,,EC,,8300,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +################################# Get Messages,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +*ra,CIR,,,,23,B504,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +*rb,HWC,,,,25,B504,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +*rc,HC,,,,26,B504,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +*rd,MIX,,,,50,B504,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +*re,SOL,,,,EC,B504,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +rc,,DateTimeOutsideTemp,Uhrzeit/Datum/Außentemperatur (auch zyklisch 10->26),,,,00,,,IGN:1,,,,,,BTI,,,,,,HDA,,,,,,D2B,,,,,,,,,,,, +ra,,OperatingModeCIR,(auch zyklisch 10->23),,,,01,,,temp0;hwmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +rb,,OperatingModeHWC,SP1.TagesTemp/Mode (auch zyklisch 10->25),,,,01,,,temp0;hwmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +rc,,OperatingModeHC,TagesTemp/Mode (auch zyklisch 10->26),,,,01,,,temp0;mcmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +rd,,OperatingModeMIX,TagesTemp/Mode (auch zyklisch 10->50),,,,01,,,temp0;mcmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +re,,OperatingModeSOL,Mode (auch zyklisch 10->EC),,,,01,,,temp0;mcmode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ra;rb;rc,,TimerProgMonday,Schaltzeiten Montag,,,,02,,,slot1-3;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ra;rb;rc,,TimerProgTuesday,Schaltzeiten Dienstag,,,,03,,,slot1-3;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ra;rb;rc,,TimerProgWednesday,Schaltzeiten Mittwoch,,,,04,,,slot1-3;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ra;rb;rc,,TimerProgThursday,Schaltzeiten Donnerstag,,,,05,,,slot1-3;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ra;rb;rc,,TimerProgFriday,Schaltzeiten Freitag,,,,06,,,slot1-3;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ra;rb;rc,,TimerProgSaturday,Schaltzeiten Samstag,,,,07,,,slot1-3;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ra;rb;rc,,TimerProgSunday,Schaltzeiten Sonntag,,,,08,,,slot1-3;daysel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +rb,,ParamHWC,SP1.TagesTemp / 00 00 00 83 16 00/ SP1.min; SP1.max; ?,,,,09,,,temp0;status;status;status;temp0;temp0;status;temp0;temp0;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +rc,,ParamHC,TagesTemp AbsenkTemp / 8c 00 85 /AbschaltTemp Raumaufschaltung MinVL MaxVL Vorheizzeit,,,,09,,,temp0;temp0;status;status;status;temp0;temp0;temp0;temp0;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +rd,,ParamMIX,TagesTemp AbsenkTemp / 78 00 81 /AbschaltTemp Raumaufschaltung MinVL MaxVL Vorheizzeit,,,,09,,,temp0;temp0;status;status;status;temp0;temp0;temp0;temp0;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +rb,,StatusHC1,Vorlauf VL/? ? ? ?,,,,0A,,,temp;status;status;status;temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +rc,,StatusMIX1,Vorlauf VL/? ? ? ?,,,,0A,,,temp;status;status;status;temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +rb,,StatusHWC1,Warmwasserkreis Status /Ladung /SP1/SP1.Soll (auch zyklisch 10->25) ,,,,0D,,,status;status;temp;temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +rc,,StatusHC2,Status Heizkreis (auch zyklisch 10->26),,,,0D,,,temp0;status;temp;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +rd,,StatusMIX2,Status Heizkreis (auch zyklisch 10->50),,,,0D,,,temp0;status;temp;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +re,,StatusHWC2,Speicher SP1 – SP3,,,,0F,,,temp;temp;temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +re,,ParamSOL,Max/HystOn/HystOf f für SOL1 SOL2 und Führungsspeicher,,,,11,,,temp0;temp0;temp0;temp0;temp0;temp0;temp0;temp0;temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +re,,StatusSOL1,KollTemp/Status/PumpenLZ für SOL1 SOL2 (auch zyklisch von 10->EC),,,,12,,,temp;status;energy;temp;status;energy,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +re,,StatusSOL2,Solarer Ertrag; Fluss; Pumpe (?),,,,13,,,energy;skip;energy;skip;status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +rb,,isHWCService,Warmwasserdienst,,,,17,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +re,,StatusSOL3,KollTemp/Status/Füllung/Power (auch zyklisch 10->EC),,,,21,,,temp1;skip;status;percent1;percent1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +################################# Set Messages ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,HWC,StorageLoadDirect,Einmalige Speicherheizung (evtl. FE),,25,B505,06,,,onoff,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,HC,NightTemp,Absenktemperatur,,26,B505,0A,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,MIX,NightTemp,Absenktemperatur,,50,B505,0A,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,HWC,NightTemp,Absenktemperatur,,25,B505,0A,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,HC,HeatingCurve,Heizkurve (Verhältnis Innen/Außen),,26,B505,0B,,,UIN,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,MIX,HeatingCurve,Heizkurve (Verhältnis Innen/Außen),,50,B505,0B,,,UIN,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,HC,OutsideTempLimit,Abschalttemperatur,,26,B505,0C,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,MIX,OutsideTempLimit,Abschalttemperatur,,50,B505,0C,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,HC,RoomTempAction,Raumaufschaltung,,26,B505,0D,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,MIX,PumpBlockingTime,Pumpensperrzeit ,,50,B505,0D,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,HC,FlowTempMin,MinVL,,26,B505,0E,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,MIX,FlowTempMin,MinVL,,50,B505,0E,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,HC,FlowTempMax,MaxVL,,26,B505,0F,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,MIX,FlowTempMax,MaxVL,,50,B505,0F,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,HC,PreheatTime,Vorheizzeit (in h),,26,B505,10,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,MIX,PreheatTime,Vorheizzeit (in h),,50,B505,10,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,HWC,LoadPumpDelayTime,Nachladeverzögerungszeit ,,25,B505,11,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,HWC,LoadPumpTrailTime,Ladepumpennachlaufzeit 3-9,,25,B505,12,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,HWC,LegionellaProt,Legionellenschutz an/aus,,25,B505,13,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,HWC,ParallelLoad,Parallele Ladung an/aus,,25,B505,14,,,onoff,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,SOL,StorageTempMax1,Maximaltemperatur Solarspeicher 1,,EC,B505,1A,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,SOL,StorageHyst1,Hysterese Solarspeicher 1,,EC,B505,1B,,,temp0;temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,SOL,OutsideTempOffset1,Temperaturoffset,,EC,B505,1C,,,temps,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,SOL,StorageTempMax2,Maximaltemperatur Solarspeicher 2,,EC,B505,1D,,,temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,SOL,StorageHyst2,Hysterese Solarspeicher 2,,EC,B505,1E,,,temp0;temp0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,SOL,OutsideTempOffset2,Temperaturoffset ??,,EC,B505,1F,,,temps,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,SOL,ResetSolarYield,Rücksetzen Solarertrag,,EC,B505,20,,,yesno,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,SOL,SolarFlow,Solarer Durchfluss in l/h,,EC,B505,21,,,uin,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,HWC,PreDeactivationTime,Vorabschaltung 15-120 (in Schritten von 15 Minuten),,25,B505,23,,,UCH,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,SOL,EDControl,ED-Steuerung,,EC,B505,23,,,onoff,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,HC,DistantRoomTemp,Erwartet 5 Bytes 3C fest/ Roomtemp/ Roomtemp+Offset,,26,B505,2B,,,status;temp;temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +w,HC,Flow,erwartet 3 Bytes Status/ temp/ status ?,,26,B505,2D,,,temp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +################################# Broadcast Messages,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +u,MS,SetBoiler,VL Soll,10,08,B510,00,,,status;temp1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +u,BC,OutsideTempBC,Außentemperatur ,10,FE,B516,01,temperature,,D2B,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +u,BC,DateTimeBC,Uhrzeit/Datum,10,FE,B516,00,time,,BTI,,,,date,,BDA,,,,,,,,,,,,,,,,,,,,,,,, +u,BC,DateTimeBC2,Uhrzeit/Datum,10,FE,0700,,,,IGN:2,,,,time,,BTI,,,,date,,BDA,,,,,,,,,,,,,,,,,, +u,BC,Störung,comment,10,FE,FE01,,,,IGN:5,,,,errcode,,UCH,,,,,,UCH,,,,,,,,,,,,,,,,,,