notes/10-Projekt/Daikin värmepump.md

12 KiB
Raw Blame History

title created status tags
Daikin värmepump 2026-10-24 aktiv
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?)
  • Starta om HA så att fläkt 3, kaminläget och kaminens availability-fix laddas (gjort 2026-10-26 21:03)
  • 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 (16–24 °C, sänkt från 19 den 2026-10-26) 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.
  • Fläkt Auto värmer vardagsrummet dåligt (Simons erfarenhet). Värmen stannar i hallen, och det behövs högre fläkt för att få ut den. Ingen extra Auto-natt läggs till trots att natten mot 25/10 stördes av kaminen.
  • 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.
  • Kaminen stör. Eldning värmer vardagsrummet till långt efter midnatt, och då behöver Daikin göra mindre. Det eldades 23/10 och 24/10 från cirka 18:30, och givaren vid kaminen låg kvar över rumstemperaturen till cirka 01. Notera för varje natt om det eldades (se #Så analyserar du ett test).

Resultat: fylls i efter 30/10.

  • 25/10 (Auto): ogiltig. Kaminen var tänd från 18:30, vardagsrummet var 24,3 °C kl. 22, och setpointen sänktes manuellt till 17 och 14 °C under kvällen.
  • 26/10 (fläkt 2): giltig. Vardagsrummet låg på 21,1 °C, hallen på 22,7 °C och ute 9,8 °C. Huset drog i snitt cirka 1030 W (00–06) och kompressorn gick på cirka 19 Hz. Setpointen stod på 19 °C hela natten, alltså på den dåvarande lägsta gränsen.
  • Ändrat 26/10: lägsta setpoint är sänkt från 19 till 16 °C. Med högre fläkt blir vardagsrummet annars för varmt, och nätterna får olika rumstemperatur.
  • Kaminläge (från 26/10): fläkt 4 och 14 °C när binary_sensor.vardagsrum_kamin_igang är på. Bas-setpointen fryses under tiden.

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".
Kamineldning HA-databasen binary_sensor.vardagsrum_kamin_igang (på när givaren vid kaminen är över 24 °C i 5 min), counter.vardagsrum_kamin_eldningar, sensor.sensor_inne_kamin_th017_temperature. Sensorn fungerar från 2026-10-24 19:32. Tidigare var den alltid av på grund av ett fel.

[!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):

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):

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:

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;"

Eldade det? Visar när kaminsensorn slog på och av (ändra datum):

sqlite3 -readonly "file:home-assistant_v2.db?mode=ro" "
SELECT datetime(s.last_updated_ts,'unixepoch','localtime'), s.state
FROM states s JOIN states_meta m USING(metadata_id)
WHERE m.entity_id='binary_sensor.vardagsrum_kamin_igang'
 AND s.last_updated_ts > strftime('%s','2026-10-24 12:00','-2 hours') 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. Kontrollera kaminen. Om det eldades efter cirka 17 kvällen innan räknas natten som "med kamin". Jämför helst bara nätter utan kamin. Om alla lägen har en kamin-natt kan man jämföra dem sinsemellan, men ta i så fall bara med timmarna efter att givaren vid kaminen har sjunkit till rumstemperatur.
  3. 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.
  4. 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.
  5. Skriv in resultatet under "Fläkttest 24–30 oktober" och bocka av uppgifterna.

Relaterat

  • Docker-stack
  • Paket: ~/repo/Docker/ha/config/packages/house/hall/