Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Nordpool sensor for Home Assistant


hellowlol

Anbefalte innlegg

Jeg har fortsatt ikke fått det til å fungere.

 

Men jeg har nå en fungerende value template  Problemene har vist seg å være en kombo av forskjellige display name og name på attributtene til nordpool integrasjonen, og feil bruk av de forskjellige conditions. State, numerical og template

Det vil si at den nå gir ut riktig true og false i Template checker.
 

"{{ state_attr('sensor.nordpool_kwh_oslo_nok_3_10_025','current_price') < state_attr('sensor.nordpool_kwh_oslo_nok_3_10_025','average')}}"


"{{ state_attr('sensor.nordpool_kwh_oslo_nok_3_10_025','current_price') > state_attr('sensor.nordpool_kwh_oslo_nok_3_10_025','average')}}"

 

Men selv om den gjør det i template checker:

 

image.thumb.png.930433f9600b394d58c94c93b352999e.png

 

Så gjør den ikke det i traces:

 

image.png.2a373321c64a492bca17496d36bd13c0.png

image.png.878b9675f8d118bae8984f0fffc67691.png

 

Og den sier at en condition failed og som dere ser så er result:false, selv om den burde vært true for nå klokka 16 er prisen høyere enn gjennomsnittet og da skal varmepumpa i garasjen slå seg av eller fortsatt være av.

 

Noen som ser hva jeg gjør feil her?

 

Lenke til kommentar
Del på andre sider

dagern skrev (5 minutter siden):

Jo jeg har prøvd det også, men det blir samme resultat.

Merkelig. Her er min automasjon for å slå på/av varmtvannsbereder basert på om low_price er true (over snittet) eller false (under snittet):

alias: Water Heater | Turn on or off based on low_price state
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.nordpool_kwh_krsand_nok_2_10_025
    attribute: low_price
condition: []
action:
  - if:
      - condition: state
        entity_id: sensor.nordpool_kwh_krsand_nok_2_10_025
        attribute: low_price
        state: true
    then:
      - type: turn_on
        device_id: x
        entity_id: switch.plug_laundry_room_water_heater
        domain: switch
    else:
      - type: turn_off
        device_id: x
        entity_id: switch.plug_laundry_room_water_heater
        domain: switch
mode: single

 

Du kan jo se om du kan bruke den til å sammenligne med.

Lenke til kommentar
Del på andre sider

Thomas skrev (På 14.11.2022 den 23.15):

Kom over denne i dag. i json fila finner man gjennomsnitt hittil denne måned. Man finner også kalkuler og estimer strømstøtte.
https://github.com/martinju/stromstotte

 

På denne siden så står det (i dag):

NO1 (Østlandet):

Spotpris

Så langt denne mnd'en: 1,42,-


Strømstøtte

Så langt denne mnd'en: 0,49,-

 

Jeg trodde strøm støtten var 90% av kosten over 70 øre.

Altså: (1,42-0,70)x0,90=0,65

 

 Noen som kan gi en forklaring på hvordan en skal regne ut strøm støtten fra gjenomsnitts pris

 

Lenke til kommentar
Del på andre sider

Kardemomme skrev (3 minutter siden):

Jeg trodde strøm støtten var 90% av kosten over 70 øre.

Altså: (1,42-0,70)x0,90=0,65

 

 Noen som kan gi en forklaring på hvordan en skal regne ut strøm støtten fra gjenomsnitts pris

 

Du må regne med mva. på de 70 ørene.

Altså: (1,42-0,70*1,25)x0,90=0,4905

  • Like 1
Lenke til kommentar
Del på andre sider

Jeg er helt fersk på HA men har klart å kommet meg litt på vei ved å samle inn strømpriser. Nå lurer jeg på om noen kan hjelpe meg litt videre på veien.

Første jeg syntes hadde vært kult er om jeg også kunne hatt gjennomsnittlig pris øverst på morgendagens priser.

En annen kul greie kunne vært om det var en graf til med pris minus estimert strømstøtte. Ser det er en annen tråd som handler om strømstøtte, så får kanskje sette meg mer inn i det etterhvert.

 

Bruker apexcharts og her er koden for dagens priser.

Her er sensor koden jeg bruker for morgendagens priser

type: custom:apexcharts-card
graph_span: 24h
experimental:
  color_threshold: true
apex_config:
  chart:
    height: 220px
header:
  title: Strømpris i morgen inkl.mva
  show: true
  standard_format: true
span:
  start: day
  offset: +1d
show:
  last_updated: true
yaxis:
  - min: 0
    decimals: 1
    max: '|+1|'
series:
  - entity: sensor.nordpool_kwh_oslo_nok_3_10_025
    show:
      extremas: true
    name: Pris Nå
    type: line
    curve: smooth
    extend_to: false
    float_precision: 3
    stroke_width: 3
    opacity: 1
    color: rgb(255,111,0)
    data_generator: |
      return entity.attributes.raw_tomorrow.map((start, index) => {
        return [new Date(start["start"]).getTime(), entity.attributes.raw_tomorrow[index]["value"]];
      });
    color_threshold:
      - value: 0
        color: green
      - value: 1
        color: yellow
      - value: 3
        color: red

 

screenshot.269.jpg

Lenke til kommentar
Del på andre sider

Jeg har nå fått til automasjonen. Problemet var feil innrykk når man editerte i yaml. Jeg måtte endre koden til

 

value template: "{{ state_attr('sensor.nordpool_kwh_oslo_nok_3_10_025','current_price') < state_attr('sensor.nordpool_kwh_oslo_nok_3_10_025','average')}}"

 

Istedetfor

 

 

value_template: >-
  {{ state_attr('sensor.nordpool_kwh_oslo_nok_3_10_025','current_price') >
  state_attr('sensor.nordpool_kwh_oslo_nok_3_10_025','average')}}

 

Som forsåvidt HA endret til det nederste etter å ha blitt trigget en gang, men da med riktige innrykk

 

@Thorbjørn Jeg prøvde med Low_price som condition og det fungerte bare hvis jeg skulle slå på, det vil si når low_price var True. Hvis jeg skulle slå av måtte jeg bruke NOT(Low_price) fordi bare en true condition kan gjøre at automasjonen går videre til Action og gjør det den skal. Du omgår denne problematikken ved å bruke If-Then-Else i Action-feltet og dropper du condition-feltet helt. Flott måte å gjøre det på, så jeg har spart på den snutten til en annen gang 🙂

 

Lenke til kommentar
Del på andre sider

  • 5 måneder senere...

Hei,

 

Prøver å sette opp tariff som tar hensyn til helg Energiledd (dag/ natt/ helg) og Forbruksavgift (jan-mars).

Usikker på om jeg forstår koden riktig, men gikk hverfall gjennom ved oppsett. Så lurer på om noen har forståelse på dette å kan kikke over?

 

Dette er det jeg har endret fra eksempel, lagt til ukedag som forutsetning for dag sats.

Sitat

    {% if (now().weekday() >= 5) and (now().hour >=6 and now().hour <23) %}

 

{% set s = {
    "hourly_fixed_cost": 0.02,
    "summer_day": 0.4031,
    "summer_night": 0.3391,
    "winter_day": 0.3363,
    "winter_night": 0.2723,
    "cert": 0.01
}
%}
{% if now().month >= 4 and now().month <12 %}
    {% if (now().weekday() >= 5) and (now().hour >=6 and now().hour <23) %}
        {{s.summer_day+s.hourly_fixed_cost+s.cert|float}}
    {% else %}
        {{s.summer_night+s.hourly_fixed_cost+s.cert|float}}
    {% endif %}
{% else %}
    {% if (now().weekday() >= 5) and (now().hour >=6 and now().hour <23) %}
        {{s.winter_day+s.hourly_fixed_cost+s.cert|float}}
    {%else%}
        {{s.winter_night+s.hourly_fixed_cost+s.cert|float}}
    {% endif %}
{% endif %}

 

Lenke til kommentar
Del på andre sider

Hvis du går til "utviklerverktøy" i Home Assistant og kikker på Nordpool sensoren der så vil du finne en attributt som heter additional_costs_current_hour.

Da kan du sjekke med dens verdi om din kode er riktig.

  • Thanks 1
Lenke til kommentar
Del på andre sider

  • 1 måned senere...

Nå kommer det time for time strømstøtte og jeg liker den visuelle apexcharts kortet for å se strømprisen fremover. 

 

Vedlagt har jeg lagt ved template for en sensor for å regne ut strømpris inkludert strømstøtte slik en kan få dette visuelt i apexkortet 🙂 Bare å bytte ut 'sensor.nordpool' med din nordpool sensor. 

 

    - name: strompris_ink_stromstotte
      unit_of_measurement: "NOK/kWh"
      state: >
        {% set stromstotte = (states('sensor.nordpool')|float(default=0) - 0.875) * 0.9 %}
        {% if stromstotte > 0 %}
          {{ (states('sensor.nordpool')|float(default=0) - stromstotte)|round(3) }}
        {% else %}
          {{ states('sensor.nordpool')|float(default=0)|round(3) }}
        {%endif%}
      attributes: 
        raw_today: >
          {% for strompris in state_attr('sensor.nordpool', 'raw_today') %}
            {% set stromstotte = (strompris.value|float(default=0) - 0.875) * 0.9 %}
            {% if loop.first %}[{%endif%}
              {
              "start": "{{strompris.start}}",
              "end": "{{strompris.end}}",
            {% if stromstotte > 0 %}
              "value": "{{ (strompris.value|float(default=0) - stromstotte)|round(3) }}"
            {% else %}
              "value": "{{ (strompris.value|float(default=0))|round(3) }}"
            {%endif%}
            {%if loop.last %}}]{%else%}},{%endif%}
          {%endfor%}
        raw_tomorrow: >
          {% for strompris in state_attr('sensor.nordpool', 'raw_tomorrow') %}
            {% set stromstotte = (strompris.value|float(default=0) - 0.875) * 0.9 %}
            {% if loop.first %}[{%endif%}
              {
              "start": "{{strompris.start}}",
              "end": "{{strompris.end}}",
            {% if stromstotte > 0 %}
              "value": "{{ (strompris.value|float(default=0) - stromstotte)|round(3) }}"
            {% else %}
              "value": "{{ (strompris.value|float(default=0))|round(3) }}"
            {%endif%}
            {%if loop.last %}}]{%else%}},{%endif%}
          {%endfor%}

 

  • Like 2
Lenke til kommentar
Del på andre sider

Evelen skrev (På 19.2.2021 den 12.02):

Contact - Flemming's Blog (flemmingss.com)

Det ser ut til at kontaktdata mangler (?)  Jeg finner i alle fall ikke noen fungerende epost-link......
Det er en omfattende og fin blog du har, men jeg skulle ønske at du hadde laget en mindre plasskrevende oversikt som enkelt kunne grupperes (sorteres).  Dersom man kun er interessert i f.eks. dine UnRAID tips, eller leter etter et bestemt tips om Home Assistant, da slipper man å bla igjennom alt annet også. De store logo-ikonene du benytter har ingen annen virkning enn å kaste bort verdifull plass, spesielt på mobilskjerm.  (Bare et tips).

 

 

Lenke til kommentar
Del på andre sider

Terje Klungervik skrev (11 timer siden):

Hei

 

Er det noen som har kombinert Nordpool og easee og laget en sensor som viser totale kostnaden for ladning? (Spotpris+nettleie(dag/kveld)+påslag)*kwt Som viser dags-, måneds- og årskostnaden?

Ja, men jeg bruker pyscript til det. Men det er så lite at å lage en automasjon er vel overkommelig.

 

@state_trigger("sensor.nordpool")
def pris(value):
    easee.set_charging_cost(device_id = "xxxxxx bruk din egen device id her xxxxxx", cost_per_kwh = value, vat = "25", currency_id = "NOK")



I Easee appen får jeg opp kostnad pr ladesesjon og på diverse perioder. I Home Assistant har jeg visning av kostnad på dag, måned og år.

image.png.5c4363b95a43adf1d4e5d23b5a5bc94d.png

Endret av stigvi
  • Like 1
Lenke til kommentar
Del på andre sider

alias: Easee cost
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.nordpool_kwh_trheim_nok_3_10_025
condition: []
action:
  - service: easee.set_charging_cost
    data:
      cost_per_kwh: "{{ states('sensor.total_strompris_med_nettleie')|float(0) }}"
      vat: 0
      device_id: d23d4cf2c956d5f9b9852b0ecd0bf8ab
mode: single

Fulgte deler av denne: 

 

Lagde meg helpers til å sette nettleiepris etter tid på døgnet.

Så de 2 automasjonene som setter nettleieprisen.

Lagde så en template i configuration.yaml

- name: Total strømpris med nettleie
      unit_of_measurement: "NOK/kWh"
      state: '{{ states("sensor.nordpool_kwh_trheim_nok_3_10_025") |float + states("input_number.nettleie_pris") |float + 0.0016 |float }}'

Som legger sammen spotpris+nettleie+påslag fra tibber. 

 

Så lagde jeg automasjonen på toppen. Så er det bare å dra ut kostnadene både fra appen og fra integrasjonen in HA. 

  • Like 1
Lenke til kommentar
Del på andre sider

Må nok lage egne sensorer til å logge kostnad ved lading av biler. Easee takler ikke at prisen skifter hver time. Den tar utgangspunkt i prisen som er satt når den stater å lade.

 

"It would not allow for changing price so often. if you set a price at the start of a charge it will register it for that price until it is finished
 
it is something we are looking into but there is no timeline on this as we have just released a new charger atm"

Lenke til kommentar
Del på andre sider

Her er en template for additional_costs som inkluderer strøm-støtte slik at man ikke trenger å fikse det i etterkant. Den er ikke testet veldig bra, så gjene sjekk den:

 

  - platform: nordpool
    low_price_cutoff: 0.9
    VAT: true
    currency: "NOK"
    region: "Kr.sand"
    price_type: kWh
    additional_costs: |
      {%
        set s = {
          "dag": 0.5,
          "natt": 0.38,
          "los": 0.0345,
        }
      %}
      {% set threshold = 0.875 %}
      {% set discount = 0 %}

      {% if current_price > threshold %}
        {% set discount = 0.9 * (current_price - threshold) %}
      {% endif %}

      {% if now().hour >= 6 and now().hour < 22 %}
        {{ (s.dag + s.los - discount) | float }}
      {% else %}
        {{ (s.natt + s.los - discount) | float }}
      {% endif %}

 

Lenke til kommentar
Del på andre sider

Kim123 skrev (På 3.9.2023 den 13.03):

Nå kommer det time for time strømstøtte og jeg liker den visuelle apexcharts kortet for å se strømprisen fremover. 

 

Vedlagt har jeg lagt ved template for en sensor for å regne ut strømpris inkludert strømstøtte slik en kan få dette visuelt i apexkortet 🙂 Bare å bytte ut 'sensor.nordpool' med din nordpool sensor. 

 

    - name: strompris_ink_stromstotte
      unit_of_measurement: "NOK/kWh"
      state: >
        {% set stromstotte = (states('sensor.nordpool')|float(default=0) - 0.875) * 0.9 %}
        {% if stromstotte > 0 %}
          {{ (states('sensor.nordpool')|float(default=0) - stromstotte)|round(3) }}
        {% else %}
          {{ states('sensor.nordpool')|float(default=0)|round(3) }}
        {%endif%}
      attributes: 
        raw_today: >
          {% for strompris in state_attr('sensor.nordpool', 'raw_today') %}
            {% set stromstotte = (strompris.value|float(default=0) - 0.875) * 0.9 %}
            {% if loop.first %}[{%endif%}
              {
              "start": "{{strompris.start}}",
              "end": "{{strompris.end}}",
            {% if stromstotte > 0 %}
              "value": "{{ (strompris.value|float(default=0) - stromstotte)|round(3) }}"
            {% else %}
              "value": "{{ (strompris.value|float(default=0))|round(3) }}"
            {%endif%}
            {%if loop.last %}}]{%else%}},{%endif%}
          {%endfor%}
        raw_tomorrow: >
          {% for strompris in state_attr('sensor.nordpool', 'raw_tomorrow') %}
            {% set stromstotte = (strompris.value|float(default=0) - 0.875) * 0.9 %}
            {% if loop.first %}[{%endif%}
              {
              "start": "{{strompris.start}}",
              "end": "{{strompris.end}}",
            {% if stromstotte > 0 %}
              "value": "{{ (strompris.value|float(default=0) - stromstotte)|round(3) }}"
            {% else %}
              "value": "{{ (strompris.value|float(default=0))|round(3) }}"
            {%endif%}
            {%if loop.last %}}]{%else%}},{%endif%}
          {%endfor%}

 

Er dette noe som kan tilpasses for å lage en ny versjon av Noordpool sensoren? Jeg ønsker meg en Nordpool sensor med nettleie inkludert i prisene, slik at når jeg bruker de andre kodene fra forumet for å finne billigste timer m.m.,så er det sortert utifra pris inkludert nettleie, og evt. strømstøtte.
Jeg lurer også på noe så enkelt som: hvor kan jeg lime inn denne koden?

Lenke til kommentar
Del på andre sider

Jolo skrev (På 16.9.2023 den 13.41):

Her er en template for additional_costs som inkluderer strøm-støtte slik at man ikke trenger å fikse det i etterkant. Den er ikke testet veldig bra, så gjene sjekk den:

 

  - platform: nordpool
    low_price_cutoff: 0.9
    VAT: true
    currency: "NOK"
    region: "Kr.sand"
    price_type: kWh
    additional_costs: |
      {%
        set s = {
          "dag": 0.5,
          "natt": 0.38,
          "los": 0.0345,
        }
      %}
      {% set threshold = 0.875 %}
      {% set discount = 0 %}

      {% if current_price > threshold %}
        {% set discount = 0.9 * (current_price - threshold) %}
      {% endif %}

      {% if now().hour >= 6 and now().hour < 22 %}
        {{ (s.dag + s.los - discount) | float }}
      {% else %}
        {{ (s.natt + s.los - discount) | float }}
      {% endif %}

 

 

Du har ikke lyst til å komme med en liten "bruksanvisning" for oss som ikke er like befarne i koding?

Lenke til kommentar
Del på andre sider

region: Sett inn din region

 

d: nettleie dag. Sett inn hva din netteier tar for dag

n: nettleie natt. Sett inn hva din netteier tar for natt

los: påslag fra strømleverandør. Hvis du har tibber så skift navn fra los til tibber og sett inn påslaget.

threshold: Grensen på når strømstøtten kommer i kroner

discount: strømstøtten. Standard på 0% når strømmen er under treshold

if current_price > threshold = hvis strømpris er over threshold så sett discount til 90%

if now().hour >= 6 and now().hour < 22 = hvis klokke er mellom 06-22 så legg sammen nettleie dag og påslag minus rabatt

Hvis ikke så legge sammen nettleie natt + påslag minus rabatt 

 

Templaten gir deg summen for nettleie (dag eller natt) + påslag - strømstøtte

 

Mangler å definere current_prize så mener jeg at denne skal fungere. 

 

Lenke til kommentar
Del på andre sider

Terje Klungervik skrev (2 timer siden):

region: Sett inn din region

 

d: nettleie dag. Sett inn hva din netteier tar for dag

n: nettleie natt. Sett inn hva din netteier tar for natt

los: påslag fra strømleverandør. Hvis du har tibber så skift navn fra los til tibber og sett inn påslaget.

threshold: Grensen på når strømstøtten kommer i kroner

discount: strømstøtten. Standard på 0% når strømmen er under treshold

if current_price > threshold = hvis strømpris er over threshold så sett discount til 90%

if now().hour >= 6 and now().hour < 22 = hvis klokke er mellom 06-22 så legg sammen nettleie dag og påslag minus rabatt

Hvis ikke så legge sammen nettleie natt + påslag minus rabatt 

 

Templaten gir deg summen for nettleie (dag eller natt) + påslag - strømstøtte

 

Mangler å definere current_prize så mener jeg at denne skal fungere. 

 

Men hvor? får ikke denne til å stemme med formatet i configuration.yaml??

 

Ja er virkelig nybegynner på programmeringsspåk og formater 🙂

Lenke til kommentar
Del på andre sider

ArnsteinL skrev (21 minutter siden):

Men hvor? får ikke denne til å stemme med formatet i configuration.yaml??

 

Ja er virkelig nybegynner på programmeringsspåk og formater 🙂

Paste

      {%
        set s = {
          "dag": 0.5,
          "natt": 0.38,
          "los": 0.0345,
        }
      %}
      {% set threshold = 0.875 %}
      {% set discount = 0 %}

      {% if current_price > threshold %}
        {% set discount = 0.9 * (current_price - threshold) %}
      {% endif %}

      {% if now().hour >= 6 and now().hour < 22 %}
        {{ (s.dag + s.los - discount) | float }}
      {% else %}
        {{ (s.natt + s.los - discount) | float }}
      {% endif %}

 

Inne i additional cost

image.thumb.png.1c3f8920da871fcab72a56d82e4c6497.png

Lenke til kommentar
Del på andre sider

Terje Klungervik skrev (44 minutter siden):

Paste

      {%
        set s = {
          "dag": 0.5,
          "natt": 0.38,
          "los": 0.0345,
        }
      %}
      {% set threshold = 0.875 %}
      {% set discount = 0 %}

      {% if current_price > threshold %}
        {% set discount = 0.9 * (current_price - threshold) %}
      {% endif %}

      {% if now().hour >= 6 and now().hour < 22 %}
        {{ (s.dag + s.los - discount) | float }}
      {% else %}
        {{ (s.natt + s.los - discount) | float }}
      {% endif %}

 

Inne i additional cost

image.thumb.png.1c3f8920da871fcab72a56d82e4c6497.png

 

(Altså lage en ny med koden limt rett inn i template vinduet?)

Fant ut av det ved hjelp av beskrivelsen på hacs og litt tukling. Tusen takk for hjelpen, hadde aldri kommet på at det skulle legges inn der 🙂

 

Endret av ArnsteinL
  • Like 1
Lenke til kommentar
Del på andre sider

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.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.