Anlage stumi75: Unterschied zwischen den Versionen
(68 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 45: | Zeile 45: | ||
Die anderen Häuser der Straße wurden von Eigenheimbewohnern gebaut - da findet sich Fussbodenheizung und Zweirohrkreise bei Heizkörpern. Ein meiner Meinung nach weiterer Grund, warum sich Gesetzgeber ins Baugewerbe einmischen müssen, um Mindeststandards durchzusetzen. | Die anderen Häuser der Straße wurden von Eigenheimbewohnern gebaut - da findet sich Fussbodenheizung und Zweirohrkreise bei Heizkörpern. Ein meiner Meinung nach weiterer Grund, warum sich Gesetzgeber ins Baugewerbe einmischen müssen, um Mindeststandards durchzusetzen. | ||
− | Somit wurde der alte 200l WW-Speicher als Reihen-/Abtaupuffer eingeplant. | + | Somit wurde der alte 200l WW-Speicher als Reihen-/Abtaupuffer eingeplant [http://aquarea.smallsolutions.de/index.php?title=W%C3%A4rmepumpen_und_Radiatoren_-_geht_das%3F#Abtauproblematik.2C_R.C3.BCcklaufpuffer_und_thermische_Behaglichkeit wie hier beschrieben] mit Umschaltventil. |
== Dämmung == | == Dämmung == | ||
Zeile 87: | Zeile 87: | ||
[[Datei:Heizungspuffer mit Abtau-Ventil.jpg|mini]] | [[Datei:Heizungspuffer mit Abtau-Ventil.jpg|mini]] | ||
+ | |||
+ | [[Datei:Jeisha-Platine-Verkabelung-Abtausteuerung.jpg.jpg|mini]] | ||
== Steuerung & Co == | == Steuerung & Co == | ||
Zeile 111: | Zeile 113: | ||
=== Steuerung === | === Steuerung === | ||
− | Die WP Heizungssteuerung läuft mit Heizkurve | + | Die WP Heizungssteuerung läuft mit der Wassertemperatur geführten Heizkurve. Das Steuergerät ist an zentraler, schattiger Stelle im Wohnzimmer montiert und damit wird die Raumtemperatur gemessen. |
− | |||
− | Die Heizkurze bestimmt anhand der Aussentemperatur den Vorlauf und somit die | + | Die Heizkurze bestimmt anhand der Aussentemperatur den Vorlauf und somit den Energieeintrag - wenn dieser passend nachgeführt wird, bleibt die Temperatur im Haus konstant. |
Die Heishamon Rules | Die Heishamon Rules | ||
− | * kümmern sich um den Flüstermodus | + | * kümmern sich um den Flüstermodus (timer11) |
− | * schalten nach der Warmwasserbereitung um 13 Uhr direkt wieder auf Heizen um | + | * schalten nach der Warmwasserbereitung um 13 Uhr direkt wieder auf Heizen um und setzen das Warmwasserziel anhand der Außentemperatur zwischen 42 und 50 Grad (timer12) |
− | * schalten bei warmen Temperaturen die WP in der Nacht komplett aus | + | * schalten bei warmen Temperaturen die WP in der Nacht komplett aus (timer13) |
− | + | * erhöhen die Vorlaufverschiebung, um das Abschalten des Kompressors durch ein Delta größer/gleich 2 Grad zwischen Vorlauf-soll und Vorlauf-ist zu vermeiden (timer14) | |
− | * erhöhen | ||
Alles andere macht die Jeisha Steuerung. | Alles andere macht die Jeisha Steuerung. | ||
Zeile 127: | Zeile 127: | ||
=== Heizkurve === | === Heizkurve === | ||
− | [https://vscope.at/heizkurve/?atMin=-10&heatMin= | + | [https://vscope.at/heizkurve/?atMin=-10&heatMin=40&atMax=12&heatMax=32&sollWert=0&atCheck=0&atMin_2=-10&heatMin_2=40&atMax_2=12&heatMax_2=32&sollWert_2=0&atCheck_2=0 Heizkurve] |
=== Heishamon Rules === | === Heishamon Rules === | ||
Zeile 134: | Zeile 134: | ||
#stateBeforeDHW = 1; | #stateBeforeDHW = 1; | ||
#opModeBeforeDHW = 0; | #opModeBeforeDHW = 0; | ||
− | # | + | #targetLowBeforeDHW = 32; |
− | # | + | #targetHighBeforeDHW = 40; |
− | # | + | #sleepAtNight = 1; |
− | setTimer(10, 40); | + | setTimer(10, 35); |
+ | setTimer(11, 40); | ||
+ | setTimer(12, 41); | ||
+ | setTimer(13, 42); | ||
+ | setTimer(14, 43); | ||
end | end | ||
on timer=10 then | on timer=10 then | ||
− | + | #targetLowBeforeDHW = @Z1_Heat_Curve_Target_Low_Temp; | |
+ | #targetHighBeforeDHW = @Z1_Heat_Curve_Target_High_Temp; | ||
+ | end | ||
+ | on timer=11 then | ||
+ | setTimer(11, 15); | ||
$newQuietMode = 0; | $newQuietMode = 0; | ||
− | if @Outside_Temp >= | + | if @Outside_Temp >= 6 then |
− | |||
− | |||
− | |||
$newQuietMode = 2; | $newQuietMode = 2; | ||
end | end | ||
− | + | if @Outside_Temp >= 9 then | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | if @Outside_Temp >= | ||
$newQuietMode = 3; | $newQuietMode = 3; | ||
end | end | ||
Zeile 165: | Zeile 164: | ||
@SetQuietMode = $newQuietMode; | @SetQuietMode = $newQuietMode; | ||
end | end | ||
+ | end | ||
+ | on timer=12 then | ||
+ | setTimer(12, 30); | ||
+ | $minDHWTarget = 42; | ||
+ | $minOutside = 10; | ||
+ | $maxDHWTarget = 50; | ||
+ | $maxOutside = 25; | ||
+ | $newDHWTarget = round($minDHWTarget + ((@Outside_Temp - $minOutside ) * ($maxDHWTarget - $minDHWTarget) / ($maxOutside - $minOutside))); | ||
+ | if @Outside_Temp <= $minOutside then | ||
+ | $newDHWTarget = $minDHWTarget; | ||
+ | end | ||
+ | if @Outside_Temp >= $maxOutside then | ||
+ | $newDHWTarget = $maxDHWTarget; | ||
+ | end | ||
if @Operating_Mode_State < 3 then | if @Operating_Mode_State < 3 then | ||
#stateBeforeDHW = @Heatpump_State; | #stateBeforeDHW = @Heatpump_State; | ||
#opModeBeforeDHW = @Operating_Mode_State; | #opModeBeforeDHW = @Operating_Mode_State; | ||
+ | if %hour == 13 && %minute == 0 then | ||
+ | #targetLowBeforeDHW = @Z1_Heat_Curve_Target_Low_Temp; | ||
+ | #targetHighBeforeDHW = @Z1_Heat_Curve_Target_High_Temp; | ||
+ | @SetOperationMode = 4; | ||
+ | @SetHeatpump = 1; | ||
+ | @SetCurves = '{zone1:{heat:{target:{high:60,low:60}}}}'; | ||
+ | setTimer(22, 7200); | ||
+ | end | ||
end | end | ||
− | if @Operating_Mode_State >= 3 | + | if @Operating_Mode_State >= 3 then |
− | + | if @DHW_Target_Temp != $newDHWTarget then | |
− | + | @SetDHWTemp = $newDHWTarget; | |
+ | end | ||
+ | if @DHW_Temp >= @DHW_Target_Temp && @DHW_Power_Consumption == 0 then | ||
+ | @SetOperationMode = #opModeBeforeDHW; | ||
+ | @SetHeatpump = #stateBeforeDHW; | ||
+ | setTimer(20, 210); | ||
+ | setTimer(21, 330); | ||
+ | setTimer(22, 480); | ||
+ | end | ||
end | end | ||
+ | end | ||
− | if %hour == | + | on timer=20 then |
− | + | @SetCurves = concat('{zone1:{heat:{target:{high:', #targetHighBeforeDHW ,',low:', #targetHighBeforeDHW ,'}}}}'); | |
+ | end | ||
+ | on timer=21 then | ||
+ | @SetCurves = concat('{zone1:{heat:{target:{low:', (#targetHighBeforeDHW - #targetLowBeforeDHW) / 2 + #targetLowBeforeDHW ,'}}}}'); | ||
+ | end | ||
+ | on timer=22 then | ||
+ | @SetCurves = concat('{zone1:{heat:{target:{low:', #targetLowBeforeDHW ,'}}}}'); | ||
+ | end | ||
+ | |||
+ | on timer=13 then | ||
+ | setTimer(13, 30); | ||
+ | if #sleepAtNight == 1 && %hour == 18 && %minute == 0 && @Heatpump_State == 1 && @Outside_Temp >= 7 && @Room_Thermostat_Temp >= 22 then | ||
+ | #sleepAtNight = 2; | ||
+ | end | ||
+ | if #sleepAtNight == 2 && %hour == 20 && %minute == 0 && @Heatpump_State == 1 then | ||
@SetHeatpump = 0; | @SetHeatpump = 0; | ||
end | end | ||
− | + | if #sleepAtNight == 2 && %hour == 6 && %minute == 0 && @Heatpump_State == 0 then | |
− | if | + | #sleepAtNight = 1; |
− | # | + | @SetHeatpump = 1; |
− | @ | + | end |
− | + | if %hour == 6 && %minute == 0 && @Outside_Temp < 6 then | |
+ | @SetMaxPumpDuty = 140; | ||
end | end | ||
− | + | if %hour == 20 && %minute == 0 then | |
− | if | + | @SetMaxPumpDuty = 105; |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
end | end | ||
end | end | ||
− | on timer= | + | on timer=14 then |
− | if | + | setTimer(14, 15); |
− | if @ | + | if @Heatpump_State == 1 then |
− | @SetZ1HeatRequestTemperature = | + | $newHeatRequest = 0; |
+ | $outletDelta = @Main_Outlet_Temp - ( @Main_Target_Temp - @Z1_Heat_Request_Temp ); | ||
+ | $newHeatRequest = floor( $outletDelta ) - 1; | ||
+ | if $newHeatRequest < 0 then | ||
+ | $newHeatRequest = 0; | ||
+ | end | ||
+ | if $newHeatRequest > 3 && @Room_Thermostat_Temp > 22 then | ||
+ | $newHeatRequest = 3; | ||
+ | if #sleepAtNight == 1 then | ||
+ | #sleepAtNight = 2; | ||
+ | end | ||
+ | end | ||
+ | if $newHeatRequest > 5 then | ||
+ | $newHeatRequest = 5; | ||
+ | if #sleepAtNight == 1 then | ||
+ | #sleepAtNight = 2; | ||
+ | end | ||
+ | end | ||
+ | if @Z1_Heat_Request_Temp != $newHeatRequest then | ||
+ | @SetZ1HeatRequestTemperature = $newHeatRequest; | ||
end | end | ||
− | |||
end | end | ||
end | end | ||
+ | </pre> | ||
+ | |||
+ | === Homeassistant Konfigurationen === | ||
+ | |||
+ | ==== configuration.yaml ==== | ||
+ | <pre> | ||
+ | sensor: | ||
+ | - platform: template | ||
+ | sensors: | ||
+ | custom_panasonic_heat_pump_average_runtime: | ||
+ | friendly_name: Heatpump average runtime | ||
+ | unit_of_measurement: h | ||
+ | value_template: >- | ||
+ | {% set calc = ( float( states('sensor.panasonic_heat_pump_main_operations_hours'),0) / float( states('sensor.panasonic_heat_pump_main_operations_counter'),1) ) | round(2) %} | ||
+ | {{ 0 if calc <= 0 else calc }} | ||
+ | |||
+ | input_number: | ||
+ | custom_z1_heatcurve_target_water_temperature_at_low_outdoor_temperature: | ||
+ | name: Heizkurve Wasser Zieltemperatur bei niedriger AT | ||
+ | unit_of_measurement: °C | ||
+ | min: 15 | ||
+ | max: 60 | ||
+ | step: 1.0 | ||
+ | mode: slider | ||
+ | custom_z1_heatcurve_target_water_temperature_at_high_outdoor_temperature: | ||
+ | name: Heizkurve Wasser Zieltemperatur bei hoher AT | ||
+ | unit_of_measurement: °C | ||
+ | min: 15 | ||
+ | max: 60 | ||
+ | step: 1.0 | ||
+ | mode: slider | ||
− | + | recorder: | |
− | + | purge_keep_days: 400 | |
− | + | commit_interval: 120 | |
− | + | </pre> | |
− | + | ||
− | + | ==== Automations ==== | |
− | + | <pre> | |
− | + | alias: When DHW starts change Z1 heating curve to 56 | |
+ | description: "" | ||
+ | trigger: | ||
+ | - platform: state | ||
+ | entity_id: | ||
+ | - sensor.panasonic_heat_pump_main_threeway_valve_state | ||
+ | from: Room | ||
+ | to: Tank | ||
+ | condition: [] | ||
+ | action: | ||
+ | - service: input_number.set_value | ||
+ | target: | ||
+ | entity_id: >- | ||
+ | input_number.custom_z1_heatcurve_target_water_temperature_at_low_outdoor_temperature | ||
+ | data: | ||
+ | value: >- | ||
+ | {{ | ||
+ | states('number.panasonic_heat_pump_main_z1_heat_curve_target_high_temp') | ||
+ | | float }} | ||
+ | - service: input_number.set_value | ||
+ | target: | ||
+ | entity_id: >- | ||
+ | input_number.custom_z1_heatcurve_target_water_temperature_at_high_outdoor_temperature | ||
+ | data: | ||
+ | value: >- | ||
+ | {{ | ||
+ | states('number.panasonic_heat_pump_main_z1_heat_curve_target_low_temp') | ||
+ | | float }} | ||
+ | - service: number.set_value | ||
+ | data: | ||
+ | value: 56 | ||
+ | target: | ||
+ | entity_id: number.panasonic_heat_pump_main_z1_heat_curve_target_high_temp | ||
+ | - service: number.set_value | ||
+ | data: | ||
+ | value: 56 | ||
+ | target: | ||
+ | entity_id: number.panasonic_heat_pump_main_z1_heat_curve_target_low_temp | ||
+ | mode: single | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | alias: After DHW ends wait and set heating curve to 40 | ||
+ | description: "" | ||
+ | trigger: | ||
+ | - platform: state | ||
+ | entity_id: | ||
+ | - sensor.panasonic_heat_pump_main_threeway_valve_state | ||
+ | from: Tank | ||
+ | to: Room | ||
+ | for: | ||
+ | hours: 0 | ||
+ | minutes: 4 | ||
+ | seconds: 0 | ||
+ | condition: [] | ||
+ | action: | ||
+ | - service: number.set_value | ||
+ | data: | ||
+ | value: 40 | ||
+ | target: | ||
+ | entity_id: number.panasonic_heat_pump_main_z1_heat_curve_target_high_temp | ||
+ | - service: number.set_value | ||
+ | data: | ||
+ | value: 40 | ||
+ | target: | ||
+ | entity_id: number.panasonic_heat_pump_main_z1_heat_curve_target_low_temp | ||
+ | mode: single | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | alias: After DHW ends wait and set heating curve back | ||
+ | description: "" | ||
+ | trigger: | ||
+ | - platform: state | ||
+ | entity_id: | ||
+ | - sensor.panasonic_heat_pump_main_threeway_valve_state | ||
+ | from: Tank | ||
+ | to: Room | ||
+ | for: | ||
+ | hours: 0 | ||
+ | minutes: 6 | ||
+ | seconds: 0 | ||
+ | condition: [] | ||
+ | action: | ||
+ | - service: number.set_value | ||
+ | data: | ||
+ | value: >- | ||
+ | {{ | ||
+ | states('input_number.custom_z1_heatcurve_target_water_temperature_at_low_outdoor_temperature') | ||
+ | | float }} | ||
+ | target: | ||
+ | entity_id: number.panasonic_heat_pump_main_z1_heat_curve_target_high_temp | ||
+ | - service: number.set_value | ||
+ | data: | ||
+ | value: >- | ||
+ | {{ | ||
+ | states('input_number.custom_z1_heatcurve_target_water_temperature_at_high_outdoor_temperature') | ||
+ | | float }} | ||
+ | target: | ||
+ | entity_id: number.panasonic_heat_pump_main_z1_heat_curve_target_low_temp | ||
+ | mode: single | ||
+ | </pre> | ||
+ | |||
+ | ==== Dashboards ==== | ||
+ | |||
+ | ===== Wärmepumpe ===== | ||
+ | |||
+ | <pre> | ||
+ | type: entities | ||
+ | entities: | ||
+ | - entity: sensor.panasonic_heat_pump_main_outside_temp | ||
+ | - entity: sensor.panasonic_heat_pump_main_room_thermostat_temp | ||
+ | - entity: sensor.panasonic_heat_pump_main_dhw_temp | ||
+ | - entity: sensor.panasonic_heat_pump_main_threeway_valve_state | ||
+ | - entity: switch.panasonic_heat_pump_main_defrosting_state | ||
+ | - entity: sensor.panasonic_heat_pump_main_main_target_temp | ||
+ | - entity: sensor.panasonic_heat_pump_main_main_outlet_temp | ||
+ | - entity: sensor.panasonic_heat_pump_main_main_inlet_temp | ||
+ | - entity: sensor.panasonic_heat_pump_main_compressor_freq | ||
+ | - entity: sensor.panasonic_heat_pump_main_high_pressure | ||
+ | - entity: sensor.panasonic_heat_pump_main_fan1_motor_speed | ||
+ | - entity: sensor.panasonic_heat_pump_main_pump_flow | ||
+ | - entity: sensor.panasonic_heat_pump_main_pump_speed | ||
+ | - entity: sensor.panasonic_heat_pump_main_pump_duty | ||
+ | - entity: sensor.panasonic_heat_pump_s0_watt_1 | ||
+ | - entity: sensor.aquarea_energy_consumption | ||
+ | - entity: sensor.aquarea_energy_production | ||
+ | - entity: sensor.aquarea_cop | ||
+ | - entity: sensor.panasonic_heat_pump_main_operations_counter | ||
+ | - entity: sensor.panasonic_heat_pump_main_operations_hours | ||
+ | - entity: sensor.custom_panasonic_heat_pump_average_runtime | ||
+ | title: Aktuelle Werte | ||
+ | state_color: true | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | type: grid | ||
+ | square: false | ||
+ | columns: 1 | ||
+ | cards: | ||
+ | - type: entities | ||
+ | entities: | ||
+ | - entity: water_heater.panasonic_heat_pump_main_dhw_target_temp | ||
+ | - entity: climate.panasonic_heat_pump_main_z1_temp | ||
+ | - entity: number.panasonic_heat_pump_main_z1_heat_request_temp | ||
+ | - entity: number.panasonic_heat_pump_main_max_pump_duty | ||
+ | - entity: number.panasonic_heat_pump_main_heat_delta | ||
+ | - entity: number.panasonic_heat_pump_main_dhw_heat_delta | ||
+ | - entity: number.panasonic_heat_pump_main_heating_off_outdoor_temp | ||
+ | - entity: number.panasonic_heat_pump_main_z1_heat_curve_target_high_temp | ||
+ | - entity: number.panasonic_heat_pump_main_z1_heat_curve_target_low_temp | ||
+ | - entity: number.panasonic_heat_pump_main_z1_heat_curve_outside_low_temp | ||
+ | - entity: number.panasonic_heat_pump_main_z1_heat_curve_outside_high_temp | ||
+ | - entity: binary_sensor.panasonic_heat_pump_main_quiet_mode_schedule | ||
+ | - entity: select.panasonic_heat_pump_main_quiet_mode_level | ||
+ | - entity: binary_sensor.panasonic_heat_pump_main_dhw_installed | ||
+ | - entity: binary_sensor.panasonic_heat_pump_main_room_heater_state | ||
+ | - entity: binary_sensor.panasonic_heat_pump_main_dhw_heater_state | ||
+ | title: Einstellungen | ||
+ | </pre> | ||
+ | |||
+ | ===== Wärmepumpe Kurven ===== | ||
− | + | <pre> | |
− | + | type: vertical-stack | |
− | + | cards: | |
− | + | - type: history-graph | |
− | + | entities: | |
+ | - entity: switch.panasonic_heat_pump_main_heatpump_state | ||
+ | - entity: select.panasonic_heat_pump_main_operating_mode_state | ||
+ | - entity: sensor.panasonic_heat_pump_main_threeway_valve_state | ||
+ | - entity: switch.panasonic_heat_pump_main_defrosting_state | ||
+ | - entity: binary_sensor.panasonic_heat_pump_main_internal_heater_state | ||
+ | - entity: select.panasonic_heat_pump_main_quiet_mode_level | ||
+ | - entity: switch.panasonic_heat_pump_main_holiday_mode_state | ||
+ | hours_to_show: 8 | ||
+ | title: Status | ||
+ | - type: history-graph | ||
+ | entities: | ||
+ | - entity: sensor.panasonic_heat_pump_main_outside_temp | ||
+ | - entity: sensor.panasonic_heat_pump_main_room_thermostat_temp | ||
+ | - entity: number.panasonic_heat_pump_main_z1_heat_request_temp | ||
+ | - entity: sensor.panasonic_heat_pump_main_dhw_temp | ||
+ | - entity: sensor.panasonic_heat_pump_main_main_target_temp | ||
+ | - entity: sensor.panasonic_heat_pump_main_main_outlet_temp | ||
+ | - entity: sensor.panasonic_heat_pump_main_main_inlet_temp | ||
+ | title: Temperaturen | ||
+ | hours_to_show: 8 | ||
+ | - type: history-graph | ||
+ | entities: | ||
+ | - sensor.panasonic_heat_pump_main_compressor_freq | ||
+ | title: Kompressor | ||
+ | hours_to_show: 8 | ||
+ | - type: history-graph | ||
+ | entities: | ||
+ | - sensor.panasonic_heat_pump_main_pump_flow | ||
+ | title: Volumenstrom | ||
+ | hours_to_show: 8 | ||
+ | - type: history-graph | ||
+ | entities: | ||
+ | - sensor.panasonic_heat_pump_main_pump_speed | ||
+ | - sensor.panasonic_heat_pump_main_fan1_motor_speed | ||
+ | title: Drehzahlen | ||
+ | hours_to_show: 8 | ||
+ | - type: history-graph | ||
+ | entities: | ||
+ | - entity: sensor.panasonic_heat_pump_main_pump_duty | ||
+ | - entity: number.panasonic_heat_pump_main_max_pump_duty | ||
+ | hours_to_show: 8 | ||
+ | - type: history-graph | ||
+ | entities: | ||
+ | - sensor.panasonic_heat_pump_main_dhw_energy_consumption | ||
+ | - sensor.panasonic_heat_pump_main_dhw_energy_production | ||
+ | - sensor.panasonic_heat_pump_main_heat_energy_consumption | ||
+ | - sensor.panasonic_heat_pump_main_heat_energy_production | ||
+ | - sensor.panasonic_heat_pump_s0_watt_1 | ||
+ | - sensor.panasonic_heat_pump_s0_watt_2 | ||
+ | - sensor.aquarea_energy_consumption | ||
+ | - sensor.aquarea_energy_production | ||
+ | title: Energie | ||
+ | hours_to_show: 8 | ||
+ | - type: history-graph | ||
+ | entities: | ||
+ | - entity: sensor.panasonic_heat_pump_main_high_pressure | ||
+ | hours_to_show: 8 | ||
+ | - type: history-graph | ||
+ | entities: | ||
+ | - sensor.aquarea_cop | ||
+ | hours_to_show: 8 | ||
+ | - type: custom:plotly-graph | ||
+ | refresh_interval: 10 | ||
+ | title: Heat curve | ||
+ | defaults: | ||
+ | entity: | ||
+ | show_value: true | ||
+ | line: | ||
+ | shape: spline | ||
+ | layout: | ||
+ | xaxis: | ||
+ | type: number | ||
+ | autorange: true | ||
+ | entities: | ||
+ | - entity: '' | ||
+ | name: Zone 1 | ||
+ | x: | ||
+ | - >- | ||
+ | $ex | ||
+ | hass.states['number.panasonic_heat_pump_main_z1_heat_curve_outside_low_temp'].state | ||
+ | - >- | ||
+ | $ex | ||
+ | hass.states['number.panasonic_heat_pump_main_z1_heat_curve_outside_high_temp'].state | ||
+ | 'y': | ||
+ | - >- | ||
+ | $ex | ||
+ | hass.states['number.panasonic_heat_pump_main_z1_heat_curve_target_high_temp'].state | ||
+ | - >- | ||
+ | $ex | ||
+ | hass.states['number.panasonic_heat_pump_main_z1_heat_curve_target_low_temp'].state | ||
</pre> | </pre> | ||
+ | |||
=== Jeisha Einstellungen === | === Jeisha Einstellungen === | ||
− | [[Datei:Einstellungen | + | Meine Einstellungen |
+ | |||
+ | [[Datei:Stumi75-Jeisha-Einstellungen.png]] | ||
+ | |||
+ | === Beispiel Tagesverlauf === | ||
+ | |||
+ | Wenn das so aussieht, kann man sich freuen... | ||
+ | [[Datei:5kW-Panasonic-Aquarea-Jeisha.png]] |
Version vom 17. Mai 2024, 08:47 Uhr
Vorwort
Diese Seite beschreibt den Umbau von einer Viessmann Atola 11kW Gasheizung auf eine Panasonic Aquarea Wärmepumpe WH-MDC05J3E5.
Der Bestand
Das Haus
- Reiheneckhaus in Oberbayern
- Baujahr 1990
- 2016 von uns erworben
- EG, OG und DG mit zusammen 131 m² Wohnfläche, Keller
- EG Wohnzimmer, Küche, WC
- OG drei Zimmer, Bad
- DG ein Zimmer, Bad
- Wände aus 30 cm Hohllochziegel
- Ursprüngliche Dämmung Dach ca. 4 cm Engelshaar Glaswolle + 2 cm Rigipsplatte
- Unten Bodenplatte 1 cm Styropor + 7 CM Betonestrich
- Dach 26° Neigung Süd-Südwest/ Nord-Nordost
- 9,3 kWp PV Anlage auf dem Süddach
Die Heizung
- 11kW Viessmann Atola Niedertemperatur Gasbrenner BJ 1990
- EG: 3 Heizkörper in Reihe (90x55 22, 140x55 22, 60x55 10)
- OG: 5 Heizkörper in Reihe (70x55 20, 70x55 33, 60x55 22, nachgerüstete FBH (2016), Handtuchheizkörper (2016), 70x55 20)
- DG: 2 Heizkörper in Reihe (80x55 33, 80x55 33)
- Keller: 1 Heizkörper nachgerüstet parallel (140x90 22)
- Rauschfreier Volumenstrom 540 l/h
Die Idee
Heizung
- Einbau einer 3,5kW LLWP im EG im August 2022 wegen von Russland erzeugter Gaskrise
- Planungsbeginn Umbau auf Wärmepumpe trotz miserabler Hydraulik im Herbst 2022
- Beim Gasbrenner die Düse auf 5kW Heizleistung ausgelitert
- Stromanschluß des Gasbrenners auf Steckdose umgebaut und einen Tasmota WLAN Stecker dazwischen gesteckt um über den Stromverbrauch das Taktverhalten im Homeassistant zu protokollieren.
- Am 13.12.2022 bei minus 14 Grad war der Brenner immer noch am Takten - somit war klar, das 5kW Heizleistung ausreichen müssten.
Hydraulikschema
Die Einrohrheizung ist halt einfach Mist. Obwohl laut Wikipedia Einrohrheizungen schon seit den 80ern kaum noch eingebaut wurden, hat der damalige Errichter trotzdem eine beauftragt - der Dreispänner wurde ja nur vermietet.
Die anderen Häuser der Straße wurden von Eigenheimbewohnern gebaut - da findet sich Fussbodenheizung und Zweirohrkreise bei Heizkörpern. Ein meiner Meinung nach weiterer Grund, warum sich Gesetzgeber ins Baugewerbe einmischen müssen, um Mindeststandards durchzusetzen.
Somit wurde der alte 200l WW-Speicher als Reihen-/Abtaupuffer eingeplant wie hier beschrieben mit Umschaltventil.
Dämmung
- Beim Umbau vor dem Einzug mussten schon die Fenster im EG getauscht werden - das passierte zum Glück 3-glasig.
- Sonst war die Dämmung des 1990er Zustands nur das mindeste.
PV
- 9,3 kWp Anlage kam in 2019 und Dank PV-Forum mal was selbst mit Vorwissen geplant
- Das Süddach ist komplett voll und die Technik für 2019 top.
Umsetzung
Dach
- Beim Umbau vor dem Einzug 2016 mit 16cm Mineralwolle gedämmt und wo möglich mit 40cm (Dachspitz und gefangene Räume über den Lauf der Zeit)
Fenster
- Alle Rolladenkästen aufgemacht, sauber gemacht, Bänder getauscht und mit 40mm Armaflex nachgedämmt
Wärmeverteilung
- Bei allen Heizkörpern vor dem Winter 2022 die Thermostate mit Blindstopfen ersetzt
- Den thermischen Abgleich mit den Einrohrhahnblöcken gemacht
Somit konnte der Volumenstrom auf 720 l/h rauschfrei erhöht werden
Installation Wärmepumpe
- Rückbau der Zirkulation
- 300l TESY Speicher unter der Küche aufgestellt, das Warmwasser kommt nun ohne Zirkulation in ca. 3 Sekunden in der Küche, in den Badezimmern nach ca. 10 Sekunden
- Thermosiphons beim WW-Speicher verbaut
- Drei Wärmemengenzähler: Heizen, WW-Bereitstelung und WW-Verbrauch
- Alten 200l WW-Speicher als Reihenpuffer verbaut - der Kurzschluß beim Abtauen wird durch ein weiteres, von der Jeisha gesteuertes, Afriso 3-Wege-Ventil geschalten.
- Gasbrenner entsorgt
Steuerung & Co
Ziele sind:
- möglichst lange Takte
- konstante Innenraumtemperatur bis in den Abend
- Ausnutzung der PV und höheren Quelltemperaturen durch eine Überhöhung tagsüber und einmalige Warmwasserbereitung um 13 Uhr
Statistiken
Ohne Messwerte und deren Auswertung keine Entscheidungen!
Wärmepumpen-Verbrauchsdatenbank
Steuerung
Die WP Heizungssteuerung läuft mit der Wassertemperatur geführten Heizkurve. Das Steuergerät ist an zentraler, schattiger Stelle im Wohnzimmer montiert und damit wird die Raumtemperatur gemessen.
Die Heizkurze bestimmt anhand der Aussentemperatur den Vorlauf und somit den Energieeintrag - wenn dieser passend nachgeführt wird, bleibt die Temperatur im Haus konstant.
Die Heishamon Rules
- kümmern sich um den Flüstermodus (timer11)
- schalten nach der Warmwasserbereitung um 13 Uhr direkt wieder auf Heizen um und setzen das Warmwasserziel anhand der Außentemperatur zwischen 42 und 50 Grad (timer12)
- schalten bei warmen Temperaturen die WP in der Nacht komplett aus (timer13)
- erhöhen die Vorlaufverschiebung, um das Abschalten des Kompressors durch ein Delta größer/gleich 2 Grad zwischen Vorlauf-soll und Vorlauf-ist zu vermeiden (timer14)
Alles andere macht die Jeisha Steuerung.
Heizkurve
Heishamon Rules
on System#Boot then #stateBeforeDHW = 1; #opModeBeforeDHW = 0; #targetLowBeforeDHW = 32; #targetHighBeforeDHW = 40; #sleepAtNight = 1; setTimer(10, 35); setTimer(11, 40); setTimer(12, 41); setTimer(13, 42); setTimer(14, 43); end on timer=10 then #targetLowBeforeDHW = @Z1_Heat_Curve_Target_Low_Temp; #targetHighBeforeDHW = @Z1_Heat_Curve_Target_High_Temp; end on timer=11 then setTimer(11, 15); $newQuietMode = 0; if @Outside_Temp >= 6 then $newQuietMode = 2; end if @Outside_Temp >= 9 then $newQuietMode = 3; end if @DHW_Power_Consumption > 0 then $newQuietMode = 0; end if @Quiet_Mode_Level != $newQuietMode then @SetQuietMode = $newQuietMode; end end on timer=12 then setTimer(12, 30); $minDHWTarget = 42; $minOutside = 10; $maxDHWTarget = 50; $maxOutside = 25; $newDHWTarget = round($minDHWTarget + ((@Outside_Temp - $minOutside ) * ($maxDHWTarget - $minDHWTarget) / ($maxOutside - $minOutside))); if @Outside_Temp <= $minOutside then $newDHWTarget = $minDHWTarget; end if @Outside_Temp >= $maxOutside then $newDHWTarget = $maxDHWTarget; end if @Operating_Mode_State < 3 then #stateBeforeDHW = @Heatpump_State; #opModeBeforeDHW = @Operating_Mode_State; if %hour == 13 && %minute == 0 then #targetLowBeforeDHW = @Z1_Heat_Curve_Target_Low_Temp; #targetHighBeforeDHW = @Z1_Heat_Curve_Target_High_Temp; @SetOperationMode = 4; @SetHeatpump = 1; @SetCurves = '{zone1:{heat:{target:{high:60,low:60}}}}'; setTimer(22, 7200); end end if @Operating_Mode_State >= 3 then if @DHW_Target_Temp != $newDHWTarget then @SetDHWTemp = $newDHWTarget; end if @DHW_Temp >= @DHW_Target_Temp && @DHW_Power_Consumption == 0 then @SetOperationMode = #opModeBeforeDHW; @SetHeatpump = #stateBeforeDHW; setTimer(20, 210); setTimer(21, 330); setTimer(22, 480); end end end on timer=20 then @SetCurves = concat('{zone1:{heat:{target:{high:', #targetHighBeforeDHW ,',low:', #targetHighBeforeDHW ,'}}}}'); end on timer=21 then @SetCurves = concat('{zone1:{heat:{target:{low:', (#targetHighBeforeDHW - #targetLowBeforeDHW) / 2 + #targetLowBeforeDHW ,'}}}}'); end on timer=22 then @SetCurves = concat('{zone1:{heat:{target:{low:', #targetLowBeforeDHW ,'}}}}'); end on timer=13 then setTimer(13, 30); if #sleepAtNight == 1 && %hour == 18 && %minute == 0 && @Heatpump_State == 1 && @Outside_Temp >= 7 && @Room_Thermostat_Temp >= 22 then #sleepAtNight = 2; end if #sleepAtNight == 2 && %hour == 20 && %minute == 0 && @Heatpump_State == 1 then @SetHeatpump = 0; end if #sleepAtNight == 2 && %hour == 6 && %minute == 0 && @Heatpump_State == 0 then #sleepAtNight = 1; @SetHeatpump = 1; end if %hour == 6 && %minute == 0 && @Outside_Temp < 6 then @SetMaxPumpDuty = 140; end if %hour == 20 && %minute == 0 then @SetMaxPumpDuty = 105; end end on timer=14 then setTimer(14, 15); if @Heatpump_State == 1 then $newHeatRequest = 0; $outletDelta = @Main_Outlet_Temp - ( @Main_Target_Temp - @Z1_Heat_Request_Temp ); $newHeatRequest = floor( $outletDelta ) - 1; if $newHeatRequest < 0 then $newHeatRequest = 0; end if $newHeatRequest > 3 && @Room_Thermostat_Temp > 22 then $newHeatRequest = 3; if #sleepAtNight == 1 then #sleepAtNight = 2; end end if $newHeatRequest > 5 then $newHeatRequest = 5; if #sleepAtNight == 1 then #sleepAtNight = 2; end end if @Z1_Heat_Request_Temp != $newHeatRequest then @SetZ1HeatRequestTemperature = $newHeatRequest; end end end
Homeassistant Konfigurationen
configuration.yaml
sensor: - platform: template sensors: custom_panasonic_heat_pump_average_runtime: friendly_name: Heatpump average runtime unit_of_measurement: h value_template: >- {% set calc = ( float( states('sensor.panasonic_heat_pump_main_operations_hours'),0) / float( states('sensor.panasonic_heat_pump_main_operations_counter'),1) ) | round(2) %} {{ 0 if calc <= 0 else calc }} input_number: custom_z1_heatcurve_target_water_temperature_at_low_outdoor_temperature: name: Heizkurve Wasser Zieltemperatur bei niedriger AT unit_of_measurement: °C min: 15 max: 60 step: 1.0 mode: slider custom_z1_heatcurve_target_water_temperature_at_high_outdoor_temperature: name: Heizkurve Wasser Zieltemperatur bei hoher AT unit_of_measurement: °C min: 15 max: 60 step: 1.0 mode: slider recorder: purge_keep_days: 400 commit_interval: 120
Automations
alias: When DHW starts change Z1 heating curve to 56 description: "" trigger: - platform: state entity_id: - sensor.panasonic_heat_pump_main_threeway_valve_state from: Room to: Tank condition: [] action: - service: input_number.set_value target: entity_id: >- input_number.custom_z1_heatcurve_target_water_temperature_at_low_outdoor_temperature data: value: >- {{ states('number.panasonic_heat_pump_main_z1_heat_curve_target_high_temp') | float }} - service: input_number.set_value target: entity_id: >- input_number.custom_z1_heatcurve_target_water_temperature_at_high_outdoor_temperature data: value: >- {{ states('number.panasonic_heat_pump_main_z1_heat_curve_target_low_temp') | float }} - service: number.set_value data: value: 56 target: entity_id: number.panasonic_heat_pump_main_z1_heat_curve_target_high_temp - service: number.set_value data: value: 56 target: entity_id: number.panasonic_heat_pump_main_z1_heat_curve_target_low_temp mode: single
alias: After DHW ends wait and set heating curve to 40 description: "" trigger: - platform: state entity_id: - sensor.panasonic_heat_pump_main_threeway_valve_state from: Tank to: Room for: hours: 0 minutes: 4 seconds: 0 condition: [] action: - service: number.set_value data: value: 40 target: entity_id: number.panasonic_heat_pump_main_z1_heat_curve_target_high_temp - service: number.set_value data: value: 40 target: entity_id: number.panasonic_heat_pump_main_z1_heat_curve_target_low_temp mode: single
alias: After DHW ends wait and set heating curve back description: "" trigger: - platform: state entity_id: - sensor.panasonic_heat_pump_main_threeway_valve_state from: Tank to: Room for: hours: 0 minutes: 6 seconds: 0 condition: [] action: - service: number.set_value data: value: >- {{ states('input_number.custom_z1_heatcurve_target_water_temperature_at_low_outdoor_temperature') | float }} target: entity_id: number.panasonic_heat_pump_main_z1_heat_curve_target_high_temp - service: number.set_value data: value: >- {{ states('input_number.custom_z1_heatcurve_target_water_temperature_at_high_outdoor_temperature') | float }} target: entity_id: number.panasonic_heat_pump_main_z1_heat_curve_target_low_temp mode: single
Dashboards
Wärmepumpe
type: entities entities: - entity: sensor.panasonic_heat_pump_main_outside_temp - entity: sensor.panasonic_heat_pump_main_room_thermostat_temp - entity: sensor.panasonic_heat_pump_main_dhw_temp - entity: sensor.panasonic_heat_pump_main_threeway_valve_state - entity: switch.panasonic_heat_pump_main_defrosting_state - entity: sensor.panasonic_heat_pump_main_main_target_temp - entity: sensor.panasonic_heat_pump_main_main_outlet_temp - entity: sensor.panasonic_heat_pump_main_main_inlet_temp - entity: sensor.panasonic_heat_pump_main_compressor_freq - entity: sensor.panasonic_heat_pump_main_high_pressure - entity: sensor.panasonic_heat_pump_main_fan1_motor_speed - entity: sensor.panasonic_heat_pump_main_pump_flow - entity: sensor.panasonic_heat_pump_main_pump_speed - entity: sensor.panasonic_heat_pump_main_pump_duty - entity: sensor.panasonic_heat_pump_s0_watt_1 - entity: sensor.aquarea_energy_consumption - entity: sensor.aquarea_energy_production - entity: sensor.aquarea_cop - entity: sensor.panasonic_heat_pump_main_operations_counter - entity: sensor.panasonic_heat_pump_main_operations_hours - entity: sensor.custom_panasonic_heat_pump_average_runtime title: Aktuelle Werte state_color: true
type: grid square: false columns: 1 cards: - type: entities entities: - entity: water_heater.panasonic_heat_pump_main_dhw_target_temp - entity: climate.panasonic_heat_pump_main_z1_temp - entity: number.panasonic_heat_pump_main_z1_heat_request_temp - entity: number.panasonic_heat_pump_main_max_pump_duty - entity: number.panasonic_heat_pump_main_heat_delta - entity: number.panasonic_heat_pump_main_dhw_heat_delta - entity: number.panasonic_heat_pump_main_heating_off_outdoor_temp - entity: number.panasonic_heat_pump_main_z1_heat_curve_target_high_temp - entity: number.panasonic_heat_pump_main_z1_heat_curve_target_low_temp - entity: number.panasonic_heat_pump_main_z1_heat_curve_outside_low_temp - entity: number.panasonic_heat_pump_main_z1_heat_curve_outside_high_temp - entity: binary_sensor.panasonic_heat_pump_main_quiet_mode_schedule - entity: select.panasonic_heat_pump_main_quiet_mode_level - entity: binary_sensor.panasonic_heat_pump_main_dhw_installed - entity: binary_sensor.panasonic_heat_pump_main_room_heater_state - entity: binary_sensor.panasonic_heat_pump_main_dhw_heater_state title: Einstellungen
Wärmepumpe Kurven
type: vertical-stack cards: - type: history-graph entities: - entity: switch.panasonic_heat_pump_main_heatpump_state - entity: select.panasonic_heat_pump_main_operating_mode_state - entity: sensor.panasonic_heat_pump_main_threeway_valve_state - entity: switch.panasonic_heat_pump_main_defrosting_state - entity: binary_sensor.panasonic_heat_pump_main_internal_heater_state - entity: select.panasonic_heat_pump_main_quiet_mode_level - entity: switch.panasonic_heat_pump_main_holiday_mode_state hours_to_show: 8 title: Status - type: history-graph entities: - entity: sensor.panasonic_heat_pump_main_outside_temp - entity: sensor.panasonic_heat_pump_main_room_thermostat_temp - entity: number.panasonic_heat_pump_main_z1_heat_request_temp - entity: sensor.panasonic_heat_pump_main_dhw_temp - entity: sensor.panasonic_heat_pump_main_main_target_temp - entity: sensor.panasonic_heat_pump_main_main_outlet_temp - entity: sensor.panasonic_heat_pump_main_main_inlet_temp title: Temperaturen hours_to_show: 8 - type: history-graph entities: - sensor.panasonic_heat_pump_main_compressor_freq title: Kompressor hours_to_show: 8 - type: history-graph entities: - sensor.panasonic_heat_pump_main_pump_flow title: Volumenstrom hours_to_show: 8 - type: history-graph entities: - sensor.panasonic_heat_pump_main_pump_speed - sensor.panasonic_heat_pump_main_fan1_motor_speed title: Drehzahlen hours_to_show: 8 - type: history-graph entities: - entity: sensor.panasonic_heat_pump_main_pump_duty - entity: number.panasonic_heat_pump_main_max_pump_duty hours_to_show: 8 - type: history-graph entities: - sensor.panasonic_heat_pump_main_dhw_energy_consumption - sensor.panasonic_heat_pump_main_dhw_energy_production - sensor.panasonic_heat_pump_main_heat_energy_consumption - sensor.panasonic_heat_pump_main_heat_energy_production - sensor.panasonic_heat_pump_s0_watt_1 - sensor.panasonic_heat_pump_s0_watt_2 - sensor.aquarea_energy_consumption - sensor.aquarea_energy_production title: Energie hours_to_show: 8 - type: history-graph entities: - entity: sensor.panasonic_heat_pump_main_high_pressure hours_to_show: 8 - type: history-graph entities: - sensor.aquarea_cop hours_to_show: 8 - type: custom:plotly-graph refresh_interval: 10 title: Heat curve defaults: entity: show_value: true line: shape: spline layout: xaxis: type: number autorange: true entities: - entity: '' name: Zone 1 x: - >- $ex hass.states['number.panasonic_heat_pump_main_z1_heat_curve_outside_low_temp'].state - >- $ex hass.states['number.panasonic_heat_pump_main_z1_heat_curve_outside_high_temp'].state 'y': - >- $ex hass.states['number.panasonic_heat_pump_main_z1_heat_curve_target_high_temp'].state - >- $ex hass.states['number.panasonic_heat_pump_main_z1_heat_curve_target_low_temp'].state
Jeisha Einstellungen
Meine Einstellungen