Jump to content

Nordpool sensor for Home Assistant


hellowlol

Recommended Posts

Boulder skrev (6 minutter siden):

Jeg har Nordpool-sensoren satt opp via Hacs, og alt fungerer supert.

MEN, jeg klarer ikke finne konfigurasjonen, og husker ikke hvordan jeg satte den opp. Siden det ikke er spor etter den i configuration.yaml antar jeg det må være via webui, men hvor i all verden er det?

Du må se på selve integrasjonen (innstillinger/enheter og tjenester). Men det greieste er vel å slette den og heller opprette den på nytt ved å legge inn i configuration.yaml

Det er beskrevet her: https://github.com/custom-components/nordpool
 

Edited by stigvi
Link to comment
Share on other sites

stigvi skrev (2 timer siden):

Du må se på selve integrasjonen (innstillinger/enheter og tjenester). Men det greieste er vel å slette den og heller opprette den på nytt ved å legge inn i configuration.yaml

Det er beskrevet her: https://github.com/custom-components/nordpool
 


Takk, burde jeg hatt et valg her?

På andre integrasjoner står det Configure på selve kortet for integrasjonen (ikke i menyen)

 

392DC3B0-FB8F-4C39-8BA0-118C3082FB75.png

Link to comment
Share on other sites

Boulder skrev (8 timer siden):

Takk, burde jeg hatt et valg her?

Hvis Nordpool integrasjonen var laget for UI konfigurering så hadde du hatt noe der. Men det er den tydeligvis ikke. Når en henter integrasjoner i fra HACS så er det ofte så som så med kvalitet / brukervennlighet. Som nevnt: Slett den og heller legg inn i configuration.yaml

Edited by stigvi
Link to comment
Share on other sites

Hei

 

Jeg trenger litt hjelp med additional costs.

Har søkt litt rundt, kopiert litt kode og kommet frem til dette, som baserer seg på Elvia og min strøm leverandør.

 

I configuration.yaml : 

 

 additional_costs: '{% set s = {
    "grid_day": 0.4310,
    "grid_night_weekend": 0.3685,
    "grid_yearly_cost": 2400,
    "psub_monthly_cost": 49,
    "psub_kwh_cost": 0.6950
}
%}
{% if now().weekday() in (0,1,2,3,4) %}
    {% if now().hour >=6 and now().hour <22 %}
        {% set fixed_cost = (((s.grid_yearly_cost+(12*s.psub_monthly_cost))/365)/24)|float %}{{(s.grid_day+s.psub_kwh_cost)+fixed_cost|float }}
    {% else %}
        {% set fixed_cost = (((s.grid_yearly_cost+(12*s.psub_monthly_cost))/365)/24)|float %}{{(s.grid_night_weekend+s.psub_kwh_cost)+fixed_cost|float }}
    {% endif %}
{% endif %}'

 

 

image.thumb.png.58d5c06a78b8dd0c3456fa3fe8e4f134.png

 

Det ser ut om koden etter "else" ikke blir kjørt, så får ikke noe verdi i helga.

 

 

Edited by JAH
Link to comment
Share on other sites

8 hours ago, Boulder said:

Noen som vet hva "cert" verdien i tariff-eksempelet er?

Med tanke på prisen som ligger inne i eksempelet vil jeg tro det er elsertifikat. Tibber tar f.eks. maks 1 øre/kWh for elsertifikatene. Følgende er lånt fra Tibbers nettside:
 

"Elsertifikat

Elsertifikater er en støtteordning for strøm produsert fra fornybare energikilder. Strømkundene finansierer ordningen over strømregningen gjennom at kraftleverandørene legger elsertifikatkostnaden inn i strømprisen. Hensikten med ordningen er å gjøre det mer lønnsomt for dem som produserer strøm å investere i fornybar produksjon. Elsertifkat er et lovpålagt påslag for alle strømkunder."

Link to comment
Share on other sites

1 hour ago, ThoStaKa said:

Med tanke på prisen som ligger inne i eksempelet vil jeg tro det er elsertifikat. Tibber tar f.eks. maks 1 øre/kWh for elsertifikatene. Følgende er lånt fra Tibbers nettside:
 

"Elsertifikat

Elsertifikater er en støtteordning for strøm produsert fra fornybare energikilder. Strømkundene finansierer ordningen over strømregningen gjennom at kraftleverandørene legger elsertifikatkostnaden inn i strømprisen. Hensikten med ordningen er å gjøre det mer lønnsomt for dem som produserer strøm å investere i fornybar produksjon. Elsertifkat er et lovpålagt påslag for alle strømkunder."

Akkurat som om strømproduksjon ikke er lønnsomt uansett med dagens strømpriser.

Link to comment
Share on other sites

JAH skrev (På 9.9.2022 den 18.47):

Hei

 

Jeg trenger litt hjelp med additional costs.

Har søkt litt rundt, kopiert litt kode og kommet frem til dette, som baserer seg på Elvia og min strøm leverandør.

 

I configuration.yaml : 

 

 additional_costs: '{% set s = {
    "grid_day": 0.4310,
    "grid_night_weekend": 0.3685,
    "grid_yearly_cost": 2400,
    "psub_monthly_cost": 49,
    "psub_kwh_cost": 0.6950
}
%}
{% if now().weekday() in (0,1,2,3,4) %}
    {% if now().hour >=6 and now().hour <22 %}
        {% set fixed_cost = (((s.grid_yearly_cost+(12*s.psub_monthly_cost))/365)/24)|float %}{{(s.grid_day+s.psub_kwh_cost)+fixed_cost|float }}
    {% else %}
        {% set fixed_cost = (((s.grid_yearly_cost+(12*s.psub_monthly_cost))/365)/24)|float %}{{(s.grid_night_weekend+s.psub_kwh_cost)+fixed_cost|float }}
    {% endif %}
{% endif %}'

 

 

image.thumb.png.58d5c06a78b8dd0c3456fa3fe8e4f134.png

 

Det ser ut om koden etter "else" ikke blir kjørt, så får ikke noe verdi i helga.

 

 

 

Jeg har lagt inn en ekstra else linje for å få med verdier for helg. 

Linjene dine tar kun for seg ukedager og kveld.

 

    additional_costs: '{% set s = {
      "energiledd_dag": 0.4735,
      "energiledd_natt_helg": 0.3935,
      "nettleie5kw": 0.486,
      "energifondet": 0.0125,
      "spotpris": 0.01
    }
    %}
    {% if now().weekday() in (0,1,2,3,4) %}
      {% if now().hour >=6 and now().hour <23 %}
      {{s.energiledd_dag+s.nettleie5kw+s.energifondet+s.spotpris|float}}
    {% else %}
      {{s.energiledd_natt_helg+s.nettleie5kw+s.energifondet+s.spotpris|float}}
    {% endif %}
    {% else %}
      {{s.energiledd_natt_helg+s.nettleie5kw+s.energifondet+s.spotpris|float}}
  {% endif %}'

 

Link to comment
Share on other sites

Jeg løste det med å samle følgende i en linje:

{% if now().weekday() in (0,1,2,3,4) %}
    {% if now().hour >=6 and now().hour <22 %}

 

 

 

    additional_costs: '{% set s = {
    "grid_day": 0.4310,
    "grid_night_weekend": 0.3685,
    "grid_yearly_cost": 2400,
    "psub_monthly_cost": 49,
    "psub_kwh_cost": 0.0695
}
%}
{% if now().weekday() in (0,1,2,3,4) and now().hour >=6 and now().hour <22 %}
    {% set fixed_cost = (((s.grid_yearly_cost+(12*s.psub_monthly_cost))/365)/24)|float %}{{(s.grid_day+s.psub_kwh_cost)+fixed_cost|float }}
{% else %}
    {% set fixed_cost = (((s.grid_yearly_cost+(12*s.psub_monthly_cost))/365)/24)|float %}{{(s.grid_night_weekend+s.psub_kwh_cost)+fixed_cost|float }}
{% endif %}'

 

Link to comment
Share on other sites

Noen Apex-eksperter der ute som forstår hvorfor grafen bugger hver dag ved å ikke vise kveldens timepriser, og hvorfor forbruket blir tegnet opp som noe annet enn null fremover i tid? (Det er riktig med 0 mellom 09-20, men ikke ca 0,25 resten av kvelden, dette har jo ikke skjedd enda...)

 

Visualiseringen funket fint tidligere, men har nå oppført seg slik noen dager.

graf.PNG.5bad3274d22c6ae438633156e4009cfd.PNG

 

type: custom:apexcharts-card
apex_config:
  chart:
    stacked: true
graph_span: 1d
update_interval: 15s
span:
  end: day
header:
  show: true
  colorize_states: true
  standard_format: true
  title: Forbruk og pris per time i dag
now:
  show: true
yaxis:
  - id: forbruk
    decimals: 1
    min: 0
    max: ~3
  - id: pris
    decimals: 2
    min: 0
    max: ~1.5
    opposite: true
series:
  - entity: sensor.kwh_current_hour
    name: Forbruk inneværende time
    type: line
    curve: stepline
    stroke_width: 3
    yaxis_id: forbruk
    show:
      legend_value: false
    group_by:
      func: max
      duration: 1h
  - entity: sensor.nordpool_kwh_trheim
    type: column
    color: 00B3F4
    yaxis_id: pris
    name: Pris inneværende time
    show:
      extremas: true
      legend_value: false
    data_generator: |
      return entity.attributes.raw_today.map((start, index) => {
        return [new Date(start["start"]).getTime(), entity.attributes.raw_today[index]["value"]];
      });

 

Link to comment
Share on other sites

Boulder skrev (12 minutter siden):

Noen Apex-eksperter der ute som forstår hvorfor grafen bugger hver dag ved å ikke vise kveldens timepriser, og hvorfor forbruket blir tegnet opp som noe annet enn null fremover i tid? (Det er riktig med 0 mellom 09-20, men ikke ca 0,25 resten av kvelden, dette har jo ikke skjedd enda...)

 

Visualiseringen funket fint tidligere, men har nå oppført seg slik noen dager.

graf.PNG.5bad3274d22c6ae438633156e4009cfd.PNG

 

type: custom:apexcharts-card
apex_config:
  chart:
    stacked: true
graph_span: 1d
update_interval: 15s
span:
  end: day
header:
  show: true
  colorize_states: true
  standard_format: true
  title: Forbruk og pris per time i dag
now:
  show: true
yaxis:
  - id: forbruk
    decimals: 1
    min: 0
    max: ~3
  - id: pris
    decimals: 2
    min: 0
    max: ~1.5
    opposite: true
series:
  - entity: sensor.kwh_current_hour
    name: Forbruk inneværende time
    type: line
    curve: stepline
    stroke_width: 3
    yaxis_id: forbruk
    show:
      legend_value: false
    group_by:
      func: max
      duration: 1h
  - entity: sensor.nordpool_kwh_trheim
    type: column
    color: 00B3F4
    yaxis_id: pris
    name: Pris inneværende time
    show:
      extremas: true
      legend_value: false
    data_generator: |
      return entity.attributes.raw_today.map((start, index) => {
        return [new Date(start["start"]).getTime(), entity.attributes.raw_today[index]["value"]];
      });

 

Hvordan ser dataene som er grunnlag for kurven ut ?

Link to comment
Share on other sites

stigvi skrev (1 time siden):

Hvordan ser dataene som er grunnlag for kurven ut ?

 

Slik (hvis det er dette du mener):

 

kwh.thumb.PNG.acab8907f43c7871a8e06516de9ef89b.PNGkwh2.thumb.PNG.c4e743d744e8bddcc4b4b3922491f2e8.PNG

 

 

 

 

Prisene (blå søyler) dukker opp en etter en når man treffer aktuell time:

graf2.PNG.1920556933789a3133e84c0153212d53.PNG

 

 

Og her ligger det av en eller annen grunn et forbruk frem i tid igjen, klokken er nå 22, men her ligger et datapunkt i fremtiden:

 

datapunkt.PNG.aacec096ed72c6492b7a314b25a9dff1.PNG

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

Jeg prøver å finne en måte å beregne snittsprisen for inneværende måned, men kommer til kort. Er det noen som har regnet ut dette eller har en annen finurlig løsning? Jeg bruker HA og har prøvd med Utility, Statistics og fandens oldemor, men ingen av disse gjør som jeg ønsker innenfor gjeldende måned.

 

Målet er å unngå storforbruk når strømstøtten går over månedsgjennomsnitt. Her er utregningen jeg har knotet meg til selv:

 

{% set cost = states('sensor.monthly_cost_hjemme')  | int %}
{% set timer_hele_dager = (now().strftime("%d") | int - 1) * 24 %}
{% set timer_i_dag = now().strftime("%H") | int %}
{{ cost / (timer_hele_dager + timer_i_dag)}}

 Dette gir 3,18 mens f.eks. Aftenbladet oppgir 4,68. Tibberprisen er inkl. MVA, så det mangler tydeligvis noe her.

Edited by egronnes
  • Like 1
Link to comment
Share on other sites

egronnes skrev (2 minutter siden):

Jeg prøver å finne en måte å beregne snittsprisen for inneværende måned, men kommer til kort. Er det noen som har regnet ut dette eller har en annen finurlig løsning?

 

Jeg brukte Pyscript til det. I korte trekk har jeg en sensor der jeg lagrer prisene fra raw_today i attributtene hver gang raw_today oppdateres, og så beregner jeg snittet fra alle timene så langt i måneden. Tenker man må finne en løsning som beholder eventuelle mellomlagrede data etter en restart, og da er Pyscript veldig praktisk pga. state.persist.

 

Kunne sikkert også brukt aggregateWindow i InfluxDB hvis man har det satt opp.

Link to comment
Share on other sites

On 24/08/2022 at 18:30, thoralex said:

Etter litt om og men fikk jeg lagt inn strømforbruk også, kjekt å ha pris og forbruk i samme graf.

 

Hvordan laget du en sensor for strømforbruket? Prøvde å bruke tibber-entiteten, men det funket ikke.

Link to comment
Share on other sites

rsolva skrev (22 minutter siden):

 

Hvordan laget du en sensor for strømforbruket? Prøvde å bruke tibber-entiteten, men det funket ikke.

Med en utility meter helper som henter accumulated active import fra pow-u og resettes hver time.

Link to comment
Share on other sites

1 hour ago, thoralex said:

Med en utility meter helper som henter accumulated active import fra pow-u og resettes hver time.

 

Takk for tipset, har ikke brukt så mange av de ulike hjelperene i HA så denne var ny for meg.

Link to comment
Share on other sites

egronnes skrev (3 timer siden):

Jeg prøver å finne en måte å beregne snittsprisen for inneværende måned, men kommer til kort. Er det noen som har regnet ut dette eller har en annen finurlig løsning? Jeg bruker HA og har prøvd med Utility, Statistics og fandens oldemor, men ingen av disse gjør som jeg ønsker innenfor gjeldende måned.

Dette gir 3,18 mens f.eks. Aftenbladet oppgir 4,68. Tibberprisen er inkl. MVA, så det mangler tydeligvis noe her.

Ikke helt i mål med min løsning men denne gir en snitt på ca 4,83

Da er nordpool sensoren lagt inn som input sensor i utility meter og avkrysset for delta values og monthly reset

+ denne koden: 

- platform: template
  sensors:
    stromstotte1:
      friendly_name: "stromstotte1"
      value_template: >-       
        {% set antall_timer = now().day * 24 %}
        {% set timer_dag = 24 - now().hour %}
        {% set sum_timer = antall_timer - timer_dag %} 
        {% set sum_timer2 = sum_timer + 1 %} 
        {{  states('sensor.nordpool_snitt_utility') | float  / sum_timer2 | float }}

 

  • Like 2
Link to comment
Share on other sites

egronnes skrev (5 timer siden):

Det går langt ut over mine evner. Er det noe du kan dele?

 

Pyscript:

 

@state_trigger("sensor.nordpool_kwh_krsand_nok_3_095_025")    
def calculate_monthly_average_price():
           
    date = sensor.nordpool_kwh_krsand_nok_3_095_025.raw_today[0]['start'].strftime('%Y-%m-%d')
    pyscript.electricity_monthly_average_price.stored_values[date] = [n['value'] for n in sensor.nordpool_kwh_krsand_nok_3_095_025.raw_today]
    
    avg_num, avg_den = 0, 0

    for k,v in pyscript.electricity_monthly_average_price.stored_values.items():
        avg_num += sum(v)
        avg_den += len(v)

    pyscript.electricity_monthly_average_price = round(avg_num / avg_den, 3)
    
@time_trigger("cron(@monthly)")
def reset_monthly_average_price():
    pyscript.electricity_monthly_average_price.stored_values = {}

 

  • Like 1
Link to comment
Share on other sites

RVM skrev (18 timer siden):

 

Pyscript:

 

@state_trigger("sensor.nordpool_kwh_krsand_nok_3_095_025")    
def calculate_monthly_average_price():
           
    date = sensor.nordpool_kwh_krsand_nok_3_095_025.raw_today[0]['start'].strftime('%Y-%m-%d')
    pyscript.electricity_monthly_average_price.stored_values[date] = [n['value'] for n in sensor.nordpool_kwh_krsand_nok_3_095_025.raw_today]
    
    avg_num, avg_den = 0, 0

    for k,v in pyscript.electricity_monthly_average_price.stored_values.items():
        avg_num += sum(v)
        avg_den += len(v)

    pyscript.electricity_monthly_average_price = round(avg_num / avg_den, 3)
    
@time_trigger("cron(@monthly)")
def reset_monthly_average_price():
    pyscript.electricity_monthly_average_price.stored_values = {}

 

Takk, RVM!! Jeg måtte endre cron-triggeren fra

@monthly

til

0 0 0 1 * *

på grunn av feil i loggen. 

 

MEN! Den trigger ikke på endringer fra NordPool. Må denne trigges på noe annet vis? Jeg er som sagt ingen ekspert på pyscript eller python.

Men den trigger ikke på endring fra NordPool. Må den trigges manuelt på noe vis?

expression

expression

Link to comment
Share on other sites

egronnes skrev (7 minutter siden):

Men den trigger ikke på endring fra NordPool. Må den trigges manuelt på noe vis?xpression

expression

Den skal trigge hver gang entityen i @state_trigger har en ny state, du har sikkert en annen Nordpool sensor entity enn meg? Oppdater i så fall sensoren inni funksjonen også med din Nordpool-sensor.

 

Og husk å legg til state.persist('pyscript.electricity_monthly_average_price') øverst i fila. Hvis den pyscript-entityen ikke er definert, må den defineres første gang.

Edited by RVM
Presisering
Link to comment
Share on other sites

Enkelt spørsmål, har strømprisen oppgitt i øre. Har satt antall desimalar til 0, men ser ut til at den returnerar ein float verdi for strømprisen og HA automatisk gir den en desimal i dashbordet. 

 

Ein enkel måte å bli kvitt detta på? Kanskje returnere pris som int dersom det ikkje er valgt med desimalar?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...