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.

 
Takaisin
Ylös Bottom