82 lines
2.3 KiB
Markdown
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
|
|
```
|
|
|
|
|