stigvi Skrevet 20. september 2022 Forfatter Skrevet 20. september 2022 thoralex skrev (3 timer siden): Da går jeg potensielt glipp av de to billigste timene ved store prisøkninger om natten. Har noen forslag til kode som løser dette? Hovedproblemet til dette er at nordpool integrasjonen helt unødvendig splitter prisene opp i to lister for i dag og i morgen. Det er unødvendig fordi hvert listeelement inneholder start og stopp for når prisen er gyldig. En løsning er å lage en ny liste som oppdateres når det er nye priser midt på dagen og ikke ved midnatt. Det er sikkert mange måter å gjøre det på. Jeg prøvde meg med en mal-sensor, men den insisterte på å gjøre om datatyper til noe annet enn det jeg ville. Med pyscript kan dette være en metode: @state_trigger("sensor.nordpool") def strompris(): pyscript.strompris2 = float(sensor.nordpool) if (sensor.nordpool.raw_tomorrow is not None and len(sensor.nordpool.raw_tomorrow) > 0 and sensor.nordpool.raw_tomorrow[0]['value'] is not None): pyscript.strompris2.raw_price = sensor.nordpool.raw_today + sensor.nordpool.raw_tomorrow Siter
thoralex Skrevet 20. september 2022 Skrevet 20. september 2022 stigvi skrev (47 minutter siden): Hovedproblemet til dette er at nordpool integrasjonen helt unødvendig splitter prisene opp i to lister for i dag og i morgen. Det er unødvendig fordi hvert listeelement inneholder start og stopp for når prisen er gyldig. Takk, da får det bare være sånn enn så lenge. Komplisert nok å lære seg yaml når man ikke kan noe koding fra før! Siter
thoralex Skrevet 25. september 2022 Skrevet 25. september 2022 (endret) Eksperimentene fortsetter... I dag var plutselig strømprisen høyest i de timene den normalt et lavest, så da må det gjøres litt mer avansert for å takle det. Dette er en videreutvikling av den samme koden som tidligere, men men her er intensjonen å plukke de seks billigste timene i døgnet, unntatt de to periodene hvor forbruket mitt vanligvis er høyest (av hensyn til effektprisingen i nettleia). Jeg laget denne i går ettermiddag. I natt slo den inn fra midnatt til 0600, som er de dyreste timene dette døgnet... Det var jo ikke helt etter planen. Mulig den bare registrer den første tidsperioden og ignorer de andre? Jeg har også prøvd med 8 timer men ved alt over 6 blir sensoren unavailable, som jeg tror støtter teorien om at den bare "ser" den første perioden. Jeg har eksperimentert litt med tegnsetting og slikt, men har ikke nok forståelse av hvordan slik koding fungerer enda så det har bare laget trøbbel. #plukke billigste 6 timer 0000-0600, 0900-1500, 2000-0000 - platform: template sensors: billigste_6_timer_offpeak: value_template: >- {% set x = states("sensor.time") %} {% set l=state_attr('sensor.nordpool_kwh_trheim_nok_3_095_025', 'raw_today') |selectattr('start', '>=', now().replace(hour=0,minute=0,second=0,microsecond=0)) |selectattr('start', '<', now().replace(hour=6,minute=0,second=0,microsecond=0)) |selectattr('start', '<', now().replace(hour=9,minute=0,second=0,microsecond=0)) |selectattr('start', '<', now().replace(hour=15,minute=0,second=0,microsecond=0)) |selectattr('start', '<', now().replace(hour=20,minute=0,second=0,microsecond=0)) |sort(attribute='value') %} {{ (now() >= l[0].start and now() <= l[0].end) or (now() >= l[1].start and now() <= l[1].end) or (now() >= l[2].start and now() <= l[2].end) or (now() >= l[3].start and now() <= l[3].end) or (now() >= l[4].start and now() <= l[4].end) or (now() >= l[5].start and now() <= l[5].end) }} Noen som har forslag til løsning? Endret 25. september 2022 av thoralex Siter
RVM Skrevet 25. september 2022 Skrevet 25. september 2022 thoralex skrev (24 minutter siden): Noen som har forslag til løsning? Hva om du bytter ut: {% set l=state_attr('sensor.nordpool_kwh_trheim_nok_3_095_025', 'raw_today') |selectattr('start', '>=', now().replace(hour=0,minute=0,second=0,microsecond=0)) |selectattr('start', '<', now().replace(hour=6,minute=0,second=0,microsecond=0)) |selectattr('start', '<', now().replace(hour=9,minute=0,second=0,microsecond=0)) |selectattr('start', '<', now().replace(hour=15,minute=0,second=0,microsecond=0)) |selectattr('start', '<', now().replace(hour=20,minute=0,second=0,microsecond=0)) |sort(attribute='value') %} ...med: {% set l = (state_attr('sensor.nordpool_kwh_trheim_nok_3_095_025', 'raw_today') |selectattr('start', '<', now().replace(hour=6,minute=0,second=0,microsecond=0)) |list + state_attr('sensor.nordpool_kwh_trheim_nok_3_095_025', 'raw_today') |selectattr('start', '>=', now().replace(hour=9,minute=0,second=0,microsecond=0)) |selectattr('start', '<', now().replace(hour=15,minute=0,second=0,microsecond=0)) | list + state_attr('sensor.nordpool_kwh_trheim_nok_3_095_025', 'raw_today') |selectattr('start', '>=', now().replace(hour=20,minute=0,second=0,microsecond=0)) | list) | sort(attribute='value') %} Hjelper det? Siter
thoralex Skrevet 25. september 2022 Skrevet 25. september 2022 RVM skrev (8 minutter siden): Hva om du bytter ut: ...med: Hjelper det? Takk, jeg prøver det så får vi se hva som skjer. Er det mulig å "simulere" koden i home assistant på noen måte, uten å måtte vente vente flere dager for å se hva som skjer? Ville gjort det mye enklere å eksperimentere med slikt... Siter
RVM Skrevet 25. september 2022 Skrevet 25. september 2022 thoralex skrev (1 minutt siden): Er det mulig å "simulere" koden i home assistant på noen måte, uten å måtte vente vente flere dager for å se hva som skjer? Ville gjort det mye enklere å eksperimentere med slikt... Ja, i "developer tools" i venstre marg ("utviklerverktøy" på norsk?), jeg "simulerte" det jeg kopierte over, for å sjekke at jeg får en liste som er sortert på pris for de timene du hadde valgt ut: Siter
jorno Skrevet 29. september 2022 Skrevet 29. september 2022 Nå som vi kan styre laster basert på dette (billader og varmtvannsbereder for min del), er det noen som vet hvordan man kan lage sensorer med forbruk? Det jeg ønsker meg: - Totalkostnad pr døgn, pr uke og pr måned, basert på strømpris - Snittpris for strømmen som er brukt til hhv VVB og billader i løpet av siste døgn, uke og måned Mulig det er mye å be om, men det hadde vært hyggelig med slik info også. Jeg har fått på plass totalkostnad basert på input fra en eller annen post et eller annet sted (beklager til opprinnelsen!! Jeg burde ha dokumentert selv hvor jeg hentet det fra): sensor: - platform: template easee_charge_cost_now: friendly_name: "Easee ladekostnad" unit_of_measurement: "NOK" value_template: "{{ states('sensor.nordpool_kwh_krsand_nok_3_10_025') | float * states('sensor.easee_home_13599_power') | float }}" Og jeg har gjort tilsvarende for VVB. Med en Reimann sum integral får jeg opp en løpende "totalkostnad" for forbruk strøm. Men jeg vet ikke hvordan jeg kan få en slik til å rullere pr døgn, pr uke eller pr måned. Ei heller hvordan en slik kan utvides for å beregne snittprisen som er forbrukt. Siter
stigvi Skrevet 29. september 2022 Forfatter Skrevet 29. september 2022 jorno skrev (36 minutter siden): Med en Reimann sum integral får jeg opp en løpende "totalkostnad" for forbruk strøm. Men jeg vet ikke hvordan jeg kan få en slik til å rullere pr døgn, pr uke eller pr måned. Ei heller hvordan en slik kan utvides for å beregne snittprisen som er forbrukt. Du kan bruke utility integrasjonen i home assistant Jeg bruker et easee service kall i integrasjonen for å sette strømpris. Da kan jeg i easee appen følge med på kostnader. Men integrasjonen tilbyr ikke noen tellere som teller opp kostnad. Da får jeg det ikke inn i HA. Siter
jorno Skrevet 29. september 2022 Skrevet 29. september 2022 Takk for svar, @stigvi . Forsøker å ta i bruk Utility-integrasjonen mot sensorene jeg har laget, for å se om det blir riktig. Tror kanskje jeg må knytte den opp mot Reimann sum-sensoren i stedet, siden den summerer opp. Er litt forvirra rundt hva som gjør hva, så det blir litt prøving og feiling, men får det sikkert til etter noen forsøk :-) Siter
AdamC Skrevet 1. oktober 2022 Skrevet 1. oktober 2022 Jeg har lagt et fork av PVPC card som fungerer med nordpool integrasjon fra HACS https://github.com/adamchengtkc/pvpc-hourly-pricing-card 1 Siter
Darius Skrevet 1. oktober 2022 Skrevet 1. oktober 2022 Hei, Kan noen hjelpe å modifisere template sensor? Jeg vil ha input_number entity og velge hvor mange 'billig timer' jeg vil ha dynamisk på card.. Siter
RVM Skrevet 1. oktober 2022 Skrevet 1. oktober 2022 Darius skrev (2 timer siden): Hei, Kan noen hjelpe å modifisere template sensor? Jeg vil ha input_number entity og velge hvor mange 'billig timer' jeg vil ha dynamisk på card.. Noe sånt kanskje? {% set l=state_attr('sensor.nordpool_xxx_xxx_xxx_x_xxx_xxx', 'raw_today')|sort(attribute='value') %} {% set ns = namespace(out=false) %} {% set n = states('input_number.xxx')|int %} {% for i in range(n) %} {% if (now() >= l[i].start and now() <= l[i].end) %} {% set ns.out = true %} {% endif %} {% endfor %} {{ns.out}} Husk å legge inn din egen Nordpool-sensor og input_number. 2 Siter
Darius Skrevet 2. oktober 2022 Skrevet 2. oktober 2022 RVM skrev (22 timer siden): Noe sånt kanskje? {% set l=state_attr('sensor.nordpool_xxx_xxx_xxx_x_xxx_xxx', 'raw_today')|sort(attribute='value') %} {% set ns = namespace(out=false) %} {% set n = states('input_number.xxx')|int %} {% for i in range(n) %} {% if (now() >= l[i].start and now() <= l[i].end) %} {% set ns.out = true %} {% endif %} {% endfor %} {{ns.out}} Husk å legge inn din egen Nordpool-sensor og input_number. Tusen takk ! O jeg bruker "|sort(attribute='value', reverse=true" for dyreste priser. Siter
Andreas Noteng Skrevet 9. oktober 2022 Skrevet 9. oktober 2022 Noen som har tips til hvordan jeg kan sette opp en template sensor som viser true/false on/off for inneværende time. Jeg prøver å få til en liste som inneholder alle timer fra now() til et gitt tidspunkt definert i input_datetime.finish_charging_by sortere den fra billigst til dyrest og så en loop x antall ganger avhengig av hva som er definert i sensor.hours_of_charging_needed Å gjøre dette direkte i python ville vært lett men jinja sliter jeg med Siter
hellowlol Skrevet 9. oktober 2022 Skrevet 9. oktober 2022 Andreas Noteng skrev (1 time siden): Noen som har tips til hvordan jeg kan sette opp en template sensor som viser true/false on/off for inneværende time. Jeg prøver å få til en liste som inneholder alle timer fra now() til et gitt tidspunkt definert i input_datetime.finish_charging_by sortere den fra billigst til dyrest og så en loop x antall ganger avhengig av hva som er definert i sensor.hours_of_charging_needed Å gjøre dette direkte i python ville vært lett men jinja sliter jeg med Jeg er på mobilen så jeg orker ikke lage det ferdig for deg, men jeg ville ha brukt selectsattr etter du har samlet raw_today og raw_tomorrow. På denne måten kan du fjerne alle timer som ikke har en verdi. Lag en tom liste, loop over resultatene fra skrittet over. Sammenlikne end time med inputen og legg det som er true over i den tomme listen. Etter dette sorter du listen fra billigst til dyrest Siter
RVM Skrevet 10. oktober 2022 Skrevet 10. oktober 2022 Andreas Noteng skrev (12 timer siden): Å gjøre dette direkte i python ville vært lett men jinja sliter jeg med Det er derfor vi har integrasjonene Python Scripts, AppDaemon, og pyscript. Jeg bruker sistnevnte hele tida, men de andre er sikkert brukandes de også Siter
hjemmedude Skrevet 12. desember 2022 Skrevet 12. desember 2022 RVM skrev (På 25.9.2022 den 12.00): Ja, i "developer tools" i venstre marg ("utviklerverktøy" på norsk?), jeg "simulerte" det jeg kopierte over, for å sjekke at jeg får en liste som er sortert på pris for de timene du hadde valgt ut: Kopierte denne koden og får result type: number og 1. Noe jeg misser her.. {% set l = (state_attr('sensor.nordpool_kwh_bergen_nok_3_10_025', 'raw_today') |selectattr('start', '<', now().replace(hour=6,minute=0,second=0,microsecond=0)) |list + state_attr('sensor.nordpool_kwh_bergen_nok_3_10_025', 'raw_today') |selectattr('start', '>=', now().replace(hour=9,minute=0,second=0,microsecond=0)) |selectattr('start', '<', now().replace(hour=15,minute=0,second=0,microsecond=0)) | list + state_attr('sensor.nordpool_kwh_bergen_nok_3_10_025', 'raw_today') |selectattr('start', '>=', now().replace(hour=20,minute=0,second=0,microsecond=0)) | list) | sort(attribute='value') %} Siter
RVM Skrevet 12. desember 2022 Skrevet 12. desember 2022 hjemmedude skrev (3 timer siden): Kopierte denne koden og får result type: number og 1. Noe jeg misser her.. Tør jeg gjette på at du prøvde å kopiere {{ l }} fra skjermbildet mitt og endte opp med {{ 1 }} istedenfor? 😀 {{ l }} var bare for å vise hva variabelen l inneholdt, men hvis du skriver {{ 1 }} i developer tools får du helt riktig en output som er et number med verdi 1. Siter
hjemmedude Skrevet 12. desember 2022 Skrevet 12. desember 2022 RVM skrev (21 minutter siden): Tør jeg gjette på at du prøvde å kopiere {{ l }} fra skjermbildet mitt og endte opp med {{ 1 }} istedenfor? 😀 {{ l }} var bare for å vise hva variabelen l inneholdt, men hvis du skriver {{ 1 }} i developer tools får du helt riktig en output som er et number med verdi 1. Hehe helt rett Takk for info! 🙂 Siter
Gunnar-K Skrevet 27. desember 2022 Skrevet 27. desember 2022 Er Nordpool-data via HA-integrasjonen egentlig gratis å bruke? Ikke så lett å skjønne ut fra nordpoolgroup.com, hvis det er der integrasjonen henter prisene. Siter
stigvi Skrevet 28. desember 2022 Forfatter Skrevet 28. desember 2022 Gunnar-K skrev (9 timer siden): Er Nordpool-data via HA-integrasjonen egentlig gratis å bruke? Ikke så lett å skjønne ut fra nordpoolgroup.com, hvis det er der integrasjonen henter prisene. Den er gratis å bruke, men den henter data som i flg Nordpool ikke er tillatt å bruke. Vi får neppe en faktura i posten. Jeg har installert entso-e integrasjonen og tibber-data integrasjonen som begge gir meg priser "lovlig". Entso-e integrasjonen er den beste av disse. Den er laget slik at den ikke sletter priser ved midnatt slik de andre to merkelig nok er laget. Det betyr at det er langt lettere å bruke entso-e integrasjonen i forbindelse med automasjoner som går natten gjennom. Siter
Gunnar-K Skrevet 28. desember 2022 Skrevet 28. desember 2022 stigvi skrev (18 minutter siden): Den er gratis å bruke, men den henter data som i flg Nordpool ikke er tillatt å bruke. Vi får neppe en faktura i posten. Jeg har installert entso-e integrasjonen og tibber-data integrasjonen som begge gir meg priser "lovlig". Entso-e integrasjonen er den beste av disse. Den er laget slik at den ikke sletter priser ved midnatt slik de andre to merkelig nok er laget. Det betyr at det er langt lettere å bruke entso-e integrasjonen i forbindelse med automasjoner som går natten gjennom. Takker! Jeg har installert ENTSO-E integrasjonen, og den virker, men får ikke akkurat samme priser som fra Nordpool. Muligens fingertrøbbel, evt at det ligger noe mere enn mva i prisene fra Nordpool. Siter
stigvi Skrevet 28. desember 2022 Forfatter Skrevet 28. desember 2022 Gunnar-K skrev (44 minutter siden): Takker! Jeg har installert ENTSO-E integrasjonen, og den virker, men får ikke akkurat samme priser som fra Nordpool. Muligens fingertrøbbel, evt at det ligger noe mere enn mva i prisene fra Nordpool. Jeg bruker denne malen på entso-e {% set s = { "day": 0.4176, "night": 0.2926, "cert": 0.01, "vat": 1.25, "eur": float(states("sensor.kurs_eur"), 10.5) } %} {% if now().isoweekday() >= 1 and now().isoweekday() <= 5 %} {% if now().hour >= 6 and now().hour < 22 %} {{(current_price * s.eur * s.vat + s.day + s.cert) | float}} {% else %} {{(current_price * s.eur * s.vat + s.night + s.cert) | float}} {% endif %} {% else %} {{(current_price * s.eur * s.vat + s.night + s.cert) | float}} {% endif %} og denne på Nordpool {% set s = { "hourly_fixed_cost": 0.0, "night": 0.2926, "day": 0.4176, "cert": 0.01 } %} {% if now().isoweekday() >= 1 and now().isoweekday() <= 5 %} {% if now().hour >=6 and now().hour <22 %} {{(s.day+s.hourly_fixed_cost+s.cert)|float(0)}} {% else %} {{(s.night+s.hourly_fixed_cost+s.cert)|float(0)}} {% endif %} {% else %} {{(s.night+s.hourly_fixed_cost+s.cert)|float(0)}} {% endif %} Nå er differansen mellom de kun 1/1000 øre. (2,2384 vs 2,2385) 1 Siter
Gunnar-K Skrevet 28. desember 2022 Skrevet 28. desember 2022 Takker! Ligger nok litt over mitt nivå dette. Er dette komplett template sensor, eller er det noe mere, et navn feks? Siter
stigvi Skrevet 28. desember 2022 Forfatter Skrevet 28. desember 2022 Gunnar-K skrev (19 minutter siden): Takker! Ligger nok litt over mitt nivå dette. Er dette komplett template sensor, eller er det noe mere, et navn feks? Har du ikke brukt maler på Nordpool eller entso-e sensoren? 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.