Neueste Beiträge

#91
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 02 Mai 2026, 21:39:46
Hallo Peter & grappa24,

danke auch euch für die Rückmeldung.

@Peter, bei dir sieht man die Entwicklung des BEV Consumers 15 (csme15) recht gut:

2026050110 => hod: 10, dayname: Sa, sunaz: 110.60, sunalt: 32.50, rad1h: 1810, wcc: 0, weatherid: 0, rr1c: 0.00, temp: 20.9, socwhsum: 9352
              windspeed: 3.32, windspeed_fast: 1.02, pvrl: 3266, pvrlvd: 1, comforttemp: 21, conaifc: 1019, con: 1157, gcons: 20, presence: 1, holiday: 0
              hpcsm: -, bevcsm: 15, csme01: 0, csme02: 34, csme03: 0, csme04: 0, csme05: 0, csme06: 0, csme07: 0, csme08: 209, csme09: 11, csme10: 30, csme11: 0, csme12: 31, csme13: 0, csme14: 2, csme15: 319, bevcsmSoC15: 68, bevcsmTargSoC15: 90
2026050111 => hod: 11, dayname: Sa, sunaz: 125.80, sunalt: 40.30, rad1h: 2320, wcc: 0, weatherid: 0, rr1c: 0.00, temp: 21.0, socwhsum: 9400
              windspeed: 3.81, windspeed_fast: 1.74, pvrl: 4463, pvrlvd: 1, comforttemp: 21, conaifc: 1071, con: 4201, gcons: 32, presence: 1, holiday: 0
              hpcsm: -, bevcsm: 15, csme01: 0, csme02: 34, csme03: 66, csme04: 0, csme05: 0, csme06: 0, csme07: 632, csme08: 185, csme09: 11, csme10: 23, csme11: 0, csme12: 31, csme13: 0, csme14: 113, csme15: 3143, bevcsmSoC15: 68, bevcsmTargSoC15: 90
2026050112 => hod: 12, dayname: Sa, sunaz: 143.80, sunalt: 46.50, rad1h: 2790, wcc: 0, weatherid: 0, rr1c: 0.00, temp: 23.3, socwhsum: 9400
              windspeed: 3.85, windspeed_fast: 1.58, pvrl: 5390, pvrlvd: 1, comforttemp: 21, conaifc: 1433, con: 4630, gcons: 12, presence: 1, holiday: 0
              hpcsm: -, bevcsm: 15, csme01: 0, csme02: 34, csme03: 229, csme04: 0, csme05: 0, csme06: 0, csme07: 0, csme08: 273, csme09: 11, csme10: 15, csme11: 0, csme12: 31, csme13: 0, csme14: 2, csme15: 3600, bevcsmSoC15: 68, bevcsmTargSoC15: 90
2026050113 => hod: 13, dayname: Sa, sunaz: 165.00, sunalt: 50.30, rad1h: 3050, wcc: 0, weatherid: 0, rr1c: 0.00, temp: 23.6, socwhsum: 9400
              windspeed: 4.36, windspeed_fast: 2.22, pvrl: 5926, pvrlvd: 1, comforttemp: 21, conaifc: 1456, con: 4717, gcons: 6, presence: 1, holiday: 0
              hpcsm: -, bevcsm: 15, csme01: 0, csme02: 34, csme03: 264, csme04: 0, csme05: 0, csme06: 0, csme07: 0, csme08: 223, csme09: 11, csme10: 27, csme11: 0, csme12: 27, csme13: 0, csme14: 2, csme15: 3675, bevcsmSoC15: 75, bevcsmTargSoC15: 90
2026050114 => hod: 14, dayname: Sa, sunaz: 187.80, sunalt: 50.90, rad1h: 3090, wcc: 0, weatherid: 0, rr1c: 0.00, temp: 22.9, socwhsum: 9376
              windspeed: 4.79, windspeed_fast: 2.78, pvrl: 6081, pvrlvd: 1, comforttemp: 21, conaifc: 1475, con: 4580, gcons: 0, presence: 1, holiday: 0
              hpcsm: -, bevcsm: 15, csme01: 0, csme02: 34, csme03: 242, csme04: 0, csme05: 0, csme06: 0, csme07: 0, csme08: 198, csme09: 11, csme10: 28, csme11: 0, csme12: 2, csme13: 0, csme14: 2, csme15: 3571, bevcsmSoC15: 80, bevcsmTargSoC15: 90
2026050115 => hod: 15, dayname: Sa, sunaz: 209.80, sunalt: 48.10, rad1h: 3030, wcc: 0, weatherid: 0, rr1c: 0.00, temp: 22.9, socwhsum: 9376
              windspeed: 4.33, windspeed_fast: 2.52, pvrl: 5931, pvrlvd: 1, comforttemp: 21, conaifc: 1378, con: 4740, gcons: 0, presence: 1, holiday: 0
              hpcsm: -, bevcsm: 15, csme01: 0, csme02: 34, csme03: 287, csme04: 0, csme05: 0, csme06: 0, csme07: 0, csme08: 194, csme09: 11, csme10: 18, csme11: 0, csme12: 30, csme13: 0, csme14: 2, csme15: 3599, bevcsmSoC15: 89, bevcsmTargSoC15: 90
2026050116 => hod: 16, dayname: Sa, sunaz: 228.80, sunalt: 42.50, rad1h: 2730, wcc: 0, weatherid: 0, rr1c: 0.00, temp: 23.7, socwhsum: 9376
              windspeed: 3.81, windspeed_fast: 1.93, pvrl: 5517, pvrlvd: 1, comforttemp: 21, conaifc: 1377, con: 1234, gcons: 0, presence: 1, holiday: 0
              hpcsm: -, bevcsm: 15, csme01: 0, csme02: 34, csme03: 284, csme04: 0, csme05: 0, csme06: 0, csme07: 0, csme08: 240, csme09: 11, csme10: 28, csme11: 0, csme12: 31, csme13: 0, csme14: 2, csme15: 169, bevcsmSoC15: 90, bevcsmTargSoC15: 90
2026050117 => hod: 17, dayname: Sa, sunaz: 244.90, sunalt: 35.10, rad1h: 2260, wcc: 0, weatherid: 0, rr1c: 0.00, temp: 22.9, socwhsum: 9376
              windspeed: 3.78, windspeed_fast: 1.85, pvrl: 4910, pvrlvd: 1, comforttemp: 21, conaifc: 1354, con: 1345, gcons: 0, presence: 1, holiday: 0
              hpcsm: -, bevcsm: 15, csme01: 345, csme02: 34, csme03: 287, csme04: 0, csme05: 0, csme06: 0, csme07: 0, csme08: 178, csme09: 11, csme10: 16, csme11: 0, csme12: 31, csme13: 0, csme14: 2, csme15: 4, bevcsmSoC15: 90, bevcsmTargSoC15: 90
2026050118 => hod: 18, dayname: Sa, sunaz: 258.70, sunalt: 26.80, rad1h: 1700, wcc: 0, weatherid: 0, rr1c: 0.00, temp: 22.9, socwhsum: 9376
              windspeed: 4.13, windspeed_fast: 2.24, pvrl: 4322, pvrlvd: 1, comforttemp: 21, conaifc: 1326, con: 1402, gcons: 0, presence: 0, holiday: 0
              hpcsm: -, bevcsm: 15, csme01: 456, csme02: 34, csme03: 285, csme04: 0, csme05: 0, csme06: 0, csme07: 0, csme08: 214, csme09: 11, csme10: 27, csme11: 0, csme12: 29, csme13: 0, csme14: 2, csme15: 0, bevcsmSoC15: 90, bevcsmTargSoC15: 90

Der Soc läuft vom Start bevcsmSoC15: 68 kontinuierlich bis zum Zielsoc 90% (2026050118). Dann wird der Consumer deaktiviert weil der EV abgesteckt wurde. Genauso würde ich es erwarten.

@grappa24,
mit deinen Daten bin ich noch nicht so zufrieden.
Der BEV Consumer ist die 07.
Wir starten z.B. 2026043016 mit  csme07: 0, bevcsmSoC07: 73, bevcsmTargSoC07: 80:

2026043016 => hod: 16, dayname: Fr, sunaz: 227.50, sunalt: 46.30, rad1h: 2707, wcc: 0, weatherid: 0, rr1c: 0.00, temp: 17.7, socwhsum: 7619
              windspeed: 2.46, windspeed_fast: 1.27, pvrl: 5670, pvrlvd: 1, comforttemp: 21, conaifc: 503, con: 3923, gcons: 1, presence: 0, holiday: 0
              hpcsm: -, bevcsm: 07, csme07: 0, bevcsmSoC07: 73, bevcsmTargSoC07: 80, csme08: 49, csme09: 20
2026043017 => hod: 17, dayname: Fr, sunaz: 244.00, sunalt: 38.40, rad1h: 2300, wcc: 0, weatherid: 0, rr1c: 0.00, temp: 18.3, socwhsum: 7603
              windspeed: 2.34, windspeed_fast: 1.06, pvrl: 4746, pvrlvd: 1, comforttemp: 21, conaifc: 2759, con: 3271, gcons: 0, presence: 1, holiday: 0
              hpcsm: -, bevcsm: 07, csme07: 0, bevcsmSoC07: 99, bevcsmTargSoC07: 80, csme08: 49, csme09: 20
2026043018 => hod: 18, dayname: Fr, sunaz: 257.70, sunalt: 29.40, rad1h: 1768, wcc: 0, weatherid: 0, rr1c: 0.00, temp: 18.5, socwhsum: 7596
              windspeed: 2.29, windspeed_fast: 1.03, pvrl: 3573, pvrlvd: 1, comforttemp: 21, conaifc: 2078, con: 491, gcons: 0, presence: 1, holiday: 0
              hpcsm: -, bevcsm: 07, csme07: 6691, bevcsmSoC07: 100, bevcsmTargSoC07: 80, csme08: 44, csme09: 0
2026043019 => hod: 19, dayname: Fr, sunaz: 269.70, sunalt: 19.90, rad1h: 1091, wcc: 0, weatherid: 0, rr1c: 0.00, temp: 18.2, socwhsum: 7580
              windspeed: 1.96, windspeed_fast: 1.07, pvrl: 2467, pvrlvd: 1, comforttemp: 21, conaifc: 456, con: 469, gcons: 0, presence: 1, holiday: 0
              hpcsm: -, bevcsm: 07, csme07: 0, bevcsmSoC07: 0, bevcsmTargSoC07: 80, csme08: 31, csme09: 20

D.h. der SoC ist 73% mit Ziel 80%. Geladen wurde nicht (csme07: 0). Soweit ok.
Aber eine Stunde später sind wir bei -> csme07: 0, bevcsmSoC07: 99, bevcsmTargSoC07: 80. D.h. der SoC ist schon auf 99% (über Ziel 80%) und es wurde keine Ladeleistung registriert (csme07: 0).

Wieder eine Stunde später -> csme07: 6691, bevcsmSoC07: 100, bevcsmTargSoC07: 80. Die Batterie wurde inzwischen vollgeladen (100%) über Ziel 80%. Diesmal ist aber die Ladeleistung mit 6691 Wh registriert, vllt. sind hier auch die Stunden davor mit drin?

Zwei Stunden später (2026043020 ) sind wir plötzlich bei Soc 0% -> csme07: 0, bevcsmSoC07: 0, bevcsmTargSoC07: 80. Und wieder eine Stunde später ist der Soc 70% -> csme07: 0, bevcsmSoC07: 70, bevcsmTargSoC07: 80, aber keine Ladeleistung wurde registriert (csme07: 0).

Da werde ich noch nicht schlau daraus. Hast du eine Erklärung dafür oder gibt es noch einen Setup Fehler in deiner Konfig?

LG,
Heiko
#92
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von 300P - 02 Mai 2026, 21:31:26
Zitat von: DS_Starter am 02 Mai 2026, 16:36:22Update 2.6.5 im Contrib.
Prima !
Dann versuch ich mich auch mal damit :) (morgen)
#93
Sonstiges / Aw: [gelöst] ModbusAttr: Fehle...
Letzter Beitrag von FhemPiUser - 02 Mai 2026, 21:25:19
Hi,

ja, hier meine ModbusAttr Definition meiner Lambda EU13L:

defmod Lambda_EU13L ModbusAttr 1 55 192.168.x.x:502 TCP
attr Lambda_EU13L closeAfterResponse 0
attr Lambda_EU13L dev-h-combine 40
attr Lambda_EU13L dev-h-read 3
attr Lambda_EU13L dev-h-write 16
attr Lambda_EU13L dev-timing-timeout 15
attr Lambda_EU13L dev-type-S16-len 1
attr Lambda_EU13L dev-type-S16-unpack s>
attr Lambda_EU13L dev-type-S32-len 2
attr Lambda_EU13L dev-type-S32-revRegs 0
attr Lambda_EU13L dev-type-S32-unpack l>
attr Lambda_EU13L dev-type-SL_R2-len 2
attr Lambda_EU13L dev-type-SL_R2-unpack l
attr Lambda_EU13L dev-type-U16-len 1
attr Lambda_EU13L dev-type-U16-revRegs 0
attr Lambda_EU13L dev-type-U16-unpack S>
attr Lambda_EU13L dev-type-U32-len 2
attr Lambda_EU13L dev-type-U32-revRegs 0
attr Lambda_EU13L dev-type-U32-unpack N
attr Lambda_EU13L dev-type-UL_R2-len 2
attr Lambda_EU13L dev-type-UL_R2-revRegs 1
attr Lambda_EU13L dev-type-UL_R2-unpack N
attr Lambda_EU13L disable 0
attr Lambda_EU13L event-on-change-reading .*
attr Lambda_EU13L obj-h0000-poll 1
attr Lambda_EU13L obj-h0000-reading General_Ambient_Error_number
attr Lambda_EU13L obj-h0000-type S16
attr Lambda_EU13L obj-h0001-poll 1
attr Lambda_EU13L obj-h0001-reading General_Ambient_Operating_state
attr Lambda_EU13L obj-h0001-type U16
attr Lambda_EU13L obj-h0002-expr $val/10
attr Lambda_EU13L obj-h0002-poll 1
attr Lambda_EU13L obj-h0002-reading General_Ambient_Actual_ambient_temp
attr Lambda_EU13L obj-h0002-type S16
attr Lambda_EU13L obj-h0003-expr $val/10
attr Lambda_EU13L obj-h0003-poll 1
attr Lambda_EU13L obj-h0003-reading General_Ambient_Actual_ambient_temp_1h
attr Lambda_EU13L obj-h0003-type S16
attr Lambda_EU13L obj-h0004-expr $val/10
attr Lambda_EU13L obj-h0004-poll 1
attr Lambda_EU13L obj-h0004-reading General_Ambient_Calculated_ambient_temp
attr Lambda_EU13L obj-h0004-type S16
attr Lambda_EU13L obj-h0100-poll 1
attr Lambda_EU13L obj-h0100-reading General_E-Manager_Error_number
attr Lambda_EU13L obj-h0100-type S16
attr Lambda_EU13L obj-h0101-poll 1
attr Lambda_EU13L obj-h0101-reading General_E-Manager_Operating_state
attr Lambda_EU13L obj-h0101-type U16
attr Lambda_EU13L obj-h0102-poll 1
attr Lambda_EU13L obj-h0102-reading General_E-Manager_Actual_power
attr Lambda_EU13L obj-h0102-set 1
attr Lambda_EU13L obj-h0102-type S16
attr Lambda_EU13L obj-h0103-poll 1
attr Lambda_EU13L obj-h0103-reading General_E-Manager_Actual_power_consumption
attr Lambda_EU13L obj-h0103-type S16
attr Lambda_EU13L obj-h0104-poll 1
attr Lambda_EU13L obj-h0104-reading General_E-Manager_Power_consumption_setpoint
attr Lambda_EU13L obj-h0104-type S16
attr Lambda_EU13L obj-h0200-poll 1
attr Lambda_EU13L obj-h0200-reading General_System_Settings_Display_serial_number
attr Lambda_EU13L obj-h0200-type U32
attr Lambda_EU13L obj-h0206-poll 1
attr Lambda_EU13L obj-h0206-reading General_System_Settings_Application_software_version_1
attr Lambda_EU13L obj-h0206-type U16
attr Lambda_EU13L obj-h0207-poll 1
attr Lambda_EU13L obj-h0207-reading General_System_Settings_Application_software_version_2
attr Lambda_EU13L obj-h0207-type U16
attr Lambda_EU13L obj-h0208-poll 1
attr Lambda_EU13L obj-h0208-reading General_System_Settings_Application_software_version_3
attr Lambda_EU13L obj-h0208-type U16
attr Lambda_EU13L obj-h0209-poll 1
attr Lambda_EU13L obj-h0209-reading General_System_Settings_Application_software_version_4
attr Lambda_EU13L obj-h0209-type U16
attr Lambda_EU13L obj-h0210-poll 1
attr Lambda_EU13L obj-h0210-reading General_System_Settings_Application_software_version_5
attr Lambda_EU13L obj-h0210-type U16
attr Lambda_EU13L obj-h1000-poll 1
attr Lambda_EU13L obj-h1000-reading Hp_Error_state
attr Lambda_EU13L obj-h1000-type U16
attr Lambda_EU13L obj-h1001-poll 1
attr Lambda_EU13L obj-h1001-reading Hp_Error_number
attr Lambda_EU13L obj-h1001-type S16
attr Lambda_EU13L obj-h1002-poll 1
attr Lambda_EU13L obj-h1002-reading Hp_State
attr Lambda_EU13L obj-h1002-type U16
attr Lambda_EU13L obj-h1003-poll 1
attr Lambda_EU13L obj-h1003-reading Hp_Operating_state
attr Lambda_EU13L obj-h1003-type U16
attr Lambda_EU13L obj-h1004-expr $val/100
attr Lambda_EU13L obj-h1004-poll 1
attr Lambda_EU13L obj-h1004-reading Hp_T-flow
attr Lambda_EU13L obj-h1004-type S16
attr Lambda_EU13L obj-h1005-expr $val/100
attr Lambda_EU13L obj-h1005-poll 1
attr Lambda_EU13L obj-h1005-reading Hp_T-return
attr Lambda_EU13L obj-h1005-type S16
attr Lambda_EU13L obj-h1006-expr $val/100
attr Lambda_EU13L obj-h1006-poll 1
attr Lambda_EU13L obj-h1006-reading Hp_Vol_sink
attr Lambda_EU13L obj-h1006-type S16
attr Lambda_EU13L obj-h1007-expr $val/100
attr Lambda_EU13L obj-h1007-poll 1
attr Lambda_EU13L obj-h1007-reading Hp_T-EQin
attr Lambda_EU13L obj-h1007-type S16
attr Lambda_EU13L obj-h1008-expr $val/100
attr Lambda_EU13L obj-h1008-poll 1
attr Lambda_EU13L obj-h1008-reading Hp_T-EQout
attr Lambda_EU13L obj-h1008-type S16
attr Lambda_EU13L obj-h1009-expr $val/100
attr Lambda_EU13L obj-h1009-poll 1
attr Lambda_EU13L obj-h1009-reading Hp_Vol-source
attr Lambda_EU13L obj-h1009-type S16
attr Lambda_EU13L obj-h1010-expr $val/100
attr Lambda_EU13L obj-h1010-poll 1
attr Lambda_EU13L obj-h1010-reading Hp_Compressor-Rating
attr Lambda_EU13L obj-h1010-type U16
attr Lambda_EU13L obj-h1011-expr $val/10
attr Lambda_EU13L obj-h1011-poll 1
attr Lambda_EU13L obj-h1011-reading Hp_QP_heating
attr Lambda_EU13L obj-h1011-type S16
attr Lambda_EU13L obj-h1012-poll 1
attr Lambda_EU13L obj-h1012-reading Hp_FI_power_consumption
attr Lambda_EU13L obj-h1012-type S16
attr Lambda_EU13L obj-h1013-expr $val/100
attr Lambda_EU13L obj-h1013-poll 1
attr Lambda_EU13L obj-h1013-reading COP
attr Lambda_EU13L obj-h1013-type S16
attr Lambda_EU13L obj-h1014-poll 1
attr Lambda_EU13L obj-h1014-reading Hp_Modbus_request_release_password
attr Lambda_EU13L obj-h1014-set 1
attr Lambda_EU13L obj-h1014-type U16
attr Lambda_EU13L obj-h1015-hint 0,1,2,3,4
attr Lambda_EU13L obj-h1015-poll 1
attr Lambda_EU13L obj-h1015-reading Hp_request_type
attr Lambda_EU13L obj-h1015-set 1
attr Lambda_EU13L obj-h1015-type S16
attr Lambda_EU13L obj-h1016-expr $val/10
attr Lambda_EU13L obj-h1016-poll 1
attr Lambda_EU13L obj-h1016-reading Hp_request_flow_line_temp
attr Lambda_EU13L obj-h1016-set 1
attr Lambda_EU13L obj-h1016-setexpr $val*10
attr Lambda_EU13L obj-h1016-type S16
attr Lambda_EU13L obj-h1017-expr $val/10
attr Lambda_EU13L obj-h1017-poll 1
attr Lambda_EU13L obj-h1017-reading Hp_request_return_line_temp
attr Lambda_EU13L obj-h1017-set 1
attr Lambda_EU13L obj-h1017-setexpr $val*10
attr Lambda_EU13L obj-h1017-type S16
attr Lambda_EU13L obj-h1018-expr $val/10
attr Lambda_EU13L obj-h1018-poll 1
attr Lambda_EU13L obj-h1018-reading Hp_request_heat_sink_temp_diff
attr Lambda_EU13L obj-h1018-set 1
attr Lambda_EU13L obj-h1018-setexpr $val*10
attr Lambda_EU13L obj-h1018-type S16
attr Lambda_EU13L obj-h1019-poll 1
attr Lambda_EU13L obj-h1019-reading Hp_relay_state_for_2nd_heating_stage
attr Lambda_EU13L obj-h1019-type S16
attr Lambda_EU13L obj-h1020-poll 1
attr Lambda_EU13L obj-h1020-reading Hp_Statistics_VdA_E_since_last_reset
attr Lambda_EU13L obj-h1020-type S32
attr Lambda_EU13L obj-h1022-poll 1
attr Lambda_EU13L obj-h1022-reading Hp_Statistics_VdA_Q_since_last_reset
attr Lambda_EU13L obj-h1022-type S32
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 S16
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 S16
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-expr $val/100
attr Lambda_EU13L obj-h1032-poll 1
attr Lambda_EU13L obj-h1032-reading Hp_Expansion_Valve_Opening_Angle
attr Lambda_EU13L obj-h1032-type U16
attr Lambda_EU13L obj-h1051-expr $val/10
attr Lambda_EU13L obj-h1051-poll 1
attr Lambda_EU13L obj-h1051-reading Hp_DHW_Output_Power_at_15C
attr Lambda_EU13L obj-h1051-set 1
attr Lambda_EU13L obj-h1051-setexpr $val*10
attr Lambda_EU13L obj-h1051-type u16
attr Lambda_EU13L obj-h1052-expr $val/10
attr Lambda_EU13L obj-h1052-poll 1
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-setexpr $val*10
attr Lambda_EU13L obj-h1052-type u16
attr Lambda_EU13L obj-h1053-expr $val/10
attr Lambda_EU13L obj-h1053-poll 1
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-setexpr $val*10
attr Lambda_EU13L obj-h1053-type u16
attr Lambda_EU13L obj-h1054-expr $val/10
attr Lambda_EU13L obj-h1054-poll 1
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-setexpr $val*10
attr Lambda_EU13L obj-h1054-type u16
attr Lambda_EU13L obj-h1055-expr $val/10
attr Lambda_EU13L obj-h1055-poll 1
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-setexpr $val*10
attr Lambda_EU13L obj-h1055-type u16
attr Lambda_EU13L obj-h1056-expr $val/10
attr Lambda_EU13L obj-h1056-poll 1
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-setexpr $val*10
attr Lambda_EU13L obj-h1056-type u16
attr Lambda_EU13L obj-h1057-expr $val/10
attr Lambda_EU13L obj-h1057-poll 1
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-setexpr $val*10
attr Lambda_EU13L obj-h1057-type u16
attr Lambda_EU13L obj-h2000-poll 1
attr Lambda_EU13L obj-h2000-reading Boiler_Error_number
attr Lambda_EU13L obj-h2000-type S16
attr Lambda_EU13L obj-h2001-poll 1
attr Lambda_EU13L obj-h2001-reading Boiler_Operating_state
attr Lambda_EU13L obj-h2001-type U16
attr Lambda_EU13L obj-h2002-expr $val/10
attr Lambda_EU13L obj-h2002-poll 1
attr Lambda_EU13L obj-h2002-reading Boiler_Actual_high_temp
attr Lambda_EU13L obj-h2002-type S16
attr Lambda_EU13L obj-h2003-expr $val/10
attr Lambda_EU13L obj-h2003-poll 1
attr Lambda_EU13L obj-h2003-reading Boiler_Actual_low_temp
attr Lambda_EU13L obj-h2003-type S16
attr Lambda_EU13L obj-h2050-expr $val/10
attr Lambda_EU13L obj-h2050-poll 1
attr Lambda_EU13L obj-h2050-reading Boiler_Maximum_boiler_temp
attr Lambda_EU13L obj-h2050-set 1
attr Lambda_EU13L obj-h2050-setexpr $val*10
attr Lambda_EU13L obj-h2050-type S16
attr Lambda_EU13L obj-h3000-poll 1
attr Lambda_EU13L obj-h3000-reading Buffer_Error_number
attr Lambda_EU13L obj-h3000-type S16
attr Lambda_EU13L obj-h3001-poll 1
attr Lambda_EU13L obj-h3001-reading Buffer_Operating_state
attr Lambda_EU13L obj-h3001-type U16
attr Lambda_EU13L obj-h3002-expr $val/10
attr Lambda_EU13L obj-h3002-poll 1
attr Lambda_EU13L obj-h3002-reading Buffer_Actual_high_temp
attr Lambda_EU13L obj-h3002-type S16
attr Lambda_EU13L obj-h3003-expr $val/10
attr Lambda_EU13L obj-h3003-poll 1
attr Lambda_EU13L obj-h3003-reading Buffer_Actual_low_temp
attr Lambda_EU13L obj-h3003-type S16
attr Lambda_EU13L obj-h3050-expr $val/10
attr Lambda_EU13L obj-h3050-poll 1
attr Lambda_EU13L obj-h3050-reading Buffer_Maximum_buffer_temp
attr Lambda_EU13L obj-h3050-set 1
attr Lambda_EU13L obj-h3050-setexpr $val*10
attr Lambda_EU13L obj-h3050-type S16
attr Lambda_EU13L obj-h5000-poll 1
attr Lambda_EU13L obj-h5000-reading Heating_circuit_Error_number
attr Lambda_EU13L obj-h5000-type S16
attr Lambda_EU13L obj-h5001-poll 1
attr Lambda_EU13L obj-h5001-reading Heating_circuit_Operating_state
attr Lambda_EU13L obj-h5001-type U16
attr Lambda_EU13L obj-h5002-expr $val/10
attr Lambda_EU13L obj-h5002-poll 1
attr Lambda_EU13L obj-h5002-reading Heating_circuit_Flow_line_temp
attr Lambda_EU13L obj-h5002-type S16
attr Lambda_EU13L obj-h5003-expr $val/10
attr Lambda_EU13L obj-h5003-poll 1
attr Lambda_EU13L obj-h5003-reading Heating_circuit_Return_line_temp
attr Lambda_EU13L obj-h5003-type S16
attr Lambda_EU13L obj-h5004-expr $val/10
attr Lambda_EU13L obj-h5004-poll 1
attr Lambda_EU13L obj-h5004-reading Heating_circuit_Room_device_temp
attr Lambda_EU13L obj-h5004-set 1
attr Lambda_EU13L obj-h5004-setexpr $val*10
attr Lambda_EU13L obj-h5004-type S16
attr Lambda_EU13L obj-h5005-expr $val/10
attr Lambda_EU13L obj-h5005-poll 1
attr Lambda_EU13L obj-h5005-reading Heating_circuit_Setpoint_flow_line_temp
attr Lambda_EU13L obj-h5005-set 1
attr Lambda_EU13L obj-h5005-setexpr $val*10
attr Lambda_EU13L obj-h5005-type S16
attr Lambda_EU13L obj-h5006-hint 0,1,2,3,4,5,6,7
attr Lambda_EU13L obj-h5006-poll 1
attr Lambda_EU13L obj-h5006-reading Heating_circuit_Operating_mode
attr Lambda_EU13L obj-h5006-set 1
attr Lambda_EU13L obj-h5006-type S16
attr Lambda_EU13L obj-h5050-expr $val/10
attr Lambda_EU13L obj-h5050-poll 1
attr Lambda_EU13L obj-h5050-reading Heating_circuit_Offset_flow_line_temp_setpoint
attr Lambda_EU13L obj-h5050-set 1
attr Lambda_EU13L obj-h5050-setexpr $val*10
attr Lambda_EU13L obj-h5050-type S16
attr Lambda_EU13L obj-h5051-expr $val/10
attr Lambda_EU13L obj-h5051-poll 1
attr Lambda_EU13L obj-h5051-reading Heating_circuit_Setpoint_room_heating_temp
attr Lambda_EU13L obj-h5051-set 1
attr Lambda_EU13L obj-h5051-setexpr $val*10
attr Lambda_EU13L obj-h5051-type S16
attr Lambda_EU13L obj-h5052-expr $val/10
attr Lambda_EU13L obj-h5052-poll 1
attr Lambda_EU13L obj-h5052-reading Heating_circuit_Setpoint_room_cooling_temp
attr Lambda_EU13L obj-h5052-set 1
attr Lambda_EU13L obj-h5052-setexpr $val*10
attr Lambda_EU13L obj-h5052-type S16
attr Lambda_EU13L oldreadings Hp_QP_heating,Heating_circuit_Room_device_temp
attr Lambda_EU13L room Lambda
attr Lambda_EU13L showError 1
attr Lambda_EU13L silentReconnect 0
attr Lambda_EU13L userReadings General_Ambient_Operating_state_text {if (ReadingsVal("Lambda_EU13L","General_Ambient_Operating_state","0") == 0) {return "Off";;} \
elsif (ReadingsVal("Lambda_EU13L","General_Ambient_Operating_state","0") == 1) {return "Automatic";;} \
elsif (ReadingsVal("Lambda_EU13L","General_Ambient_Operating_state","0") == 2) {return "Manual";;} \
elsif (ReadingsVal("Lambda_EU13L","General_Ambient_Operating_state","0") == 3) {return "Error";;} \
else {return "unknown";;}},\
General_E-Manager_Operating_state_text {if (ReadingsVal("Lambda_EU13L","General_E-Manager_Operating_state","0") == 0) {return "Off";;} \
elsif (ReadingsVal("Lambda_EU13L","General_E-Manager_Operating_state","0") == 1) {return "Automatic";;} \
elsif (ReadingsVal("Lambda_EU13L","General_E-Manager_Operating_state","0") == 2) {return "Manual";;} \
elsif (ReadingsVal("Lambda_EU13L","General_E-Manager_Operating_state","0") == 3) {return "Error";;} \
elsif (ReadingsVal("Lambda_EU13L","General_E-Manager_Operating_state","0") == 4) {return "Offline";;} \
else {return "unknown";;}},\
Hp_Error_state_text {if (ReadingsVal("Lambda_EU13L","Hp_Error_state","0") == 0) {return "None";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Error_state","0") == 1) {return "Message";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Error_state","0") == 2) {return "Warning";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Error_state","0") == 3) {return "Alarm";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Error_state","0") == 4) {return "Fault";;} \
else {return "unknown";;}},\
Hp_state_text {if (ReadingsVal("Lambda_EU13L","Hp_state","0") == 0) {return "Init";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_state","0") == 1) {return "Reference";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_state","0") == 2) {return "Restart-Block";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_state","0") == 3) {return "Ready";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_state","0") == 4) {return "Start Pumps";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_state","0") == 5) {return "Start Compressor";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_state","0") == 6) {return "Pre-Regulation";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_state","0") == 7) {return "Regulation";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_state","0") == 8) {return "Not used";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_state","0") == 9) {return "Cooling";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_state","0") == 10) {return "Defrosting";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_state","0") == 20) {return "Stopping";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_state","0") == 30) {return "Fault-Lock";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_state","0") == 31) {return "Alarm-Block";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_state","0") == 40) {return "Error-Reset";;} \
else {return "unknown";;}},\
Hp_Operating_state_text {if (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 0) {return "STDBY";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 1) {return "CH";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 2) {return "DHW";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 3) {return "CC";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 4) {return "Circulate";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 5) {return "Defrost";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 6) {return "Off";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 7) {return "Frost";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 8) {return "STDBY-Frost";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 9) {return "Not used";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 10) {return "Summer";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 11) {return "Holiday";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 12) {return "Error";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 13) {return "Warning";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 14) {return "Info-message";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 15) {return "Time-Block";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 16) {return "Release-Block";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 17) {return "Mintemp-Block";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Operating_state","0") == 18) {return "Firmware-Download";;} \
else {return "unknown";;}},\
Hp_Request_type_text {if (ReadingsVal("Lambda_EU13L","Hp_Request_type","0") == 0) {return "No Request";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Request_type","0") == 1) {return "Flow Pump Circulation";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Request_type","0") == 2) {return "Central Heating";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Request_type","0") == 3) {return "Central Cooling";;} \
elsif (ReadingsVal("Lambda_EU13L","Hp_Request_type","0") == 4) {return "Domestic hot water";;} \
else {return "unknown";;}},\
Boiler_Operating_state_text {if (ReadingsVal("Lambda_EU13L","Boiler_Operating_state","0") == 0) {return "STDBY";;} \
elsif (ReadingsVal("Lambda_EU13L","Boiler_Operating_state","0") == 1) {return "DHW";;} \
elsif (ReadingsVal("Lambda_EU13L","Boiler_Operating_state","0") == 2) {return "Legio";;} \
elsif (ReadingsVal("Lambda_EU13L","Boiler_Operating_state","0") == 3) {return "Summer";;} \
elsif (ReadingsVal("Lambda_EU13L","Boiler_Operating_state","0") == 4) {return "Frost";;} \
elsif (ReadingsVal("Lambda_EU13L","Boiler_Operating_state","0") == 5) {return "Holiday";;} \
elsif (ReadingsVal("Lambda_EU13L","Boiler_Operating_state","0") == 6) {return "Prio-Stop";;} \
elsif (ReadingsVal("Lambda_EU13L","Boiler_Operating_state","0") == 7) {return "Error";;} \
elsif (ReadingsVal("Lambda_EU13L","Boiler_Operating_state","0") == 8) {return "Off";;} \
elsif (ReadingsVal("Lambda_EU13L","Boiler_Operating_state","0") == 9) {return "Prompt-DHW";;} \
elsif (ReadingsVal("Lambda_EU13L","Boiler_Operating_state","0") == 10) {return "Trailing-stop";;} \
elsif (ReadingsVal("Lambda_EU13L","Boiler_Operating_state","0") == 11) {return "Temp-Lock";;} \
elsif (ReadingsVal("Lambda_EU13L","Boiler_Operating_state","0") == 12) {return "Stdby-Frost";;} \
else {return "unknown";;}},\
Buffer_Operating_state_text {if (ReadingsVal("Lambda_EU13L","Buffer_Operating_state","0") == 0) {return "STDBY";;} \
elsif (ReadingsVal("Lambda_EU13L","Buffer_Operating_state","0") == 1) {return "Heating";;} \
elsif (ReadingsVal("Lambda_EU13L","Buffer_Operating_state","0") == 2) {return "Cooling";;} \
elsif (ReadingsVal("Lambda_EU13L","Buffer_Operating_state","0") == 3) {return "Summer";;} \
elsif (ReadingsVal("Lambda_EU13L","Buffer_Operating_state","0") == 4) {return "Frost";;} \
elsif (ReadingsVal("Lambda_EU13L","Buffer_Operating_state","0") == 5) {return "Holiday";;} \
elsif (ReadingsVal("Lambda_EU13L","Buffer_Operating_state","0") == 6) {return "Prio-Stop";;} \
elsif (ReadingsVal("Lambda_EU13L","Buffer_Operating_state","0") == 7) {return "Error";;} \
elsif (ReadingsVal("Lambda_EU13L","Buffer_Operating_state","0") == 8) {return "Off";;} \
elsif (ReadingsVal("Lambda_EU13L","Buffer_Operating_state","0") == 9) {return "Standy-Frost";;} \
else {return "unknown";;}},\
Heating_circuit_Operating_state_text {if (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 0) {return "Heating";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 1) {return "Eco";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 2) {return "Cooling";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 3) {return "Floordry";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 4) {return "Frost";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 5) {return "Max-Temp";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 6) {return "Error";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 7) {return "Service";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 8) {return "Holiday";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 9) {return "CH-Summer";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 10) {return "CC-Winter";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 11) {return "Prio-Stop";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 12) {return "Off";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 13) {return "Release-Off";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 14) {return "Time-off";;} \
elsif\
(ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 15) {return "Stdby";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 16) {return "Stdby-Heating";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 17) {return "Stdby-Eco";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 18) {return "Stdby-Cooling";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 19) {return "Stdby-Frost";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_state","0") == 20) {return "Stdby-Floordry";;} \
else {return "unknown";;}},\
Heating_circuit_Operating_mode_text {if (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_mode","0") == 0) {return "Off(rw)";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_mode","0") == 1) {return "Manual(r)";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_mode","0") == 2) {return "Automatic(rw)";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_mode","0") == 3) {return "Auto-heating(rw)";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_mode","0") == 4) {return "Auto-cooling(rw)";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_mode","0") == 5) {return "Frost(rw)";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_mode","0") == 6) {return "Summer(rw)";;} \
elsif (ReadingsVal("Lambda_EU13L","Heating_circuit_Operating_mode","0") == 7) {return "Floor-dry(r)";;}  \
else {return "unknown";;}},\
Anzahl_Takte:Hp_QP_heating.* { (((OldReadingsVal("Lambda_EU13L","Hp_QP_heating","0") <= 0) and (ReadingsVal("Lambda_EU13L","Hp_QP_heating","0") > 0)) ? (return (ReadingsVal("Lambda_EU13L","Anzahl_Takte","0") + 1)) : (return undef));;;; },\
statHp_Statistics_COP_since_last_resetDay:statHp_Statistics_VdA_Q_since_last_resetDay.* { if (ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_E_since_last_resetDay","0") == 0) { return 0;;;; } \
else { return sprintf("%.1f",(ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_Q_since_last_resetDay","0")/ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_E_since_last_resetDay","1")));;;; }},\
statHp_Statistics_COP_since_last_resetMonth:statHp_Statistics_VdA_Q_since_last_resetMonth.* { if (ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_E_since_last_resetMonth","0") == 0) { return 0;;;; } \
else { return sprintf("%.1f",(ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_Q_since_last_resetMonth","0")/ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_E_since_last_resetMonth","1")));;;; }},\
statHp_Statistics_COP_since_last_resetYear:statHp_Statistics_VdA_Q_since_last_resetYear.* { if (ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_E_since_last_resetYear","0") == 0) { return 0;;;; } \
else { return sprintf("%.1f",(ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_Q_since_last_resetYear","0")/ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_E_since_last_resetYear","1")));;;; }},\
statHp_Statistics_COP_since_last_resetDayLast:statHp_Statistics_VdA_Q_since_last_resetDayLast.* { if (ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_E_since_last_resetDayLast","0") == 0) { return 0;;;; } \
else { return sprintf("%.1f",(ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_Q_since_last_resetDayLast","0")/ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_E_since_last_resetDayLast","1")));;;; }},\
statHp_Statistics_COP_since_last_resetMonthLast:statHp_Statistics_VdA_Q_since_last_resetMonthLast.* { if (ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_E_since_last_resetMonthLast","0") == 0) { return 0;;;; } \
else { return sprintf("%.1f",(ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_Q_since_last_resetMonthLast","0")/ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_E_since_last_resetMonthLast","1")));;;; }},\
statHp_Statistics_COP_since_last_resetYearLast:statHp_Statistics_VdA_Q_since_last_resetYearLast.* { if (ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_E_since_last_resetYearLast","0") == 0) { return 0;;;; } \
else { return sprintf("%.1f",(ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_Q_since_last_resetYearLast","0")/ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_E_since_last_resetYearLast","1")));;;; }},\
Hp_Statistics_COP_since_last_reset:Hp_Statistics_VdA_Q_since_last_reset.* { if (ReadingsVal("Lambda_EU13L","Hp_Statistics_VdA_E_since_last_reset","0") == 0) { return 0;;;; } \
else { return sprintf("%.1f",(ReadingsVal("Lambda_EU13L","Hp_Statistics_VdA_Q_since_last_reset","0")/ReadingsVal("Lambda_EU13L","Hp_Statistics_VdA_E_since_last_reset","1")));;;; }}, \
VdA_E_Day_kW:statHp_Statistics_VdA_E_since_last_resetDay.* { return sprintf("%.1f",(ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_E_since_last_resetDay","0")/1000));;;;},\
VdA_Q_Day_kW:statHp_Statistics_VdA_Q_since_last_resetDay.* { return sprintf("%.1f",(ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_Q_since_last_resetDay","0")/1000));;;;},\
VdA_E_DayLast_kW:statHp_Statistics_VdA_E_since_last_resetDayLast.* { return sprintf("%.1f",(ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_E_since_last_resetDayLast","0")/1000));;;;},\
VdA_Q_DayLast_kW:statHp_Statistics_VdA_Q_since_last_resetDayLast.* { return sprintf("%.1f",(ReadingsVal("Lambda_EU13L","statHp_Statistics_VdA_Q_since_last_resetDayLast","0")/1000));;;;},\
COP_Day:statHp_Statistics_COP_since_last_resetDay.* { return sprintf("%.1f",(ReadingsVal("Lambda_EU13L","statHp_Statistics_COP_since_last_resetDay","0")));;;;},\
COP_DayLast:statHp_Statistics_COP_since_last_resetDayLast.* { return sprintf("%.1f",(ReadingsVal("Lambda_EU13L","statHp_Statistics_COP_since_last_resetDayLast","0")));;;;},\
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);;\
},Soll_VLT_Heizkurve:(General_Ambient_Calculated_ambient_temp.*|Heating_circuit_Room_device_temp.*) {\
  my $at_high  = 22;;     \
  my $vlt_high = 23;;     \
\
  my $at_mid   = 0;;      \
  my $vlt_mid  = 41;;     \
\
  my $at_low   = -22;;    \
  my $vlt_low  = 51;;     \
\
  my $vlt_min  = 20;;     \
  my $vlt_max  = 55;;    \
\
  my $room_set = 21;;     \
  my $room_fac = 1;;      \
\
\
  my $at = ReadingsNum(\
    "Lambda_EU13L",\
    "General_Ambient_Calculated_ambient_temp",\
    0\
  );;\
\
  my $room_is = ReadingsNum(\
    "Lambda_EU13L",\
    "Heating_circuit_Room_device_temp",\
    $room_set\
  );;\
  \
  my $room_is_old = OldReadingsNum(\
    "Lambda_EU13L",\
    "Heating_circuit_Room_device_temp",\
    $room_set\
  );;\
  \
 \
  if ($room_is < 0) {\
  $room_is = $room_is_old;;\
  }\
  \
  if ($room_is < 0) {\
  $room_is = $room_set;;\
  }\
\
  my ($m, $vlt);;\
\
  if ($at >= $at_mid) {\
    $m = ($vlt_mid - $vlt_high) / ($at_mid - $at_high);;\
    $vlt = $vlt_mid + $m * ($at - $at_mid);;\
  } else {\
    $m = ($vlt_low - $vlt_mid) / ($at_low - $at_mid);;\
    $vlt = $vlt_mid + $m * ($at - $at_mid);;\
  }\
\
  my $room_corr = ($room_set - $room_is) * $room_fac;;\
  $vlt += $room_corr;;\
\
  #Debug "VLT-Debug: AT=$at Room_is=$room_is Room_corr=$room_corr VLT_raw=$vlt";;\
\
  $vlt = $vlt_min if ($vlt < $vlt_min);;\
  $vlt = $vlt_max if ($vlt > $vlt_max);;\
\
  sprintf("%.1f", $vlt);;\
}



#94
Bastelecke / Aw: Entwicklung SIGNALduinoAdv...
Letzter Beitrag von Ralf9 - 02 Mai 2026, 21:15:45
E07-900MM10S und E07-400MM10S z.B. bei aliexpress

Zitat von: DerD am 04 Februar 2026, 18:42:35
Zitat von: Ralf9 am 03 Februar 2026, 11:15:46Ich finde die cc101 Module E07-400M10S und E07-900M10S recht interessant, da müsste man doch durch die Abschirmung schwächere Signale besser empfangen können.
Hat die schon mal jemand gekauft?

das scheinen auch andere bemerkt zu haben: externer Link
Interessant auch die Ergebnisse für die kleineren E07-900MM10S, die aber kein IPEX onboard haben
#95
FHEM Code changes / Revision 31177: 76_SolarForeca...
Letzter Beitrag von System - 02 Mai 2026, 21:10:23
Revision 31177: 76_SolarForecast: contrib Version 2.6.5

76_SolarForecast: contrib Version 2.6.5

Source: Revision 31177: 76_SolarForecast: contrib Version 2.6.5
#96
DOIF / Aw: DOIF-Abfall-Status per Tel...
Letzter Beitrag von Damian - 02 Mai 2026, 20:33:04
Versuche es mit der neuen Funktion ui_Table::get_uiTable("diAbfall") siehe: https://forum.fhem.de/index.php?topic=144559.0

Diese liefert den HTML-Code, den du benötigst. Sollte auch mit get diAbfall html gehen
#97
FHEM Code changes / Revision 31176: 76_SolarForeca...
Letzter Beitrag von System - 02 Mai 2026, 20:10:12
Revision 31176: 76_SolarForecast: contrib Version 2.6.5

76_SolarForecast: contrib Version 2.6.5

Source: Revision 31176: 76_SolarForecast: contrib Version 2.6.5
#98
Homematic / Erweiterung einer HMConfig_Ask...
Letzter Beitrag von ritchie - 02 Mai 2026, 20:07:57
Hallo Zusammen,

ich habe ein Board mit der Software "HB-UNI-Sen-DUST.ino" erstellt und im Debug Mode erscheinen auch die korrekten Werte:

ZitatPM25: 34
PM10: 113

Ich habe für die Einbindung die Datei "HMConfig_AskSinPPCustom.pm" und "HMMsg.pm" in FHEM eingebunden.

Ich habe in der Datei ""HMConfig_AskSinPPCustom.pm" folgende Definition eingefügt:

$HMConfig::culHmModel{"F314"} = {name  => "HB-UNI-Sen-DUST",st => "custom", cyc   => '',rxt   => '', lst   => '', chn   => "01" };
$customMsg{"HB-UNI-Sen-DUST"} = sub {
  my ($msg, $hash) = @_;

  main::Log 1,"HB-UNI-Sen-DUST Executed";

  my $pm25_avg = $msg->payloadWord(0) / 10;
  my $pm10_avg = $msg->payloadWord(2) / 10;
  my $pm25_max = $msg->payloadWord(4) / 10;
  my $pm10_max = $msg->payloadWord(6) / 10;
  my $pm25_min = $msg->payloadWord(8) / 10;
  my $pm10_min = $msg->payloadWord(10) / 10;

  my @evtEt=();
  my $device = main::CUL_HM_id2Hash($msg->from);

  push @evtEt,[$device,1,"pm10_min:".$pm10_min];
  push @evtEt,[$device,1,"pm10_avg:".$pm10_avg];
  push @evtEt,[$device,1,"pm10_max:".$pm10_max];
  push @evtEt,[$device,1,"pm25_min:".$pm25_min];
  push @evtEt,[$device,1,"pm25_avg:".$pm25_avg];
  push @evtEt,[$device,1,"pm25_max:".$pm25_max];

  return @evtEt;
};

Wenn die das Teil mit Pairing in FHEM einbinde, bekomme ich das Teil auch in FHEM zu sehen.
Wenn ich dann aber getConfig() mache, bekomme ich nicht die entsprechen Register für die Messwerte zu sehen.

Du darfst diesen Dateianhang nicht ansehen.

Ebenso sehe ich im Logfile keinen Eintrag "HB-UNI-Sen-DUST Executed" der mir sagen würde, das meine Erweiterung überhaupt
durchlaufen wird.

Kennt sich jemand mit der Erweiterung der "HMConfig_AskSinPPCustom.pm" aus und kann mir sagen, wo mein Fehler ist.

Viele Grüße
R.
#99
Unterstützende Dienste / Aw: Telegram instant messaging...
Letzter Beitrag von satprofi - 02 Mai 2026, 19:49:58
Hallo.
Habe neue Erkenntnis, wenn ich
fhem("set Telegram message \@$msgChat Markdown Philharmoniker *[Goldpreis:unze]* \n1g *[Goldpreis:gramm]* \n/Gold")
verwende wird es in fetter Schrift gesendet. Aber wenn das reading *text* ist, und folgend definiert wird ist die Schrift normal
fhem("set Telegram message \@$msgChat Markdown Philharmoniker [Goldpreis:unze] 1g [Goldpreis:gramm] \n/Gold")
bei dieser definition kommt nie fetter text , egal welcher der 2 beispiele
fhem("set Telegram message \@$msgChat Markdown Lidl_Himberg DC [Lidl_Himberg:text
wie schaffe ich es jetzt die readings je nach status fett oder durchgestrichen darzustellen ?


[edit]
habe den Übeltäter, die underlines sind nicht kompatibel.  warum ? auch klappen die ~ nicht, nur * klappen bestens, auch wenn in den readings
#100
Server - Linux / Aw: Freier Proxmox Backup Serv...
Letzter Beitrag von Gisbert - 02 Mai 2026, 19:44:54
Ich hab den Fehler gefunden ... er saß mal wieder vorm Bildschirm  ::)  :'(
Die Absicht war, morgens und abends um 7:30 und 19:30 ein Backup zu machen, also hab ich 07:30,19:30 eingetragen, was natürlich falsch ist. Als Ergebnis steht dann da: Next Run 07:19:30 - alles klar. Richtig muss der Eintrag für diese beiden Zeiten 7,19:30 lauten - auch wenn es sich alles andere als richtig anfühlt.