Mathias Skrevet 23. februar 2021 Skrevet 23. februar 2021 1 hour ago, stigvi said: Når det gjelder VVB så styres den av en esp32 med esphome. Den måler temperatur i topp og i bunn og beregner oppvarmingstid. Og så får den de billigste timene fra HA (som kommer fra Nordpool) og slår på varme kun i de timene. Ligger styringen av dette i esp32'en, at esp'en styrer dette selv basert på info den får fra HA, eller er det automasjoner i HA som styrer dette? Siter
stigvi Skrevet 23. februar 2021 Skrevet 23. februar 2021 7 minutter siden, Mathias skrev: Ligger styringen av dette i esp32'en, at esp'en styrer dette selv basert på info den får fra HA, eller er det automasjoner i HA som styrer dette? All styring ligger i esp32. Der er det også logikk som sjekker at den faktisk har kontakt med HA og også at temperatur er over et minimum hvis nordpool prisene svikter. 1 Siter
Mathias Skrevet 23. februar 2021 Skrevet 23. februar 2021 1 minute ago, stigvi said: All styring ligger i esp32. Der er det også logikk som sjekker at den faktisk har kontakt med HA og også at temperatur er over et minimum hvis nordpool prisene svikter. Har du delt den koden her fra før eller kan du dele? Skal ikke styre VVB, men er interessert i se hvordan det er satt opp Siter
VikingOy Skrevet 23. februar 2021 Skrevet 23. februar 2021 Det du skriver virker ikke helt "uttømmende". Om øyeblikksprisen stiger til 115% (eller 140%) av dagens snitt, er helt uproblematisk dersom dagens snitt er under 15 øre/kWh. Og de "6 dyreste timene" - hva mener du med det? Timespris i løpet av siste uke, eller gårsdagen ? Og slå gulvet helt av dersom prisen går over 200% er helt uakseptabelt dersom utetemperaturen er -15 (og derav tilsvarende kalt inne). Slike styringsregler må balanseres i en kompleks algoritme som tar hensyn til mange parametre: Tid på døgnet Er noen hjemme? Ønsket Innetemperatur? Virkelig innetemperatur. Både absolutt og relativ strømpris. Siter
stigvi Skrevet 23. februar 2021 Skrevet 23. februar 2021 3 minutter siden, VikingOy skrev: Om øyeblikksprisen stiger til 115% (eller 140%) av dagens snitt, er helt uproblematisk dersom dagens snitt er under 15 øre/kWh. Jeg tar med nettleie og prisen er aldri under den som er 38 øre 4 minutter siden, VikingOy skrev: Og de "6 dyreste timene" - hva mener du med det? I løpet av dette døgnet. Ene og alene fordi jeg ikke vil at gulvvarmen skal stå av i for lange perioder om gangen. Ofte er det en topp på morgen og en annen på kveld og da ender det gjerne med at gulvvarme er av i 3 timer i de toppene selv om prisen kanskje er over 115% i fire timer i strekk. 7 minutter siden, VikingOy skrev: Og slå gulvet helt av dersom prisen går over 200% er helt uakseptabelt dersom utetemperaturen er -15 (og derav tilsvarende kalt inne). Slike styringsregler må balanseres i en kompleks algoritme som tar hensyn til mange parametre: Dette skjer ytterst sjelden. Husk at det er 200% over dagens snitt. Da må det nødvendigvis være kortvarig for ellers dras snittet opp. Det har bare skjedd i en time så langt i år. Siter
stigvi Skrevet 23. februar 2021 Skrevet 23. februar 2021 11 minutter siden, Mathias skrev: Har du delt den koden her fra før eller kan du dele? Skal ikke styre VVB, men er interessert i se hvordan det er satt opp esphome: name: varmtvannstank platform: ESP8266 board: esp01_1m wifi: ssid: "HEIME5.ORG" password: !secret heime_wifi domain: .lan #use_address: 10.0.0.46 # 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: reboot_timeout: 24h ota: globals: - id: state_automode type: bool restore_value: no initial_value: 'false' - id: heating type: bool restore_value: no initial_value: 'false' - id: heating_has_started type: bool restore_value: no initial_value: 'false' - id: low_temp type: bool restore_value: no initial_value: 'false' - id: seconds type: int restore_value: no initial_value: '0' - id: heating_time type: int restore_value: no initial_value: '0' - id: heating_totaltime type: int restore_value: no initial_value: '0' - id: heating_start type: int restore_value: no initial_value: '0' - id: last_temp type: float restore_value: no initial_value: '0.0' - id: last_value_from_ha type: int initial_value: '0' switch: - platform: gpio pin: 12 id: varmtvannstank_varme name: "varmtvannstank_varme" restore_mode: ALWAYS_OFF icon: "mdi:water-boiler" on_turn_on: - lambda: !lambda |- id(heating_time) = 0; id(heating_start) = id(homeassistant_time).utcnow().timestamp; id(heating) = true; on_turn_off: - lambda: !lambda 'id(heating) = false;' - sensor.template.publish: id: energy state: !lambda |- id(heating_totaltime) += id(heating_time); return id(heating_totaltime) / 1800.0; - platform: template name: "varmtvannstank_varmeautomatikk" id: automode icon: "mdi:water-boiler" lambda: |- return id(state_automode); turn_on_action: - globals.set: id: state_automode value: 'true' turn_off_action: - globals.set: id: state_automode value: 'false' dallas: - pin: GPIO14 status_led: pin: number: GPIO13 inverted: yes sensor: - platform: dallas address: 0xC5000008FABF3328 id: varmtvannstank_topp_temperatur name: "varmtvannstank_topp_temperatur" filters: - sliding_window_moving_average: window_size: 5 send_every: 5 on_value: then: - lambda: !lambda |- if(x < 64 && id(state_automode) == true) { id(varmtvannstank_varme).turn_on(); id(low_temp) = true; } if(x > 66) id(low_temp) = false; - platform: dallas address: 0xFA0319A2796AD628 id: varmtvannstank_bunn_temperatur name: "varmtvannstank_bunn_temperatur" filters: - sliding_window_moving_average: window_size: 5 send_every: 5 on_value: then: - lambda: !lambda |- if(x >= id(last_temp) + 0.35) id(heating_time) = id(homeassistant_time).utcnow().timestamp - id(heating_start) + 150; id(last_temp) = x; - platform: template id: energy name: "Energibruk varmtvann" unit_of_measurement: "kWh" icon: "mdi:power-plug" binary_sensor: - platform: homeassistant id: pris1 entity_id: binary_sensor.billigste_timer_1_1 - platform: homeassistant id: pris2 entity_id: binary_sensor.billigste_timer_1_2 - platform: homeassistant id: pris3 entity_id: binary_sensor.billigste_timer_1_3 - platform: homeassistant id: pris4 entity_id: binary_sensor.billigste_timer_1_4 - platform: homeassistant id: pris5 entity_id: binary_sensor.billigste_timer_1_5 - platform: homeassistant id: pris6 entity_id: binary_sensor.billigste_timer_1_6 interval: - interval: 4h then: - if: condition: - lambda: !lambda |- auto time_now = id(homeassistant_time).utcnow(); if(time_now.timestamp - id(last_value_from_ha) > 600) return true; return false; then: - switch.turn_on: automode - interval: 1min then: - if: condition: - lambda: !lambda |- if(id(heating_has_started) == false) id(seconds) = (90.0 - (id(varmtvannstank_topp_temperatur).state*0.6 + id(varmtvannstank_bunn_temperatur).state*0.4)) * 404.30769; if(id(pris1).state) { ESP_LOGD("main", "Setter i gang oppvarming for pris 1"); return true; } else if(id(pris2).state && id(seconds) > 3600) { ESP_LOGD("main", "Setter i gang oppvarming for pris 2"); return true; } else if(id(pris3).state && id(seconds) > 2*3600) { ESP_LOGD("main", "Setter i gang oppvarming for pris 3"); return true; } else if(id(pris4).state && id(seconds) > 3*3600) { ESP_LOGD("main", "Setter i gang oppvarming for pris 4"); return true; } else if(id(pris5).state && id(seconds) > 4*3600) { ESP_LOGD("main", "Setter i gang oppvarming for pris 5"); return true; } else if(id(pris6).state && id(seconds) > 5*3600) { ESP_LOGD("main", "Setter i gang oppvarming for pris 6"); return true; } else { ESP_LOGD("main", "I ventefase. Oppvarmingstid er %d sekunder", id(seconds)); return false; } then: - if: condition: - lambda: !lambda |- id(heating_has_started) = true; if(id(heating) == false && id(state_automode) == true) return true; else return false; then: - switch.turn_on: varmtvannstank_varme else: - if: condition: - lambda: !lambda |- if(id(heating) == true && id(state_automode) == true && id(low_temp) == false) return true; else return false; then: - switch.turn_off: varmtvannstank_varme time: - platform: homeassistant id: homeassistant_time timezone: "Europe/Oslo" on_time: - seconds: 0 minutes: 0 hours: 0 then: - lambda: !lambda |- id(heating_totaltime) = 0; id(heating_has_started) = false; text_sensor: - platform: homeassistant id: watchdog entity_id: sensor.time on_value: then: - lambda: !lambda |- auto time_now = id(homeassistant_time).utcnow(); id(last_value_from_ha) = time_now.timestamp; 3 1 Siter
stigvi Skrevet 23. februar 2021 Skrevet 23. februar 2021 PS. Versjon 003 av Nordpool sensoren kom i går kveld så nå er det mulig å legge inn slikt som nettleie i prisene. Det er et eksempel på git. Jeg har gjort det som dette: additional_costs: "{{ states('input_number.pris_pr_kwh_kleppenergi')|float / 100 + 0.00764 }}" Siter
solosuper Skrevet 23. februar 2021 Skrevet 23. februar 2021 5 timer siden, stigvi skrev: PS. Versjon 003 av Nordpool sensoren kom i går kveld så nå er det mulig å legge inn slikt som nettleie i prisene. Det er et eksempel på git. Jeg har gjort det som dette: additional_costs: "{{ states('input_number.pris_pr_kwh_kleppenergi')|float / 100 + 0.00764 }}" Har du laget en input number sensor med verdien til nettleie? Hva betyr tallene på slutten, 100 + 0,00764? Siter
stigvi Skrevet 23. februar 2021 Skrevet 23. februar 2021 1 time siden, solosuper skrev: Har du laget en input number sensor med verdien til nettleie? Hva betyr tallene på slutten, 100 + 0,00764? Ja, et input_number felt der jeg legger inn prisen i øre. 0,00764 er el-sertifikat som også kommer i tillegg til nettleie og nordpool-pris. Siter
stigvi Skrevet 24. februar 2021 Skrevet 24. februar 2021 En liten justering slik at skille mellom historiske priser og fremtidige priser flytter seg mot høyre time for time. type: 'custom:apexcharts-card' series: - entity: sensor.nordpool name: Pris type: column curve: stepline extend_to_end: false float_precision: 3 stroke_width: 2 opacity: 0.2 color: 'rgb(255,111,0)' - entity: sensor.nordpool name: Pris type: column curve: stepline extend_to_end: false float_precision: 3 stroke_width: 2 opacity: 0.2 color: 'rgb(2,93,136)' data_generator: | return entity.attributes.raw_today.map((p) => { return [new Date(p.start), (new Date() > new Date(p.start)) ? null : p.value]; }); - entity: sensor.nordpool name: Pris type: column curve: stepline extend_to_end: false color: 'rgb(2,93,136)' float_precision: 3 stroke_width: 2 opacity: 0.2 data_generator: | return entity.attributes.raw_tomorrow.map((p) => { return [new Date(p.start), p.value]; }); y_axis_precision: 3 now: show: true graph_span: 3d span: start: day offset: '-1d' locale: nb apex_config: chart: height: 300px zoom: enabled: true toolbar: show: true tools: zoom: true zoomin: false zoomout: false pan: false reset: true legend: show: false dataLabels: enabled: false xaxis: type: datetime labels: datetimeFormatter: month: ddd day: ddd tooltip: fixed: enabled: true position: bottomLeft 5 Siter
Helgemor Skrevet 6. mars 2021 Skrevet 6. mars 2021 Meget bra sensor! Men legger de ikke ut prisene for søndag? I dag er tomorrow-feltet tomt. Siter
Teryeah Skrevet 6. mars 2021 Skrevet 6. mars 2021 4 minutter siden, Helgemor skrev: Meget bra sensor! Men legger de ikke ut prisene for søndag? I dag er tomorrow-feltet tomt. Hei. Prisene for morgendagen blir satt kl 13. Sjekk igjen om litt over en time 🙂 Siter
Master Aeon Skrevet 13. april 2021 Skrevet 13. april 2021 Genial graf, Stigvi! Min blir seende slik ut med din kode: I tillegg går y-grafen opp til 2.071 hvor den burde vært maks 1.593 i dag. Har du noe peiling om hvorfor? Her er en annen graf som rent lister opp dagens og morgendagens priser så dataene er jo der: Siter
stigvi Skrevet 13. april 2021 Skrevet 13. april 2021 (endret) 1 time siden, Master Aeon skrev: Har du noe peiling om hvorfor? Ikke uten at du deler konfigurasjonen din edit: Ser det hos meg også. Det må være en apexchart finurlighet. Du kan minimalisere problemet med å sette yaxis: tickAmount: 8 Endret 13. april 2021 av stigvi Siter
stigvi Skrevet 13. april 2021 Skrevet 13. april 2021 Jeg har verdien 0 i bunn og da går toppen helt opp..... Synes det er greit å ha en y akse som går til 0 for da får en et bedre inntrykk av hvor mye/lite prisen varierer gjennom døgnet. yaxis: tickAmount: 8 forceNiceScale: true min: 0 1 Siter
Master Aeon Skrevet 13. april 2021 Skrevet 13. april 2021 (endret) Det hjalp. Takker og bukker! Er forøvrig helt enig i at grafer bør starte på 0 for å få et riktig bilde. Er det noe mulighet for at du kunne delt "additional_costs"-formelen din for nordpool-sensoren? Det ser ut til at du har den reelle kWh-prisen i grafen din. Jeg har prøvd å legge inn noen tall der, men formelen min fungerer ikke. Det er kanskje denne? additional_costs: "{{ states('input_number.pris_pr_kwh_kleppenergi')|float / 100 + 0.00764 }}" Endret 13. april 2021 av Master Aeon Siter
stigvi Skrevet 13. april 2021 Skrevet 13. april 2021 (endret) Det er den, ja. Nettleien er 38.36 øre hos meg 0.00764 er el-sertifikat som sikkert har en annen pris nå. Edit: - platform: nordpool VAT: true currency: NOK low_price_cutoff: 0.95 region: "Kr.sand" precision: 5 price_type: kWh friendly_name: "Nordpool" additional_costs: "{{ states('input_number.pris_pr_kwh_kleppenergi')|float / 100 + 0.00764 }}" Endret 13. april 2021 av stigvi 1 Siter
Master Aeon Skrevet 13. april 2021 Skrevet 13. april 2021 Nettleien hos meg gikk over til sommerpriser fra 1. april så den er nå 27,11 øre her (Innlandet). Ut fra tallene Tibber rapporterer så ser det ut til at prisen på el-sertifikatet stemmer. Siter
stigvi Skrevet 16. april 2021 Skrevet 16. april 2021 Ser at nå virker den ikke hvis jeg ber om pris i NOK, men den virker med EUR. Sånn var det sist det var problemer med den. Må vel gjøre et seriøst forsøk på å hente Tibber sine priser......... Siter
hellowlol Skrevet 16. april 2021 Forfatter Skrevet 16. april 2021 (endret) 14 minutter siden, stigvi skrev: Ser at nå virker den ikke hvis jeg ber om pris i NOK, men den virker med EUR. Sånn var det sist det var problemer med den. Må vel gjøre et seriøst forsøk på å hente Tibber sine priser......... Virker her nå. Det var en bug som nordpool igjen. Det virker som du har en eldre versjon av det underliggende nordpool pypi pakka. Den feiler hvis den ikke finner korrekt currency. Prøv å reload sensoren. Hvis det ikke blir stabilt skal jeg legge til en fallback metode some retter opp currency issues. Endret 16. april 2021 av hellowlol Siter
stigvi Skrevet 16. april 2021 Skrevet 16. april 2021 36 minutter siden, hellowlol skrev: Virker her nå. Det var en bug som nordpool igjen. Det virker som du har en eldre versjon av det underliggende nordpool pypi pakka. Den feiler hvis den ikke finner korrekt currency. Prøv å reload sensoren. Hvis det ikke blir stabilt skal jeg legge til en fallback metode some retter opp currency issues. Det virker ikke med NOK hos meg. Endret manifest.json til "requirements": ["nordpool>=0.3.2"], for å være sikker på at siste versjon hentes fra pypi Oppsettet mitt er - platform: nordpool VAT: true currency: EUR low_price_cutoff: 0.95 region: "Kr.sand" precision: 6 price_type: kWh friendly_name: "Nordpool" additional_costs: "{{ states('input_number.pris_pr_kwh_kleppenergi')|float / 1000 + 0.000764 }}" Endrer jeg EUR til NOK så feiler den. Men greit nok. Billigste time i euro er de samme timene som i kroner så for meg spiller det liten rolle. Siter
hellowlol Skrevet 16. april 2021 Forfatter Skrevet 16. april 2021 Det virker ikke med NOK hos meg. Endret manifest.json til "requirements": ["nordpool>=0.3.2"], for å være sikker på at siste versjon hentes fra pypi Oppsettet mitt er - platform: nordpool VAT: true currency: EUR low_price_cutoff: 0.95 region: "Kr.sand" precision: 6 price_type: kWh friendly_name: "Nordpool" additional_costs: "{{ states('input_number.pris_pr_kwh_kleppenergi')|float / 1000 + 0.000764 }}" Endrer jeg EUR til NOK så feiler den. Men greit nok. Billigste time i euro er de samme timene som i kroner så for meg spiller det liten rolle.Ok. Jeg bruker samme sone så det burde funke. Sett på debug logging kjør en restart, hvis det fortsatt ikke virker. Åpne en issue og legg ved det som det kreves av templateSent from my iPhone using Tapatalk Siter
xbmc.tt Skrevet 23. april 2021 Skrevet 23. april 2021 her er konfigurasjonen fra Stigvi med litt extra vis noen vil bruke type: 'custom:apexcharts-card' header: show: true title: Pris show_states: true colorize_states: true series: - entity: sensor.nordpool_kwh_oslo name: Pris type: column curve: stepline extend_to_end: false float_precision: 3 stroke_width: 2 opacity: 0.2 color: 'rgb(255,111,0)' - entity: sensor.nordpool_kwh_oslo name: Pris type: column curve: stepline extend_to_end: false float_precision: 3 stroke_width: 2 opacity: 0.2 color: 'rgb(2,93,136)' data_generator: | return entity.attributes.raw_today.map((p) => { return [new Date(p.start), (new Date() > new Date(p.start)) ? null : p.value]; }); - entity: sensor.nordpool_kwh_oslo name: Pris type: column curve: stepline extend_to_end: false color: 'rgb(2,93,136)' float_precision: 3 stroke_width: 2 opacity: 0.2 data_generator: | return entity.attributes.raw_tomorrow.map((p) => { return [new Date(p.start), p.value]; }); y_axis_precision: 3 now: show: true graph_span: 3d span: start: day offset: '-1d' locale: nb apex_config: chart: height: 148px zoom: enabled: true toolbar: show: true tools: zoom: true zoomin: false zoomout: false pan: false reset: true legend: show: false dataLabels: enabled: false xaxis: type: datetime labels: datetimeFormatter: month: ddd day: ddd tooltip: fixed: enabled: true position: bottomLeft color_threshold: null color: red 1 Siter
paalj Skrevet 2. juni 2021 Skrevet 2. juni 2021 Heisann, Har brukt Norpool en stund nå. Dette virker fint, men ville prøve å legge inn "additional cost". Har installert 0.0.3 og der ser det ut til at det legges inn på annen måte enn config.yaml. Har noen et eksempel der man legger linjeleie inn via GUI? mvh Paal Siter
hellowlol Skrevet 2. juni 2021 Forfatter Skrevet 2. juni 2021 8 timer siden, paalj skrev: Heisann, Har brukt Norpool en stund nå. Dette virker fint, men ville prøve å legge inn "additional cost". Har installert 0.0.3 og der ser det ut til at det legges inn på annen måte enn config.yaml. Har noen et eksempel der man legger linjeleie inn via GUI? mvh Paal Det gjøre på akkurat samme måte. Du må bare skrive template in additional cost i gui. Siter
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.