2.3 KiB
2.3 KiB
category, type, title, created, topic
| category | type | title | created | topic | ||||
|---|---|---|---|---|---|---|---|---|
|
On using predheat to preheat floors | 2026-01-11T16:41:36 |
|
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.
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