HomeAssistant ja sähköpörssiohjaus

Huomasin että LVV ei ole ollut päällä vaikka halvin tunti oli 15-16 ja toiseksi halvin 16-17.

SHF Rank Now ei ole käynyt alle 3 silloin?

Screenshot at 2026-04-05 17-57-26.png


Vaikka tämän kuvaajan mielestä halvimmat 2 tuntia oli juuri 15-17 eli rank 1 ja rank 2;

Screenshot at 2026-04-05 17-58-09.png


Eihän näissä rankeissa mitään ofsettia voi olla? Miksi on käynyt näin?

edit: sensor.shf_rank_now on 19, mutta kuvaaja näyttää 13. Mökillä molemmat on 13 tällä hetkellä. Miksi tuo sensor.shf_rank_now näyttää väärää arvoa?
 
Viimeksi muokattu:
Pääasiassa itsellä käytössä varttirankki, mutta tuntiversioki vielä on lähinnä ilp käyttöä varten. Näyttää ihan oikein. Rank 1 alkaen klo 15, klo 16 rank 2 ja klo 17 rank 3
Screenshot_20260405_224933_Home Assistant.jpg
 
^kyllä, tuo näkyy oikein. Mutta itse sensori näyttää jotain aivan eri rank-lukuja.

Just nyt 23-00 on se sitä mieltä että SHF Rank now on 1. Eikä tämä ole eilisen käyrä.
 
Saaga jatkuu, vuorokausi on vaihtunut mutta edelleen sama ongelma. Aikavyöhyke ja aika on ok HA-koneessa.

Screenshot at 2026-04-06 10-25-26.png


Edit: Mökillä on sama numero. Eihän nuo shf rank now käyrät edes muistuta toisiaan, mun silmiin. Mökillä;

Screenshot at 2026-04-06 10-33-00.png


edit: Ainoa minkä keksin on, että tuo rank-laskenta tehdään vasta kun on lisätty mun tapauksessa yö- ja siirtohinnat ja siksi tuo kotona oleva sensor.shf_rank_now näyttää erilaista käppyrää kuin mökillä missä on sama hinta koko ajan. Tämä nyt korostuu kun pörssihinnan vaihtelevuus päivän aikana on pienempi kuin ero yö- ja päiväsiirron välillä. Kun laitoin saman hinnan SHF Price1 kun SHF Price2 niin oli rank-numerot samat. Hyvä että selvisi.

Miten saan tuon Apexcharts cardin näyttämään kokonaishinnat ja rank-käppyrän em. hintojen lisäämisen jälkeen?
 
Viimeksi muokattu:
Moro pitkästä aikaa! Eli jos tiivistän ja korjaa jos meni väärin: SHF Rank Now näyttää aina oikein (myös jos käyttää noita siirtohintoja), mutta Apexchartin näyttämä luku on väärin?

Jos näin oli, niin voitko laittaa Apexchartin koodin tänne debugattavaksi?
 
Kyllä, SHF Rank Now on ilmeisesti oikein, mutta apexcharts näyttää ennen veroa+siirtoa (minkä sen tarkoitus on). Mutta itse haluaisin että se näyttäisi rankin siirron ja verojen lisäämisen jälkeen jotta on vertailtavissa SHF Rank Now arvoon.

Tuossa:
Koodi:
type: custom:apexcharts-card
now:
  show: true
  color: "#ff0000"
apex_config:
  xaxis:
    tooltip:
      enabled: false
yaxis:
  - id: rank
    show: true
    decimals: 0
    apex_config:
      forceNiceScale: true
      title:
        text: Rank
  - id: price
    show: true
    opposite: true
    decimals: 2
    apex_config:
      forceNiceScale: true
      title:
        text: c/kWh
show:
  last_updated: false
header:
  standard_format: false
  show: true
  show_states: true
  colorize_states: true
  title: Price and Rank without extra fees
span:
  start: day
  offset: +0h
update_delay: 2s
series:
  - entity: sensor.shf_electricity_price
    yaxis_id: price
    name: Electricity price c/kWh
    extend_to: now
    type: area
    curve: stepline
    opacity: 0.02
    group_by:
      func: last
      duration: 60m
    stroke_width: 1
    data_generator: |
      return entity.attributes.data.map((d, index) => {
        return [new Date(d["DateTime"]).getTime(), d["PriceWithTax"]*100];
      });
    show:
      header_color_threshold: true
      legend_value: false
      in_header: before_now
      name_in_header: true
      extremas: true
  - entity: sensor.shf_electricity_price
    yaxis_id: rank
    name: Rank now (current day)
    extend_to: now
    type: area
    curve: stepline
    opacity: 0.02
    group_by:
      func: last
      duration: 60m
    stroke_width: 1
    data_generator: |
      return entity.attributes.data.map((d, index) => {
        return [new Date(d["DateTime"]).getTime(), d["Rank"]];
      });
    show:
      header_color_threshold: true
      legend_value: false
      in_header: before_now
      name_in_header: true
      extremas: false

Tuo datamappi entity.attributes.data.map luodaan ehkä ennen kuin SHF Price1 ja SHF Price2 otetaan mukaan ja lasketaan SHF Rank Now?
 
Moi! Minulla ollut erittäin hyvin toimiva tuntitasoinen pörssisähköohjaus HA:ssa. Se on ottanut huomioon myös kausisähkön hinnan. Mittarinvaihdon vuoksi haluasin muuttaa sen varttipohjaiseksi. Eli hakisin samaan tyyliin rankin varttitasolla. Tässäkin ketjussa varmasti on sivuttu asiaa, en vaan löydä lukuisien viestien joukosta.
Olisiko jossain selkeä ohje sille ?
Alla tämän hetkinen koodi:

Koodi:
  - platform: rest

    name: "spot_hinta_fi_smart_vastaus"

    resource: https://api.spot-hinta.fi/SmartHeating

    method: POST

    payload: '{

  "Region": "FI",

  "RelayName": "koe",

  "RelayNumbers": [

    0

  ],

  "Inverted": false,

  "PostalCode": "33xxx",

  "Latitude": "xxxxxx",

  "Longitude": "xxxxxx",

  "HeatingHours_MaxTemperature": 25,

  "HeatingHours_Plus30": 1,

  "HeatingHours_Plus20": 2,

  "HeatingHours_Plus10": 3,

  "HeatingHours_Zero": 5,

  "HeatingHours_Minus10": 10,

  "HeatingHours_Minus20": 18,

  "HeatingHours_Minus30": 24,

  "HeatingHours_MinTemperature": -25,

  "MinimumHoursPeriod_IsActive": false,

  "MinimumHoursPeriod_TemperatureStart": -10,

  "MinimumHoursPeriod_PriceAllowed": 50,

  "MinimumHoursPeriod_Hours": [

    10, 11, 12, 13, 14, 15, 16, 17, 18, 19

  ],

  "MinimumHoursPeriod_NumberOfHours": 3,

  "AllowedDays": [ 1, 2, 3, 4, 5, 6, 7

  

  ],

  "AllowedMonths": [

    1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

  ],

  "BackupHours": [

    1, 2, 3, 4, 12, 13, 16, 17, 21, 22

  ],

  "MaximumPrice": 999,

  "PriceAlwaysAllowed": 0,

  "PriceModifier_IsActive": true,

  "PriceModifier_Sum": 2.43,

  "PriceModifier_Months": [

    1, 2, 3, 11, 12

  ],

  "PriceModifier_Days": [

    1, 2, 3, 4, 5, 6

  ],

  "PriceModifier_Hours": [

    7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21

  ]

}'

    value_template: "{{ value_json.RankNow }}"  # Poimii hinnan kentän arvon

    json_attributes:

      - DateTimeUtc

      - HttpStatusCode

      - StatusCodeReason

      - MonthAndDayAllowed

      - RankNow

      - CalculatedRank

      - PriceWithTaxInCentsModified

      - MaxPriceLimitExceeded

      - PriceAlwaysAllowedResult

      - AverageTemperature

      - MaxTemperatureLimitExceeded

    scan_interval: 180

    force_update: true
 
Viimeksi muokattu:
Moi! Minulla ollut erittäin hyvin toimiva tuntitasoinen pörssisähköohjaus HA:ssa. Se on ottanut huomioon myös kausisähkön hinnan. Mittarinvaihdon vuoksi haluasin muuttaa sen varttipohjaiseksi. Eli hakisin samaan tyyliin rankin varttitasolla. Tässäkin ketjussa varmasti on sivuttu asiaa, en vaan löydä lukuisien viestien joukosta.
Olisiko jossain selkeä ohje sille ?
Alla tämän hetkinen koodi:

Koodi:
  - platform: rest

    name: "spot_hinta_fi_smart_vastaus"

    resource: https://api.spot-hinta.fi/SmartHeating

    method: POST

    payload: '{

  "Region": "FI",

  "RelayName": "koe",

  "RelayNumbers": [

    0

  ],

  "Inverted": false,

  "PostalCode": "33xxx",

  "Latitude": "xxxxxx",

  "Longitude": "xxxxxx",

  "HeatingHours_MaxTemperature": 25,

  "HeatingHours_Plus30": 1,

  "HeatingHours_Plus20": 2,

  "HeatingHours_Plus10": 3,

  "HeatingHours_Zero": 5,

  "HeatingHours_Minus10": 10,

  "HeatingHours_Minus20": 18,

  "HeatingHours_Minus30": 24,

  "HeatingHours_MinTemperature": -25,

  "MinimumHoursPeriod_IsActive": false,

  "MinimumHoursPeriod_TemperatureStart": -10,

  "MinimumHoursPeriod_PriceAllowed": 50,

  "MinimumHoursPeriod_Hours": [

    10, 11, 12, 13, 14, 15, 16, 17, 18, 19

  ],

  "MinimumHoursPeriod_NumberOfHours": 3,

  "AllowedDays": [ 1, 2, 3, 4, 5, 6, 7

  

  ],

  "AllowedMonths": [

    1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

  ],

  "BackupHours": [

    1, 2, 3, 4, 12, 13, 16, 17, 21, 22

  ],

  "MaximumPrice": 999,

  "PriceAlwaysAllowed": 0,

  "PriceModifier_IsActive": true,

  "PriceModifier_Sum": 2.43,

  "PriceModifier_Months": [

    1, 2, 3, 11, 12

  ],

  "PriceModifier_Days": [

    1, 2, 3, 4, 5, 6

  ],

  "PriceModifier_Hours": [

    7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21

  ]

}'

    value_template: "{{ value_json.RankNow }}"  # Poimii hinnan kentän arvon

    json_attributes:

      - DateTimeUtc

      - HttpStatusCode

      - StatusCodeReason

      - MonthAndDayAllowed

      - RankNow

      - CalculatedRank

      - PriceWithTaxInCentsModified

      - MaxPriceLimitExceeded

      - PriceAlwaysAllowedResult

      - AverageTemperature

      - MaxTemperatureLimitExceeded

    scan_interval: 180

    force_update: true


Tästä skriptistä näet uuden varttiversion rajapinnan. Se on kokenut aika isoja muutoksia, johtuen siitä että mukaan tuli vuorokauden "segmentointi" haluttaessa.

 
Ok Kiitokset. Eli nyt on poistettu nämä: - RankNow ja - CalculatedRank
Käytin vanhaa scripua juuri noiden hakemiseen kausisähkö huomioiden ja HA:ssa oli sitten vaan yksinkertaiset automaatiot: jos RANK < jotain -> kytke lämmitys päälle.

Tähän ei liene uutta varttiratkaisua ? Missä muuten vanhan scipun kuvaus on ?
 
Täsmentävä kysymys
”Shelly-Minimal-Heating”-skripti ja kun ”PricePeriodLength” on asetettu 30 & ”SelectedPricePeriods” on asetettu ”1-4” niin lämmittäkö skripti vuorokauden 4 halvinta 30min periodia?
 
Monia integraatioita on pörssisähkölle, mutta mikään niistä ei näytä pörssin kk:n toteutunutta keskihintaa. En ainakaan ole löytänyt.
 
Monia integraatioita on pörssisähkölle, mutta mikään niistä ei näytä pörssin kk:n toteutunutta keskihintaa. En ainakaan ole löytänyt.
Ei ole näkynyt sellaista mikä näyttää mitatun kulutuksen toteutunutta keskihintaa. Se vaatii aika tavalla datan säilyttämistä laitteen muistissa.
 
Ei ole näkynyt sellaista mikä näyttää mitatun kulutuksen toteutunutta keskihintaa. Se vaatii aika tavalla datan säilyttämistä laitteen muistissa.
Oman mitatun kulutuksen toteutuneen keskihinnan kyllä saan, mutta kaipaan pörssin kk:n keskihintaa, sitä kun ei oikein saa mistään. Joutuu värkkäileen, mutta en ole vielä saanut toimivaa aikaiseksi.
 
Liukuri tarjoaa kuukauden toteutuneen SPOT hinnan https://liukuri.fi/
Se ei taida olla saatavana API rajapinnan kautta
Ei saa juu. Sain nyt nuo varttihinnat summautumaan niin eiköhän se siitä lähde avautumaan. Tarkoitus saada seurattua kulutusvaikutusta, kun sellaisella sopparilla mennään talvi. Saahan sen selville helpomminkin, kun katsoo Älyenergia äpistä, mutta se reaaliaikainen;)
 
Hei,
ILP vaihtui uuteen ja piti ruveta väsäämään siihen HA:lla pörssiohjausta. Minulla on ollut karkea Pörssäri-pohjainen ohjaus käytössä aikaisemmassa pumpussa, mutta haluaisin saada parempaa älyä aikaiseksi seuraavaan versioon.
Olen siinä pisteessä, että saan Spot-hinta.fi sensorit HA:iin näkyviin ok, mutta aika vasta-alkajana en oikein saa AI:n kanssakaan aikaiseksi toimivaa logiikkaa, joka komentaisi pumpun pyyntiä luotettavasti ennakoiden halpoja/kalliita hintajaksoja. Nähdäkseni käyttäisin "SHF Control Factor +-1" sensoria pohjalla, mutta tässä kohtaa alkaa mennä sormi suuhun.
Osaisiko joku opastaa oikeille jäljille miten tämä kannattaa tehdä? Vaikka pätkä koodia, josta logiikka ilmenee.

Kiitos!
 
Ohje:

Ilpin ohjaus menee tämmösellä.

 
Nähdäkseni käyttäisin "SHF Control Factor +-1" sensoria pohjalla, mutta tässä kohtaa alkaa mennä sormi suuhun.
Tuon arvon perusteella voit tehdä automaatiot joko niinkuin tuossa ylläolevassa viestissä linkitin tai sitten voit tehdä niin, että ilpin pyyntiä muutetaan, jos SHF controll factor arvo on esim yli 0 jolloin sähkö on vrk keskihintaa halvempaa SHF 1 on halvinta ja -1 kalleinta. Eli tuolla voit säätää ilppiä laskemaan pyyntiä, kun SHF on alle nolla jne. Voit säätää automaatioon ne rajat ihan miten haluat tai jopa joka vartille oma pyynnin säätö.
Esim: mulla ph:n lattia seuraa tuota shf arvoa ja sallii normaali lämmityksen, kun arvo on yli 0,3 ja alle tuon on lt -alennus päällä. Jos kosteus nousee riittävästi (kosteusanturi) niin se laukaisee tehostuksen päälle.
 
Itse tein niin että minulla on slider joka säätää arvoa SHF MAX Rank Allowed, joka on kynnys jonka yli lämmitetään vähemmän.

Sitten on automaatio joka nostaa lämpötilapyynnin parilla asteella jos SHF Max Rank menee alle kynnysarvon, ja toinen joka laskee jos yli.

Meidän talossa tuo toimii ihan hyvin jos ero on kaksi astetta ja max rank on n 18, eli ne kuusi kalleinta tuntia lämmitetään kaksi astetta vähemmän. KV n 1 c aika usein.
 
SHF control factorille suoraan automaatiot siellä "uusi automaatio" osassa.
 

Liitetiedostot

  • IMG_7747.webp
    IMG_7747.webp
    31,6 KB · Lukukerrat: 28
  • IMG_7748.webp
    IMG_7748.webp
    26,5 KB · Lukukerrat: 28
Takaisin
Ylös Bottom