Files
bobbie-pkm/Notes/On using predheat to preheat floors.md
2026-03-02 17:06:32 +00:00

82 lines
2.3 KiB
Markdown

---
category:
- "[[Note]]"
type:
title: On using predheat to preheat floors
created: 2026-01-11T16:41:36
topic:
- "[[Predbat]]"
- "[[Home Assistant]]"
- "[[ESPHome Ecodan heatpump]]"
---
I want to, while the energy rates are cheap, charge the floors up with heat using [[Home Assistant]]. With the output from [[Predheat]] I can somehow use [[ESPHome Ecodan heatpump]] to start the [[Mitsubishi 6kW Ecodan Heat Pump|ASHP]].
Entities that I can use:
- predheat.heat_energy
- It resets to zero everyday
- The attributes predict the heat pump consumption over the next 2 days, in kWh.
- predbat.battery_hours_left
- Gives the number of hours the battery will run the house for
- This figure takes account of everything (solar generation, etc.). I should use this.
- predbat.load_energy
- The predicted total load for the day
- I would need to factor solar generation into this too
- predbat.load_energy_h0
- The current load (in kWh)
> [!NOTE] A rough plan, for Octopus Go
> If predbat's 'battery_hours_left' doesn't cover the day
> AND
> the predicted heat pump consumption is a factor
> THEN
> charge the floors with heat
Here's some code suggested by [[AI Gemini]] for a start point for a ha automation
```
alias: "ASHP: Smart Night Slab Charge"
description: "Charges floors if Predheat predicts >5kWh of heat needed by 8:30 AM"
trigger:
- platform: time
at: "00:30:00"
condition:
# Adjust '5.0' based on your house.
# If it's a cold night, h8 might be 10-15kWh. If mild, it might be 2kWh.
- condition: template
value_template: "{{ states('predheat.heat_energy_h8') | float > 5.0 }}"
action:
# 1. Turn up the Target Temp to force the pump on
- service: climate.set_temperature
target:
entity_id: climate.ecodan_zone_1
data:
temperature: 23
# 2. Push the Flow Temp higher to pack heat into the concrete
- service: number.set_value
target:
entity_id: number.ecodan_aa_max_flow_temp_z1
data:
value: 45
# Wait for the end of the cheap slot
- wait_for_trigger:
- platform: time
at: "05:30:00"
# 3. Reset to normal maintenance settings
- service: climate.set_temperature
target:
entity_id: climate.ecodan_zone_1
data:
temperature: 20
- service: number.set_value
target:
entity_id: number.ecodan_aa_max_flow_temp_z1
data:
value: 35
```