diff --git a/ebusd-2.1.x/de/vaillant/e0.omu.csv b/ebusd-2.1.x/de/vaillant/e0.omu.csv index b4b40189..ac249c78 100644 --- a/ebusd-2.1.x/de/vaillant/e0.omu.csv +++ b/ebusd-2.1.x/de/vaillant/e0.omu.csv @@ -39,7 +39,7 @@ r,,NoiseReduction,NoiseReduction,,,,"3500",,,yesno,,,noise reduction is active [SW>=104]r;wi,,FanSpeedMax,MaxFanSpeed,,,,"3F00",,,percent0,,,"maximum allowed fan speed, set by look-up-table according to IDU power" r;w,,NoiseReductionFactor,NoiseReductionFactor,,,,"4000",,,percent0,,,noise reduction factor to reduce fan speed r;wi,,SourceMAXTemp,T_AirMAX,,,,"4300",,,temp,,,maximum allowed air inlet temperature -[SW>=130]r,,CoolingActive,Kühlung aktiv,,,,"5900",,,yesno,,,cooling active +[SW>=130]r,,CoolingActive,Kühlung aktiv,,,,"5900",,,yesno,,, [SW>=130]r;wi,,CoolingFanStartTemp,CoolingFanStartTemp,,,,"5A00",,,temp0,,,brine temperature to start fan while cooling [SW>=130]r;wi,,CoolingFanStopTemp,CoolingFanStopTemp,,,,"5B00",,,temp0,,,reserved [SW>=130]r;wi,,CoolingMaxFanSpeed,CoolingMaxFanSpeed,,,,"5C00",,,percent0,,,max. fan speed while cooling diff --git a/ebusd-2.1.x/en/vaillant/_templates.csv b/ebusd-2.1.x/en/vaillant/_templates.csv index d4252d79..b3855085 100644 --- a/ebusd-2.1.x/en/vaillant/_templates.csv +++ b/ebusd-2.1.x/en/vaillant/_templates.csv @@ -106,3 +106,4 @@ wTimeSlotWithTemp,slotIndex;slotCount;slotTimeFrame;slotTemp,,,Complete Slot for wTimeSlotWithoutTemp,slotIndex;slotCount;slotTimeFrame;HEX:2,,,Complete slot for writing the time table settings without a temperature. FF FF has to be appended. rTimeSlotWithTemp,IGN:1;slotTimeFrame;slotTemp,,,Complete Slot for reading the time table settings. rTimeSlotWithoutTemp,IGN:1;slotTimeFrame;IGN:2,,,Complete slot for reading the time table settings without a temperature. +appliancecode,UCH,0=off;1=prerun;2=pump_prerun;3=ignition;4=on;5=overrun;6=fan_overrun;7=pump_overrun;8=shutdown;9=measure;10=hwc_desired;11=hwc_prerun;12=hwc_pump_prerun;13=hwc_ignition;14=hwc_on;15=hwc_overrun;16=hwc_fan_overrun;17=hwc_pump_overrun;18=hwc_shutdown;34=frost_protect,,Status code diff --git a/ebusd-2.1.x/en/vaillant/e0.omu.csv b/ebusd-2.1.x/en/vaillant/e0.omu.csv index fe140255..24175b24 100644 --- a/ebusd-2.1.x/en/vaillant/e0.omu.csv +++ b/ebusd-2.1.x/en/vaillant/e0.omu.csv @@ -39,14 +39,14 @@ r,,NoiseReduction,NoiseReduction,,,,"3500",,,yesno,,,noise reduction is active [SW>=104]r;wi,,FanSpeedMax,MaxFanSpeed,,,,"3F00",,,percent0,,,"maximum allowed fan speed, set by look-up-table according to IDU power" r;w,,NoiseReductionFactor,NoiseReductionFactor,,,,"4000",,,percent0,,,noise reduction factor to reduce fan speed r;wi,,SourceMAXTemp,T_AirMAX,,,,"4300",,,temp,,,maximum allowed air inlet temperature -[SW>=130]r,,CoolingActive,CoolingActive,,,,"5900",,,yesno,,,cooling active +[SW>=130]r,,CoolingActive,cooling active,,,,"5900",,,yesno,,, [SW>=130]r;wi,,CoolingFanStartTemp,CoolingFanStartTemp,,,,"5A00",,,temp0,,,brine temperature to start fan while cooling [SW>=130]r;wi,,CoolingFanStopTemp,CoolingFanStopTemp,,,,"5B00",,,temp0,,,reserved [SW>=130]r;wi,,CoolingMaxFanSpeed,CoolingMaxFanSpeed,,,,"5C00",,,percent0,,,max. fan speed while cooling [SW>=130]r;wi,,CoolingTest,CoolingTest,,,,"5D00",,,UCH,,,reserved # ##### testing #####,,,,,,,,,,,,, r,,ZustandOAWLogic,ZustandOAWLogic,,,,"2A00",,,UIN,,,"Output of ""OAW_control"" statemachine" -r,,IDUApplianceCode,IDU_appliance_code,,,,"3E00",,,UCH,,,"appliance code, copy from AMU" +r,,IDUApplianceCode,IDU_appliance_code,,,,"3E00",,,appliancecode,,,"appliance code, copy from AMU" [SW>=104]r,,FrostProtection,FrostProtection,,,,"4100",,,temp,,,copy from AMU: frost protection r,,CompActive,CompressorActive,,,,"1700",,,onoff,,,compressor is running or pre or post running r,,CompDemand,CompressorDemand,,,,"3200",,,yesno,,,compressor wants to start or is running @@ -55,7 +55,7 @@ r,,SourceOK,BrineOK,,,,"3400",,,yesno,,,brine pressure is ok and pump is running r,,FanMode,FanMode,,,,"3600",,,yesno,,,future use [SW>=104]r,,SyncHeaterDeicing,SyncHeaterDeicing,,,,"4700",,,yesno,,,synchronize heater while deicing [SW>=104]r,,SyncDeicing,SyncDeicing,,,,"4900",,,yesno,,,synchronize deicing process -r;wi,,OAWControlPumpPWM,OAW_Control_Pump_PWM,,,,"3700",,,UIN,,,reserved +r;wi,,OAWControlPumpPWM,OAW_Control_Pump_PWM,,,,"3700",,,UCH,,,reserved r,,TestFan,Test_Fan,,,,"3A00",,,UCH,,, r,,Pumin,Pumin,,,,"3D00",,,UCH,,,reserved [SW>=104]r,,RelayStarts,RelayCommutations,,,,"4D00",,,ULG,,,reserved @@ -64,13 +64,13 @@ r,,Pumin,Pumin,,,,"3D00",,,UCH,,,reserved [SW>=104]r,,TestHeater,Test_Heater,,,,"4800",,,UCH,,,reserved r,,ODUReady,ODUReady,,,,"2B00",,,yesno,,,start-up test of ODU was successful [SW>=104]r,,SourceTempMin,T_AirMin,,,,"2500",,,temp,,,minimum allowed air temperature -r,,FanStartSpeed,FanStartSpeed,,,,"2200",,,UIN,,,reserved +r,,FanStartSpeed,FanStartSpeed,,,,"2200",,,percent0,,,reserved r,,Free2,Free2,,,,"2100",,,UIN,,,reserved -r,,FanstableTime,FanstableTime,,,,"2000",,,UIN,,,reserved -r,,OffsetFanSpeed,OffsetFanSpeed,,,,"1F00",,,UIN,,,reserved +r,,FanstableTime,FanstableTime,,,,"2000",,,minutes0,,,reserved +r,,OffsetFanSpeed,OffsetFanSpeed,,,,"1F00",,,UCH,,,reserved r,,RelaisOut,RelaisOut,,,,"1E00",,,onoff,,,reserved r,,PumpSpeedControl,PumpSpeedControl,,,,"1900",,,UIN,,,reserved -r,,fanPWM,fan_PWM,,,,"1400",,,UIN,,,PWM value from hardware +r,,fanPWM,fan_PWM,,,,"1400",,,UCH,,,PWM value from hardware # ##### statistics #####,,,,,,,,,,,,, [SW>=104]r,,FanRuntimeMinutes,FanRuntimeMinutes,,,,"4C00",,,ULG,,min,fan run time [SW>=104]r,,HeaterRuntimeMinutes,HeaterRuntimeMinutes,,,,"4E00",,,ULG,,min,defroster run time @@ -80,6 +80,10 @@ r,,fanPWM,fan_PWM,,,,"1400",,,UIN,,,PWM value from hardware [SW>=104]r,,DeiceErrorStarts,DeiceErrorCommutations,,,,"5300",,,ULG,,,deice error cycles [SW>=104]r,,STBErrorStarts,STBErrorCommutations,,,,"5000",,,ULG,,,STB cycles [SW>=104]r,,PowerOnStarts,PowerOnCommutations,,,,"5400",,,ULG,,,power on cycles +# B521 service commands +*uw,,,,,,"B521","00",,,,,, + [SW<131]uw,,OMUControl,Control command from HMU to OMU,,,,,NewStatus,,appliancecode,,,new status,,,IGN:3,,,,Status,s,appliancecode,,,current status,LastStatus,s,appliancecode,,,last status,BrineOutletTemp,s,D2C,16,°C,brine outlet temperature,TempAirInlet,s,D2C,16,°C,air inlet temperature,,s,IGN,,,,FanSpeed,s,UCH,-10,/min,fan speed,FanPower,s,percent0,,,fan power +[SW>=131]uw,,OMUControl,Control command from HMU to OMU,,,,,NewStatus,,appliancecode,,,new status,,,IGN:7,,,,Status,s,appliancecode,,,current status,LastStatus,s,appliancecode,,,last status,BrineOutletTemp,s,D2C,16,°C,brine outlet temperature,TempAirInlet,s,D2C,16,°C,air inlet temperature,,s,IGN,,,,FanSpeed,s,UCH,-10,/min,fan speed,FanPower,s,percent0,,,fan power !include,hwcmode.inc,,,,,,,,,,,, !include,timer.inc,,,,,,,,,,,, !include,errors.inc,,,,,,,,,,,, diff --git a/src/de.yaml b/src/de.yaml index 6d7323e6..43707e50 100644 --- a/src/de.yaml +++ b/src/de.yaml @@ -3165,7 +3165,6 @@ defroster is running: defroster is running power 'NoiseReductionFactor: noise reduction factor to reduce fan speed': 'NoiseReductionFactor: noise reduction factor to reduce fan speed' 'T_AirMAX: maximum allowed air inlet temperature': 'T_AirMAX: maximum allowed air inlet temperature' -'CoolingActive: cooling active': 'Kühlung aktiv: cooling active' 'CoolingFanStartTemp: brine temperature to start fan while cooling': 'CoolingFanStartTemp: brine temperature to start fan while cooling' 'CoolingFanStopTemp: reserved': 'CoolingFanStopTemp: reserved' 'CoolingMaxFanSpeed: max. fan speed while cooling': 'CoolingMaxFanSpeed: max. fan speed while cooling' diff --git a/src/en.yaml b/src/en.yaml index 6bd12837..ec089c73 100644 --- a/src/en.yaml +++ b/src/en.yaml @@ -1520,7 +1520,7 @@ SystemDesiredFlowTemp: SystemDesiredFlowTemp 'EhpHeatBufferAvailable: heat buffer is available': 'EhpHeatBufferAvailable: heat buffer is available' Child protection: Child protection CoolingDay: CoolingDay -CoolingActive: CoolingActive +CoolingActive: cooling active 'EarnedEnergyOld: Contains earned energy sum stored from AMU last midnight. Required for data transmission between PCBs.': >- EarnedEnergyOld: Contains earned energy sum stored from AMU last midnight. Required for data transmission between PCBs. @@ -3005,7 +3005,6 @@ defroster is running: defroster is running power 'NoiseReductionFactor: noise reduction factor to reduce fan speed': 'NoiseReductionFactor: noise reduction factor to reduce fan speed' 'T_AirMAX: maximum allowed air inlet temperature': 'T_AirMAX: maximum allowed air inlet temperature' -'CoolingActive: cooling active': 'CoolingActive: cooling active' 'CoolingFanStartTemp: brine temperature to start fan while cooling': 'CoolingFanStartTemp: brine temperature to start fan while cooling' 'CoolingFanStopTemp: reserved': 'CoolingFanStopTemp: reserved' 'CoolingMaxFanSpeed: max. fan speed while cooling': 'CoolingMaxFanSpeed: max. fan speed while cooling' diff --git a/src/i18n.yaml b/src/i18n.yaml index 0b4a0c91..1afccf31 100644 --- a/src/i18n.yaml +++ b/src/i18n.yaml @@ -9285,10 +9285,11 @@ coolingday: - vaillant/15.uih.csv:sw_ge220:r::0x7c,0 coolingactive: first: CoolingActive - en: CoolingActive + en: cooling active de: Kühlung aktiv locations: - vaillant/15.uih.csv:sw_ge220:r::0x83,0 + - vaillant/e0.omu.csv:sw_ge130:r::0x59,0 earnedenergyoldcontainsearnedenergysumstoredfromamulastmidnightrequiredfordatatransmissionbetweenpcbs: first: >- EarnedEnergyOld: Contains earned energy sum stored from AMU last midnight. @@ -19917,12 +19918,6 @@ tairmaxmaximumallowedairinlettemperature: de: 'T_AirMAX: maximum allowed air inlet temperature' locations: - vaillant/e0.omu.csv::r::0x43,0 -coolingactivecoolingactive: - first: 'CoolingActive: cooling active' - en: 'CoolingActive: cooling active' - de: 'Kühlung aktiv: cooling active' - locations: - - vaillant/e0.omu.csv:sw_ge130:r::0x59,0 coolingfanstarttempbrinetemperaturetostartfanwhilecooling: first: 'CoolingFanStartTemp: brine temperature to start fan while cooling' en: 'CoolingFanStartTemp: brine temperature to start fan while cooling' diff --git a/src/vaillant/_templates.tsp b/src/vaillant/_templates.tsp index d2d785c9..a374ac80 100644 --- a/src/vaillant/_templates.tsp +++ b/src/vaillant/_templates.tsp @@ -457,6 +457,10 @@ model rTimeSlotWithoutTemp { @maxLength(2) ign_1: IGN; } +/** Status code */ +@values(Values_appliancecode) +scalar appliancecode extends UCH; + enum Values_daysel { selected: 0, Mo_Fr: 1, @@ -694,6 +698,29 @@ enum Values_rcmode { thermostat: 2, } +enum Values_appliancecode { + off: 0, + prerun: 1, + pump_prerun: 2, + ignition: 3, + on: 4, + overrun: 5, + fan_overrun: 6, + pump_overrun: 7, + shutdown: 8, + measure: 9, + hwc_desired: 10, + hwc_prerun: 11, + hwc_pump_prerun: 12, + hwc_ignition: 13, + hwc_on: 14, + hwc_overrun: 15, + hwc_fan_overrun: 16, + hwc_pump_overrun: 17, + hwc_shutdown: 18, + frost_protect: 34, +} + /** default *r for register */ @base(MF, 0x9, 0xd) model r {} diff --git a/src/vaillant/e0.omu.tsp b/src/vaillant/e0.omu.tsp index 62f2fe47..b5f08b87 100644 --- a/src/vaillant/e0.omu.tsp +++ b/src/vaillant/e0.omu.tsp @@ -111,7 +111,7 @@ namespace Omu { /** IDU_appliance_code: appliance code, copy from AMU */ @ext(0x3e, 0) - model IDUApplianceCode is ReadonlyRegister; + model IDUApplianceCode is ReadonlyRegister; /** CompressorActive: compressor is running or pre or post running */ @ext(0x17, 0) @@ -135,7 +135,7 @@ namespace Omu { /** OAW_Control_Pump_PWM: reserved */ @ext(0x37, 0) - model OAWControlPumpPWM is InstallRegister; + model OAWControlPumpPWM is InstallRegister; /** Test_Fan */ @ext(0x3a, 0) @@ -151,7 +151,7 @@ namespace Omu { /** FanStartSpeed: reserved */ @ext(0x22, 0) - model FanStartSpeed is ReadonlyRegister; + model FanStartSpeed is ReadonlyRegister; /** Free2: reserved */ @ext(0x21, 0) @@ -159,11 +159,11 @@ namespace Omu { /** FanstableTime: reserved */ @ext(0x20, 0) - model FanstableTime is ReadonlyRegister; + model FanstableTime is ReadonlyRegister; /** OffsetFanSpeed: reserved */ @ext(0x1f, 0) - model OffsetFanSpeed is ReadonlyRegister; + model OffsetFanSpeed is ReadonlyRegister; /** RelaisOut: reserved */ @ext(0x1e, 0) @@ -175,8 +175,15 @@ namespace Omu { /** fan_PWM: PWM value from hardware */ @ext(0x14, 0) - model FanPWM is ReadonlyRegister; + model FanPWM is ReadonlyRegister; // ##### statistics ##### + // B521 service commands + + /** default *uw */ + @write + @passive + @base(MF, 0x21, 0) + model uw {} @condition(Id.Id.sw, ">=104") namespace Sw_ge104 { /** AirInletSensor_Offset: calibration value for air inlet sensor */ @@ -313,7 +320,7 @@ namespace Omu { } @condition(Id.Id.sw, ">=130") namespace Sw_ge130 { - /** CoolingActive: cooling active */ + /** CoolingActive */ @ext(0x59, 0) model CoolingActive is ReadonlyRegister; @@ -333,6 +340,98 @@ namespace Omu { @ext(0x5d, 0) model CoolingTest is InstallRegister; } + @condition(Id.Id.sw, "<131") + namespace Sw_lt131 { + /** Control command from HMU to OMU */ + @inherit(uw) + @ext + model OMUControl { + /** new status */ + NewStatus: appliancecode; + + @maxLength(3) + ign: IGN; + + /** current status */ + @in + Status: appliancecode; + + /** last status */ + @in + LastStatus: appliancecode; + + /** brine outlet temperature */ + @in + @unit("°C") + @divisor(16) + BrineOutletTemp: D2C; + + /** air inlet temperature */ + @in + @unit("°C") + @divisor(16) + TempAirInlet: D2C; + + @in + ign_1: IGN; + + /** fan speed */ + @in + @unit("/min") + @factor(10) + FanSpeed: UCH; + + /** fan power */ + @in + FanPower: percent0; + } + } + @condition(Id.Id.sw, ">=131") + namespace Sw_ge131 { + /** Control command from HMU to OMU */ + @inherit(uw) + @ext + model OMUControl { + /** new status */ + NewStatus: appliancecode; + + @maxLength(7) + ign: IGN; + + /** current status */ + @in + Status: appliancecode; + + /** last status */ + @in + LastStatus: appliancecode; + + /** brine outlet temperature */ + @in + @unit("°C") + @divisor(16) + BrineOutletTemp: D2C; + + /** air inlet temperature */ + @in + @unit("°C") + @divisor(16) + TempAirInlet: D2C; + + @in + ign_1: IGN; + + /** fan speed */ + @in + @unit("/min") + @factor(10) + FanSpeed: UCH; + + /** fan power */ + @in + FanPower: percent0; + } + } /** included parts */ union _includes {