Autocommit 2026-10-24 19:15

This commit is contained in:
Simon 2026-10-24 19:15:01 +02:00
parent bf315a3f87
commit 96196699fa
1 changed files with 164 additions and 0 deletions

View File

@ -0,0 +1,164 @@
---
title: Daikin värmepump
created: 2026-10-24
status: aktiv
tags:
- projekt
---
# Daikin värmepump
> [!abstract] Mål
> Värma vardagsrummet med Daikin-luftvärmepumpen i hallen till så låg elkostnad som möjligt. Värmen stannar gärna i hallen, så styrningen ska reglera efter vardagsrummet och inte efter Daikins egen givare.
## Uppgifter
- [ ] **30/10:** utvärdera fläkttestet (se [[#Fläkttest 24–30 oktober]] och [[#Så analyserar du ett test]])
- [ ] Ta bort `packages/house/hall/daikin_flakttest.yaml` efter testet, och sätt `input_select.daikin_testflakt` till "Av"
- [ ] Bestäm om regleringens fläktlogik ska ändras utifrån testresultatet (i dag väljer den fläkt 4 när vardagsrummet ligger efter, annars Auto)
- [ ] Bestäm om nattmålet ska sänkas (`input_number.vardagsrum_maltemp_natt`, i dag 21 °C)
- [ ] Ta reda på varför kompressorn går trots setpoint långt under rumstemperaturen (Daikin-appen eller manualen: minsta setpoint i värmeläge, frostskydd?)
- [ ] Städa bort de gamla utkasten: automationen "Reser temp" (avstängd) och skriptet "Värmepump – Nattläge med stegvis justering"
## Styrningen i Home Assistant
Paketet `~/repo/Docker/ha/config/packages/house/hall/daikin.yaml`:
- **Reglering:** var 30:e minut justeras Daikins setpoint ±1 °C (19–24 °C) tills vardagsrummet ligger inom ±0,3 °C från målet. Hallen får inte gå över 24,5 °C när setpointen höjs, och över 25 °C sänks den.
- **Mål:** `input_number.vardagsrum_maltemp` gäller 06–22 och `input_number.vardagsrum_maltemp_natt` gäller 22–06. Båda är 21 °C från 2026-10-24.
- **Fläkt:** 4 när vardagsrummet ligger efter, annars Auto.
- **Elpris:** under dyra timmar sänks setpointen 1 °C och regleringen fryses. Under billiga timmar höjs målet 0,5 °C.
- **Av/på:** `input_boolean.daikin_auto`.
- **Testläge:** `input_select.daikin_testflakt` låser fläkten och stänger av elprisjusteringen. "Av" ger vanlig drift.
> [!warning] Fel givare
> Regleringen använder `sensor.sensor_inne_vrum_aq001_temperature`. Använd inte `sensor.vardagsrum_temperature` som rumstemperatur, den sitter troligen i en annan enhet.
## Resultat
### Stegtest natten 22→23 oktober
Varje kombination av fläkt och setpoint kördes en timme. Daikins effekt är uppskattad som evcc:s `homePower` minus timmen före testet (574 W). Daikin har ingen egen elmätare.
| Tid | Steg | Kompressor (Hz) | Hall | Daikin ungefär |
|---|---|---|---|---|
| 00–01 | 17 °C, fläkt 2 | 12 | 22,5 | +110 W |
| 01–02 | 17 °C, fläkt 4 | 13 | 22,8 | +290 W |
| 02–03 | 21 °C, fläkt 2 | 19 | 23,2 | +350 W |
| 03–04 | 21 °C, fläkt 4 | 22 | 23,8 | +370 W (en annan last på cirka 280 W borträknad) |
| 04–05 | 23 °C, fläkt 2 | 19 | 24,2 | +590 W |
| 05–06 | 23 °C, fläkt 4 | 22 | 24,4 | +830 W |
Ute var det 11,6 → 9,5 °C. Daikin drog cirka 2,8 kWh mellan 00 och 06.
Slutsatser:
- **Kompressorn stod aldrig vid 17 °C.** Den gick på 12–18 Hz hela tiden, fast Daikins egen givare visade 21–24 °C.
- **Lägre fläkt drog mindre el** vid samma setpoint (180–240 W skillnad). **Högre setpoint drog mer** (cirka +240 W per steg vid fläkt 2).
- **Testet säger inte vad som ger mest värme per kWh.** Stegen var bara en timme och kom i stigande ordning, så huset hann inte stabilisera sig. Därför görs [[#Fläkttest 24–30 oktober]].
- **Daikins egen givare mäter stillastående luft** när fläkten står på Auto. Den visade 18 °C och hoppade till 22 °C så fort fläkten startade.
### Vanlig natt 23→24 oktober (referens)
Manuellt 13 °C och fläkt Auto, regleringen av. Vardagsrummet sjönk från 22,5 till 20,4 °C (cirka 0,3 °C i timmen), ute 7 °C. Kompressorn gick ändå på 8–12 Hz hela natten. Huset drog cirka 5,1 kWh mellan 00 och 06, men Daikins andel går inte att räkna ut eftersom andra laster varierade mer.
### Fläkttest 24–30 oktober
Paketet `packages/house/hall/daikin_flakttest.yaml`. Regleringen håller vardagsrummet på 21 °C varje natt och bara fläkten skiljer. Fläkten låses 22–06 och mätfönstret är 00–06. Varje läge körs två nätter i speglad ordning, så att en trend i utetemperaturen jämnas ut.
| Natt (morgondatum) | Fläkt |
|---|---|
| 25/10 | Auto |
| 26/10 | 2 |
| 27/10 | 4 |
| 28/10 | 4 |
| 29/10 | 2 |
| 30/10 | Auto |
- Start 24/10 kl. 20:00: målen sätts till 21 °C och `daikin_auto` slås på.
- Varje kväll och morgon loggas fläkt, setpoint och temperaturer i loggboken under namnet "Daikin fläkttest".
- Natten mot 25/10 slutar sommartiden, så jämför medeleffekt (W) och inte kWh.
- En omstart av HA sätter testfläkten till "Av" fram till nästa kväll, och den natten blir då ogiltig.
**Resultat:** fylls i efter 30/10.
## Så analyserar du ett test
En arbetsgång för att utvärdera en natt eller ett test. Alla kommandon körs på `zeuz`.
### Datakällor
| Vad | Var | Detaljer |
|---|---|---|
| Husets förbrukning utan bil | Influx `Car` / `homePower` (evcc) | W. Bästa måttet, eftersom billaddningen redan är borträknad. |
| Billaddning | Influx `Car` / `chargePower`, `chargeCurrents` | Laddar ofta cirka 5,5 kW nattetid, och då blir P1 oanvändbar utan evcc. |
| P1-mätaren | Influx `HomeBucket` / `el` | `electricity_currently_delivered` (kW), `phase_currently_delivered_l1..l3` (W). **Daikin sitter på L2.** |
| Daikin | Influx `home/autogen` / `Daikin`, taggen `type` | `cmpfreq`, `fanRate`, `mode` samt `temperature` med `location` = indoor, outdoor eller target. Tät upplösning. |
| Rumstemperaturer | HA-databasen `ha/config/home-assistant_v2.db` | `sensor.sensor_inne_vrum_aq001_temperature`, `sensor.sensor_inne_hall_th016_temperature`, `sensor.daikinap14037_outside_temperature` |
| Daikin-läge | HA-databasen | `climate.daikinap14037`, attributen `temperature`, `fan_mode`, `hvac_action` |
| Testlogg | HA-databasen, händelsen `logbook_entry` | Sök på "fläkttest" eller "stegtest". |
> [!tip] Fallgropar
> - **Tidszon:** Influx svarar i UTC och `aggregateWindow` märker raden med fönstrets *slut*. Raden `22:00Z` är timmen 23–00 svensk sommartid.
> - **HA-databasen sparar bara ändringar,** så glesa sensorer saknar värden för vissa timmar. Använd Influx för kompressorn.
> - **Kompressorns `hvac_action` i HA** är grövre än `cmpfreq` i Influx.
> - **Daikins effekt är alltid en uppskattning:** `homePower` minus en referenstimme. Andra laster (cirka 300–700 W) ger brus, så titta på L2 och kompressorn för att se vad som är Daikin.
### Frågor
Husets förbrukning, kompressor och fläkt per timme (ändra start och stop):
```bash
docker exec influxdb influx query '
h = from(bucket:"Car") |> range(start: 2026-10-24T22:00:00Z, stop: 2026-10-25T05:00:00Z)
|> filter(fn:(r)=> r._measurement=="homePower" or r._measurement=="chargePower")
|> group(columns:["_measurement"]) |> aggregateWindow(every: 1h, fn: mean, createEmpty:false)
|> map(fn:(r)=>({r with _field: r._measurement}))
c = from(bucket:"home/autogen") |> range(start: 2026-10-24T22:00:00Z, stop: 2026-10-25T05:00:00Z)
|> filter(fn:(r)=> r._measurement=="Daikin" and (r.type=="cmpfreq" or r.type=="fanRate"))
|> map(fn:(r)=>({r with _field: r.type})) |> group(columns:["_field"])
|> aggregateWindow(every: 1h, fn: mean, createEmpty:false)
union(tables:[h,c]) |> group() |> keep(columns:["_time","_field","_value"])
|> pivot(rowKey:["_time"], columnKey:["_field"], valueColumn:"_value")' --raw | grep -v '^#'
```
Rumstemperaturer per timme (lokal tid):
```bash
cd ~/repo/Docker/ha/config
sqlite3 -readonly -column -header "file:home-assistant_v2.db?mode=ro" "
SELECT strftime('%H',s.last_updated_ts,'unixepoch','localtime') h,
round(avg(CASE WHEN m.entity_id LIKE '%vrum_aq001%' THEN CAST(s.state AS REAL) END),2) vardagsrum,
round(avg(CASE WHEN m.entity_id LIKE '%hall_th016%' THEN CAST(s.state AS REAL) END),2) hall,
round(avg(CASE WHEN m.entity_id LIKE '%outside%' THEN CAST(s.state AS REAL) END),1) ute
FROM states s JOIN states_meta m USING(metadata_id)
WHERE m.entity_id IN ('sensor.sensor_inne_vrum_aq001_temperature',
'sensor.sensor_inne_hall_th016_temperature','sensor.daikinap14037_outside_temperature')
AND s.state NOT IN ('unknown','unavailable')
AND s.last_updated_ts BETWEEN strftime('%s','2026-10-24 22:00','-2 hours')
AND strftime('%s','2026-10-25 06:00','-1 hours')
GROUP BY h;"
```
(`-2 hours` och `-1 hours` gör om svensk tid till UTC: sommartid +2, vintertid +1.)
Loggboken för testet:
```bash
sqlite3 -readonly "file:home-assistant_v2.db?mode=ro" "
SELECT datetime(e.time_fired_ts,'unixepoch','localtime'), d.shared_data
FROM events e JOIN event_types t USING(event_type_id) LEFT JOIN event_data d USING(data_id)
WHERE t.event_type='logbook_entry' AND d.shared_data LIKE '%fläkttest%' ORDER BY 1;"
```
### Utvärdera fläkttestet
1. **Kontrollera att varje natt blev giltig.** Loggboken ska ha en start- och en slutrad med rätt fläkt. Ingen HA-omstart får ha skett mellan 22 och 06, och bilen bör inte ha laddat (annars får man förlita sig på `homePower`).
2. **Per natt:** ta fram medel av `homePower` 00–06, medel av kompressorn, medel av vardagsrummet (ska ligga nära 21 °C) och medel av utetemperaturen.
3. **Jämför fläktlägena** med medeleffekten och ta hänsyn till utetemperaturen. Kalla nätter drar mer. Jämför helst nätter med liknande utetemperatur, eller räkna W per grad skillnad mellan inne och ute.
4. **Skriv in resultatet** under "Fläkttest 24–30 oktober" och bocka av uppgifterna.
## Relaterat
- [[Docker-stack]]
- Paket: `~/repo/Docker/ha/config/packages/house/hall/`