Neueste Beiträge

#1
Zitat von: klaus.schauer am 05 Juni 2026, 08:34:16Wie dumm und unklug von Volkswagen, den bisherigen API-Zugang zu sperren und völlig unnötige Baustellen aufzumachen. Um den Anforderungen des EU Data Act zu genügen, hätte völlig ausgereicht, zusätzlich zum API-Zugang ein Portal für die historischen Daten bereitzustellen.
In meinem neuen Buchmanuskript gibt es ein Kapitelchen zu Cariad, das ist die IT-Tochter von VW. Passt in das allgemeine Bild, ich zitiere mich mal selbst
ZitatSo entwickelte sich das ambitionierte Projekt Cariad innerhalb weniger Jahre zu einem der sichtbarsten Beispiele für das Scheitern digitaler Transformation in der deutschen Industrie.

Edit: Und hier gibt es eine Petition zum Unterschreiben - Forderung auf Echtzeitzugriff auf die eigenen Fahrzeugdaten https://www.change.org/p/eu-data-act-durchsetzen-autohersteller-m%C3%BCssen-uns-zugang-zu-unseren-fahrzeugdaten-geben

LG

pah
#2
Wunschliste / Aw: offline Update - update re...
Letzter Beitrag von quartz - 05 Juni 2026, 14:17:56
Ups, mein Fehler. Verschoben nach Wunschliste FHEM.
#3
Wunschliste / VERSCHOBEN: offline Update - u...
Letzter Beitrag von quartz - 05 Juni 2026, 14:13:39
#4
Heizungssteuerung/Raumklima / Aw: Panasonic Wärmepumpe - Hei...
Letzter Beitrag von Gisbert - 05 Juni 2026, 14:03:47
Hier das 1. Device, im raw-Format. Man kann sicher einiges weglassen, aber so hast du alles, was ich auch benutze und worauf ich bei der Steuerung Bezug nehme.
defmod HeishaMon_IP MQTT_DEVICE
attr HeishaMon_IP IODev MyBroker
attr HeishaMon_IP alias HeishaMon IP
attr HeishaMon_IP autoSubscribeReadings panasonic_heat_pump/stats
attr HeishaMon_IP comment 30.4.2026:\
Dass HeishaMon nach einem Firmware-Update Werte wie 0, -1 oder -128 anzeigt, \
liegt meistens daran, dass die Kommunikation zwischen dem HeishaMon-Modul und der Panasonic-Wärmepumpe unterbrochen ist \
oder die Register nicht korrekt gelesen werden können.\
Lösung:\
Gehen Sie ins Web-Interface und klicken Sie unter "Settings" auf Save, auch ohne Änderungen vorzunehmen. \
Dies startet die internen Prozesse oft neu.\
---\
Zur Steuerung der Heizleistung wird der Wert der beheizten Fläche verwendet.\
Zusätzlich wird der Wert für SetHeatRequestTemperature für Heishamon in diesem Device anhand der beheizten Fläche und der Temperaturvorhersage berechnet.\
Zwischen 5 und 10°C wird der Wert für SetHeatRequestTemperature um 1°C reduziert: -0.5*(1+tanh(ReadingsVal($name,'Temp_eff','0')-7.5))\
Man kann Heishamon auch per Json abfragen: http://192.168.2.56/json\
---\
Anstatt den Wert SetHeatRequestTemperature zwischen 20 und 55% der beheizten Fläche stufenweise zu ändern,\
wurde eine angepasste, lineare Funktion verwendet.\
Vorher wurden für die linken Grenzen die folgenden Werte benutzt:\
20 → -1\
25 → 0\
30 → 0\
35 → 1\
45 → 2\
5.2.2025:\
Z1HeatRequestTemp weniger steil definiert, da die Anhebung nach oben in der Realität nicht funktioniert.\
Insgesamt soll sich die Änderung der Heizkurve nur zwischen ca. -2 und +3 bewegen.\
24.11.2025:\
Im DOIF-Device Panasonic_Jeisha wird nur noch eine Absenkung der Heizkurve zugelassen (<=0), \
da eine Anhebung auch bei niedrigen Außentemperaturen keine Auswirkung auf die tatsächliche Vorlauftemperatur hat.
attr HeishaMon_IP event-aggregator Beheizte_Flaeche::none:median:450
attr HeishaMon_IP event-min-interval Beheizte_Flaeche_av:300, Zeitstempel:300
attr HeishaMon_IP event-on-change-reading Beheizte_Flaeche:0.5,Beheizte_Flaeche_av:0.5,Taktsperre,Temp:0.1,Temp_eff:0.1,Z1HeatRequestTemp,Zeitstempel,clouds,dTemp_eff,wait_Wert
attr HeishaMon_IP group Panasonic Aquarea
attr HeishaMon_IP icon it_wifi
attr HeishaMon_IP room Heizung
attr HeishaMon_IP sortby 1
attr HeishaMon_IP stateFormat Beheizte Fläche: [$name:Beheizte_Flaeche_av:r1]%<br/>\
Heizkurve • check: [$name:myZ1HeatRequestTemp] • [$name:mycheck_Z1HeatRequestTemp]°C<br/>\
Aussentemperatur: [TH.Kuhlmannweg8:temperature]°C<br/>\
Cloud cover: [Leverkusen.OpenWeatherMap:cloudCover]%<br/>\
Temp<i><span style="vertical-align: -3px;; font-size: 75%;;">eff</span></i>: [$name:Temp_eff:r1]°C<br/>\
Forecast T<i><span style="vertical-align: -3px;; font-size: 75%;;">14:00</span></i> heute: [DWD.Wetter.Leverkusen:fc0_14_TTT:r1]°C<br/>\
Forecast T<i><span style="vertical-align: -3px;; font-size: 75%;;">14:00</span></i> morgen: [DWD.Wetter.Leverkusen:fc1_14_TTT:r1]°C<br/>\
[$name:IPaddress]<br/>\
<span style='vertical-align: middle;; font-size: 85%;;'>[$name:Zeitstempel]</span>
attr HeishaMon_IP subscribeReading_IP panasonic_heat_pump/ip
attr HeishaMon_IP subscribeReading_LWT panasonic_heat_pump/LWT
attr HeishaMon_IP subscribeReading_stats panasonic_heat_pump/stats
attr HeishaMon_IP userReadings Temp {if (strftime("%H", localtime) <= 18) {round(1/2*ReadingsVal('myTemperature','mytemp','') + 1/2*ReadingsVal('DWD.Wetter.Leverkusen','fc0_4_TTT',''),2)} \
else {round(1/2*ReadingsVal('myTemperature','mytemp','') + 1/2*ReadingsVal('DWD.Wetter.Leverkusen','fc1_4_TTT',''),2)}}, \
Beheizte_Flaeche {Beheizte_Flaeche_EG_OG()}, \
Beheizte_Flaeche_av {round(movingAverage($name,'Beheizte_Flaeche',900)+ReadingsNum($name,'solar_surplus',0),2)},\
clouds {if (isday() == 1) {1*(100-ReadingsVal('Leverkusen.OpenWeatherMap','cloudCover',''))/100} \
else {-1*(100-ReadingsVal('Leverkusen.OpenWeatherMap','cloudCover',''))/100}}, \
Temp_eff {if ((ReadingsVal($name,'Temp','') + ReadingsVal($name,'clouds','') >= 25)) {25} \
else {round(ReadingsVal($name,'Temp','') + ReadingsVal($name,'clouds',''),2)}}, \
dTemp_eff {if (ReadingsVal($name,'Temp_eff','') < 25) \
{round(0.545454545454545*(ReadingsVal('myTemperature','mytemp','')-ReadingsVal($name,'Temp_eff','')),3)} \
else {0}}, \
Z1HeatRequestTemp {if (ReadingsVal($name,'dtemp_eff','0')+1 > 5) {1} \
elsif (ReadingsVal($name,'dtemp_eff','0')-1 < -5) {-1} \
elsif ((22 <= strftime("%H", localtime) or strftime("%H", localtime) <= 4) and ReadingsVal($name,'Beheizte_Flaeche_av','0') < 20) \
{round((ReadingsVal($name,'dtemp_eff','0')-0.5*(1+tanh(ReadingsVal($name,'Temp_eff','0')-7.5))-1)/2+ReadingsNum('HeishaMon_main','addCompressorFreq',0),0)} \
elsif (ReadingsVal($name,'Beheizte_Flaeche_av','0') < 20) \
{round((ReadingsVal($name,'dtemp_eff','0')-0.5*(1+tanh(ReadingsVal($name,'Temp_eff','0')-7.5))-2)/2+ReadingsNum('HeishaMon_main','addCompressorFreq',0),0)} \
elsif (20 <= ReadingsVal($name,'Beheizte_Flaeche_av','0') <= 75) \
{round((ReadingsVal($name,'dtemp_eff','0')-0.5*(1+tanh(ReadingsVal($name,'Temp_eff','0')-7.5))+0.09090909*ReadingsVal($name,'Beheizte_Flaeche_av','0')-3.81818182)/2+ReadingsNum('HeishaMon_main','addCompressorFreq',0),0)} \
elsif (ReadingsVal($name,'Beheizte_Flaeche_av','0') > 75) \
{round((ReadingsVal($name,'dtemp_eff','0')-0.5*(1+tanh(ReadingsVal($name,'Temp_eff','0')-7.5))+2)/2+ReadingsNum('HeishaMon_main','addCompressorFreq',0),0)}}, \
myZ1HeatRequestTemp {my $ret = ReadingsVal($name,'Z1HeatRequestTemp','');; $ret =~ s/-0/0/g;; return $ret}, \
mycheck_Z1HeatRequestTemp {my $ret = ReadingsVal($name,'check_Z1HeatRequestTemp','');; $ret =~ s/-0/0/g;; return $ret}, \
Zeitstempel:Beheizte_Flaeche.* {substr(ReadingsTimestamp($name,'Beheizte_Flaeche',''),0,16)}, \
IPaddress {"<a href=\"http://192.168.2.56\" style=\"color: green;; text-decoration: underline;;\" target=\"_blank\" rel=\"noopener noreferrer\">http://192.168.2.56</a>"}

2. Device, hier werden die meisten Readings erhalten.
defmod HeishaMon_main MQTT_DEVICE
attr HeishaMon_main IODev MyBroker
attr HeishaMon_main alias HeishaMon main
attr HeishaMon_main autoSubscribeReadings panasonic_heat_pump/main/+
attr HeishaMon_main comment Defrost_number: Anzahl der Enteisungen ab dem 1.1.2026\
---\
8.1.2025:\
Reset von Errormeldungen:\
http://192.168.2.56/command?SetReset=1\
---\
22.10.2024:\
Funktionseinstellung (Menü 1.6):\
E-Heizstab E-Heizung EIN\
Installateur-Setup > Betriebseinstellung (Menü 6.1):\
E-Heizstab EIN/AUS, Außentemperatur: -8°C\
Verzögerung 30 min (Standard)\
E-Heizstab EIN/AUS, Zuschaltung: -5°C\
E-Heizstab EIN/AUS, Abschaltung: -3°C\
---\
Heizstab zum Abtauen aktivieren:\
https://www.haustechnikdialog.de/Forum/t/259696/Jeisha-Heizstab-Abtauen\
Spezialmenu: Taste links / Taste runter / Menu (rechts oben)\
am besten in der Reihenfolge für 10 Sekunden drücken, dann kann man den E-Heizstab aktivieren.\
W I C H T I G :\
Nach dem Aufruf des Spezialmenus ist die Heizkurve auf den Werkszustand (Heizkörper) zurückgesetzt.\
Es ist nötig, die Heizkurve neu mit einem set-Befehl zu definieren (s. Ende des Kommentars).\
Zum Nachlesen der Topics: \
https://github.com/Egyras/HeishaMon/blob/master/MQTT-Topics.md\
Ausgabe im Json-Format: \
http://192.168.2.56/json\
MQTT: send mqtt message to base_topic/commands/SetTopic\
(e.g.: panasonic_heat_pump/commands/SetHeatpump)\
SetHeatpump - Set heatpump on or off 0=off, 1=on\
SetZ1HeatRequestTemperature - Set Z1 heat shift or direct heat temperature -5 to 5 or 20 to max\
SetFloorHeatDelta - Set floor heating delta in Kelvin 1-15\
SetHeaterStartDelta - Set heater start delta T (only J-series) in kelvin\
SetHeaterStopDelta - Set heater stop delta T (only J-series) in kelvin\
SetAltExternalSensor - Set the alternative external outdoor sensor 0=disabled, 1=enabled\
SetHeatingOffOutdoorTemp - Set Outdoor Temperature to stop heating 5 to 35\
SetQuietMode - Set quiet mode level 0, 1, 2 or 3\
SetPowerfulMode - Set powerful mode run time in minutes 0=off, 1=30, 2=60 or 3=90\
SetForceDefrost - Forces defrost routine - 0, 1\
SetBivalentControl - Set bivalent control switch - 0=disabled, 1=enabled\
SetBivalentStartTemp - Set bivalent start temp - -15 to 35\
TOP59 - main/Room_Heater_State - When enabled, backup heater can be used for room heating (0=disabled, 1=enabled)\
TOP60 - main/Internal_Heater_State - Internal backup heater state (0=inactive, 1=active)\
Offenbar kann man damit nicht die Zusatzheizung steuern, denn sie tauchen nicht bei den setTopics auf.\
---\
Ändern der Heizkurve\
nicht vollständig:\
panasonic_heat_pump/commands/SetCurves {zone1:{heat:{target:{low:25}}}}\
http://IP/command?SetCurves={zone1:{heat:{target:{low:25}}}\
vollständig, Heizkurve: +10/28 -10/36:\
set HeishaMon_main SetCurves {zone1:{heat:{target:{high:36,low:28},outside:{high:10,low:-10}}}}\
17.1.2025, geändert:\
set HeishaMon_main SetCurves {zone1:{heat:{target:{high:34,low:28},outside:{high:10,low:-10}}}}\
3.2.2025, geändert:\
set HeishaMon_main SetCurves {zone1:{heat:{target:{high:31,low:28},outside:{high:10,low:0}}}}\
17.2.2025, geändert:\
set HeishaMon_main SetCurves {zone1:{heat:{target:{high:30,low:28},outside:{high:10,low:3}}}}\
14.9.2025, minimal nach unten parallel verschobene Heizkurve, im mittleren Bereich ca. 0.487°C:\
set HeishaMon_main SetCurves {zone1:{heat:{target:{high:30,low:27},outside:{high:12,low:1}}}}\
Folgende Heizkurve wäre mit der vom 17.2.2025 quasi identisch, jedoch sind die Eckwerte niedriger/höher:\
{zone1:{heat:{target:{high:31,low:27},outside:{high:13,low:0}}}} - nicht umgesetzt.\
---\
Lüftersteuerung\
Defrosting tritt bei folgenden Bedingungen auf:\
Messwerte von einem Homematic Temperatur/Feuchte-Messgerät\
<= 4°C\
> 70% rel.h.\
Während des Defrostings darf der Lüfter nicht laufen.\
Der Lüfter geht aus, wenn während des Abtauvorgangs der Kompressor ausgeht.\
Der Lüfter geht wieder an, wenn der Kompressor wieder normal anläuft.\
Das muss bei der Steuerung des Relais beachtet werden.\
---\
Sommer/Winter-Abschaltung: 14°C\
---\
Man kann Heishamon auch per Json abfragen: http://192.168.2.56/json\
---\
Um die Panasonic länger laufen zu lassen,\
wird bei einer Kompressorfrequenz <= 24 1°C zur Heizkurve (in Heishamon_IP) dazu addiert.\
https://www.haustechnikdialog.de/Forum/t/268257/Waermepumpe-schonen-lange-Standzeit-vs-Erhoehung-der-Lebensdauer\
Die Lebensdauer des Verdichters liegt grob bei 100K Ein-/Ausschaltvorgängen.\
---\
16.11.2025: Simulation des externen Temperatursensors\
Dennis Nörmann hat einen 47k-Widerstand eingebaut, der -15°C entspricht.\
Ich hatte einen höheren Widerstand eingebaut, um auf -18°C zu kommen.\
Das sollte/muss auf 47k geändert werden.\
8.1.2026: Es wurde 2x51k (~25k) eingebaut, was in etwa -4 bis -5°C ergibt.
attr HeishaMon_main event-min-interval Pana_an:120,Heatpump_State:120,heat_power:60,heat_kWh:60,Pump_Flow:60,Main_Inlet_Temp:60,Main_Outlet_Temp:60,diff_temp:60,Outside_Temp:60
attr HeishaMon_main event-on-change-reading Pana_an,Laufzeit_h,Alt_External_Sensor,mid_temp,diff_temp,Error,heat_kWh,heat_power,\
,Zeitstempel,Pump_Speed,Heatpump_State,Pump_Flow,\
,Operating_Mode_State,Main_Inlet_Temp,Main_Outlet_Temp,Main_Target_Temp,Compressor_Freq,\
,Operations_Hours,Operations_Counter,Outside_Temp,Heat_Power_Production,Heat_Power_Consumption,\
,Outside_Pipe_Temp,Heat_Delta,Inside_Pipe_Temp,Internal_Heater_State,Pump_Flowrate_Mode,\
,Z1_Heat_Request_Temp,Fan1_Motor_Speed,Defrosting_State,Defrost_Temp
attr HeishaMon_main event-on-update-reading heat_kWh,heat_power
attr HeishaMon_main group Panasonic Aquarea
attr HeishaMon_main icon sani_heating_heatpump
attr HeishaMon_main publishSet_SetAltExternalSensor panasonic_heat_pump/commands/SetAltExternalSensor
attr HeishaMon_main publishSet_SetBivalentControl panasonic_heat_pump/commands/SetBivalentControl
attr HeishaMon_main publishSet_SetBivalentStartTemp panasonic_heat_pump/commands/SetBivalentStartTemp
attr HeishaMon_main publishSet_SetCurves panasonic_heat_pump/commands/SetCurves
attr HeishaMon_main publishSet_SetFloorHeatDelta panasonic_heat_pump/commands/SetFloorHeatDelta
attr HeishaMon_main publishSet_SetForceDefrost panasonic_heat_pump/commands/SetForceDefrost
attr HeishaMon_main publishSet_SetHeaterStartDelta panasonic_heat_pump/commands/SetHeaterStartDelta
attr HeishaMon_main publishSet_SetHeaterStopDelta panasonic_heat_pump/commands/SetHeaterStopDelta
attr HeishaMon_main publishSet_SetHeatingOffOutdoorTemp panasonic_heat_pump/commands/SetHeatingOffOutdoorTemp
attr HeishaMon_main publishSet_SetHeatpump panasonic_heat_pump/commands/SetHeatpump
attr HeishaMon_main publishSet_SetPowerfulMode panasonic_heat_pump/commands/SetPowerfulMode
attr HeishaMon_main publishSet_SetQuietMode panasonic_heat_pump/commands/SetQuietMode
attr HeishaMon_main publishSet_SetZ1HeatRequestTemperature panasonic_heat_pump/commands/SetZ1HeatRequestTemperature
attr HeishaMon_main room Heizung
attr HeishaMon_main sortby 2
attr HeishaMon_main stateFormat T<b><i><span style="vertical-align: -3px;; font-size: 75%;;">s</span></i></b> [$name:Main_Target_Temp] • T<b><i><span style="vertical-align: -3px;; font-size: 75%;;">V</span></i></b> [$name:Main_Outlet_Temp:r2] • T<b><i><span style="vertical-align: -3px;; font-size: 75%;;">R</span></i></b> [$name:Main_Inlet_Temp:r2]°C<br/>\
<b>Φ</b> • <b>P</b>: [$name:heat_power:r2] • <span style='color:{(ReadingsNum('HeishaMon_s0','Watt','') > 0.05 ? "red":"#2e5e87")}'><b>[HeishaMon_s0:Watt:r3]</b></span> kW<br/>\
Pumpenfluss: [$name:Pump_Flow:r2] l/min<br/>\
Pumpendrehzahl: <span style='color:{(ReadingsNum('HeishaMon_main','Heatpump_State','') > 0 ? "red":"#2e5e87")}'><b>[$name:Pump_Speed]</b></span> Upm<br/>\
Lüfterdrehzahl: <span style='color:{(ReadingsNum('HeishaMon_main','Heatpump_State','') > 0 ? "red":"#2e5e87")}'><b>[$name:Fan1_Motor_Speed]</b></span> Upm<br/>\
Kompressorfrequenz: <span style='color:{(ReadingsNum('HeishaMon_main','Heatpump_State','') > 0 ? "red":"#2e5e87")}'><b>[$name:Compressor_Freq]</b></span> Hz<br/>\
Außentemp. Panasonic: <span style='color:{(ReadingsNum('HeishaMon_main','Alt_External_Sensor','') == 1 ? "magenta":"#2e5e87")}'><b>[$name:Outside_Temp]°C</span></b><br/>\
Outside pipe temp.: [$name:Outside_Pipe_Temp]°C<br/>\
Betriebsstunden: [$name:Operations_Hours] h<br/>\
Kompressorstarts: [$name:Operations_Counter]<br/>\
Laufzeit pro Start: [$name:Laufzeit]<br/>\
<span style='vertical-align: middle;; font-size: 85%;;'>[$name:Zeitstempel]</span>
attr HeishaMon_main subscribeReading_Alt_External_Sensor panasonic_heat_pump/main/Alt_External_Sensor
attr HeishaMon_main subscribeReading_Anti_Freeze_Mode panasonic_heat_pump/main/Anti_Freeze_Mode
attr HeishaMon_main subscribeReading_Bivalent_Advanced_DHW panasonic_heat_pump/main/Bivalent_Advanced_DHW
attr HeishaMon_main subscribeReading_Bivalent_Advanced_DHW_Del0b panasonic_heat_pump/main/Bivalent_Advanced_DHW_Del0b
attr HeishaMon_main subscribeReading_Bivalent_Advanced_DHW_Delay panasonic_heat_pump/main/Bivalent_Advanced_DHW_Delay
attr HeishaMon_main subscribeReading_Bivalent_Advanced_Heat panasonic_heat_pump/main/Bivalent_Advanced_Heat
attr HeishaMon_main subscribeReading_Bivalent_Advanced_Start_Delay panasonic_heat_pump/main/Bivalent_Advanced_Start_Delay
attr HeishaMon_main subscribeReading_Bivalent_Advanced_Start_Temp panasonic_heat_pump/main/Bivalent_Advanced_Start_Temp
attr HeishaMon_main subscribeReading_Bivalent_Advanced_Stop_Delay panasonic_heat_pump/main/Bivalent_Advanced_Stop_Delay
attr HeishaMon_main subscribeReading_Bivalent_Advanced_Stop_Temp panasonic_heat_pump/main/Bivalent_Advanced_Stop_Temp
attr HeishaMon_main subscribeReading_Bivalent_Control panasonic_heat_pump/main/Bivalent_Control
attr HeishaMon_main subscribeReading_Bivalent_Mode panasonic_heat_pump/main/Bivalent_Mode
attr HeishaMon_main subscribeReading_Bivalent_Start_Temp panasonic_heat_pump/main/Bivalent_Start_Temp
attr HeishaMon_main subscribeReading_Buffer_Installed panasonic_heat_pump/main/Buffer_Installed
attr HeishaMon_main subscribeReading_Buffer_Tank_Delta panasonic_heat_pump/main/Buffer_Tank_Delta
attr HeishaMon_main subscribeReading_Buffer_Temp panasonic_heat_pump/main/Buffer_Temp
attr HeishaMon_main subscribeReading_Bypass_Outlet_Temp panasonic_heat_pump/main/Bypass_Outlet_Temp
attr HeishaMon_main subscribeReading_Compressor_Current panasonic_heat_pump/main/Compressor_Current
attr HeishaMon_main subscribeReading_Compressor_Freq panasonic_heat_pump/main/Compressor_Freq
attr HeishaMon_main subscribeReading_Cool_Delta panasonic_heat_pump/main/Cool_Delta
attr HeishaMon_main subscribeReading_Cool_Power_Consumption panasonic_heat_pump/main/Cool_Power_Consumption
attr HeishaMon_main subscribeReading_Cool_Power_Production panasonic_heat_pump/main/Cool_Power_Production
attr HeishaMon_main subscribeReading_Cool_To_Heat_Temp panasonic_heat_pump/main/Cool_To_Heat_Temp
attr HeishaMon_main subscribeReading_Cooling_Mode panasonic_heat_pump/main/Cooling_Mode
attr HeishaMon_main subscribeReading_DHW_Heat_Delta panasonic_heat_pump/main/DHW_Heat_Delta
attr HeishaMon_main subscribeReading_DHW_Heater_Operations_Hours panasonic_heat_pump/main/DHW_Heater_Operations_Hours
attr HeishaMon_main subscribeReading_DHW_Heater_State panasonic_heat_pump/main/DHW_Heater_State
attr HeishaMon_main subscribeReading_DHW_Holiday_Shift_Temp panasonic_heat_pump/main/DHW_Holiday_Shift_Temp
attr HeishaMon_main subscribeReading_DHW_Installed panasonic_heat_pump/main/DHW_Installed
attr HeishaMon_main subscribeReading_DHW_Power_Consumption panasonic_heat_pump/main/DHW_Power_Consumption
attr HeishaMon_main subscribeReading_DHW_Power_Production panasonic_heat_pump/main/DHW_Power_Production
attr HeishaMon_main subscribeReading_DHW_Sensor_Selection panasonic_heat_pump/main/DHW_Sensor_Selection
attr HeishaMon_main subscribeReading_DHW_Target_Temp panasonic_heat_pump/main/DHW_Target_Temp
attr HeishaMon_main subscribeReading_DHW_Temp panasonic_heat_pump/main/DHW_Temp
attr HeishaMon_main subscribeReading_Defrost_Temp panasonic_heat_pump/main/Defrost_Temp
attr HeishaMon_main subscribeReading_Defrosting_State panasonic_heat_pump/main/Defrosting_State
attr HeishaMon_main subscribeReading_Discharge_Temp panasonic_heat_pump/main/Discharge_Temp
attr HeishaMon_main subscribeReading_Economizer_Outlet_Temp panasonic_heat_pump/main/Economizer_Outlet_Temp
attr HeishaMon_main subscribeReading_Error panasonic_heat_pump/main/Error
attr HeishaMon_main subscribeReading_Eva_Outlet_Temp panasonic_heat_pump/main/Eva_Outlet_Temp
attr HeishaMon_main subscribeReading_Expansion_Valve panasonic_heat_pump/main/Expansion_Valve
attr HeishaMon_main subscribeReading_External_Compressor_Control panasonic_heat_pump/main/External_Compressor_Control
attr HeishaMon_main subscribeReading_External_Control panasonic_heat_pump/main/External_Control
attr HeishaMon_main subscribeReading_External_Error_Signal panasonic_heat_pump/main/External_Error_Signal
attr HeishaMon_main subscribeReading_External_Heat_Cool_Control panasonic_heat_pump/main/External_Heat_Cool_Control
attr HeishaMon_main subscribeReading_External_Heater_State panasonic_heat_pump/main/External_Heater_State
attr HeishaMon_main subscribeReading_External_Pad_Heater panasonic_heat_pump/main/External_Pad_Heater
attr HeishaMon_main subscribeReading_Fan1_Motor_Speed panasonic_heat_pump/main/Fan1_Motor_Speed
attr HeishaMon_main subscribeReading_Fan2_Motor_Speed panasonic_heat_pump/main/Fan2_Motor_Speed
attr HeishaMon_main subscribeReading_Force_DHW_State panasonic_heat_pump/main/Force_DHW_State
attr HeishaMon_main subscribeReading_Force_Heater_State panasonic_heat_pump/main/Force_Heater_State
attr HeishaMon_main subscribeReading_Heat_Delta panasonic_heat_pump/main/Heat_Delta
attr HeishaMon_main subscribeReading_Heat_Power_Consumption panasonic_heat_pump/main/Heat_Power_Consumption
attr HeishaMon_main subscribeReading_Heat_Power_Production panasonic_heat_pump/main/Heat_Power_Production
attr HeishaMon_main subscribeReading_Heat_Pump_Model panasonic_heat_pump/main/Heat_Pump_Model
attr HeishaMon_main subscribeReading_Heat_To_Cool_Temp panasonic_heat_pump/main/Heat_To_Cool_Temp
attr HeishaMon_main subscribeReading_Heater_Delay_Time panasonic_heat_pump/main/Heater_Delay_Time
attr HeishaMon_main subscribeReading_Heater_On_Outdoor_Temp panasonic_heat_pump/main/Heater_On_Outdoor_Temp
attr HeishaMon_main subscribeReading_Heater_Start_Delta panasonic_heat_pump/main/Heater_Start_Delta
attr HeishaMon_main subscribeReading_Heater_Stop_Delta panasonic_heat_pump/main/Heater_Stop_Delta
attr HeishaMon_main subscribeReading_Heating_Control panasonic_heat_pump/main/Heating_Control
attr HeishaMon_main subscribeReading_Heating_Mode panasonic_heat_pump/main/Heating_Mode
attr HeishaMon_main subscribeReading_Heating_Off_Outdoor_Temp panasonic_heat_pump/main/Heating_Off_Outdoor_Temp
attr HeishaMon_main subscribeReading_Heatpump_State panasonic_heat_pump/main/Heatpump_State
attr HeishaMon_main subscribeReading_High_Pressure panasonic_heat_pump/main/High_Pressure
attr HeishaMon_main subscribeReading_Holiday_Mode_State panasonic_heat_pump/main/Holiday_Mode_State
attr HeishaMon_main subscribeReading_Inside_Pipe_Temp panasonic_heat_pump/main/Inside_Pipe_Temp
attr HeishaMon_main subscribeReading_Internal_Heater_State panasonic_heat_pump/main/Internal_Heater_State
attr HeishaMon_main subscribeReading_Ipm_Temp panasonic_heat_pump/main/Ipm_Temp
attr HeishaMon_main subscribeReading_Liquid_Type panasonic_heat_pump/main/Liquid_Type
attr HeishaMon_main subscribeReading_Low_Pressure panasonic_heat_pump/main/Low_Pressure
attr HeishaMon_main subscribeReading_Main_Hex_Outlet_Temp panasonic_heat_pump/main/Main_Hex_Outlet_Temp
attr HeishaMon_main subscribeReading_Main_Inlet_Temp panasonic_heat_pump/main/Main_Inlet_Temp
attr HeishaMon_main subscribeReading_Main_Outlet_Temp panasonic_heat_pump/main/Main_Outlet_Temp
attr HeishaMon_main subscribeReading_Main_Schedule_State panasonic_heat_pump/main/Main_Schedule_State
attr HeishaMon_main subscribeReading_Main_Target_Temp panasonic_heat_pump/main/Main_Target_Temp
attr HeishaMon_main subscribeReading_Max_Pump_Duty panasonic_heat_pump/main/Max_Pump_Duty
attr HeishaMon_main subscribeReading_Operating_Mode_State panasonic_heat_pump/main/Operating_Mode_State
attr HeishaMon_main subscribeReading_Operations_Counter panasonic_heat_pump/main/Operations_Counter
attr HeishaMon_main subscribeReading_Operations_Hours panasonic_heat_pump/main/Operations_Hours
attr HeishaMon_main subscribeReading_Optional_PCB panasonic_heat_pump/main/Optional_PCB
attr HeishaMon_main subscribeReading_Outside_Pipe_Temp panasonic_heat_pump/main/Outside_Pipe_Temp
attr HeishaMon_main subscribeReading_Outside_Temp panasonic_heat_pump/main/Outside_Temp
attr HeishaMon_main subscribeReading_Pool_Temp panasonic_heat_pump/main/Pool_Temp
attr HeishaMon_main subscribeReading_Powerful_Mode_Time panasonic_heat_pump/main/Powerful_Mode_Time
attr HeishaMon_main subscribeReading_Pump_Duty panasonic_heat_pump/main/Pump_Duty
attr HeishaMon_main subscribeReading_Pump_Flow panasonic_heat_pump/main/Pump_Flow
attr HeishaMon_main subscribeReading_Pump_Flowrate_Mode panasonic_heat_pump/main/Pump_Flowrate_Mode
attr HeishaMon_main subscribeReading_Pump_Speed panasonic_heat_pump/main/Pump_Speed
attr HeishaMon_main subscribeReading_Quiet_Mode_Level panasonic_heat_pump/main/Quiet_Mode_Level
attr HeishaMon_main subscribeReading_Quiet_Mode_Priority panasonic_heat_pump/main/Quiet_Mode_Priority
attr HeishaMon_main subscribeReading_Quiet_Mode_Schedule panasonic_heat_pump/main/Quiet_Mode_Schedule
attr HeishaMon_main subscribeReading_Room_Heater_Operations_Hours panasonic_heat_pump/main/Room_Heater_Operations_Hours
attr HeishaMon_main subscribeReading_Room_Heater_State panasonic_heat_pump/main/Room_Heater_State
attr HeishaMon_main subscribeReading_Room_Holiday_Shift_Temp panasonic_heat_pump/main/Room_Holiday_Shift_Temp
attr HeishaMon_main subscribeReading_Room_Thermostat_Temp panasonic_heat_pump/main/Room_Thermostat_Temp
attr HeishaMon_main subscribeReading_Second_Inlet_Temp panasonic_heat_pump/main/Second_Inlet_Temp
attr HeishaMon_main subscribeReading_Second_Room_Thermostat_Temp panasonic_heat_pump/main/Second_Room_Thermostat_Temp
attr HeishaMon_main subscribeReading_Smart_DHW panasonic_heat_pump/main/Smart_DHW
attr HeishaMon_main subscribeReading_Solar_Frost_Protection panasonic_heat_pump/main/Solar_Frost_Protection
attr HeishaMon_main subscribeReading_Solar_High_Limit panasonic_heat_pump/main/Solar_High_Limit
attr HeishaMon_main subscribeReading_Solar_Mode panasonic_heat_pump/main/Solar_Mode
attr HeishaMon_main subscribeReading_Solar_Off_Delta panasonic_heat_pump/main/Solar_Off_Delta
attr HeishaMon_main subscribeReading_Solar_On_Delta panasonic_heat_pump/main/Solar_On_Delta
attr HeishaMon_main subscribeReading_Solar_Temp panasonic_heat_pump/main/Solar_Temp
attr HeishaMon_main subscribeReading_Sterilization_Max_Time panasonic_heat_pump/main/Sterilization_Max_Time
attr HeishaMon_main subscribeReading_Sterilization_State panasonic_heat_pump/main/Sterilization_State
attr HeishaMon_main subscribeReading_Sterilization_Temp panasonic_heat_pump/main/Sterilization_Temp
attr HeishaMon_main subscribeReading_ThreeWay_Valve_State panasonic_heat_pump/main/ThreeWay_Valve_State
attr HeishaMon_main subscribeReading_ThreeWay_Valve_State2 panasonic_heat_pump/main/ThreeWay_Valve_State2
attr HeishaMon_main subscribeReading_TwoWay_Valve_State panasonic_heat_pump/main/TwoWay_Valve_State
attr HeishaMon_main subscribeReading_Water_Pressure panasonic_heat_pump/main/Water_Pressure
attr HeishaMon_main subscribeReading_Z1_Cool_Curve_Outside_High_Temp panasonic_heat_pump/main/Z1_Cool_Curve_Outside_High_Temp
attr HeishaMon_main subscribeReading_Z1_Cool_Curve_Outside_Low_Temp panasonic_heat_pump/main/Z1_Cool_Curve_Outside_Low_Temp
attr HeishaMon_main subscribeReading_Z1_Cool_Curve_Target_High_Temp panasonic_heat_pump/main/Z1_Cool_Curve_Target_High_Temp
attr HeishaMon_main subscribeReading_Z1_Cool_Curve_Target_Low_Temp panasonic_heat_pump/main/Z1_Cool_Curve_Target_Low_Temp
attr HeishaMon_main subscribeReading_Z1_Cool_Request_Temp panasonic_heat_pump/main/Z1_Cool_Request_Temp
attr HeishaMon_main subscribeReading_Z1_Heat_Curve_Outside_High_Temp panasonic_heat_pump/main/Z1_Heat_Curve_Outside_High_Temp
attr HeishaMon_main subscribeReading_Z1_Heat_Curve_Outside_Low_Temp panasonic_heat_pump/main/Z1_Heat_Curve_Outside_Low_Temp
attr HeishaMon_main subscribeReading_Z1_Heat_Curve_Target_High_Temp panasonic_heat_pump/main/Z1_Heat_Curve_Target_High_Temp
attr HeishaMon_main subscribeReading_Z1_Heat_Curve_Target_Low_Temp panasonic_heat_pump/main/Z1_Heat_Curve_Target_Low_Temp
attr HeishaMon_main subscribeReading_Z1_Heat_Request_Temp panasonic_heat_pump/main/Z1_Heat_Request_Temp
attr HeishaMon_main subscribeReading_Z1_Pump_State panasonic_heat_pump/main/Z1_Pump_State
attr HeishaMon_main subscribeReading_Z1_Sensor_Settings panasonic_heat_pump/main/Z1_Sensor_Settings
attr HeishaMon_main subscribeReading_Z1_Temp panasonic_heat_pump/main/Z1_Temp
attr HeishaMon_main subscribeReading_Z1_Valve_PID panasonic_heat_pump/main/Z1_Valve_PID
attr HeishaMon_main subscribeReading_Z1_Water_Target_Temp panasonic_heat_pump/main/Z1_Water_Target_Temp
attr HeishaMon_main subscribeReading_Z1_Water_Temp panasonic_heat_pump/main/Z1_Water_Temp
attr HeishaMon_main subscribeReading_Z2_Cool_Curve_Outside_High_Temp panasonic_heat_pump/main/Z2_Cool_Curve_Outside_High_Temp
attr HeishaMon_main subscribeReading_Z2_Cool_Curve_Outside_Low_Temp panasonic_heat_pump/main/Z2_Cool_Curve_Outside_Low_Temp
attr HeishaMon_main subscribeReading_Z2_Cool_Curve_Target_High_Temp panasonic_heat_pump/main/Z2_Cool_Curve_Target_High_Temp
attr HeishaMon_main subscribeReading_Z2_Cool_Curve_Target_Low_Temp panasonic_heat_pump/main/Z2_Cool_Curve_Target_Low_Temp
attr HeishaMon_main subscribeReading_Z2_Cool_Request_Temp panasonic_heat_pump/main/Z2_Cool_Request_Temp
attr HeishaMon_main subscribeReading_Z2_Heat_Curve_Outside_High_Temp panasonic_heat_pump/main/Z2_Heat_Curve_Outside_High_Temp
attr HeishaMon_main subscribeReading_Z2_Heat_Curve_Outside_Low_Temp panasonic_heat_pump/main/Z2_Heat_Curve_Outside_Low_Temp
attr HeishaMon_main subscribeReading_Z2_Heat_Curve_Target_High_Temp panasonic_heat_pump/main/Z2_Heat_Curve_Target_High_Temp
attr HeishaMon_main subscribeReading_Z2_Heat_Curve_Target_Low_Temp panasonic_heat_pump/main/Z2_Heat_Curve_Target_Low_Temp
attr HeishaMon_main subscribeReading_Z2_Heat_Request_Temp panasonic_heat_pump/main/Z2_Heat_Request_Temp
attr HeishaMon_main subscribeReading_Z2_Pump_State panasonic_heat_pump/main/Z2_Pump_State
attr HeishaMon_main subscribeReading_Z2_Sensor_Settings panasonic_heat_pump/main/Z2_Sensor_Settings
attr HeishaMon_main subscribeReading_Z2_Temp panasonic_heat_pump/main/Z2_Temp
attr HeishaMon_main subscribeReading_Z2_Valve_PID panasonic_heat_pump/main/Z2_Valve_PID
attr HeishaMon_main subscribeReading_Z2_Water_Target_Temp panasonic_heat_pump/main/Z2_Water_Target_Temp
attr HeishaMon_main subscribeReading_Z2_Water_Temp panasonic_heat_pump/main/Z2_Water_Temp
attr HeishaMon_main subscribeReading_Zones_State panasonic_heat_pump/main/Zones_State
attr HeishaMon_main userReadings Zeitstempel {substr(ReadingsTimestamp($name,'Main_Outlet_Temp',''),0,16)}, \
heat_power {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.* {(ReadingsNum($name,'Main_Outlet_Temp',30)+ReadingsNum($name,'Main_Inlet_Temp',26))/2}, \
diff_temp:Main_Outlet_Temp.* {if (ReadingsNum($name,'Pump_Flow','')-0.13 > 0) \
{ReadingsNum($name,'Main_Outlet_Temp','')-ReadingsNum($name,'Main_Inlet_Temp','')} \
else {0}}, \
heat_kWh:heat_power.* integral {ReadingsVal($name,'heat_power',5)/3600}, \
addCompressorFreq:Compressor_Freq.* {if (24 >= ReadingsNum($name,'Compressor_Freq',0) > 0 and ReadingsNum($name,'Defrosting_State','') == 0) \
{1} else {0}}, \
Pana_an:Compressor_Freq.* {if(ReadingsNum($name,'Compressor_Freq','') == 0) {0} else {1}}, \
Laufzeit:Operations_Hours.* {sec2human_hms(ReadingsNum($name,'Operations_Hours','')/ReadingsNum($name,'Operations_Counter','')*3600)}, \
Laufzeit_h:Operations_Hours.* {ReadingsNum($name,'Operations_Hours','')/ReadingsNum($name,'Operations_Counter','')*60}, \
Defrost_number:Defrosting_State.* {ReadingsNum($name,'Defrost_number','')+ReadingsNum($name,'Defrosting_State','')}

3. Device: wird nur für das Auslesen der elektrischen Energiemenge (S0-Zähler) und der Wärmemenge benötigt. Noch ein Hinweis: ich habe eine zusätzliche Umwälzpumpe (Marke: Evosta) im Haus in den Rücklauf eingebaut, die mehrere  Aufgaben hat. Die wichtigste dabei ist als Frostwächter die Umwälzung aufrecht zu halten, falls die Pana im tiefsten Winter auf Störung gehen sollte. Worst-case-Szenario: die Pana geht abends bei -10°C Außentemperatur um 22:00 auf Störung, ich kriege es nicht mit, und morgens um 8:00 ist der Wärmetauscher im Außengerät eingefroren. Es reicht dabei völlig aus, die Evosta-Pumpe 1 Minute pro Stunde laufen zu lassen, um die Pana vor Frost zu schützen.
defmod HeishaMon_s0 MQTT_DEVICE
attr HeishaMon_s0 IODev MyBroker
attr HeishaMon_s0 alias HeishaMon s0
attr HeishaMon_s0 autoSubscribeReadings panasonic_heat_pump/s0/+/+
attr HeishaMon_s0 comment Daten von den S0-Meter im Zählerschrank stimmen nicht mit den Daten in Heishamon überein.\
Deshalb gibt es im ElectricityCalculator-Device einen Offset.\
---\
15.10.2025 (ca.):\
Der Verbrauch der Evosta-Umwälzpumpe wird im Reading Watthour_Total bilanziert.\
Dadurch entfallen an verschiedenen Stellen etliche Berechnungen, die zum Ziel hatten, \
den Verbrauch der Evosta-Umwälzpumpe zu erfassen.\
Dazu war es nötig im HourCount-Modul zur Evosta-Pumpe, die Daten per set clear auf Null zu setzen. \
---\
20.10.2025:\
Bei COPday, COPlastday, COPmonth, COPlastmonth und COPyear wird geprüft, ob die zugrundelegenden Readings vom gleichen Tag (bzw. 1. Tag) stammen. \
Dadurch wird erreicht, dass kurz nach Mitternacht die richtigen Readings benutzt werden und nicht die vom Vortag.
attr HeishaMon_s0 event-min-interval COP:150,COPtoday:150,Watt1:300,Watt2:300,Watt:150,WatthourTotal1:600,WatthourTotal2:600,Watthour_Total:150
attr HeishaMon_s0 event-on-change-reading Heatpump_State,Temptoday,Templastday,Tempmonth,Templastmonth,COPtoday,COPlastday,COPmonth,COPlastmonth,COP:0.05,Watt1,Watt2,Watt:0.005,WatthourTotal1:10,WatthourTotal2:10,Watthour_Total:0.01
attr HeishaMon_s0 event-on-update-reading Watthour_Total
attr HeishaMon_s0 group Panasonic Aquarea
attr HeishaMon_s0 icon measure_power
attr HeishaMon_s0 room Heizung
attr HeishaMon_s0 sortby 3
attr HeishaMon_s0 stateFormat COP today: {(round(ReadingsNum("$name","COPtoday",0) + 0, 2))} • T: [$name:Temptoday]°C<br/>\
COP last day: {(round(ReadingsNum("$name","COPlastday",0) + 0, 2))} • T: [$name:Templastday]°C<br/>\
COP month: {(round(ReadingsNum("$name","COPmonth",0) + 0, 2))} • T: [$name:Tempmonth]°C<br/>\
COP last month: {(round(ReadingsNum("$name","COPlastmonth",0) + 0, 2))} • T: [$name:Templastmonth]°C<br/>\
COP year • last year: [$name:COPyear:r2] • [$name:COPlastyear:r2]
attr HeishaMon_s0 subscribeReading_Heatpump_State panasonic_heat_pump/main/Heatpump_State
attr HeishaMon_s0 subscribeReading_Watt1 panasonic_heat_pump/s0/Watt/1
attr HeishaMon_s0 subscribeReading_Watt2 panasonic_heat_pump/s0/Watt/2
attr HeishaMon_s0 subscribeReading_Watthour1 panasonic_heat_pump/s0/Watthour/1
attr HeishaMon_s0 subscribeReading_Watthour2 panasonic_heat_pump/s0/Watthour/2
attr HeishaMon_s0 subscribeReading_WatthourTotal1 panasonic_heat_pump/s0/WatthourTotal/1
attr HeishaMon_s0 subscribeReading_WatthourTotal2 panasonic_heat_pump/s0/WatthourTotal/2
attr HeishaMon_s0 userReadings Zeitstempel:Watt1.* {substr(ReadingsTimestamp($name,'Watt1',''),0,16)}, \
Watthour_Total {(ReadingsNum($name,'WatthourTotal1','')\
+ReadingsNum($name,'WatthourTotal2','')\
+ReadingsNum('HourCount.Evosta2','pulseTimeOverall','')/3600*30)/1000}, \
Watt:Watt1.* {round((ReadingsNum($name,'Watt1','')\
+ReadingsNum($name,'Watt2','')\
+ReadingsNum('Evosta2','POWER1_Num','')*30)/1000,3)}, \
readingsGroup_power:Watt1.* {round(ReadingsNum($name,'Watt1','')\
+ReadingsNum($name,'Watt2','')\
+ReadingsNum('Evosta2','POWER1_Num','')*30,0)}, \
readingsGroup_temp {ReadingsNum('myTemperature','mytemp','')}, \
COP:Watt1.* {if (ReadingsNum('HeishaMon_main','heat_power','') > 0) \
{round(ReadingsNum('HeishaMon_main','heat_power','')/ReadingsNum($name,'Watt',''),3)} \
else {0}},\
COPtoday:Watt1.* {if \
(substr(ReadingsTimestamp('myHeishaelectricity','HeishaMon_s0_Watthour_Total_EnergyDay',''),8,2) == (localtime(time))[3] \
and substr(ReadingsTimestamp('myHeishaheat','HeishaMon_main_heat_kWh_EnergyDay',''),8,2) == (localtime(time))[3] \
and ReadingsNum('myHeishaelectricity','HeishaMon_s0_Watthour_Total_EnergyDay','') > 0 )\
{round(ReadingsNum('myHeishaheat','HeishaMon_main_heat_kWh_EnergyDay','')\
/ReadingsNum('myHeishaelectricity','HeishaMon_s0_Watthour_Total_EnergyDay',''),3)}\
else {0}},\
Temptoday:Watt1.* {((split ' ',ReadingsVal('TH.Kuhlmannweg8','statTemperatureDay',''))[3])},\
COPlastday:Watt1.* {if \
(substr(ReadingsTimestamp('myHeishaelectricity','HeishaMon_s0_Watthour_Total_EnergyDayLast',''),8,2) == (localtime(time))[3] \
and substr(ReadingsTimestamp('myHeishaheat','HeishaMon_main_heat_kWh_EnergyDayLast',''),8,2) == (localtime(time))[3] \
and ReadingsNum('myHeishaelectricity','HeishaMon_s0_Watthour_Total_EnergyDayLast','') > 0) \
{round(ReadingsNum('myHeishaheat','HeishaMon_main_heat_kWh_EnergyDayLast','')\
/ReadingsNum('myHeishaelectricity','HeishaMon_s0_Watthour_Total_EnergyDayLast',''),3)}\
else {"n/a"}},\
Templastday:Watt1.* {((split ' ',ReadingsVal('TH.Kuhlmannweg8','statTemperatureDayLast',''))[3])},\
COPmonth:Watt1.* {if \
(substr(ReadingsTimestamp('myHeishaelectricity','HeishaMon_s0_Watthour_Total_EnergyMonth',''),8,2) == (localtime(time))[3] \
and substr(ReadingsTimestamp('myHeishaheat','HeishaMon_main_heat_kWh_EnergyMonth',''),8,2) == (localtime(time))[3] \
and ReadingsNum('myHeishaelectricity','HeishaMon_s0_Watthour_Total_EnergyMonth','') > 0) \
{round(ReadingsNum('myHeishaheat','HeishaMon_main_heat_kWh_EnergyMonth','') \
/ReadingsNum('myHeishaelectricity','HeishaMon_s0_Watthour_Total_EnergyMonth',''),3)}},\
Tempmonth:Watt1.* {((split ' ',ReadingsVal('TH.Kuhlmannweg8','statTemperatureMonth',''))[3])},\
COPlastmonth:Watt1.* {if \
(substr(ReadingsTimestamp('myHeishaelectricity','HeishaMon_s0_Watthour_Total_EnergyMonthLast',''),8,2) == 1 \
and substr(ReadingsTimestamp('myHeishaheat','HeishaMon_main_heat_kWh_EnergyMonthLast',''),8,2) == 1) \
{round(ReadingsNum('myHeishaheat','HeishaMon_main_heat_kWh_EnergyMonthLast','')\
/ReadingsNum('myHeishaelectricity','HeishaMon_s0_Watthour_Total_EnergyMonthLast',''),3)}},\
Templastmonth:Watt1.* {((split ' ',ReadingsVal('TH.Kuhlmannweg8','statTemperatureMonthLast',''))[3])},\
COPyear:Watt1.* {if \
(substr(ReadingsTimestamp('myHeishaelectricity','HeishaMon_s0_Watthour_Total_EnergyYear',''),8,2) == (localtime(time))[3] \
and substr(ReadingsTimestamp('myHeishaheat','HeishaMon_main_heat_kWh_EnergyYear',''),8,2) == (localtime(time))[3] \
and ReadingsNum('myHeishaelectricity','HeishaMon_s0_Watthour_Total_EnergyYear','') > 0) \
{round(ReadingsNum('myHeishaheat','HeishaMon_main_heat_kWh_EnergyYear','') \
/ReadingsNum('myHeishaelectricity','HeishaMon_s0_Watthour_Total_EnergyYear',''),3)}},\
COPlastyear:Watt1.* {if \
(substr(ReadingsTimestamp('myHeishaelectricity','HeishaMon_s0_Watthour_Total_EnergyYearLast',''),8,2) == 1 \
and substr(ReadingsTimestamp('myHeishaheat','HeishaMon_main_heat_kWh_EnergyYearLast',''),8,2) == 1) \
{round(ReadingsNum('myHeishaheat','HeishaMon_main_heat_kWh_EnergyYearLast','')\
/ReadingsNum('myHeishaelectricity','HeishaMon_s0_Watthour_Total_EnergyYearLast',''),3)}}

Der nächste Step, nachdem einigermaßen Klarheit über die drei MQTT-Devices herrscht, wäre die Steuerung.

Viele Grüße Gisbert
#5
Heizungssteuerung/Raumklima / Aw: Panasonic Wärmepumpe - Hei...
Letzter Beitrag von Gisbert - 05 Juni 2026, 13:47:22
Zitat von: sigma415 am 05 Juni 2026, 13:13:55
Zitat von: Gisbert am 22 November 2025, 22:15:39Hallo Ralf,

ich hab eine 5kW Jeisha und gehe noch einen Schritt weiter und steuere das Gerät vollständig von Fhem aus. Nach einigen Optimierungsrunden läuft die Maschine ohne jeden manuellen Eingriff meinerseits.

Bei Interesse kann ich gerne versuchen meine Automatisierung zu schildern.

Viele Grüße
Gisbert

Hallo @Gisbert,
kriege demnächst auch meine Aquarea und Heishamon.
Wärest Du bereit, deinen FHEM-Code (Einbindung via MQTT und ggf. auch deine Hinweise zur Automatisierung) zur Verfügung zu stellen ?
Wäre super, vielen Dank.

Ja, das mache ich gerne.

Wie aus dem obigen Verlauf hervorgeht, schalte ich die Pana aktiv über Fhem ein, wenn das Einschaltkriterium erfüllt ist. Die Pana läuft dann solange, bis sie ihre Wärme im Haus nicht mehr los wird und dann selbständig ausschaltet. Danach bekommt die Pana eine Sperre (2-3.5h, je nach Außentemperatur) verpasst, damit sie nicht gleich wieder angeht, falls das Einschaltkriterium doch erfüllt sein sollte.
Zum Einschaltkriterium: ich kenne die einzelnen Raumtemperaturen und deren Abweichung von der Solltemperatur. Für die Räume, die unterhalb der Solltemperatur liegen, errechne ich eine flächengewichte Zahl, die über alle Räume aufaddiert wird. Wenn diese Zahl (mit willkürlicher Einheit) den Wert 30 (in meinem Fall) übersteigt, dann wird das Einschaltkriterium auf 1 gesetzt, sonst 0.

Das wäre jetzt mal der 1. Schritt. Zu erwähnen ist noch, dass ich kein Warmwasser über die Pana mache, was aber im wesentlichen keinen Einfluss auf meine Steuerung hätte. Da ich nicht weiß, ob die Pana beim Warmwasser vorher abschaltet und dann das 3-Wegeventil schaltet, oder ob sie einfach durchläuft, könnte das noch einen Einfluss auf die Steuerung haben.

Da ich immer noch MQTT statt MQTT2 benutze (nicht sinnvoll, aber noch nicht genügend Motivation zur Änderung gehabt), poste ich als erstes Mal, wie ich die Pana auslese. Der nächste Step ist dann die Steuerung.

Da die Pana sehr viele Readings bereithält, habe ich die Readings inhaltlich auf drei MQTT-Devices aufgeteilt (kommt separat, da ich dafür zum PC wechseln muss).

Viele Grüße Gisbert
#6
Wallboxen und E-Fahrzeuge / Aw: Integration von CarConnect...
Letzter Beitrag von CQuadrat - 05 Juni 2026, 13:15:55
Zitat von: Prof. Dr. Peter Henning am 04 Juni 2026, 18:21:46...
Ich kann nur empfehlen, tatsächlich die 5 Minuten zu opfern und das Beschwerdeformular der Bundesnetzagentur auszufüllen.
...

Beschwerde ist eingereicht.  >:(
#7
Heizungssteuerung/Raumklima / Aw: Panasonic Wärmepumpe - Hei...
Letzter Beitrag von sigma415 - 05 Juni 2026, 13:13:55
Zitat von: Gisbert am 22 November 2025, 22:15:39Hallo Ralf,

ich hab eine 5kW Jeisha und gehe noch einen Schritt weiter und steuere das Gerät vollständig von Fhem aus. Nach einigen Optimierungsrunden läuft die Maschine ohne jeden manuellen Eingriff meinerseits.

Bei Interesse kann ich gerne versuchen meine Automatisierung zu schildern.

Viele Grüße
Gisbert

Hallo @Gisbert,
kriege demnächst auch meine Aquarea und Heishamon.
Wärest Du bereit, deinen FHEM-Code (Einbindung via MQTT und ggf. auch deine Hinweise zur Automatisierung) zur Verfügung zu stellen ?
Wäre super, vielen Dank.
#8
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von peterboeckmann - 05 Juni 2026, 12:58:19
Hallo Heiko,

ich hoffe, Du hast/ hattest einen schönen Urlaub.

Für nach Deinem Urlaub habe ich einen Featurerequest:
Die Funktion get <Name> pVHistory exportToCsv finde ich sehr nützlich und habe sie mir mittels at automatisiert.
Es würde mir einiges an Arbeit ersparen, wenn dieser Parameter noch optional erweitert werden könnte um einen Filter und eine Angabe der zu exportierenden Spalten.

In meinem Szenario wäre es toll, wenn ich den Befehl so (oder ähnlich) eingeben könnte:
get [Name] pVHistory exportToCsv Hour=99 Day,Hour,PVreal,Consumption,GridConsumption,GridFeedIn
Der erste neue Parameter wäre als Filter zu verstehen, der zweite als Liste der zu exportierenden Spalten.
Ist eins davon (oder beides) nicht belegt, wird nicht gefiltert.

Ergebnis meines Beispiel-Aufrufes wäre wie im Screenshot anbei.

Hältst Du das für machbar?

Vielen Dank und viele Grüße,
Peter
#9
Anfängerfragen / Aw: openDTU liefert keine Date...
Letzter Beitrag von boeho - 05 Juni 2026, 12:04:09
Habe alles neu eingetragen auch mal aus der Sicherung zurück gespeichert.
Habe jetzt den Effekt, dass openDTU morgens nicht mehr eingeschaltet wird und wenn ich das Gerät kurz vom Stromnetz nehme startet es aber es ist kein Limit eingetragen. Alles etwas seltsam.
Muss man das Gerät evtl aus FHEM löschen, damit es neu in MQTT angelegt wird? Ich habe null Erfahrung.
#10
Sprachsteuerung / Aw: echodevice: wait for refre...
Letzter Beitrag von matze1999 - 05 Juni 2026, 11:14:20
So, das zweite echodevice bei mir hat es jetzt auch.

matze