Anbindung Wärmepumpe Lambda EU08L/EU13L/EU15L

Begonnen von FhemPiUser, 31 Oktober 2023, 15:44:07

Vorheriges Thema - Nächstes Thema

ringidigiding

hier noch die gekürzte Definition meines Lambda Modbus Objektes in fhem. Hat in den ersten Post nicht mehr reingepasst
define Lambda ModbusAttr 42 15 192.168.3.125:502 TCP
attr Lambda DbLogInclude GeneralAmbient-Status,GeneralAmbient-FehlerCode,\
GeneralEManager-Status,GeneralEManager-FehlerCode,GeneralEManager-ActualPower,GeneralEManager-ActualPowerConsumption,\
HeatPump-Status,HeatPump-FehlerStatus,HeatPump-COP,HeatPump-CompressorRating,HeatPump-FIPowerConsumption,HeatPump-QpHeating,HeatPump-TEQIn,HeatPump-TEQOut,HeatPump-TFlow,HeatPump-TReturn,HeatPump-VolumeSink,HeatPump-VolumeSource,\
Boiler-Status,Boiler-Fehlercode,Boiler-Temperatur,\
Heizkreis1-FlowLineTemperatur,\
Heizkreis2-FlowLineTemperatur,\
Puffer-FehlerNummer,Puffer-ActualHighTemperature
attr Lambda dev-h-defPoll 1
attr Lambda dev-timing-commDelay 0.2
attr Lambda dev-timing-sendDelay 0.2
attr Lambda disable 0
attr Lambda enableControlSet 1
attr Lambda event-on-change-reading .*
attr Lambda icon sani_heating_heatpump
attr Lambda obj-h00000-map 0:kein Fehler
attr Lambda obj-h00000-reading GeneralAmbient-FehlerCode
attr Lambda obj-h00001-map 0:aus, 1:Automatik, 2:manuell, 3:Fehler
attr Lambda obj-h00001-reading GeneralAmbient-Status
attr Lambda obj-h00002-expr $val / 10
attr Lambda obj-h00002-format %.1f °C
attr Lambda obj-h00002-reading GeneralAmbient-ActualAmbientTemp
attr Lambda obj-h00003-expr $val / 10
attr Lambda obj-h00003-format %.1f °C
attr Lambda obj-h00003-reading GeneralAmbient-AverageAmbientTemp
attr Lambda obj-h00004-expr $val / 10
attr Lambda obj-h00004-format %.1f °C
attr Lambda obj-h00004-reading GeneralAmbient-CalculatedAmbientTemp
attr Lambda obj-h00100-map 0:NONE, 1:MESSAGE, 2:WARNING, 3:ALARM, 4:FAULT
attr Lambda obj-h00100-reading GeneralEManager-FehlerCode
attr Lambda obj-h00101-map 0:aus, 1:Automatik, 2:manuell, 3:Fehler, 4:offline
attr Lambda obj-h00101-reading GeneralEManager-Status
attr Lambda obj-h00102-format %d W
attr Lambda obj-h00102-reading GeneralEManager-ActualPower
attr Lambda obj-h00103-format %d W
attr Lambda obj-h00103-reading GeneralEManager-ActualPowerConsumption
attr Lambda obj-h00104-format %d W
attr Lambda obj-h00104-reading GeneralEManager-PowerConsumptionSetpoint
attr Lambda obj-h01000-map 0:NONE, 1:MESSAGE, 2:WARNING, 3:ALARM, 4:FAULT
attr Lambda obj-h01000-reading HeatPump-FehlerStatus
attr Lambda obj-h01001-reading HeatPump-FehlerNummer
attr Lambda obj-h01002-map 0:INIT, 1:REFERENCE, 2:Sperrzeit, 3:betriebsbereit, 4:START PUMPS, 5:START COMPRESSOR, 6:Vor-Regelbetrieb, 7:Regelbetrieb, 8:Not Used, 9:COOLING, 10:DEFROSTING, 20:Stop, 30:FAULT-LOCK, 31:ALARM-BLOCK, 40:ERROR-RESET
attr Lambda obj-h01002-reading HeatPump-Status
attr Lambda obj-h01003-map 0:STBY, 1:Heizen, 2:Brauchwasser, 3:CC, 4:CIRCULATE, 5:DEFROST, 6:OFF, 7:FROST, 8:STBY-FROST, 9:Not used, 10:SUMMER, 11:HOLIDAY, 12:ERROR, 13:WARNING, 14:INFO-MESSAGE, 15:TIME-BLOCK, 16:RELEASE-BLOCK, 17:MINTEMP-BLOCK, 18:FIRMWARE-DOWNLOAD
attr Lambda obj-h01003-reading HeatPump-OperatingStatus
attr Lambda obj-h01004-expr $val / 100
attr Lambda obj-h01004-format %.1f °C
attr Lambda obj-h01004-reading HeatPump-TFlow
attr Lambda obj-h01005-expr $val / 100
attr Lambda obj-h01005-format %.1f °C
attr Lambda obj-h01005-reading HeatPump-TReturn
attr Lambda obj-h01006-expr $val / 100
attr Lambda obj-h01006-format %.1f [l/min]
attr Lambda obj-h01006-reading HeatPump-VolumeSink
attr Lambda obj-h01007-expr $val / 100
attr Lambda obj-h01007-format %.1f °C
attr Lambda obj-h01007-reading HeatPump-TEQIn
attr Lambda obj-h01008-expr $val / 100
attr Lambda obj-h01008-format %.1f °C
attr Lambda obj-h01008-reading HeatPump-TEQOut
attr Lambda obj-h01009-expr $val / 100
attr Lambda obj-h01009-format %.1f [l/min]
attr Lambda obj-h01009-reading HeatPump-VolumeSource
attr Lambda obj-h01010-expr $val / 100
attr Lambda obj-h01010-format %.1f %
attr Lambda obj-h01010-reading HeatPump-CompressorRating
attr Lambda obj-h01011-expr $val / 10
attr Lambda obj-h01011-format %.1f kW
attr Lambda obj-h01011-reading HeatPump-QpHeating
attr Lambda obj-h01012-format %.f W
attr Lambda obj-h01012-reading HeatPump-FIPowerConsumption
attr Lambda obj-h01013-expr $val / 100
attr Lambda obj-h01013-reading HeatPump-COP
attr Lambda obj-h01014-reading HeatPump-h01014
attr Lambda obj-h01015-reading HeatPump-h01015
attr Lambda obj-h01016-reading HeatPump-h01016
attr Lambda obj-h01017-reading HeatPump-h01017
attr Lambda obj-h01018-reading HeatPump-h01018
attr Lambda obj-h01019-reading HeatPump-h01019
attr Lambda obj-h01050-reading HeatPump-SetErrorQuit
attr Lambda obj-h02000-map 0:kein Fehler
attr Lambda obj-h02000-reading Boiler-Fehlercode
attr Lambda obj-h02001-map 0:standby, 1:DHW, 2:Legionellen, 3:Sommer, 4:Frost, 5:Urlaub, 6:prio-Stop 7:Fehler, 8:aus, 9:prompt-DHW, 10:trailing-stop, 11:temp-lock 12:standby-Frost
attr Lambda obj-h02001-reading Boiler-Status
attr Lambda obj-h02002-expr $val / 10
attr Lambda obj-h02002-format %.1f °C
attr Lambda obj-h02002-reading Boiler-Temperatur
attr Lambda obj-h02003-expr $val / 10
attr Lambda obj-h02003-format %.1f °C
attr Lambda obj-h02003-reading Boiler-MinTemperatur
attr Lambda obj-h02050-expr $val / 10
attr Lambda obj-h02050-format %.1f °C
attr Lambda obj-h02050-reading Boiler-MaxTemperatur
attr Lambda obj-h02050-set 1
attr Lambda obj-h02050-setexpr $val * 10
attr Lambda obj-h03000-map 0:No Error
attr Lambda obj-h03000-reading Puffer-FehlerNummer
attr Lambda obj-h03001-map 0:STBY, 1:HEATING, 2:COOLING, 3:SUMMER, 4:FROST, 5:HOLIDAY, 6:PRIO-STOP, 7:ERROR, 8:OFF, 9:STBY-FROST
attr Lambda obj-h03001-reading Puffer-Status
attr Lambda obj-h03002-expr $val / 10
attr Lambda obj-h03002-format %.1f °C
attr Lambda obj-h03002-reading Puffer-ActualHighTemperature
attr Lambda obj-h03003-expr $val / 10
attr Lambda obj-h03003-format %.1f °C
attr Lambda obj-h03003-reading Puffer-ActualLowTemperature
attr Lambda obj-h03050-expr $val / 10
attr Lambda obj-h03050-format %.1f °C
attr Lambda obj-h03050-reading Puffer-MaxPufferTemperature
attr Lambda obj-h05000-reading Heizkreis1-FehlerNummer
attr Lambda obj-h05001-map 0:HEATING,  1:ECO,  2:COOLING,  3:FLOORDRY,  4:FROST,  5:MAX-TEMP,  6:ERROR,  7:SERVICE,  8:HOLIDAY,  9:CH-SUMMER,  10:CC-WINTER,  11:PRIO-STOP,  12:OFF,  13:RELEASE-OFF,  14:TIME-OFF,  15:STBY,  16:STBY-HEATING,  17:STBY-ECO,  18:STBY-COOLING,  19:STBY-FROST,  20:STBY-FLOORDRY
attr Lambda obj-h05001-reading Heizkreis1-Status
attr Lambda obj-h05002-expr $val / 10
attr Lambda obj-h05002-format %.1f °C
attr Lambda obj-h05002-reading Heizkreis1-FlowLineTemperatur
attr Lambda obj-h05003-expr $val / 10
attr Lambda obj-h05003-format %.1f °C
attr Lambda obj-h05003-reading Heizkreis1-ReturnLineTemperatur
attr Lambda obj-h05004-expr $val / 10
attr Lambda obj-h05004-format %.1f °C
attr Lambda obj-h05004-reading Heizkreis1-RoomDeviceTemperature
attr Lambda obj-h05005-expr $val / 10
attr Lambda obj-h05005-format %.1f °C
attr Lambda obj-h05005-reading Heizkreis1-SetpointFlowLineTemperature
attr Lambda obj-h05006-map 0:OFF(RW),  1:MANUAL(R),  2:AUTOMATIK(RW),  3:AUTO-HEATING(RW),  4:AUTO-COOLING(RW),  5:FROST(RW),  6:SUMMER(RW),  7:FLOOR-DRY(R)
attr Lambda obj-h05006-reading Heizkreis1-OperatingMode
attr Lambda obj-h05050-expr $val / 10
attr Lambda obj-h05050-format %.1f °C
attr Lambda obj-h05050-poll 1
attr Lambda obj-h05050-reading Heizkreis1-FlowLineTemperatureOffset
attr Lambda obj-h05050-set 1
attr Lambda obj-h05050-type S16
attr Lambda obj-h05051-expr $val / 10
attr Lambda obj-h05051-format %.1f °C
attr Lambda obj-h05051-reading Heizkreis1-SetpointRoomHeatingTemperature
attr Lambda obj-h05052-expr $val / 10
attr Lambda obj-h05052-format %.1f °C
attr Lambda obj-h05052-reading Heizkreis1-SetpointRoomCoolingTemperature
attr Lambda obj-h05100-reading Heizkreis2-FehlerNummer
attr Lambda obj-h05101-map 0:HEATING,  1:ECO,  2:COOLING,  3:FLOORDRY,  4:FROST,  5:MAX-TEMP,  6:ERROR,  7:SERVICE,  8:HOLIDAY,  9:CH-SUMMER,  10:CC-WINTER,  11:PRIO-STOP,  12:OFF,  13:RELEASE-OFF,  14:TIME-OFF,  15:STBY,  16:STBY-HEATING,  17:STBY-ECO,  18:STBY-COOLING,  19:STBY-FROST,  20:STBY-FLOORDRY
attr Lambda obj-h05101-reading Heizkreis2-Status
attr Lambda obj-h05102-expr $val / 10
attr Lambda obj-h05102-format %.1f °C
attr Lambda obj-h05102-reading Heizkreis2-FlowLineTemperatur
attr Lambda obj-h05103-expr $val / 10
attr Lambda obj-h05103-format %.1f °C
attr Lambda obj-h05103-reading Heizkreis2-ReturnLineTemperatur
attr Lambda obj-h05104-expr $val / 10
attr Lambda obj-h05104-format %.1f °C
attr Lambda obj-h05104-reading Heizkreis2-RoomDeviceTemperature
attr Lambda obj-h05105-expr $val / 10
attr Lambda obj-h05105-format %.1f °C
attr Lambda obj-h05105-reading Heizkreis2-SetpointFlowLineTemperature
attr Lambda obj-h05106-map 0:OFF(RW),  1:MANUAL(R),  2:AUTOMATIK(RW),  3:AUTO-HEATING(RW),  4:AUTO-COOLING(RW),  5:FROST(RW),  6:SUMMER(RW),  7:FLOOR-DRY(R)
attr Lambda obj-h05106-reading Heizkreis2-OperatingMode
attr Lambda obj-h05150-expr $val / 10
attr Lambda obj-h05150-format %.1f °C
attr Lambda obj-h05150-reading Heizkreis2-FlowLineTemperatureOffset
attr Lambda obj-h05151-expr $val / 10
attr Lambda obj-h05151-format %.1f °C
attr Lambda obj-h05151-reading Heizkreis2-SetpointRoomHeatingTemperature
attr Lambda obj-h05152-expr $val / 10
attr Lambda obj-h05152-format %.1f °C
attr Lambda obj-h05152-reading Heizkreis2-SetpointRoomCoolingTemperature
attr Lambda room Technik->Wärmepumpe
attr Lambda silentReconnect 1
attr Lambda stateFormat { sprintf("OP-Status: %s <br/>Status: %s <br/>Lambda COP: %.2f True COP: %.2f<br/>Wärmeleistung: %.1f kW elektr. Leistung %.0f W", ReadingsVal($name, "HeatPump-OperatingStatus", "-"), ReadingsVal($name, "HeatPump-Status", "-"), ReadingsNum($name, "HeatPump-COP", "0"), ReadingsNum($name, "TrueCOP-Now", "0"), ReadingsNum($name, "HeatPump-QpHeating", "0"), ReadingsNum($name, "HeatPump-FIPowerConsumption", "0") ) }
attr Lambda userReadings HeatPump-QEnergy:HeatPump-QpHeating.* integral {ReadingsNum("Lambda","HeatPump-QpHeatingOld",0)/3600},\
EnergieTH-Total:HeatPump-QpHeating.* integral {my $val = ReadingsVal("Lambda","HeatPump-Status","");; if ( $val eq "START COMPRESSOR" or $val eq "Vor-Regelbetrieb" or $val eq "Regelbetrieb" ) { return ReadingsNum("Lambda","HeatPump-QpHeatingOld",0)/3600;;} return 0;;},\
\
\
HeatPump-QpHeatingOld:HeatPump-QpHeating.* {my $val = ReadingsNum("Lambda","HeatPump-QpHeating",0);; if ( $val > 20 ) { return 3;;} return $val;;},\
EnergieTH-Today:EnergieTH-Total.* { sprintf("%.1f kWh", ReadingsNum("Lambda","EnergieTH-Total",0) - ReadingsNum("Lambda","EnergieTH-TotalYesterday",0) ) },\
TrueCOP-Now:HeatPump-QpHeating.* { sprintf("%.1f", ReadingsNum($name,"HeatPump-QpHeating",0) / ( ReadingsNum("LEM_Waermepumpe","em_0_total_act_power",-1) / 1000 ) ) },\
TrueCOP-Today:HeatPump-QpHeating.* { sprintf("%.1f", ReadingsNum($name,"EnergieTH-Today",0) / ( ReadingsNum("LEM_Waermepumpe","ENERGY_Today",-1) / 1000 ) ) },\

attr Lambda verbose 1
#  DEF        42 15 192.168.3.125:502 TCP
#  DeviceName 192.168.3.125:502
#  EXPECT    idle
#  FD        4
#  FUUID      64b0b058-f33f-641a-aba6-7781e162f4ff5922
#  FVERSION  98_ModbusAttr.pm:0.277000/2023-06-23
#  IODev      Lambda
#  Interval  15
#  LASTOPEN  1709168437.36007
#  LeadingZeros 1
#  MODBUSID  42
#  MODE      master
#  MODULEVERSION Modbus 4.5.5 - 9.5.2023
#  NAME      Lambda
#  NOTIFYDEV  global
#  NR        1210
#  NTFY_ORDER 50-Lambda
#  PARTIAL   
#  PROTOCOL  TCP
#  STATE      OP-Status: Heizen <br/>Status: Regelbetrieb <br/>Lambda COP: 4.28 True COP: 3.70<br/>Wärmeleistung: 4.7 kW elektr. Leistung 1090 W

# ... truncated to 50k, original length 52948

FhemPiUser

Hast Du mal in der lambda steuerung geschaut, ob die befehle nicht ausgeführt wurden, auch wenn du es in fhem nicht siehst? Das Auslesen per modbus geht bei manchen beschreibbaren registern wie operating mode nicht richtig.

ringidigiding

#17
Ja, hatte ich schon überprüft. Auf der Lambda Seite steht immer noch der alte Wert, der sich nicht verändert hat.
Habe jetzt aber auch noch einmal Deine Defintion mit meiner verglichen, und den Fehler gefunden.
Das Problem saß mal wieder wie üblich auf meiner Seite vor dem Bildschirm. Nachdem ich das Attribut dev-h-write mit dem Wert 16 angelegt hatte, kann ich jetzt auch Werte zurückschreiben.
Jetzt muss ich nur noch herausfinden, warum bei mir einige Parameter immer den Wert 62536 anzeigen.

Gerd

Zitat von: FhemPiUser am 01 März 2024, 19:31:01Hast Du mal in der lambda steuerung geschaut, ob die befehle nicht ausgeführt wurden, auch wenn du es in fhem nicht siehst? Das Auslesen per modbus geht bei manchen beschreibbaren registern wie operating mode nicht richtig.
Moin,
da ich mich auch gerade beschäftige mien neu LambdaEU08 einzubinden, was auch gut funktioniert, mal eine Frage.
Du beschreibst die Register obwohl die nicht richtig auslesbar sind ?

Also bei mir sind es folgende Register die keine plausiblen Werte liefern:
 
Setpoint flow line temp. 5005
Operating mode 5006
T-EQout 1008

Wie schaut es da bei Euch aus ?


FhemPiUser

Ja, ich konnte den mode durch beschreiben ändern auch wenn das auslesen keine plausiblen werte lieferte.

einfach mal schreiben ausprobieren und per vnc schauen, ob sich das in der steuerung ausgewirkt hat

Gerd

ok, das habe ich mal probiert aber wen ich zb. den OP-Mode auf "0" schreibe, verstellt der sich nach irgendeiner Zeit wieder auf "Heizen".
Es läuft dann, leider auch ohne das im Haus Wärme benötigt wird (Heizkörper), die Heizkreispumpe.

Mal sehen wie sich das lösen lässt.

Aber schon mal Danke für den Tip und die "Vorarbeit"

Mathias R

Hallo,
ich beschreibe die Lambda teilweise auch mit mbpoll, Beispiel Register 5050 auf 50 setzen:
mbpoll -0 -r 5050 192.168.x.x 50 230
Bei negativen Werten sind 65536 zu addieren, also -10 ergibt somit -10 + 65536 = 65536.
Das schreiben per mbpoll funktioniert bei mir aber nur, wenn ich gleichzeitig mindestens ein folgendes Register mit beschreibe (oben die 5051 mit 230).
Gruß, Mathias

herbert19

Habe eine neue Lambda EU08L Wärmepumpe und kann die Daten wie hier im Forum beschrieben auslesen.

Ab Januar '25 habe ich einen dynamischen Stromtarif und möchte dann die Wärmepumpe
automatisch aktivieren, wenn der Strom laut Anbieter günstig ist.

Gibt es da Tipps?
Bin leider noch nicht sehr gut im FHEM.

FhemPiUser

#23
Es gibt hier noch  Dokumentation aller Modbus-Register für die Lambda inkl. einiger undokumentierter Register.

Einige davon habe ich mal in ModbusAttr als Attribute eingefügt und poste ich unten, falls jemand Interesse hat. Für mich ist vor allem die Lüfterdrehzahl (EqM-Rating in % bzw. absolut als EqM_Rating) sowie das Setzen der Maximalleistungen interessant.

attr Lambda_EU13L obj-h1025-poll 1
attr Lambda_EU13L obj-h1025-reading Hp_VdA_Rating
attr Lambda_EU13L obj-h1025-type U16
attr Lambda_EU13L obj-h1026-expr $val/100
attr Lambda_EU13L obj-h1026-poll 1
attr Lambda_EU13L obj-h1026-reading Hp_Hot_Gas_Temperature
attr Lambda_EU13L obj-h1026-type U16
attr Lambda_EU13L obj-h1027-expr $val/100
attr Lambda_EU13L obj-h1027-poll 1
attr Lambda_EU13L obj-h1027-reading Hp_Subcooling_Temperature
attr Lambda_EU13L obj-h1027-type U16
attr Lambda_EU13L obj-h1028-expr $val/100
attr Lambda_EU13L obj-h1028-poll 1
attr Lambda_EU13L obj-h1028-reading Hp_Suction_Gas_Temperature
attr Lambda_EU13L obj-h1028-type U16
attr Lambda_EU13L obj-h1029-expr $val/100
attr Lambda_EU13L obj-h1029-poll 1
attr Lambda_EU13L obj-h1029-reading Hp_Condensation_Temperature
attr Lambda_EU13L obj-h1029-type U16
attr Lambda_EU13L obj-h1030-expr $val/100
attr Lambda_EU13L obj-h1030-poll 1
attr Lambda_EU13L obj-h1030-reading Hp_Evaporation_Temperature
attr Lambda_EU13L obj-h1030-type U16
attr Lambda_EU13L obj-h1031-poll 1
attr Lambda_EU13L obj-h1031-reading Hp_EqM_Rating
attr Lambda_EU13L obj-h1031-type U16
attr Lambda_EU13L obj-h1032-poll 1
attr Lambda_EU13L obj-h1032-expr $val/100
attr Lambda_EU13L obj-h1032-reading Hp_Expansion_Valve_Opening_Angle
attr Lambda_EU13L obj-h1032-type U16
attr Lambda_EU13L obj-h1051-poll 1
attr Lambda_EU13L obj-h1051-expr $val/10
attr Lambda_EU13L obj-h1051-setexpr $val*10
attr Lambda_EU13L obj-h1051-reading Hp_DHW_Output_Power_at_15C
attr Lambda_EU13L obj-h1051-set 1
attr Lambda_EU13L obj-h1051-type u16
attr Lambda_EU13L obj-h1052-poll 1
attr Lambda_EU13L obj-h1052-expr $val/10
attr Lambda_EU13L obj-h1052-setexpr $val*10
attr Lambda_EU13L obj-h1052-reading Hp_Heating_Min_Output_Power_at_15C
attr Lambda_EU13L obj-h1052-set 1
attr Lambda_EU13L obj-h1052-type u16
attr Lambda_EU13L obj-h1053-poll 1
attr Lambda_EU13L obj-h1053-expr $val/10
attr Lambda_EU13L obj-h1053-setexpr $val*10
attr Lambda_EU13L obj-h1053-reading Hp_Heating_Max_Output_Power_at_15C
attr Lambda_EU13L obj-h1053-set 1
attr Lambda_EU13L obj-h1053-type u16
attr Lambda_EU13L obj-h1054-poll 1
attr Lambda_EU13L obj-h1054-expr $val/10
attr Lambda_EU13L obj-h1054-setexpr $val*10
attr Lambda_EU13L obj-h1054-reading Hp_Heating_Min_Output_Power_at_0C
attr Lambda_EU13L obj-h1054-set 1
attr Lambda_EU13L obj-h1054-type u16
attr Lambda_EU13L obj-h1055-poll 1
attr Lambda_EU13L obj-h1055-expr $val/10
attr Lambda_EU13L obj-h1055-setexpr $val*10
attr Lambda_EU13L obj-h1055-reading Hp_Heating_Max_Output_Power_at_0C
attr Lambda_EU13L obj-h1055-set 1
attr Lambda_EU13L obj-h1055-type u16
attr Lambda_EU13L obj-h1056-poll 1
attr Lambda_EU13L obj-h1056-expr $val/10
attr Lambda_EU13L obj-h1056-setexpr $val*10
attr Lambda_EU13L obj-h1056-reading Hp_Heating_Min_Output_Power_at_-15C
attr Lambda_EU13L obj-h1056-set 1
attr Lambda_EU13L obj-h1056-type u16
attr Lambda_EU13L obj-h1057-poll 1
attr Lambda_EU13L obj-h1057-expr $val/10
attr Lambda_EU13L obj-h1057-setexpr $val*10
attr Lambda_EU13L obj-h1057-reading Hp_Heating_Max_Output_Power_at_-15C
attr Lambda_EU13L obj-h1057-set 1
attr Lambda_EU13L obj-h1057-type u16
attr Lambda_EU13L userReadings [...], Hp_EqM-Rating:Hp_EqM_Rating.* { return sprintf("%.1f",(ReadingsVal("Lambda_EU13L","Hp_EqM_Rating","0")*100/10000));;;;},Hp_Heating_Max_Output_Power_calculated:General_Ambient_Calculated_ambient_temp.* {
  my $temp = ReadingsVal("Lambda_EU13L","General_Ambient_Calculated_ambient_temp","0");
  my $maxPower = 13;
 
  if ($temp < 0) {
    $maxPower = ReadingsVal("Lambda_EU13L","Hp_Heating_Max_Output_Power_at_0C","10")+((ReadingsVal("Lambda_EU13L","Hp_Heating_Max_Output_Power_at_-15C","13")-ReadingsVal("Lambda_EU13L","Hp_Heating_Max_Output_Power_at_0C","10"))*abs($temp/15));
  } elsif ($temp < 15) {
    $maxPower = ReadingsVal("Lambda_EU13L","Hp_Heating_Max_Output_Power_at_15C","5")+((ReadingsVal("Lambda_EU13L","Hp_Heating_Max_Output_Power_at_0C","10")-ReadingsVal("Lambda_EU13L","Hp_Heating_Max_Output_Power_at_15C","5"))*abs(1-$temp/15));
  } else {
    $maxPower = ReadingsVal("Lambda_EU13L","Hp_Heating_Max_Output_Power_at_15C","5");
  }   
 
  return sprintf("%.1f",$maxPower);
},Hp_Heating_Min_Output_Power_calculated:General_Ambient_Calculated_ambient_temp.* {
  my $temp = ReadingsVal("Lambda_EU13L","General_Ambient_Calculated_ambient_temp","0");
  my $minPower = 1.4;
 
  if ($temp < 0) {
    $minPower = ReadingsVal("Lambda_EU13L","Hp_Heating_Min_Output_Power_at_0C","6")+((ReadingsVal("Lambda_EU13L","Hp_Heating_Min_Output_Power_at_-15C","8")-ReadingsVal("Lambda_EU13L","Hp_Heating_Min_Output_Power_at_0C","6"))*abs($temp/15));
  } elsif ($temp < 15) {
    $minPower = ReadingsVal("Lambda_EU13L","Hp_Heating_Min_Output_Power_at_15C","1.4")+((ReadingsVal("Lambda_EU13L","Hp_Heating_Min_Output_Power_at_0C","6")-ReadingsVal("Lambda_EU13L","Hp_Heating_Min_Output_Power_at_15C","1.4"))*abs(1-$temp/15));
  } else {
    $minPower = ReadingsVal("Lambda_EU13L","Hp_Heating_Min_Output_Power_at_15C","1.4");
  }   
 
  return sprintf("%.1f",$minPower);
}

WW

Zitat von: FhemPiUser am 07 November 2025, 16:48:14...Für mich ist vor allem die Lüfterdrehzahl (EqM-Rating in % bzw. absolut als EqM_Rating) sowie das Setzen der Maximalleistungen interessant.
...

Funktioniert das Setzen der Min- bzw. Maxleistungen für -15°C, 0°C und 15°C auch ohne höhere Benutzerlevel? Die entsprechenden Masken in der Lambda sind ja für die Anwenderlevel gesperrt.

Könntest du bitte die entsprechenden Set-Befehle für die Leistungsbegrenzungs-Register noch mitteilen.

Hast du eine Ahnung, wofür das Register 1014 (Modbus request release password) benötigt wird?

Danke
Willi
FHEM 6.x im Docker-Container (OMV4 auf ASRock J3455-ITX), FHEM 6.0 auf Raspi, Fritzbox 7490, CUL433, CUL868, Jeelink868, SIGNALduino, LaCrosseGateway, Shelly, Sonoff, ESP8266, ESP32, ESP32-Cam, LaCrosse, OneWire, Zigbee (Sonoff, Blitzwolf, IKEA, Lidl), Azzurro-WR/Pylontech-Bat., Lambda-Wärmepumpe

FhemPiUser

#25
Ich habe es gerade getestet: Ich konte die Leistung einfach per Modbus setzen. 

Einfach in der FHEM GUI oben im Dropdown-Menu set-Befehl des Devices "Hp_Heating_Max/Min_Output_Power_at_15/0/-15" auswählen und den Wert dahinter in KW eingeben und set drücken. Oder natürlich "set Lambda_EU13L Hp_Heating_<Max/Min>_Output_Power_at_<15/0/-15> <Wert>"

Das Passwort-Register braucht man dafür nicht und habe ich auch noch nie benutzt.




cwagner

#26
Nach der jüngsten ModBus-Doku vom Juni 2026 habe ich für meine Lambda die Attribute auf Basis der hier geposteten Beispiele (vielen Dank dafür) und auch den hilfreichen Link ins Github überarbeitet. Ich habe 2 Heizkreise HK1 und HK2, daher kommen die entsprechenden Register einmal als 50XX und einmal als 51XX. Auch habe ich eine thermische Solaranlage eingebunden, deren Register mit 4 beginnen. Wo es mir sinnvoll schien oder in der Doku ausdrücklich empfohlen war, habe ich die Register mit dem obj_XXXX-set 1 schreibbar gemacht. Das Ergebnis stelle ich hier zur Diskussion:
attr Lambda_WP dev-h-combine 40
attr Lambda_WP dev-h-defPoll 1
attr Lambda_WP dev-h-read 3
attr Lambda_WP dev-h-write 16
attr Lambda_WP dev-timing-commDelay 0.1
attr Lambda_WP dev-timing-sendDelay 0.1
attr Lambda_WP dev-timing-timeout 15
attr Lambda_WP dev-type-S16-len 1
attr Lambda_WP dev-type-S16-unpack s>
attr Lambda_WP dev-type-S32-len 2
attr Lambda_WP dev-type-S32-revRegs 0
attr Lambda_WP dev-type-S32-unpack l>
attr Lambda_WP dev-type-U16-len 1
attr Lambda_WP dev-type-U16-revRegs 0
attr Lambda_WP dev-type-U16-unpack S>
attr Lambda_WP dev-type-U32-revRegs 0
attr Lambda_WP dev-type-U32-unpack N
attr Lambda_WP disable 0
attr Lambda_WP event-on-change-reading .*
attr Lambda_WP maxTimeoutsToReconnect 3
attr Lambda_WP nextOpenDelay 5
attr Lambda_WP obj-h0000-map 0:Kein Fehler
attr Lambda_WP obj-h0000-mapDefault unbekannt
attr Lambda_WP obj-h0000-poll 1
attr Lambda_WP obj-h0000-reading Fehlernummer_allgemein
attr Lambda_WP obj-h0000-type S16
attr Lambda_WP obj-h0001-map 0:Aus, 1:Automatik, 2:Manuell, 3:Störung
attr Lambda_WP obj-h0001-mapDefault unknown
attr Lambda_WP obj-h0001-poll 1
attr Lambda_WP obj-h0001-reading Betriebsmodus_allgemein
attr Lambda_WP obj-h0001-type U16
attr Lambda_WP obj-h0002-expr $val/10
attr Lambda_WP obj-h0002-format %.1f °C
attr Lambda_WP obj-h0002-poll 1
attr Lambda_WP obj-h0002-reading T_Aussen
attr Lambda_WP obj-h0002-type S16
attr Lambda_WP obj-h0003-expr $val/10
attr Lambda_WP obj-h0003-format %.1f °C
attr Lambda_WP obj-h0003-poll 1
attr Lambda_WP obj-h0003-reading T_Aussen_1h_Mittel
attr Lambda_WP obj-h0003-type S16
attr Lambda_WP obj-h0004-expr $val/10
attr Lambda_WP obj-h0004-format %.1f °C
attr Lambda_WP obj-h0004-poll 1
attr Lambda_WP obj-h0004-reading T_Aussen_berechnet
attr Lambda_WP obj-h0004-type S16
attr Lambda_WP obj-h0100-map 0=Kein Fehler
attr Lambda_WP obj-h0100-poll 1
attr Lambda_WP obj-h0100-reading Fehlernummer_E-Manager
attr Lambda_WP obj-h0100-type S16
attr Lambda_WP obj-h0101-poll 1
attr Lambda_WP obj-h0101-reading Betriebsmodus_E-Manager
attr Lambda_WP obj-h0101-type U16
attr Lambda_WP obj-h0102-format %.0f W
attr Lambda_WP obj-h0102-poll 1
attr Lambda_WP obj-h0102-reading Netzbezug
attr Lambda_WP obj-h0102-set 1
attr Lambda_WP obj-h0102-type S16
attr Lambda_WP obj-h0103-format %.0f W
attr Lambda_WP obj-h0103-poll 1
attr Lambda_WP obj-h0103-reading Stromaufnahme
attr Lambda_WP obj-h0103-type S16
attr Lambda_WP obj-h0104-format %.0f W
attr Lambda_WP obj-h0104-poll 1
attr Lambda_WP obj-h0104-reading Aufnahmeleistung_Sollwert
attr Lambda_WP obj-h0104-type S16
attr Lambda_WP obj-h0200-poll 1
attr Lambda_WP obj-h0200-reading Display_Seriennummer
attr Lambda_WP obj-h0200-type U32
attr Lambda_WP obj-h0206-poll 1
attr Lambda_WP obj-h0206-reading Applikation_Softwareversion_1
attr Lambda_WP obj-h0206-type U16
attr Lambda_WP obj-h0207-poll 1
attr Lambda_WP obj-h0207-reading Applikation_Softwareversion_2
attr Lambda_WP obj-h0207-type U16
attr Lambda_WP obj-h0208-poll 1
attr Lambda_WP obj-h0208-reading Applikation_Softwareversion_3
attr Lambda_WP obj-h0208-type U16
attr Lambda_WP obj-h0209-poll 1
attr Lambda_WP obj-h0209-reading Applikation_Softwareversion_4
attr Lambda_WP obj-h0209-type U16
attr Lambda_WP obj-h0210-poll 1
attr Lambda_WP obj-h0210-reading Applikation_Softwareversion_5
attr Lambda_WP obj-h0210-type U16
attr Lambda_WP obj-h1000-map 0:Kein Fehler, 1:Meldung, 2:Warnung, 3:Fehler, 4:Störung
attr Lambda_WP obj-h1000-poll 1
attr Lambda_WP obj-h1000-reading Fehlerzustand_WP
attr Lambda_WP obj-h1000-type U16
attr Lambda_WP obj-h1001-map 0:Initialisierung, 1:Referenzierung, 2:Sperrzeit, 3:Betriebsbereit, 4:Pumpenstart, 5:Verdichterstart, 6:Vorregelbetrieb, 7:Regelbetrieb, 9:Kühlen, 10:Abtauung, 20:Stopp, 30:Störung, 31:Fehler, 40:Fehler-Reset
attr Lambda_WP obj-h1001-mapDefault unknown
attr Lambda_WP obj-h1001-poll 1
attr Lambda_WP obj-h1001-reading Fehlernummer_WP
attr Lambda_WP obj-h1001-type S16
attr Lambda_WP obj-h1002-poll 1
attr Lambda_WP obj-h1002-reading Status_WP
attr Lambda_WP obj-h1002-type U16
attr Lambda_WP obj-h1003-map 0:Standby, 1:Heizen, 2:Brauchwasser, 3:Kühlen, 4:Zirkulieren, 5:Abtauung, 6:Aus, 7:Frostschutz, 8:Betriebsbereit Frostschutz, 10:Sommerbetrieb, 11:Ferienbetrieb, 12:Fehler, 13:Warnung, 14:Meldung, 15:Sperrzeit, 16:EVU-Sperre, 17:Temperatursperre, 18:Software-Update
attr Lambda_WP obj-h1003-mapDefault unknown
attr Lambda_WP obj-h1003-poll 1
attr Lambda_WP obj-h1003-reading Betriebszustand_WP
attr Lambda_WP obj-h1003-type U16
attr Lambda_WP obj-h1004-expr $val/100
attr Lambda_WP obj-h1004-format %.2f °C
attr Lambda_WP obj-h1004-poll 1
attr Lambda_WP obj-h1004-reading T_Vorlauf_WP
attr Lambda_WP obj-h1004-type S16
attr Lambda_WP obj-h1005-expr $val/100
attr Lambda_WP obj-h1005-format %.2f °C
attr Lambda_WP obj-h1005-poll 1
attr Lambda_WP obj-h1005-reading T_Ruecklauf_WP
attr Lambda_WP obj-h1005-type S16
attr Lambda_WP obj-h1006-expr $val/100
attr Lambda_WP obj-h1006-format %.2f l/min
attr Lambda_WP obj-h1006-poll 1
attr Lambda_WP obj-h1006-reading Volumenstrom_Abgabe_WP
attr Lambda_WP obj-h1006-type S16
attr Lambda_WP obj-h1007-expr $val/100
attr Lambda_WP obj-h1007-format %.2f °C
attr Lambda_WP obj-h1007-poll 1
attr Lambda_WP obj-h1007-reading T_Luft_Eintritt_WP
attr Lambda_WP obj-h1007-type S16
attr Lambda_WP obj-h1008-expr $val/100
attr Lambda_WP obj-h1008-format %.2f °C
attr Lambda_WP obj-h1008-poll 1
attr Lambda_WP obj-h1008-reading T_Luft_Austritt_WP
attr Lambda_WP obj-h1008-type S16
attr Lambda_WP obj-h1009-expr $val/100
attr Lambda_WP obj-h1009-format %.2f l/min
attr Lambda_WP obj-h1009-poll 1
attr Lambda_WP obj-h1009-reading Volumenstrom_Luft_WP
attr Lambda_WP obj-h1009-type S16
attr Lambda_WP obj-h1010-expr $val/100
attr Lambda_WP obj-h1010-format %.2f kW
attr Lambda_WP obj-h1010-poll 1
attr Lambda_WP obj-h1010-reading Verdichterleistung_WP
attr Lambda_WP obj-h1010-type U16
attr Lambda_WP obj-h1011-expr $val/10
attr Lambda_WP obj-h1011-format %.1f kW
attr Lambda_WP obj-h1011-poll 1
attr Lambda_WP obj-h1011-reading Abgabeleistung_WP
attr Lambda_WP obj-h1011-type S16
attr Lambda_WP obj-h1012-format %.0f W
attr Lambda_WP obj-h1012-poll 1
attr Lambda_WP obj-h1012-reading Stromaufnahme_Frequenzumrichter_WP
attr Lambda_WP obj-h1012-type S16
attr Lambda_WP obj-h1013-expr $val/100
attr Lambda_WP obj-h1013-format %.2f
attr Lambda_WP obj-h1013-poll 1
attr Lambda_WP obj-h1013-reading COP
attr Lambda_WP obj-h1013-type S16
attr Lambda_WP obj-h1014-poll 1
attr Lambda_WP obj-h1014-reading Hp_Modbus_request_release_password
attr Lambda_WP obj-h1014-set 1
attr Lambda_WP obj-h1014-type U16
attr Lambda_WP obj-h1015-hint 0,1,2,3,4
attr Lambda_WP obj-h1015-poll 1
attr Lambda_WP obj-h1015-reading Hp_request_type
attr Lambda_WP obj-h1015-set 1
attr Lambda_WP obj-h1015-type S16
attr Lambda_WP obj-h1016-expr $val/10
attr Lambda_WP obj-h1016-format %.1f °C
attr Lambda_WP obj-h1016-poll 1
attr Lambda_WP obj-h1016-reading Hp_request_flow_line_temp
attr Lambda_WP obj-h1016-set 1
attr Lambda_WP obj-h1016-setexpr $val*10
attr Lambda_WP obj-h1016-type S16
attr Lambda_WP obj-h1017-expr $val/10
attr Lambda_WP obj-h1017-format %.1f °C
attr Lambda_WP obj-h1017-poll 1
attr Lambda_WP obj-h1017-reading Hp_request_return_line_temp
attr Lambda_WP obj-h1017-set 1
attr Lambda_WP obj-h1017-setexpr $val*10
attr Lambda_WP obj-h1017-type S16
attr Lambda_WP obj-h1018-expr $val/10
attr Lambda_WP obj-h1018-format %.1f °C
attr Lambda_WP obj-h1018-poll 1
attr Lambda_WP obj-h1018-reading Hp_request_heat_sink_temp_diff
attr Lambda_WP obj-h1018-set 1
attr Lambda_WP obj-h1018-setexpr $val*10
attr Lambda_WP obj-h1018-type S16
attr Lambda_WP obj-h1019-map 1:Relais EIN
attr Lambda_WP obj-h1019-mapDefault Relais aus
attr Lambda_WP obj-h1019-poll 1
attr Lambda_WP obj-h1019-reading E-Heizstab_Zustand
attr Lambda_WP obj-h1019-type S16
attr Lambda_WP obj-h1020-format %.0f Wh
attr Lambda_WP obj-h1020-len 2
attr Lambda_WP obj-h1020-poll 1
attr Lambda_WP obj-h1020-reading Elektrische_Energieaufnahme_gesamt_seit_Reset
attr Lambda_WP obj-h1020-type S32
attr Lambda_WP obj-h1020-unpack l>
attr Lambda_WP obj-h1022-format %.0f WhT
attr Lambda_WP obj-h1022-poll 1
attr Lambda_WP obj-h1022-reading Thermische_Energieabgabe_gesamt_seit_Reset
attr Lambda_WP obj-h1022-type S32
attr Lambda_WP obj-h1025-poll 1
attr Lambda_WP obj-h1025-reading Hp_VdA_Rating
attr Lambda_WP obj-h1025-type U16
attr Lambda_WP obj-h1026-expr $val/100
attr Lambda_WP obj-h1026-format %.2f °C
attr Lambda_WP obj-h1026-poll 1
attr Lambda_WP obj-h1026-reading Hp_Hot_Gas_Temperature
attr Lambda_WP obj-h1026-type U16
attr Lambda_WP obj-h1027-expr $val/100
attr Lambda_WP obj-h1027-format %.2f °C
attr Lambda_WP obj-h1027-poll 1
attr Lambda_WP obj-h1027-reading Hp_Subcooling_Temperature
attr Lambda_WP obj-h1027-type U16
attr Lambda_WP obj-h1028-expr $val/100
attr Lambda_WP obj-h1028-format %.2f °C
attr Lambda_WP obj-h1028-poll 1
attr Lambda_WP obj-h1028-reading Hp_Suction_Gas_Temperature
attr Lambda_WP obj-h1028-type S16
attr Lambda_WP obj-h1029-expr $val/100
attr Lambda_WP obj-h1029-format %.2f °C
attr Lambda_WP obj-h1029-poll 1
attr Lambda_WP obj-h1029-reading Hp_Condensation_Temperature
attr Lambda_WP obj-h1029-type U16
attr Lambda_WP obj-h1030-expr $val/100
attr Lambda_WP obj-h1030-format %.2f °C
attr Lambda_WP obj-h1030-poll 1
attr Lambda_WP obj-h1030-reading Hp_Evaporation_Temperature
attr Lambda_WP obj-h1030-type S16
attr Lambda_WP obj-h1031-poll 1
attr Lambda_WP obj-h1031-reading Hp_EqM_Rating
attr Lambda_WP obj-h1031-type U16
attr Lambda_WP obj-h1032-expr $val/100
attr Lambda_WP obj-h1032-format %.2f %
attr Lambda_WP obj-h1032-poll 1
attr Lambda_WP obj-h1032-reading Hp_Expansion_Valve_Opening_Angle
attr Lambda_WP obj-h1032-type U16
attr Lambda_WP obj-h1051-expr $val/10
attr Lambda_WP obj-h1051-format %.1f kW
attr Lambda_WP obj-h1051-poll 1
attr Lambda_WP obj-h1051-reading Hp_DHW_Output_Power_at_15C
attr Lambda_WP obj-h1051-set 1
attr Lambda_WP obj-h1051-setexpr $val*10
attr Lambda_WP obj-h1051-type U16
attr Lambda_WP obj-h1052-expr $val/10
attr Lambda_WP obj-h1052-format %.1f kW
attr Lambda_WP obj-h1052-poll 1
attr Lambda_WP obj-h1052-reading Hp_Heating_Min_Output_Power_at_15C
attr Lambda_WP obj-h1052-set 1
attr Lambda_WP obj-h1052-setexpr $val*10
attr Lambda_WP obj-h1052-type U16
attr Lambda_WP obj-h1053-expr $val/10
attr Lambda_WP obj-h1053-format %.1f kW
attr Lambda_WP obj-h1053-poll 1
attr Lambda_WP obj-h1053-reading Hp_Heating_Max_Output_Power_at_15C
attr Lambda_WP obj-h1053-set 1
attr Lambda_WP obj-h1053-setexpr $val*10
attr Lambda_WP obj-h1053-type U16
attr Lambda_WP obj-h1054-expr $val/10
attr Lambda_WP obj-h1054-format %.1f kW
attr Lambda_WP obj-h1054-poll 1
attr Lambda_WP obj-h1054-reading Hp_Heating_Min_Output_Power_at_0C
attr Lambda_WP obj-h1054-set 1
attr Lambda_WP obj-h1054-setexpr $val*10
attr Lambda_WP obj-h1054-type U16
attr Lambda_WP obj-h1055-expr $val/10
attr Lambda_WP obj-h1055-format %.1f kW
attr Lambda_WP obj-h1055-poll 1
attr Lambda_WP obj-h1055-reading Hp_Heating_Max_Output_Power_at_0C
attr Lambda_WP obj-h1055-set 1
attr Lambda_WP obj-h1055-setexpr $val*10
attr Lambda_WP obj-h1055-type U16
attr Lambda_WP obj-h1056-expr $val/10
attr Lambda_WP obj-h1056-format %.1f kW
attr Lambda_WP obj-h1056-poll 1
attr Lambda_WP obj-h1056-reading Hp_Heating_Min_Output_Power_at_-15C
attr Lambda_WP obj-h1056-set 1
attr Lambda_WP obj-h1056-setexpr $val*10
attr Lambda_WP obj-h1056-type U16
attr Lambda_WP obj-h1057-expr $val/10
attr Lambda_WP obj-h1057-format %.1f kW
attr Lambda_WP obj-h1057-poll 1
attr Lambda_WP obj-h1057-reading Hp_Heating_Max_Output_Power_at_-15C
attr Lambda_WP obj-h1057-set 1
attr Lambda_WP obj-h1057-setexpr $val*10
attr Lambda_WP obj-h1057-type U16
attr Lambda_WP obj-h2000-map 0:Kein Fehler
attr Lambda_WP obj-h2000-poll 1
attr Lambda_WP obj-h2000-reading Fehlernummer_Brauchwasser
attr Lambda_WP obj-h2000-type S16
attr Lambda_WP obj-h2001-map 0:Standby, 1:Heizen, 2:Legionellenprogramm, 3:Sommerbetrieb, 4:Frostschutz, 5:Ferienbetrieb, 6:Betriebspause durch Vorrang, 7:Fehler, 8:Aus, 9:Erzwungene Brauchwasserbereitung, 10:Nachlaufzeit, 11:Temperatursperre, 12:Standby mit Frostschutz
attr Lambda_WP obj-h2001-mapDefault unknown
attr Lambda_WP obj-h2001-poll 1
attr Lambda_WP obj-h2001-reading Betriebsmodus_Brauchwasser
attr Lambda_WP obj-h2001-type U16
attr Lambda_WP obj-h2002-expr $val/10
attr Lambda_WP obj-h2002-format %.1f °C
attr Lambda_WP obj-h2002-poll 1
attr Lambda_WP obj-h2002-reading T_Brauchwasser_oben
attr Lambda_WP obj-h2002-type S16
attr Lambda_WP obj-h2003-expr $val/10
attr Lambda_WP obj-h2003-format %.1f °C
attr Lambda_WP obj-h2003-poll 1
attr Lambda_WP obj-h2003-reading T_Brauchwasser_unten
attr Lambda_WP obj-h2003-type S16
attr Lambda_WP obj-h2004-expr $val/10
attr Lambda_WP obj-h2004-format %.1f °C
attr Lambda_WP obj-h2004-poll 1
attr Lambda_WP obj-h2004-reading T_Zirkulation
attr Lambda_WP obj-h2004-type S16
attr Lambda_WP obj-h2050-expr $val/10
attr Lambda_WP obj-h2050-format %.1f °C
attr Lambda_WP obj-h2050-poll 1
attr Lambda_WP obj-h2050-reading T_Brauchwasser_Soll
attr Lambda_WP obj-h2050-set 1
attr Lambda_WP obj-h2050-setexpr $val*10
attr Lambda_WP obj-h2050-type S16
attr Lambda_WP obj-h3000-map 0:Kein Fehler
attr Lambda_WP obj-h3000-poll 1
attr Lambda_WP obj-h3000-reading Fehlernummer_Puffer
attr Lambda_WP obj-h3000-type S16
attr Lambda_WP obj-h3001-map 0:Standby, 1:Heizen, 2:Kühlen, 3:Sommerbetrieb, 4:Frostschutz, 5:Ferienbetrieb, 6:Betriebspause durch Vorrang, 7:Fehler, 8:Aus, 9:Standby mit Frostschutz
attr Lambda_WP obj-h3001-mapDefault unknown
attr Lambda_WP obj-h3001-poll 1
attr Lambda_WP obj-h3001-reading Betriebszustand_Puffer
attr Lambda_WP obj-h3001-type U16
attr Lambda_WP obj-h3002-expr $val/10
attr Lambda_WP obj-h3002-format %.1f °C
attr Lambda_WP obj-h3002-poll 1
attr Lambda_WP obj-h3002-reading T_Puffer_oben
attr Lambda_WP obj-h3002-type S16
attr Lambda_WP obj-h3003-expr $val/10
attr Lambda_WP obj-h3003-format %.1f °C
attr Lambda_WP obj-h3003-poll 1
attr Lambda_WP obj-h3003-reading T_Puffer_unten
attr Lambda_WP obj-h3003-type S16
attr Lambda_WP obj-h3004-expr $val/10
attr Lambda_WP obj-h3004-format %.1f °C
attr Lambda_WP obj-h3004-poll 1
attr Lambda_WP obj-h3004-reading T_Puffer_oben_Soll_Modbus
attr Lambda_WP obj-h3004-set 1
attr Lambda_WP obj-h3004-type S16
attr Lambda_WP obj-h3005-map -1:Ungültige Anforderung, 0:Keine Anforderung, 1:Zirkulieren, 2:Heizen, 3:Kühlen
attr Lambda_WP obj-h3005-mapDefault unknown
attr Lambda_WP obj-h3005-poll 1
attr Lambda_WP obj-h3005-reading Anforderungstyp_Puffer
attr Lambda_WP obj-h3005-type S16
attr Lambda_WP obj-h3006-expr $val/10
attr Lambda_WP obj-h3006-format %.1f °C
attr Lambda_WP obj-h3006-poll 1
attr Lambda_WP obj-h3006-reading T_Vorlauf_Puffer_Soll
attr Lambda_WP obj-h3006-type S16
attr Lambda_WP obj-h3007-expr $val/10
attr Lambda_WP obj-h3007-format %.1f °C
attr Lambda_WP obj-h3007-poll 1
attr Lambda_WP obj-h3007-reading T_Ruecklauf_Puffer_Soll
attr Lambda_WP obj-h3007-type S16
attr Lambda_WP obj-h3008-expr $val/10
attr Lambda_WP obj-h3008-format %.1f °K
attr Lambda_WP obj-h3008-poll 1
attr Lambda_WP obj-h3008-reading Anforderung_Puffer_Spreizung
attr Lambda_WP obj-h3008-type S16
attr Lambda_WP obj-h3009-expr $val/10
attr Lambda_WP obj-h3009-format %.1f kW
attr Lambda_WP obj-h3009-poll 1
attr Lambda_WP obj-h3009-reading Abgabeleistung_Puffer_Soll
attr Lambda_WP obj-h3009-type S16
attr Lambda_WP obj-h3050-expr $val/10
attr Lambda_WP obj-h3050-format %.1f °C
attr Lambda_WP obj-h3050-poll 1
attr Lambda_WP obj-h3050-reading T_Puffer_max
attr Lambda_WP obj-h3050-set 1
attr Lambda_WP obj-h3050-setexpr $val*10
attr Lambda_WP obj-h3050-type S16
attr Lambda_WP obj-h4000-map 0:Kein Fehler
attr Lambda_WP obj-h4000-poll 1
attr Lambda_WP obj-h4000-reading Fehlernummer_Solar
attr Lambda_WP obj-h4000-type S16
attr Lambda_WP obj-h4001-map 0:Standby, 1:Heizen, 2:Fehler, 3:Aus
attr Lambda_WP obj-h4001-mapDefault unknown
attr Lambda_WP obj-h4001-poll 1
attr Lambda_WP obj-h4001-reading Betriebsmodus_Solar
attr Lambda_WP obj-h4001-type U16
attr Lambda_WP obj-h4002-expr $val/10
attr Lambda_WP obj-h4002-format %.1f °C
attr Lambda_WP obj-h4002-poll 1
attr Lambda_WP obj-h4002-reading T_Kollektor
attr Lambda_WP obj-h4002-type S16
attr Lambda_WP obj-h4003-expr $val/10
attr Lambda_WP obj-h4003-format %.1f °C
attr Lambda_WP obj-h4003-poll 1
attr Lambda_WP obj-h4003-reading T_Solarspeicher_1
attr Lambda_WP obj-h4003-type S16
attr Lambda_WP obj-h4004-expr $val/10
attr Lambda_WP obj-h4004-format %.1f °C
attr Lambda_WP obj-h4004-poll 1
attr Lambda_WP obj-h4004-reading T_Solarspeicher_2
attr Lambda_WP obj-h4004-type S16
attr Lambda_WP obj-h4050-expr $val/10
attr Lambda_WP obj-h4050-format %.1f °C
attr Lambda_WP obj-h4050-poll 1
attr Lambda_WP obj-h4050-reading T_max_Solarspeicher
attr Lambda_WP obj-h4050-set 1
attr Lambda_WP obj-h4050-setexpr $val*10
attr Lambda_WP obj-h4050-type S16
attr Lambda_WP obj-h4051-expr $val/10
attr Lambda_WP obj-h4051-format %.1f °C
attr Lambda_WP obj-h4051-poll 1
attr Lambda_WP obj-h4051-reading T_Umschaltung_Speicher2
attr Lambda_WP obj-h4051-set 1
attr Lambda_WP obj-h4051-setexpr $val*10
attr Lambda_WP obj-h4051-type S16
attr Lambda_WP obj-h5000-map 0:Kein Fehler
attr Lambda_WP obj-h5000-poll 1
attr Lambda_WP obj-h5000-reading Fehlernummer_HK1
attr Lambda_WP obj-h5000-type S16
attr Lambda_WP obj-h5001-map 0:Heizen, 1:Heizen abgesenkt, 2:Kühlen, 3:Estrichausheizprogramm, 4:Frostschutz, 5:Störung Übertemperatur, 6:Fehler, 7:Wartung, 8:Ferienbetrieb, 9:Sommerbetrieb, 10:Winterbetrieb (bei reinem Kühlkreis), 11:Betriebspause durch Vorrang, 12:Aus, 13:Keine Freigabe, 14:Deaktiviert aufgrund Zeitplan, 15:Standby, 16:Standby Heizen, 17:Standby Absenkbetrieb, 18:Standby Kühlbetrieb, 19:Standby Frostschutz, 20:Standby Estrichausheizprogramm
attr Lambda_WP obj-h5001-mapDefault unknown
attr Lambda_WP obj-h5001-poll 1
attr Lambda_WP obj-h5001-reading Betriebsmodus_HK1
attr Lambda_WP obj-h5001-type U16
attr Lambda_WP obj-h5002-expr $val/10
attr Lambda_WP obj-h5002-format %.1f °C
attr Lambda_WP obj-h5002-poll 1
attr Lambda_WP obj-h5002-reading T_Vorlauf_HK1
attr Lambda_WP obj-h5002-type S16
attr Lambda_WP obj-h5003-expr $val/10
attr Lambda_WP obj-h5003-format %.1f °C
attr Lambda_WP obj-h5003-poll 1
attr Lambda_WP obj-h5003-reading T_Ruecklauf_HK1
attr Lambda_WP obj-h5003-type S16
attr Lambda_WP obj-h5004-expr $val/10
attr Lambda_WP obj-h5004-format %.1f °C
attr Lambda_WP obj-h5004-poll 1
attr Lambda_WP obj-h5004-reading T_Raum_HK1
attr Lambda_WP obj-h5004-set 1
attr Lambda_WP obj-h5004-setexpr $val*10
attr Lambda_WP obj-h5004-type S16
attr Lambda_WP obj-h5005-expr $val/10
attr Lambda_WP obj-h5005-format %.1f °C
attr Lambda_WP obj-h5005-poll 1
attr Lambda_WP obj-h5005-reading T_Vorlauf_Soll_Modbus_HK1
attr Lambda_WP obj-h5005-set 1
attr Lambda_WP obj-h5005-setexpr $val*10
attr Lambda_WP obj-h5005-type S16
attr Lambda_WP obj-h5006-hint 0,1,2,3,4,5,6,7
attr Lambda_WP obj-h5006-mapDefault unknown
attr Lambda_WP obj-h5006-poll 1
attr Lambda_WP obj-h5006-reading Betriebsmodus_setzen_HK1
attr Lambda_WP obj-h5006-set 1
attr Lambda_WP obj-h5006-type S16
attr Lambda_WP obj-h5007-expr $val/10
attr Lambda_WP obj-h5007-format %.1f °C
attr Lambda_WP obj-h5007-poll 1
attr Lambda_WP obj-h5007-reading T_Vorlauf_berechnet_nach_Heizkurve_HK1
attr Lambda_WP obj-h5007-setexpr $val*10
attr Lambda_WP obj-h5007-type S16
attr Lambda_WP obj-h5050-expr $val/10
attr Lambda_WP obj-h5050-format %.1f °C
attr Lambda_WP obj-h5050-poll 1
attr Lambda_WP obj-h5050-reading Offset_zur_Heizkurve_HK1
attr Lambda_WP obj-h5050-set 1
attr Lambda_WP obj-h5050-setexpr $val*10
attr Lambda_WP obj-h5050-type S16
attr Lambda_WP obj-h5051-expr $val/10
attr Lambda_WP obj-h5051-format %.1f °C
attr Lambda_WP obj-h5051-poll 1
attr Lambda_WP obj-h5051-reading T_Raum_Soll_heizen_HK1
attr Lambda_WP obj-h5051-set 1
attr Lambda_WP obj-h5051-setexpr $val*10
attr Lambda_WP obj-h5051-type S16
attr Lambda_WP obj-h5052-expr $val/10
attr Lambda_WP obj-h5052-format %.1f °C
attr Lambda_WP obj-h5052-poll 1
attr Lambda_WP obj-h5052-reading T_Raum_Soll_kuehlen_HK1
attr Lambda_WP obj-h5052-set 1
attr Lambda_WP obj-h5052-setexpr $val*10
attr Lambda_WP obj-h5052-type S16
attr Lambda_WP obj-h5100-map 0:Kein Fehler
attr Lambda_WP obj-h5100-poll 1
attr Lambda_WP obj-h5100-reading Fehlernummer_HK2
attr Lambda_WP obj-h5100-type S16
attr Lambda_WP obj-h5101-map 0:Heizen, 1:Heizen abgesenkt, 2:Kühlen, 3:Estrichausheizprogramm, 4:Frostschutz, 5:Störung Übertemperatur, 6:Fehler, 7:Wartung, 8:Ferienbetrieb, 9:Sommerbetrieb, 10:Winterbetrieb (bei reinem Kühlkreis), 11:Betriebspause durch Vorrang, 12:Aus, 13:Keine Freigabe, 14:Deaktiviert aufgrund Zeitplan, 15:Standby, 16:Standby Heizen, 17:Standby Absenkbetrieb, 18:Standby Kühlbetrieb, 19:Standby Frostschutz, 20:Standby Estrichausheizprogramm
attr Lambda_WP obj-h5101-mapDefault unknown
attr Lambda_WP obj-h5101-poll 1
attr Lambda_WP obj-h5101-reading Betriebsmodus_HK2
attr Lambda_WP obj-h5101-type U16
attr Lambda_WP obj-h5102-expr $val/10
attr Lambda_WP obj-h5102-format %.1f °C
attr Lambda_WP obj-h5102-poll 1
attr Lambda_WP obj-h5102-reading T_Vorlauf_HK2
attr Lambda_WP obj-h5102-type S16
attr Lambda_WP obj-h5103-expr $val/10
attr Lambda_WP obj-h5103-format %.1f °C
attr Lambda_WP obj-h5103-poll 1
attr Lambda_WP obj-h5103-reading T_Ruecklauf_HK2
attr Lambda_WP obj-h5103-type S16
attr Lambda_WP obj-h5104-expr $val/10
attr Lambda_WP obj-h5104-format %.1f °C
attr Lambda_WP obj-h5104-poll 1
attr Lambda_WP obj-h5104-reading T_Raum_HK2
attr Lambda_WP obj-h5104-set 1
attr Lambda_WP obj-h5104-setexpr $val*10
attr Lambda_WP obj-h5104-type S16
attr Lambda_WP obj-h5105-expr $val/10
attr Lambda_WP obj-h5105-format %.1f °C
attr Lambda_WP obj-h5105-poll 1
attr Lambda_WP obj-h5105-reading T_Vorlauf_Soll_Modbus_HK2
attr Lambda_WP obj-h5105-set 1
attr Lambda_WP obj-h5105-setexpr $val*10
attr Lambda_WP obj-h5105-type S16
attr Lambda_WP obj-h5106-hint 0,1,2,3,4,5,6,7
attr Lambda_WP obj-h5106-mapDefault unknown
attr Lambda_WP obj-h5106-poll 1
attr Lambda_WP obj-h5106-reading Betriebsmodus_setzen_HK2
attr Lambda_WP obj-h5106-set 1
attr Lambda_WP obj-h5106-type S16
attr Lambda_WP obj-h5107-expr $val/10
attr Lambda_WP obj-h5107-format %.1f °C
attr Lambda_WP obj-h5107-poll 1
attr Lambda_WP obj-h5107-reading T_Vorlauf_berechnet_nach_Heizkurve_HK2
attr Lambda_WP obj-h5107-setexpr $val*10
attr Lambda_WP obj-h5107-type S16
attr Lambda_WP obj-h5150-expr $val/10
attr Lambda_WP obj-h5150-format %.1f °C
attr Lambda_WP obj-h5150-poll 1
attr Lambda_WP obj-h5150-reading Offset_zur_Heizkurve_HK2
attr Lambda_WP obj-h5150-set 1
attr Lambda_WP obj-h5150-setexpr $val*10
attr Lambda_WP obj-h5150-type S16
attr Lambda_WP obj-h5151-expr $val/10
attr Lambda_WP obj-h5151-format %.1f °C
attr Lambda_WP obj-h5151-poll 1
attr Lambda_WP obj-h5151-reading T_Raum_Soll_heizen_HK2
attr Lambda_WP obj-h5151-set 1
attr Lambda_WP obj-h5151-setexpr $val*10
attr Lambda_WP obj-h5151-type S16
attr Lambda_WP obj-h5152-expr $val/10
attr Lambda_WP obj-h5152-format %.1f °C
attr Lambda_WP obj-h5152-poll 1
attr Lambda_WP obj-h5152-reading T_Raum_Soll_kuehlen_HK2
attr Lambda_WP obj-h5152-set 1
attr Lambda_WP obj-h5152-setexpr $val*10
attr Lambda_WP obj-h5152-type S16
attr Lambda_WP oldreadings Hp_QP_heating,Heating_circuit_Room_device_temp
attr Lambda_WP openTimeout 3
attr Lambda_WP showError 1
attr Lambda_WP silentReconnect 0

Christian
Raspbian 12, Perl 5.36.0, FHEM 6.4 auf PI5
320Devices in MariaDB: Steuerung Heizkessel & Speicher, FBH, Solarthermie, kontroll. Lüftung mit WRG
HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM ESP3), MQTT2, Shelly, SMA (eC2, PV, HM, HS)
DOIF (Perl/uiTable), PID20,Micropelt IRTV, SolarForecast,