Heizkurve mit Heishamon und FHEM ändern

Begonnen von Geisha2021, 31 Januar 2024, 13:59:38

Vorheriges Thema - Nächstes Thema

NewRasPi

Hallo,
wer kann daraus ein DOIF bauen, das auch funktioniert?
define HeizleistungDOIF DOIF ([MQTT_HeishaMon:Pump_Flow] > 1) set (MQTT_HeishaMon:Main_Outlet_Temp -  MQTT_HeishaMon:Main_Inlet_Temp)  * (MQTT_HeishaMon:Pump_Flow * 60 /860)  DOELSE()
Der erste Teil soll das Delta zwischen Heizungsvorlauf abzüglich Heizungsrücklauf errechnen.
Im zweiten Teil müsste die Durchflußmenge pro Minute mal 60 Minuten auf Durchlaufmenge je Stunde und dann durch 860 geteilt werden.
Das Ergebnis wäre dann die Heizleistung in Kilowattstunden.

Im nächsten Baustein wenn man die Heizleistung in Kilowattstunden durch die verbrauchte Primärenergie aus dem Shellypro3em,
WaermepumpeZaehler:Active_Power_S teilt, hätte man auch den echten COP der Wärmepumpe immer aktuell. 
Raspberry Pi 2 Mod B + Raspberry Pi 3 + Raspberry Pi4; HM Lan Adapter; 8 Kanal Relaiskarte; ca. 15x 1wire Temperatur Sensor DS18B20; 10x HC-SR501 Bewegungsmelder; 9x HM Rauchmelder HM-Sec-SD; HM Funk Fenstersensoren; HM Strommess-Zwischenstecker;

NewRasPi

#46
ChatGPC gibt das aus:
define HeizleistungDOIF DOIF ([HeishaMon:Pump_Flow] > 1) (
set Heizleistung ( (ReadingsVal("HeishaMon", "Main_Outlet_Temp", 0) - ReadingsVal("HeishaMon", "Main_Inlet_Temp", 0)) * (ReadingsVal("HeishaMon", "Pump_Flow", 0) * 60 / 860) )
) DOELSE (
set Heizleistung 0
mit dem Hinweis, das ein Device Namens Heizleistung vorhanden sein muß.
Für mich sieht das schon gut aus. Es errechnet aber nichts. :-(
Raspberry Pi 2 Mod B + Raspberry Pi 3 + Raspberry Pi4; HM Lan Adapter; 8 Kanal Relaiskarte; ca. 15x 1wire Temperatur Sensor DS18B20; 10x HC-SR501 Bewegungsmelder; 9x HM Rauchmelder HM-Sec-SD; HM Funk Fenstersensoren; HM Strommess-Zwischenstecker;

Gisbert

Eine genauere Formel, die die temperaturabhängige Wärmekapazität von Wasser benutzt, sieht wie folgt aus:
- heat_power (Leistung in kW)
- heat_kWh (Integral, Energie in kWh)

attr HeishaMon_main userReadings
heat_power:Pump_Flow.* {if (ReadingsVal($name,'Main_Outlet_Temp',30)-ReadingsVal($name,'Main_Inlet_Temp',26) > 0) \
{round(60/1000*(ReadingsVal($name,'Pump_Flow',15.5)-0.13)*0.4768/(0.086836**(1+(1-(ReadingsVal($name,'mid_temp',28)+273.15)/637.287)**0.0891497))*18.016/3600\
*(276370-2090.1*(ReadingsVal($name,'mid_temp',28)+273.15)+8.125*(ReadingsVal($name,'mid_temp',28)+273.15)**2-0.014116\
*(ReadingsVal($name,'mid_temp',28)+273.15)**3+0.0000093701*(ReadingsVal($name,'mid_temp',28)+273.15)**4)/1000/18.016\
*(ReadingsVal($name,'Main_Outlet_Temp',30)-ReadingsVal($name,'Main_Inlet_Temp',26)),4)}\
else {0}}, \
mid_temp:Main_Outlet_Temp.* {(ReadingsVal($name,'Main_Outlet_Temp',30)+ReadingsVal($name,'Main_Inlet_Temp',26))/2}, \
heat_kWh:heat_power.* integral {ReadingsVal($name,'heat_power',5)/3600}

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

NewRasPi

#48
Hallo FHEM Freunde,
hallo Gisbert, vielen Dank für Deine Formel. Das übersteigt aber meine Fähigkeiten beim Abschreiben doch.

Nach dem x-ten mal löschen und wieder neu anfangen stehe ich jetzt soweit, das ich die Werte der Panasonic 9kW Serie L aus der Heishamon Platine lesen kann.
Schreiben kann ich leider nichts. Auch das entfernen des CWZ1 Adapters ändert nichts daran, das ein schreiben/ ändern der Einstellungen auf der Pana gehen würde.
Ich vermute, die Pana erwartet die Anweisungen mit Benutzer und Passwort. Das userattrib: basicauth ist noch nicht der richtige Weg.
Hier ist mein list vom Heishamon Device:
Internals:
   CID        HeishaMon
   DEF        HeishaMon
   FUUID      67262730-f33f-5ae8-c20d-93f6e14f85164701
   IODev      myIOBroker
   LASTInputDev myIOBroker
   MSGCNT     6313
   NAME       MQTT2_HeishaMon
   NR         99
   STATE      Status: 1\
<br>Warmwasser: 47\
<br>Aussentemperatur: 9\
<br>Rücklauf: 28.25\
\
<br>Vorlauf: 31\
\
<br>Target_Temp: 31\
\
<br>Fluss: 15.53\
<br>Verbrauch: Heat_Energy_Consumption Watt\
\
<br>Erzeugung: Heat_Energy_Production Watt\
<br>Frequenz: 23 Hz\
<br>Flüstermodus: 3\
<br>Heizkurve: 24
   TYPE       MQTT2_DEVICE
   eventCount 2056
   myIOBroker_CONN myIOBroker_10.63.173.45_63807
   myIOBroker_MSGCNT 6313
   myIOBroker_TIME 2024-11-03 16:27:49
   READINGS:
     2024-11-03 16:24:50   Alt_External_Sensor 1
     2024-11-03 16:24:50   Anti_Freeze_Mode 1
     2024-11-03 16:24:50   Buffer_Installed 0
     2024-11-03 16:24:50   Buffer_Tank_Delta 8
     2024-11-03 16:24:50   Buffer_Temp     -78
     2024-11-03 16:24:50   Bypass_Outlet_Temp -128
     2024-11-03 16:24:50   Compressor_Current 2.0
     2024-11-03 16:24:50   Compressor_Freq 23
     2024-11-03 16:24:50   Cool_Delta      5
     2024-11-03 16:24:50   Cool_Power_Consumption -200
     2024-11-03 16:24:50   Cool_Power_Production -200
     2024-11-03 16:24:50   Cool_To_Heat_Temp 10
     2024-11-03 16:24:50   Cooling_Mode    0
     2024-11-03 16:24:50   DHW_Heat_Delta  -8
     2024-11-03 16:24:50   DHW_Heater_Operations_Hours 0
     2024-11-03 16:24:50   DHW_Heater_State 0
     2024-11-03 16:24:50   DHW_Holiday_Shift_Temp -15
     2024-11-03 16:24:50   DHW_Installed   1
     2024-11-03 16:24:50   DHW_Power_Consumption -200
     2024-11-03 16:24:50   DHW_Power_Production -200
     2024-11-03 16:24:50   DHW_Target_Temp 50
     2024-11-03 16:24:50   DHW_Temp        47
     2024-11-03 16:24:50   Defrost_Temp    -128
     2024-11-03 16:24:50   Defrosting_State 0
     2024-11-03 16:27:49   Discharge_Temp  32
     2024-11-03 16:25:34   Economizer_Outlet_Temp 120
     2024-11-03 16:24:50   Error           No error
     2024-11-03 16:25:33   Eva_Outlet_Temp 4
     2024-11-03 16:24:50   External_Heater_State 0
     2024-11-03 16:24:50   External_Pad_Heater 0
     2024-11-03 16:24:50   Fan1_Motor_Speed 300
     2024-11-03 16:24:50   Fan2_Motor_Speed 0
     2024-11-03 16:24:50   Force_DHW_State 0
     2024-11-03 16:24:50   Force_Heater_State 0
     2024-11-03 16:24:50   Heat_Delta      5
     2024-11-03 16:24:50   Heat_Power_Consumption -200
     2024-11-03 16:24:50   Heat_Power_Production -200
     2024-11-03 16:24:50   Heat_Pump_Model 38
     2024-11-03 16:24:50   Heat_To_Cool_Temp 15
     2024-11-03 16:24:50   Heater_Delay_Time 30
     2024-11-03 16:24:50   Heater_On_Outdoor_Temp -8
     2024-11-03 16:24:50   Heater_Start_Delta -2
     2024-11-03 16:24:50   Heater_Stop_Delta -1
     2024-11-03 16:24:50   Heating_Mode    0
     2024-11-03 16:24:50   Heating_Off_Outdoor_Temp 20
     2024-11-03 16:24:50   Heatpump_State  1
     2024-11-03 16:24:50   High_Pressure   10.4
     2024-11-03 16:24:50   Holiday_Mode_State 0
     2024-11-03 13:07:15   IODev           myIOBroker
     2024-11-03 16:24:50   Inside_Pipe_Temp 29
     2024-11-03 16:24:50   Internal_Heater_State 0
     2024-11-03 16:24:50   Ipm_Temp        -128
     2024-11-03 16:27:47   LWT             Online
     2024-11-03 16:24:50   Liquid_Type     0
     2024-11-03 16:24:50   Low_Pressure    0
     2024-11-03 16:24:50   Main_Hex_Outlet_Temp 32
     2024-11-03 16:24:50   Main_Inlet_Temp 28.25
     2024-11-03 16:27:49   Main_Outlet_Temp 31
     2024-11-03 16:24:50   Main_Schedule_State 1
     2024-11-03 16:24:50   Main_Target_Temp 31
     2024-11-03 16:24:50   Max_Pump_Duty   188
     2024-11-03 16:24:50   Operating_Mode_State 0
     2024-11-03 16:24:50   Operations_Counter 140
     2024-11-03 16:24:50   Operations_Hours 205
     2024-11-03 16:24:50   Optional_PCB    1
     2024-11-03 16:25:33   Outside_Pipe_Temp 3
     2024-11-03 16:24:50   Outside_Temp    9
     2024-11-03 16:24:50   Pool_Temp       -78
     2024-11-03 16:24:50   Powerful_Mode_Time 0
     2024-11-03 16:24:50   Pump_Duty       96
     2024-11-03 16:27:49   Pump_Flow       15.53
     2024-11-03 16:24:50   Pump_Flowrate_Mode 0
     2024-11-03 16:26:18   Pump_Speed      2300
     2024-11-03 16:24:50   Quiet_Mode_Level 3
     2024-11-03 16:24:50   Quiet_Mode_Schedule 0
     2024-11-03 16:24:50   Room_Heater_Operations_Hours 0
     2024-11-03 16:24:50   Room_Heater_State 0
     2024-11-03 16:24:50   Room_Holiday_Shift_Temp -15
     2024-11-03 16:24:50   Room_Thermostat_Temp 24
     2024-11-03 16:24:51   Second_Inlet_Temp 29
     2024-11-03 16:27:49   Second_Room_Thermostat_Temp -128
     2024-11-03 16:24:50   Solar_Frost_Protection 5
     2024-11-03 16:24:50   Solar_High_Limit 80
     2024-11-03 16:24:50   Solar_Mode      0
     2024-11-03 16:24:50   Solar_Off_Delta 5
     2024-11-03 16:24:50   Solar_On_Delta  10
     2024-11-03 16:24:50   Solar_Temp      -78
     2024-11-03 16:24:50   Sterilization_Max_Time 5
     2024-11-03 16:24:50   Sterilization_State 0
     2024-11-03 16:24:50   Sterilization_Temp 60
     2024-11-03 16:24:50   ThreeWay_Valve_State 0
     2024-11-03 16:27:49   Water_Pressure  0.74
     2024-11-03 16:24:50   Z1_Cool_Curve_Outside_High_Temp 30
     2024-11-03 16:24:50   Z1_Cool_Curve_Outside_Low_Temp 20
     2024-11-03 16:24:50   Z1_Cool_Curve_Target_High_Temp 15
     2024-11-03 16:24:50   Z1_Cool_Curve_Target_Low_Temp 10
     2024-11-03 16:24:50   Z1_Cool_Request_Temp 18
     2024-11-03 16:24:50   Z1_Heat_Curve_Outside_High_Temp 15
     2024-11-03 16:24:50   Z1_Heat_Curve_Outside_Low_Temp -10
     2024-11-03 16:24:50   Z1_Heat_Curve_Target_High_Temp 42
     2024-11-03 16:24:50   Z1_Heat_Curve_Target_Low_Temp 27
     2024-11-03 16:24:50   Z1_Heat_Request_Temp 24
     2024-11-03 16:24:50   Z1_Sensor_Settings 2
     2024-11-03 16:24:50   Z1_Temp         24
     2024-11-03 16:24:50   Z1_Water_Target_Temp 31
     2024-11-03 16:24:50   Z1_Water_Temp   -78
     2024-11-03 16:24:50   Z2_Cool_Curve_Outside_High_Temp 30
     2024-11-03 16:24:50   Z2_Cool_Curve_Outside_Low_Temp 20
     2024-11-03 16:24:50   Z2_Cool_Curve_Target_High_Temp 15
     2024-11-03 16:24:50   Z2_Cool_Curve_Target_Low_Temp 10
     2024-11-03 16:24:50   Z2_Cool_Request_Temp 0
     2024-11-03 16:24:50   Z2_Heat_Curve_Outside_High_Temp 15
     2024-11-03 16:24:50   Z2_Heat_Curve_Outside_Low_Temp -5
     2024-11-03 16:24:50   Z2_Heat_Curve_Target_High_Temp 55
     2024-11-03 16:24:50   Z2_Heat_Curve_Target_Low_Temp 35
     2024-11-03 16:24:50   Z2_Heat_Request_Temp 0
     2024-11-03 16:24:50   Z2_Sensor_Settings 0
     2024-11-03 16:24:50   Z2_Temp         -128
     2024-11-03 16:24:50   Z2_Water_Target_Temp 41
     2024-11-03 16:24:50   Z2_Water_Temp   -78
     2024-11-03 16:24:50   Zones_State     0
     2024-11-03 16:27:47   bad_crc_reads   0
     2024-11-03 16:27:47   bad_header_reads 0
     2024-11-03 16:27:49   data            q�␁␐V�RaU␕j␕␓U�␕UYe␙V�����qq����[����{x␟~␟␟yy����v���{���x�����������␑Vx�␆��␟~��uU!x␕Y␅
␑e!Q␕␁&����␋4���␌)������22��222��������5␁␋␘�␏/a␟␁>␁␁␁��␁␁
␁␄�%$
     2024-11-03 16:27:47   free_heap       235440
     2024-11-03 16:27:47   free_memory     69
     2024-11-03 16:27:47   good_reads      2026
     2024-11-03 13:07:32   ip              10.63.173.45
     2024-11-03 11:29:23   log             Sun Nov  3 11:29:22 2024 (40733440): parsed json
     2024-11-03 16:27:47   mqtt_reconnects 8
     2024-11-03 16:27:47   rules_active    0
     2024-11-02 23:45:56   state           Fluestermodus
     2024-11-03 13:08:14   subscriptions   panasonic_heat_pump/SendRawValue panasonic_heat_pump/commands/# panasonic_heat_pump/gpio/#
     2024-11-03 16:27:47   timeout_reads   28656
     2024-11-03 16:27:47   too_long_reads  0
     2024-11-03 16:27:47   too_short_reads 0
     2024-11-03 16:27:47   total_reads     30682
     2024-11-03 16:27:47   uptime          58638193
     2024-11-03 16:27:47   version         3.8
     2024-11-03 16:27:47   voltage         3.3
     2024-11-03 16:27:47   wifi            -1
Attributes:
   basicauth  IOBrokerMQTT:xyzxyz
   event-min-interval .*:3600
   event-on-change-reading .*
   readingList HeishaMon:panasonic_heat_pump/LWT:.* LWT
HeishaMon:panasonic_heat_pump/ip:.* ip
HeishaMon:panasonic_heat_pump/stats:.* { json2nameValue($EVENT) }
HeishaMon:panasonic_heat_pump/main/Heatpump_State:.* Heatpump_State
HeishaMon:panasonic_heat_pump/main/Pump_Flow:.* Pump_Flow
HeishaMon:panasonic_heat_pump/main/Force_DHW_State:.* Force_DHW_State
HeishaMon:panasonic_heat_pump/main/Quiet_Mode_Schedule:.* Quiet_Mode_Schedule
HeishaMon:panasonic_heat_pump/main/Operating_Mode_State:.* Operating_Mode_State
HeishaMon:panasonic_heat_pump/main/Main_Inlet_Temp:.* Main_Inlet_Temp
HeishaMon:panasonic_heat_pump/main/Main_Outlet_Temp:.* Main_Outlet_Temp
HeishaMon:panasonic_heat_pump/main/Main_Target_Temp:.* Main_Target_Temp
HeishaMon:panasonic_heat_pump/main/Compressor_Freq:.* Compressor_Freq
HeishaMon:panasonic_heat_pump/main/DHW_Target_Temp:.* DHW_Target_Temp
HeishaMon:panasonic_heat_pump/main/DHW_Temp:.* DHW_Temp
HeishaMon:panasonic_heat_pump/main/Operations_Hours:.* Operations_Hours
HeishaMon:panasonic_heat_pump/main/Operations_Counter:.* Operations_Counter
HeishaMon:panasonic_heat_pump/main/Main_Schedule_State:.* Main_Schedule_State
HeishaMon:panasonic_heat_pump/main/Outside_Temp:.* Outside_Temp
HeishaMon:panasonic_heat_pump/main/Heat_Power_Production:.* Heat_Power_Production
HeishaMon:panasonic_heat_pump/main/Heat_Power_Consumption:.* Heat_Power_Consumption
HeishaMon:panasonic_heat_pump/main/Powerful_Mode_Time:.* Powerful_Mode_Time
HeishaMon:panasonic_heat_pump/main/Quiet_Mode_Level:.* Quiet_Mode_Level
HeishaMon:panasonic_heat_pump/main/Holiday_Mode_State:.* Holiday_Mode_State
HeishaMon:panasonic_heat_pump/main/ThreeWay_Valve_State:.* ThreeWay_Valve_State
HeishaMon:panasonic_heat_pump/main/Outside_Pipe_Temp:.* Outside_Pipe_Temp
HeishaMon:panasonic_heat_pump/main/DHW_Heat_Delta:.* DHW_Heat_Delta
HeishaMon:panasonic_heat_pump/main/Heat_Delta:.* Heat_Delta
HeishaMon:panasonic_heat_pump/main/Cool_Delta:.* Cool_Delta
HeishaMon:panasonic_heat_pump/main/DHW_Holiday_Shift_Temp:.* DHW_Holiday_Shift_Temp
HeishaMon:panasonic_heat_pump/main/Defrosting_State:.* Defrosting_State
HeishaMon:panasonic_heat_pump/main/Z1_Heat_Request_Temp:.* Z1_Heat_Request_Temp
HeishaMon:panasonic_heat_pump/main/Z1_Cool_Request_Temp:.* Z1_Cool_Request_Temp
HeishaMon:panasonic_heat_pump/main/Z1_Heat_Curve_Target_High_Temp:.* Z1_Heat_Curve_Target_High_Temp
HeishaMon:panasonic_heat_pump/main/Z1_Heat_Curve_Target_Low_Temp:.* Z1_Heat_Curve_Target_Low_Temp
HeishaMon:panasonic_heat_pump/main/Z1_Heat_Curve_Outside_High_Temp:.* Z1_Heat_Curve_Outside_High_Temp
HeishaMon:panasonic_heat_pump/main/Z1_Heat_Curve_Outside_Low_Temp:.* Z1_Heat_Curve_Outside_Low_Temp
HeishaMon:panasonic_heat_pump/main/Room_Thermostat_Temp:.* Room_Thermostat_Temp
HeishaMon:panasonic_heat_pump/main/Z2_Heat_Request_Temp:.* Z2_Heat_Request_Temp
HeishaMon:panasonic_heat_pump/main/Z2_Cool_Request_Temp:.* Z2_Cool_Request_Temp
HeishaMon:panasonic_heat_pump/main/Z1_Water_Temp:.* Z1_Water_Temp
HeishaMon:panasonic_heat_pump/main/Z2_Water_Temp:.* Z2_Water_Temp
HeishaMon:panasonic_heat_pump/main/Cool_Power_Production:.* Cool_Power_Production
HeishaMon:panasonic_heat_pump/main/Cool_Power_Consumption:.* Cool_Power_Consumption
HeishaMon:panasonic_heat_pump/main/DHW_Power_Production:.* DHW_Power_Production
HeishaMon:panasonic_heat_pump/main/DHW_Power_Consumption:.* DHW_Power_Consumption
HeishaMon:panasonic_heat_pump/main/Z1_Water_Target_Temp:.* Z1_Water_Target_Temp
HeishaMon:panasonic_heat_pump/main/Z2_Water_Target_Temp:.* Z2_Water_Target_Temp
HeishaMon:panasonic_heat_pump/main/Error:.* Error
HeishaMon:panasonic_heat_pump/main/Room_Holiday_Shift_Temp:.* Room_Holiday_Shift_Temp
HeishaMon:panasonic_heat_pump/main/Buffer_Temp:.* Buffer_Temp
HeishaMon:panasonic_heat_pump/main/Solar_Temp:.* Solar_Temp
HeishaMon:panasonic_heat_pump/main/Pool_Temp:.* Pool_Temp
HeishaMon:panasonic_heat_pump/main/Main_Hex_Outlet_Temp:.* Main_Hex_Outlet_Temp
HeishaMon:panasonic_heat_pump/main/Discharge_Temp:.* Discharge_Temp
HeishaMon:panasonic_heat_pump/main/Inside_Pipe_Temp:.* Inside_Pipe_Temp
HeishaMon:panasonic_heat_pump/main/Defrost_Temp:.* Defrost_Temp
HeishaMon:panasonic_heat_pump/main/Eva_Outlet_Temp:.* Eva_Outlet_Temp
HeishaMon:panasonic_heat_pump/main/Bypass_Outlet_Temp:.* Bypass_Outlet_Temp
HeishaMon:panasonic_heat_pump/main/Ipm_Temp:.* Ipm_Temp
HeishaMon:panasonic_heat_pump/main/Z1_Temp:.* Z1_Temp
HeishaMon:panasonic_heat_pump/main/Z2_Temp:.* Z2_Temp
HeishaMon:panasonic_heat_pump/main/DHW_Heater_State:.* DHW_Heater_State
HeishaMon:panasonic_heat_pump/main/Room_Heater_State:.* Room_Heater_State
HeishaMon:panasonic_heat_pump/main/Internal_Heater_State:.* Internal_Heater_State
HeishaMon:panasonic_heat_pump/main/External_Heater_State:.* External_Heater_State
HeishaMon:panasonic_heat_pump/main/Fan1_Motor_Speed:.* Fan1_Motor_Speed
HeishaMon:panasonic_heat_pump/main/Fan2_Motor_Speed:.* Fan2_Motor_Speed
HeishaMon:panasonic_heat_pump/main/High_Pressure:.* High_Pressure
HeishaMon:panasonic_heat_pump/main/Pump_Speed:.* Pump_Speed
HeishaMon:panasonic_heat_pump/main/Low_Pressure:.* Low_Pressure
HeishaMon:panasonic_heat_pump/main/Compressor_Current:.* Compressor_Current
HeishaMon:panasonic_heat_pump/main/Force_Heater_State:.* Force_Heater_State
HeishaMon:panasonic_heat_pump/main/Sterilization_State:.* Sterilization_State
HeishaMon:panasonic_heat_pump/main/Sterilization_Temp:.* Sterilization_Temp
HeishaMon:panasonic_heat_pump/main/Sterilization_Max_Time:.* Sterilization_Max_Time
HeishaMon:panasonic_heat_pump/main/Z1_Cool_Curve_Target_High_Temp:.* Z1_Cool_Curve_Target_High_Temp
HeishaMon:panasonic_heat_pump/main/Z1_Cool_Curve_Target_Low_Temp:.* Z1_Cool_Curve_Target_Low_Temp
HeishaMon:panasonic_heat_pump/main/Z1_Cool_Curve_Outside_High_Temp:.* Z1_Cool_Curve_Outside_High_Temp
HeishaMon:panasonic_heat_pump/main/Z1_Cool_Curve_Outside_Low_Temp:.* Z1_Cool_Curve_Outside_Low_Temp
HeishaMon:panasonic_heat_pump/main/Heating_Mode:.* Heating_Mode
HeishaMon:panasonic_heat_pump/main/Heating_Off_Outdoor_Temp:.* Heating_Off_Outdoor_Temp
HeishaMon:panasonic_heat_pump/main/Heater_On_Outdoor_Temp:.* Heater_On_Outdoor_Temp
HeishaMon:panasonic_heat_pump/main/Heat_To_Cool_Temp:.* Heat_To_Cool_Temp
HeishaMon:panasonic_heat_pump/main/Cool_To_Heat_Temp:.* Cool_To_Heat_Temp
HeishaMon:panasonic_heat_pump/main/Cooling_Mode:.* Cooling_Mode
HeishaMon:panasonic_heat_pump/main/Z2_Heat_Curve_Target_High_Temp:.* Z2_Heat_Curve_Target_High_Temp
HeishaMon:panasonic_heat_pump/main/Z2_Heat_Curve_Target_Low_Temp:.* Z2_Heat_Curve_Target_Low_Temp
HeishaMon:panasonic_heat_pump/main/Z2_Heat_Curve_Outside_High_Temp:.* Z2_Heat_Curve_Outside_High_Temp
HeishaMon:panasonic_heat_pump/main/Z2_Heat_Curve_Outside_Low_Temp:.* Z2_Heat_Curve_Outside_Low_Temp
HeishaMon:panasonic_heat_pump/main/Z2_Cool_Curve_Target_High_Temp:.* Z2_Cool_Curve_Target_High_Temp
HeishaMon:panasonic_heat_pump/main/Z2_Cool_Curve_Target_Low_Temp:.* Z2_Cool_Curve_Target_Low_Temp
HeishaMon:panasonic_heat_pump/main/Z2_Cool_Curve_Outside_High_Temp:.* Z2_Cool_Curve_Outside_High_Temp
HeishaMon:panasonic_heat_pump/main/Z2_Cool_Curve_Outside_Low_Temp:.* Z2_Cool_Curve_Outside_Low_Temp
HeishaMon:panasonic_heat_pump/main/Room_Heater_Operations_Hours:.* Room_Heater_Operations_Hours
HeishaMon:panasonic_heat_pump/main/DHW_Heater_Operations_Hours:.* DHW_Heater_Operations_Hours
HeishaMon:panasonic_heat_pump/main/Heat_Pump_Model:.* Heat_Pump_Model
HeishaMon:panasonic_heat_pump/main/Pump_Duty:.* Pump_Duty
HeishaMon:panasonic_heat_pump/main/Zones_State:.* Zones_State
HeishaMon:panasonic_heat_pump/main/Max_Pump_Duty:.* Max_Pump_Duty
HeishaMon:panasonic_heat_pump/main/Heater_Delay_Time:.* Heater_Delay_Time
HeishaMon:panasonic_heat_pump/main/Heater_Start_Delta:.* Heater_Start_Delta
HeishaMon:panasonic_heat_pump/main/Heater_Stop_Delta:.* Heater_Stop_Delta
HeishaMon:panasonic_heat_pump/main/Buffer_Installed:.* Buffer_Installed
HeishaMon:panasonic_heat_pump/main/DHW_Installed:.* DHW_Installed
HeishaMon:panasonic_heat_pump/main/Solar_Mode:.* Solar_Mode
HeishaMon:panasonic_heat_pump/main/Solar_On_Delta:.* Solar_On_Delta
HeishaMon:panasonic_heat_pump/main/Solar_Off_Delta:.* Solar_Off_Delta
HeishaMon:panasonic_heat_pump/main/Solar_Frost_Protection:.* Solar_Frost_Protection
HeishaMon:panasonic_heat_pump/main/Solar_High_Limit:.* Solar_High_Limit
HeishaMon:panasonic_heat_pump/main/Pump_Flowrate_Mode:.* Pump_Flowrate_Mode
HeishaMon:panasonic_heat_pump/main/Liquid_Type:.* Liquid_Type
HeishaMon:panasonic_heat_pump/main/Alt_External_Sensor:.* Alt_External_Sensor
HeishaMon:panasonic_heat_pump/main/Anti_Freeze_Mode:.* Anti_Freeze_Mode
HeishaMon:panasonic_heat_pump/main/Optional_PCB:.* Optional_PCB
HeishaMon:panasonic_heat_pump/main/Z1_Sensor_Settings:.* Z1_Sensor_Settings
HeishaMon:panasonic_heat_pump/main/Z2_Sensor_Settings:.* Z2_Sensor_Settings
HeishaMon:panasonic_heat_pump/main/Buffer_Tank_Delta:.* Buffer_Tank_Delta
HeishaMon:panasonic_heat_pump/main/External_Pad_Heater:.* External_Pad_Heater
HeishaMon:panasonic_heat_pump/main/Water_Pressure:.* Water_Pressure
HeishaMon:panasonic_heat_pump/main/Second_Inlet_Temp:.* Second_Inlet_Temp
HeishaMon:panasonic_heat_pump/main/Economizer_Outlet_Temp:.* Economizer_Outlet_Temp
HeishaMon:panasonic_heat_pump/main/Second_Room_Thermostat_Temp:.* Second_Room_Thermostat_Temp
HeishaMon:panasonic_heat_pump/raw/data:.* data
HeishaMon:panasonic_heat_pump/log:.* log
   room       2.1_Heizraum,MQTT2_DEVICE
   setList    Power:0,1 panasonic_heat_pump/SetHeatpump\
Fluestermodus:0,1,2,3 panasonic_heat_pump/SetQuietMode\
Heizkurve:-5,-4,-3,-2,-1,0,1,2,3,4,5 panasonic_heat_pump/SetZ1HeatRequestTemperature\
Nachheizen:0,1 panasonic_heat_pump/SetForceDHW\
Modus:0,1,2,3,4,5,6 panasonic_heat_pump/SetOperationMode
   stateFormat Status: Heatpump_State\
<br>Warmwasser: DHW_Temp\
<br>Aussentemperatur: Outside_Temp\
<br>Rücklauf: Main_Inlet_Temp\
\
<br>Vorlauf: Main_Outlet_Temp\
\
<br>Target_Temp: Main_Target_Temp\
\
<br>Fluss: Pump_Flow\
<br>Verbrauch: Heat_Energy_Consumption Watt\
\
<br>Erzeugung: Heat_Energy_Production Watt\
<br>Frequenz: Compressor_Freq Hz\
<br>Flüstermodus: Quiet_Mode_Level\
<br>Heizkurve: Z1_Heat_Request_Temp
   userattr   basicauth
   webCmd     Fluestermodus:Heizkurve:Nachheizen:Modus:Power
   webCmdLabel Flüstermodus:Heizkurve:Nachheizen:Modus:Power
Bestimmt ist da noch sehr viel überflüssiges drinnen, was ich dann noch entfernen muss.

Ein weiterer Versuch ist ein DOIF um den COP zu errechnen:
define HeizleistungDOIF DOIF ([MQTT2_HeishaMon:Heatpump_State] ne "0" || [MQTT2_HeishaMon:ThreeWay_Valve_State] ne "1") ({\
fhem("setreading HeizleistungDOIF SUM ".(ReadingsNum("MQTT2_HeishaMon","Main_Outlet_Temp",0) - ReadingsNum("MQTT2_HeishaMon","Main_Inlet_Temp",0)))})\

attr HeizleistungDOIF do always
attr HeizleistungDOIF event-on-change-reading MQTT2_HeishaMon:Main_Inlet_Temp.*,MQTT2_HeishaMon:Main_Outlet_Temp.*,MQTT2_HeishaMon:Pump_Flow.*
attr HeizleistungDOIF room 2.1_Heizraum
attr HeizleistungDOIF stateFormat COP [$name:COP:r2]
attr HeizleistungDOIF userReadings Stromverbrauch { ReadingsVal("WaermepumpeZaehler","Active_Power_S",0)/1000},\
Durchfluss { ReadingsVal("MQTT2_HeishaMon","Pump_Flow",0) *60},\
HeizKW { ((ReadingsVal("HeizleistungDOIF","Durchfluss",0) * ReadingsVal("HeizleistungDOIF","SUM",0)) /860)/10000000 },\
COP { ReadingsVal("HeizleistungDOIF","HeizKW",0) /   ReadingsVal("HeizleistungDOIF","Stromverbrauch",0)}
attr HeizleistungDOIF wait 10
#   DEF        ([MQTT2_HeishaMon:Heatpump_State] ne "0" || [MQTT2_HeishaMon:ThreeWay_Valve_State] ne "1") ({
#fhem("setreading HeizleistungDOIF SUM ".(ReadingsNum("MQTT2_HeishaMon","Main_Outlet_Temp",0) - ReadingsNum("MQTT2_HeishaMon","Main_Inlet_Temp",0)))})
#
#   FUUID      6725267c-f33f-5ae8-3942-c4395e221e4cc83e
#   MODEL      FHEM
#   NAME       HeizleistungDOIF
#   NOTIFYDEV  MQTT2_HeishaMon,global
#   NR         97
#   NTFY_ORDER 50-HeizleistungDOIF
#   STATE      COP 8.13
#   TYPE       DOIF
#   VERSION    28546 2024-02-23 20:11:05
#   eventCount 3
#   READINGS:
#     2024-11-03 16:20:03   COP             8.12925421953676
#     2024-11-03 16:19:36   Device          MQTT2_HeishaMon
#     2024-11-03 16:20:03   Durchfluss      1017.6
#     2024-11-03 16:20:03   HeizKW          4.843409664
#     2024-11-03 13:23:29   HeizKW2         53550.1779069767
#     2024-11-03 16:20:03   SUM             2.75
#     2024-11-03 16:20:03   Stromverbrauch  0.5958
#     2024-11-03 16:20:03   cmd             1
#     2024-11-03 16:20:03   cmd_event       set_cmd_1
#     2024-11-03 16:20:03   cmd_nr          1
#     2024-11-03 16:19:36   e_MQTT2_HeishaMon_Heatpump_State 1
#     2024-11-03 15:32:19   e_MQTT2_HeishaMon_ThreeWay_Valve_State 0
#     2024-11-03 14:35:51   mode            enabled
#     2024-11-03 16:20:03   state           cmd_1
#     2024-11-03 16:19:46   wait_timer      no timer
#   Regex:
#     accu:
#     bar:
#     barAvg:
#     collect:
#     cond:
#       MQTT2_HeishaMon:
#         0:
#           Heatpump_State ^MQTT2_HeishaMon$:^Heatpump_State:
#           ThreeWay_Valve_State ^MQTT2_HeishaMon$:^ThreeWay_Valve_State:
#   attr:
#     cmdState:
#     wait:
#       0:
#         10
#     waitdel:
#   condition:
#     0          ::ReadingValDoIf($hash,'MQTT2_HeishaMon','Heatpump_State') ne "0" || ::ReadingValDoIf($hash,'MQTT2_HeishaMon','ThreeWay_Valve_State') ne "1"
#   do:
#     0:
#       0          { fhem("setreading HeizleistungDOIF SUM ".(ReadingsNum("MQTT2_HeishaMon","Main_Outlet_Temp",0) - ReadingsNum("MQTT2_HeishaMon","Main_Inlet_Temp",0)))}
#     1:
#   helper:
#     NOTIFYDEV  MQTT2_HeishaMon,global
#     event      Heatpump_State: 1
#     globalinit 1
#     last_timer 0
#     sleepdevice MQTT2_HeishaMon
#     sleepsubtimer -1
#     sleeptimer -1
#     timerdev   MQTT2_HeishaMon
#     timerevent Heatpump_State: 1
#     triggerDev MQTT2_HeishaMon
#     timerevents:
#       Heatpump_State: 1
#     timereventsState:
#       Heatpump_State: 1
#     triggerEvents:
#       Heatpump_State: 1
#     triggerEventsState:
#       Heatpump_State: 1
#   internals:
#   perlblock:
#   readings:
#     all         MQTT2_HeishaMon:Heatpump_State MQTT2_HeishaMon:ThreeWay_Valve_State
#   trigger:
#   uiState:
#   uiTable:
#
setstate HeizleistungDOIF COP 8.13
setstate HeizleistungDOIF 2024-11-03 16:20:03 COP 8.12925421953676
setstate HeizleistungDOIF 2024-11-03 16:19:36 Device MQTT2_HeishaMon
setstate HeizleistungDOIF 2024-11-03 16:20:03 Durchfluss 1017.6
setstate HeizleistungDOIF 2024-11-03 16:20:03 HeizKW 4.843409664
setstate HeizleistungDOIF 2024-11-03 13:23:29 HeizKW2 53550.1779069767
setstate HeizleistungDOIF 2024-11-03 16:20:03 SUM 2.75
setstate HeizleistungDOIF 2024-11-03 16:20:03 Stromverbrauch 0.5958
setstate HeizleistungDOIF 2024-11-03 16:20:03 cmd 1
setstate HeizleistungDOIF 2024-11-03 16:20:03 cmd_event set_cmd_1
setstate HeizleistungDOIF 2024-11-03 16:20:03 cmd_nr 1
setstate HeizleistungDOIF 2024-11-03 16:19:36 e_MQTT2_HeishaMon_Heatpump_State 1
setstate HeizleistungDOIF 2024-11-03 15:32:19 e_MQTT2_HeishaMon_ThreeWay_Valve_State 0
setstate HeizleistungDOIF 2024-11-03 14:35:51 mode enabled
setstate HeizleistungDOIF 2024-11-03 16:20:03 state cmd_1
setstate HeizleistungDOIF 2024-11-03 16:19:46 wait_timer no timer

Vielleicht hilft das einem anderen auch etwas weiter. Noch besser wäre natürlich, wenn einem Profi meine Fehler darin auffallen und man mir einen Tipp gibt, wie es besser und richtig geht.
Die Leistungsaufnahme und Leistungserzeugung zeigt Heishamon leider auch im (Windows) -Browser nicht bzw. falsch an.
TOP15   Heat_Power_Production   -200   Watt
TOP16   Heat_Power_Consumption   -200   Watt
Vielen Dank.
Raspberry Pi 2 Mod B + Raspberry Pi 3 + Raspberry Pi4; HM Lan Adapter; 8 Kanal Relaiskarte; ca. 15x 1wire Temperatur Sensor DS18B20; 10x HC-SR501 Bewegungsmelder; 9x HM Rauchmelder HM-Sec-SD; HM Funk Fenstersensoren; HM Strommess-Zwischenstecker;

gvzdus

Moin,
fangen wir mal mit dem "Schrott" an: Heishamon schickt auch die Rohdaten per MQTT, und das ist das, was Du als "falscher Zeichensatz" missinterpretierst.

Jetzt frage ich mich: Was ist Dein Gerät "myIOBroker" in FHEM?
Ist das ein MQTT2_Server oder MQTT2_Client?

Je nach dem sieht es unterschiedlich aus, das "Binäre" zu filtern...

NewRasPi

#50
Hallo gvzdus,
der myIOBroker ist ein MQTT2_Server:

define myIOBroker MQTT2_SERVER 1883 global
attr myIOBroker allowfrom 10.63.173.45
attr myIOBroker room MQTT2_DEVICE
#   CONNECTS   1
#   Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
#   ClientsKeepOrder 1
#   DEF        1883 global
#   FD         14
#   FUUID      67262713-f33f-5ae8-b3ba-a93a680af3c02cc9
#   NAME       myIOBroker
#   NR         98
#   PORT       1883
#   STATE      Initialized
#   TYPE       MQTT2_SERVER
#   eventCount 1
#   MatchList:
#     1:MQTT2_DEVICE ^.
#     2:MQTT_GENERIC_BRIDGE ^.
#   READINGS:
#     2024-11-03 13:07:32   nrclients       1
#     2024-11-03 13:07:23   state           Initialized
#   clients:
#     myIOBroker_10.63.173.45_63807 1
#   retain:
#
setstate myIOBroker 2024-11-03 13:07:32 nrclients 1
setstate myIOBroker 2024-11-03 13:07:23 state Initialized

Das Attribut allowfrom mit der IP von der Pana Heishamon Platine habe ich erst hinzugefügt, ohne dem ging es aber auch nicht.
Raspberry Pi 2 Mod B + Raspberry Pi 3 + Raspberry Pi4; HM Lan Adapter; 8 Kanal Relaiskarte; ca. 15x 1wire Temperatur Sensor DS18B20; 10x HC-SR501 Bewegungsmelder; 9x HM Rauchmelder HM-Sec-SD; HM Funk Fenstersensoren; HM Strommess-Zwischenstecker;

gvzdus

Sehr gut, nur wegen des Namens hatte ich vermutet, dass Du ggf. eine Client-Verbindung zu einer ioBroker-Installation aufgemacht hast.
Du kannst mit folgendem Befehl die MQTT-Nachrichten filtern:
attr myIOBroker ignoreRegexp panasonic_heat_pump/(raw|stats).*Dann kommt nichts Neues mehr an.
Den Alt-Schrott kannst Du so löschen:
deletereading HeishaMon data
Oder Du löscht alle Readings komplett und musst 1-2 Minuten warten, bis die verbleibenden wieder da sind:
deletereading HeishaMon .*

gvzdus

Und wegen "Kann nichts senden":
Probiere mal meine Set-List:
(Du wählst "in der Mitte" bei "attr" im Pulldown "setList" aus, klickst rechts ins leere Feld, und kopierst folgendes Gedöns in den Editor):
off:noArg panasonic_heat_pump/commands/SetHeatpump 0
on:noArg panasonic_heat_pump/commands/SetHeatpump 1
operationMode:0,1,2,3,4,5,6 panasonic_heat_pump/commands/SetOperationMode $EVTPART1
forceDHW:0,1 panasonic_heat_pump/commands/SetForceDHW $EVTPART1
dwhTemp:slider,40,1,75 panasonic_heat_pump/commands/SetDHWTemp $EVTPART1
heatRequestTemp:slider,-5,1,5 panasonic_heat_pump/commands/SetZ1HeatRequestTemperature $EVTPART1
heatingOffOutdoorTemp:slider,5,1,40 panasonic_heat_pump/commands/SetHeatingOffOutdoorTemp $EVTPART1
bufferDelta:slider,0,1,10 panasonic_heat_pump/commands/SetBufferDelta $EVTPART1
quietMode:0,1,2,3 panasonic_heat_pump/commands/SetQuietMode $EVTPART1
Danach klickst Du auf "Okay", klickst auf "attr" (sonst speichert er das *nicht*), und rufst die Seite noch mal auf. Jetzt solltest Du ganz oben "Kommandos" zur Auswahl haben.

NewRasPi

Hallo gvzdus,
die ersten Jobs haben funktioniert. Super und vielen Dank.
Aber das Senden von den neuen Befehlen aus der setList gehen nicht. Die Auswahlfenster hatte ich vorher schon.
Die Einträge im Event monitor zeigen keinen Fehler an.
Raspberry Pi 2 Mod B + Raspberry Pi 3 + Raspberry Pi4; HM Lan Adapter; 8 Kanal Relaiskarte; ca. 15x 1wire Temperatur Sensor DS18B20; 10x HC-SR501 Bewegungsmelder; 9x HM Rauchmelder HM-Sec-SD; HM Funk Fenstersensoren; HM Strommess-Zwischenstecker;