tveksamt tveksamt skrev:
Vilket väl kanske egentligen är så enkelt som så, att när jag får ut en siffra (vilken timme det ska starta) från denna sensorn, hur synkar jag så att min input_datetime sätts till rätt datum och klockslag?
Jag har inte labbat med detta själv men enligt dokumentationen tolkar jag det som att du kan ha en automation som körs varje dag efter att du fått senaste priserna från Nordpool, och i den sätta input_datetime till önskat värde med ett service-anrop till input_datetime.set_datetime.

Inte hela lösningen för du behöver också få fram billigaste timmen ur datan men kanske en hjälp i rätt riktning?
 
  • Gilla
Ljungkvist1977
  • Laddar…
tveksamt tveksamt skrev:
Ursäkta om jag hoppar in med en egen fråga i tråden, men någon här kanske har ett bra tips gällande just nordpool-integrationen.

Jag har den redan och det funkar fint. Det jag skulle vilja få till, men inte vet hur man gör det bäst, är att automatisera en input_datetime utifrån detta.

Väldigt specifikt exempel:
Min batteriladdare till elcykeln sitter i en smartplugg, bredvid denna har jag en knapp som jag just nu använder för att bara starta eller stoppa laddningen.

Istället skulle jag vilja använda den som så att när jag pluggat i batteriet och trycker på knappen vill jag, utifrån nordpool-sensorn, hitta den billigaste perioden innan imorgon kl 7 som varar under 2h (den tid det tar att ladda fullt) och starta pluggen då.
Det jag inte lyckas med är att omsätta tiden den billigaste perioden börjar till en input_datetime som jag kan använda att trigga min automation med.
Någon som har tips?
Jag styr diskmaskinen på liknande premisser, enklast är nog att du kikar i den här tråden
https://community.home-assistant.io...lcome-nordpool-energy-price-per-hour/34646/62
 
tveksamt tveksamt skrev:
Ursäkta om jag hoppar in med en egen fråga i tråden, men någon här kanske har ett bra tips gällande just nordpool-integrationen.

Jag har den redan och det funkar fint. Det jag skulle vilja få till, men inte vet hur man gör det bäst, är att automatisera en input_datetime utifrån detta.

Väldigt specifikt exempel:
Min batteriladdare till elcykeln sitter i en smartplugg, bredvid denna har jag en knapp som jag just nu använder för att bara starta eller stoppa laddningen.

Istället skulle jag vilja använda den som så att när jag pluggat i batteriet och trycker på knappen vill jag, utifrån nordpool-sensorn, hitta den billigaste perioden innan imorgon kl 7 som varar under 2h (den tid det tar att ladda fullt) och starta pluggen då.
Det jag inte lyckas med är att omsätta tiden den billigaste perioden börjar till en input_datetime som jag kan använda att trigga min automation med.
Någon som har tips?
Powersaver.no löser detta åt dig!
 
Kanske inte med bestämd sluttid iofs? :thinking: Lite osäker, om inte annat så lär det gå att få till med komplettering av en annan nod tillsammans med Powersaver.
 
Hyffsat hög inlärningströskel, även för en kodapa. Satte upp en automation för att köra avfuktaren i torkrummet under dygnets X billigaste timmar. Satte först upp en template sensor för att räkna ut ett tröskelvärde. input_number.dehumidifier_on_hours är ett reglage för hur många timmar den ska vara igång:
Kod:
template:
  - sensor:
      - name: "Dehumidifier cutoff"
        unit_of_measurement: "SEK"
        state: >
            {% set pricesTodaySorted = states.sensor.nordpool_kwh_se3_sek_3_10_025.attributes.today | sort %}
            {{ pricesTodaySorted[ states('input_number.dehumidifier_on_hours') | int ]}}

Denna kan sedan kollas mot det aktuella timpriset på el med en template-trigger en automation. För att slå på avfuktaren:
Kod:
{{ sensor.nordpool_kwh_se3_sek_3_10_025 | float > sensor.dehumidifier_cutoff | float }}
Samt att slå av den:
Kod:
{{ sensor.nordpool_kwh_se3_sek_3_10_025 | float <= sensor.dehumidifier_cutoff | float }}
 
  • Gilla
JesperKn
  • Laddar…
C crazytok skrev:
Använd pastebin för att dela programeringskod…
Det går att använda kod-taggar! :D
Skriv så här i meddelandet

{code}
programmeringskod här
{/code}

men med hakparanteser istället för curly brackets
 
Nu är nästa utmaning att göra lite mer analys på elpriset. Skulle vilja att avfuktaren kör fler timmar de nätter då elen är billig, och färre när det är dyrt. Men ändå kunna sätta ett hyffsat stabilt medelvärde för antalet timmar.
 
S Staffan-N skrev:
Nu är nästa utmaning att göra lite mer analys på elpriset. Skulle vilja att avfuktaren kör fler timmar de nätter då elen är billig, och färre när det är dyrt. Men ändå kunna sätta ett hyffsat stabilt medelvärde för antalet timmar.
Jag landade i att utvärdera fyra kurvor för att dynamiskt nattsänka BVP, timpris över: den högsta av
  • Medel - hämtas direkt från Nordpool-sensorn
  • Median - beräknas på sorterad Nofdpool-lista (raw_today)
  • Max - medel
  • Max - median
Detta för att kapa topparna men inte få absurda långa sänkningar med stort behov av påföljande energitillskott.
Kod:
service: input_number.set_value
data_template:
  value: >-
    {% set npmax=state_attr("sensor.nordpool_kwh_se3","max") %} {% set
    npavg=state_attr("sensor.nordpool_kwh_se3","average") %} {% set
    l=state_attr("sensor.nordpool_kwh_se3","raw_today") |
    sort(attribute="value") %} {% set npmed=(l[12].value + l[13].value)/2 %} {%
    set npmaxmed=npmax-npmed %} {% set npmaxavg=npmax-npavg %} {% set np_json =
    {"value": npavg}, {"value": npmed}, {"value": npmaxmed}, {"value": npmaxavg}
    %} {% set ll=np_json | sort(attribute="value") %} {{ ll[3].value }}
target:
  entity_id: input_number.nordpool_cutoff
Histogram över elpriser med markerade värden för IDAG, AVG och nattsänkningspris.
Inloggade ser högupplösta bilder
Skapa konto
Gratis och tar endast 30 sekunder
 
  • Gilla
UrbOls och 1 till
  • Laddar…
Jag har en relaterad fråga som jag tänkte ställa här, och det är om någon sitter på en lösning för att i HA kontinuerligt beräkna och visa månadens snittpris under pågående månad? Alltså om snittpriset dag #1 = 1 kr och snittpriset dag #2 = 5 kr så är månadens snittpris hittills = (1+5)/2 = 3 kr. Sen dag #3 kommer det att priset = 3 kr och då blir snittet (1+5+3)/3 = 9 kr.

På Nordpools hemsida och diverse andra sajter kan man ju se föregående månaders snittpris, men inte pågående.

Att jag undrar är för att jag inte har timpris idag (överväger att skaffa men ska utvärdera lite om det är mödan värt med mina förutsättningar) och jag vill gärna hålla koll på vartåt det lutar successivt under månaden. På så vis kan jag tillsammans med elmätningen få en proaktiv uppskattning av vad kommande elräkning kommer att hamna på.

Man får ju ett värde som heter average i Nordpool-integrationen varje dag. Jag har inte kontrollräknat men den bör vara medelvärdet av alla timpriserna man får vid just den hämtningen antar jag? Så den skulle man i så fall kunna plotta i något diagram samtidigt som man håller koll på medelvärdet av alla average-värden kanske?

Eller så finns det smidigare vis :giggle:
 
För att bygga vidare på det tidigare konceptet där jag plockar ut ett tröskelvärde för att få fram de X billigaste timmarna under dygnet, så vill jag "låna" timmar från närliggande dagar genom att räkna ut ett genomsnittligt tröskelvärde över tid. Om elpriset är ovanligt billigt en dag, passa på att buffra lite extra just den dagen, men försök hålla ett snitt på X timmar. Detta görs genom att jag räknar ut ett "exponential moving average" på hela listan med elpriser, sorterat på storlek. Resultatet blir i princip en tabell med 24 tröskelvärden som kan användas för att i snitt få ut X billigaste timmarna per dygn:
Kod:
automation elpris_ema:
  - alias: "Calculate Elpris EMA"
    trigger:
      - platform: time
        at: "18:00"
    action:
      - service: input_text.set_value
        target:
            entity_id: input_text.nordpool_ema
        data:
            value: >
                {% set prices = namespace(
                    tomorrow = state_attr('sensor.nordpool_kwh_se3', 'tomorrow') | sort,
                    today = state_attr('sensor.nordpool_kwh_se3', 'today') | sort,
                    ema = states('input_text.nordpool_ema').split(',')
                    )%}
                {% set data = namespace(values=[], weight=0.5) %}
                {% for price_today in prices.today %}
                    {% set prev_ema = prices.ema[loop.index0] | default(price_today,true) | float(price_today) %}
                    {% set price_tomorrow = prices.tomorrow[loop.index0] | default(price_today,true) %}
                    {% set lerped = price_tomorrow * data.weight + prev_ema * (1-data.weight) %}
                    {% set data.values = data.values + [lerped | string | truncate(5,true,'')] %}
                {% endfor %}
                {{data.values|join(',')}}
Faktorn "weight" är hur mycket morgondagens pris skall räknas in i tröskelvärdena. 0.5 betyder att snittet består till 50% av morgondagen, 25% av dagen, 12.5% av gårdagen o.s.v.

Tabellen använder jag på följande sätt i en sensor, för att få ut ett tröskelvärde som kan kollas mot det aktuella timpriset:
Kod:
template:
  - sensor:
      - name: "Dehumidifier cutoff"
        unit_of_measurement: "SEK"
        state: >
            {% set prices = states('input_text.nordpool_ema').split(',') %}
            {% set num_hours = states('input_number.dehumidifier_on_hours') | int %}
            {{ prices[num_hours] | float}}
Här är en graf på dagens och morgondagens timpriser med tröskelvärdet för sex timmars avfuktning utplottat i blått. imorgon är det billigt så då blir det många timmar. Klockan 1800 imorgon så kommer tröskelvärdet räknas om med nästkommande dags priser, så sista timmarna på linjen stämmer inte. Ser lite ut som jag har ett klassiskt off-by-one error och att jag kommer snitta på sju timmar istället för sex.
Histogram över dagens och morgondagens elpriser med avfuktarens avstängningströskel markerad.
Inloggade ser högupplösta bilder
Skapa konto
Gratis och tar endast 30 sekunder
 
  • Gilla
hobbs
  • Laddar…
Rättelse för tidigare inlägg: Såklart kan man ju inte hämta ut en sensor med syntax som om den vore ett objekt. Detta är rätt:
Kod:
{{ states('sensor.nordpool_kwh_se3')|float < states('sensor.dehumidifier_cutoff')|float }}

Som utvecklingsmiljö beträffat är detta nog det värsta jag varit med om :rofl:
 
Nån som kan förklara mer om hur man lägger till HACS lättast?
 
S Sundance Kid skrev:
Nån som kan förklara mer om hur man lägger till HACS lättast?
Har du försökt följa den officiella instruktionen? Om ja och du fastnar, i vilket steg så blir det lättare att försöka hjälpa till.
 
  • Gilla
Jocke Best
  • Laddar…
Vi vill skicka notiser för ämnen du bevakar och händelser som berör dig.