stigvi Skrevet 3. desember 2019 Del Skrevet 3. desember 2019 Her er min løsning på dette med å styre oppvarming av vann. Jeg har i alle fall lært en del av dette. Før jeg startet trodde jeg det ville være nok å måle temperatur i topp av tank, men ser den gir lite nyttig info. Jeg trodde temperaturen på vannet ville jevne seg ut når det var stillestående lenge nok, men ser at det motsatte er tilfellet. Stillestående vann leder varme dårlig og kaldt vann som kommer inn i bunn av tanken blir ikke varmet opp av det varme vannet i topp. Det kan fint være 30-40 grader forskjell på topp og bunn og dette opprettholdes over tid. Jeg så også at temperatur i topp fortsatte å synke i opp til en time etter at varme var påslått og det var da jeg virkelig begynnte å lure. Virker ikke styringen min? Er det ikke strøm på varmeelementet? Da monterte jeg en temperaturføler i bunn av tank og fikk et mye klarere bilde av hva som skjer. 1. Temperatur i topp på min tank synker 0,5 grader i timen uavhengig av vannforbruk (med normalt forbruk) 2. Temperatur i bunn synker raskt ned mot 35-45 grader selv med moderat forbruk Konklusjon er at det er vanskelig å vite status på vanntemperatur ut fra en føler i topp og bunn. Men jeg er endt opp med å ta snittet av disse to. Målet mitt var at vannet skal være ferdig oppvarmet til klokken 0400. Stort sett alltid er strøm billigst på natt og jeg har ingen annen kobling mot strømpris. Tanken tar 194 liter og det tar 404 sekund å varme den opp 1 grad. Med dette som utgangspunkt beregnes tidspunkt varmen må slås på for at det skal være varmt 0400. Strømmen slås av 0500. Denne ekstra timen er der i tilfelle tanken inneholder mer kaldt vann enn det jeg har antatt med å ta snitt av topp og bunn temperatur. Styringen blir gjort av en Sonoff TH16, men strøm til tank går via en kontaktor. Pinglereleet i TH16 stoler jeg ikke på. Kontaktoren er ikke lydløs så det er et minus. Kunne byttet den ut, men fruen klager ikke over smell på vaskerommet enda. På Sonoff har jeg lagt inn Esphome. Kode og bilder er nedenfor. Et kjekt lite prosjekt som ikke har kostet allverdens ? esphome: name: varmtvannstank platform: ESP8266 board: esp01_1m wifi: ssid: "HEIME5.ORG" password: !secret heime_wifi domain: .lan # Enable fallback hotspot (captive portal) in case wifi connection fails #ap: # ssid: "Varmtvannstank Fallback Hotspot" # password: "okz8anWfZKFP" #captive_portal: # Enable logging logger: # Enable Home Assistant API api: ota: globals: - id: heating type: bool restore_value: no initial_value: 'false' - id: seconds type: int restore_value: no initial_value: '0' switch: - platform: gpio pin: 12 id: varmtvannstank_varme name: "varmtvannstank_varme" restore_mode: ALWAYS_OFF dallas: - pin: GPIO14 sensor: - platform: dallas address: 0xC5000008FABF3328 id: varmtvannstank_topp_temperatur #name: "varmtvannstank_temperatur" filters: - sliding_window_moving_average: window_size: 5 send_every: 5 - platform: dallas address: 0xFA0319A2796AD628 id: varmtvannstank_bunn_temperatur name: "varmtvannstank_bunn_temperatur" filters: - sliding_window_moving_average: window_size: 5 send_every: 5 - platform: template name: "Energibruk varmtvann" lambda: |- return id(seconds) / 1800.0; update_interval: 300s unit_of_measurement: "kWh" interval: - interval: 5min then: - if: condition: - lambda: !lambda |- auto time_now = id(homeassistant_time).utcnow(); auto time_heat_end = time_now; id(seconds) = (77.0 - (id(varmtvannstank_topp_temperatur).state + id(varmtvannstank_bunn_temperatur).state) / 2.0) * 404.30769; if(id(seconds) < 0) id(seconds) = 0; else if(id(seconds) > 28800) id(seconds) = 28800; time_heat_end.hour = 4; if(time_heat_end.is_dst) { ESP_LOGD("main", "dst is on"); time_heat_end.hour = 3; } time_heat_end.minute = 0; time_heat_end.second = 0; time_heat_end.recalc_timestamp_utc(); if(id(heating) == true && time_now < time_heat_end) { ESP_LOGD("main", "t1"); return true; } if(time_now > time_heat_end) time_heat_end = esphome::time::ESPTime::from_epoch_utc(time_heat_end.timestamp + 86400); auto time_heat_start = esphome::time::ESPTime::from_epoch_utc(time_heat_end.timestamp - id(seconds) - 3600); ESP_LOGD("main", "seconds=%d", id(seconds)); ESP_LOGD("main", "%d-%d-%d %d:%d:%d", time_heat_start.year, time_heat_start.month, time_heat_start.day_of_month, time_heat_start.hour, time_heat_start.minute, time_heat_start.second); if(id(heating) == false && time_now > time_heat_start) { ESP_LOGD("main", "t2"); return true; } else { ESP_LOGD("main", "t3"); return false; } then: - if: condition: - lambda: !lambda |- if(id(heating) == false) { id(heating) = true; return true; } else return false; then: - climate.control: id: varmtvannstank target_temperature_low: 79.0 target_temperature_high: 81.0 else: - if: condition: - lambda: !lambda |- if(id(heating) == true) { id(heating) = false; return true; } else return false; then: - climate.control: id: varmtvannstank target_temperature_low: 60.0 target_temperature_high: 61.0 time: - platform: homeassistant id: homeassistant_time climate: - platform: bang_bang id: varmtvannstank name: "varmtvannstank" sensor: varmtvannstank_topp_temperatur default_target_temperature_low: 60.0 default_target_temperature_high: 61.0 visual: min_temperature: 60.0 max_temperature: 85.0 temperature_step: 0.1 heat_action: - switch.turn_on: varmtvannstank_varme idle_action: - switch.turn_off: varmtvannstank_varme 3 Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
Moskus Skrevet 3. desember 2019 Del Skrevet 3. desember 2019 1 time siden, stigvi skrev: Hadde vært spennende å sett bunn og topp i samme grafe. Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
stigvi Skrevet 3. desember 2019 Forfatter Del Skrevet 3. desember 2019 OK, da.... 1 Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
stigvi Skrevet 3. desember 2019 Forfatter Del Skrevet 3. desember 2019 (endret) Dropp i temperatur kl 0600 og 2230 skyldes bruk av dusj Temperaturføler i topp står i kontakt med vannet i tankens hull for termometer. Føler i bunn ligger inntil utsiden der termostat er. I den fasen i oppvarmingen der disse to følger hverandre så er forskjellen mellom dem 0,2-0,3 grader. Virker som at det er helt greit å måle på utsiden. Jeg startet prosjektet med å måle ved blandeventilen, men da ble det mye rare målinger, sannsynligvis fordi det også strømmer kaldt vann der. I ettertid ser jeg at jeg kunne klart meg med føler i bunn og kun beregnet topptemperatur. Endret 3. desember 2019 av stigvi Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
arneolav Skrevet 3. desember 2019 Del Skrevet 3. desember 2019 Har kun føler i bunn, fungerer helt greitt til formålet. Strømmen koster litt mer på morgenen og ettermiddag, kobler derfor ut kun i disse periodene. Hvis temp faller under kritisk punkt kobles inn. (Opprettholde WAF). Dette er enkelt og greitt, kanskje ikke helt optimalt, men tviler på om det er nevenverdig mer å spare, men kan jo være mer spennende.... Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.