Gå til innhold
  • Bli medlem

stigvi

Medlemmer
  • Innholdsteller

    19
  • Ble med

  • Besøkte siden sist

Nettsamfunnsomdømme

8 Neutral

Om stigvi

  • Rang
    Nybegynner

Hjemmeautomasjon

  • System
    Home Assistant

Nylige profilbesøk

Blokken for nylige besøkende er slått av og vises ikke for andre medlemmer.

  1. Panelovn uten termostat: https://www.glendimplex.no/media/15678/nfkx_slave_230v_400v_no.pdf
  2. Nobø sine ovner har utbyttbare termostater. En stund lurte jeg på om jeg skulle kjøpt de aller billigste og byttet ut innmaten med mitt eget system. Men finner heller noe annet som kreativiteten min kan gå ut over.
  3. Nobø sitt system fungerer greit for meg, men dessverre gir de ikke informasjon tilbake om hvilken temperatur de måler eller hvor mye strøm de trekker
  4. 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.
  5. 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
  6. Så bra ut. Hva slags lys har du brukt og hvor har du gjort av ledningene?
  7. Nobø sine ovner og varmekabeltermostater fungerer glimrende med Home Assistant hjemme hos meg
  8. Nei, DS18B20 har en 1-wire bus og du kan koble til mange på samme inngang. En leser de individult ved hjelp av en indeks eller adresse. Står mer om dette hos esphome sitt web område
  9. Dette er altså esphome sin måte å lese temperatur fra en DS18B20 dallas: - pin: GPIO14 sensor: - platform: dallas index: 0 id: varmtvannstank_temperatur name: "varmtvannstank_temperatur"
  10. Jeg bruker en sonoff th16 og der firmware er esphome. Tanken er avslått mesteparten av døgnet, men det beregnes tidspunkt strømmen må slås på for at vannet skal være 75 grader klokken 04:45. Tanken bruker ca 400 sekund på å varme vannet 1 grad. 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: int restore_value: no initial_value: '0' switch: - platform: gpio pin: 12 id: varmtvannstank_varme #name: "varmtvannstank_varme" restore_mode: ALWAYS_ON dallas: - pin: GPIO14 sensor: - platform: dallas index: 0 id: varmtvannstank_temperatur #name: "varmtvannstank_temperatur" filters: - sliding_window_moving_average: window_size: 5 send_every: 5 interval: - interval: 1min then: - if: condition: - lambda: !lambda |- auto time_now = id(homeassistant_time).utcnow(); auto time_heat_end = time_now; if(id(varmtvannstank).mode != CLIMATE_MODE_AUTO) id(heating) = 0; int seconds = (75.0 - id(varmtvannstank_temperatur).state) * 404.30769; if(seconds < 0) seconds = 0; 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 = 45; time_heat_end.second = 0; time_heat_end.recalc_timestamp_utc(); if(time_heat_end < time_now) 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 - seconds - 3600); ESP_LOGD("main", "seconds=%d", 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(time_now > time_heat_start && time_now < time_heat_end) return true; else return false; then: - if: condition: - lambda: !lambda |- if(id(varmtvannstank).mode == CLIMATE_MODE_AUTO && id(heating) != 2) { id(heating) = 2; return true; } else return false; then: - climate.control: id: varmtvannstank mode: AUTO target_temperature_low: 79.0 target_temperature_high: 81.0 else: - if: condition: - lambda: !lambda |- if(id(varmtvannstank).mode == CLIMATE_MODE_AUTO && id(heating) != 1) { id(heating) = 1; return true; } else return false; then: - climate.control: id: varmtvannstank mode: AUTO target_temperature_low: 54.0 target_temperature_high: 56.0 time: - platform: homeassistant id: homeassistant_time climate: - platform: bang_bang id: varmtvannstank name: "varmtvannstank" sensor: varmtvannstank_temperatur default_target_temperature_low: 79.0 default_target_temperature_high: 81.0 visual: min_temperature: 54.0 max_temperature: 85.0 temperature_step: 0.1 heat_action: - switch.turn_on: varmtvannstank_varme idle_action: - switch.turn_off: varmtvannstank_varme
×
×
  • Opprett ny...