Denní trh elektřiny - cena

Turbo
Aktivní autor
Aktivní autor
Příspěvky: 79
Registrován: 29. prosinec 2022, 18:09
Dal poděkování: 4 poděkování
Dostal poděkování: 7 poděkování

Re: Denní trh elektřiny - cena

Příspěvek od Turbo »

Tak dořešeno...
ha10.png

Kód: Vybrat vše

type: custom:apexcharts-card
header:
  show: true
  title: Spotřeba/Cena
  show_states: true
  colorize_states: true
yaxis:
  - id: first
    decimals: 0
    apex_config:
      tickAmount: 2
  - id: second
    opposite: true
    decimals: 0
    apex_config:
      tickAmount: 2
series:
  - entity: sensor.active_power
    yaxis_id: first
    color: green
    opacity: 0.7
    curve: smooth
    stroke_width: 2
    type: area
    invert: true
  - entity: sensor.current_spot_electricity_price
    yaxis_id: second
    color: red
    opacity: 0.7
    curve: smooth
update_interval: 30sec
HA 2023
RB Pi 4B 8GB + SSD Kingston KC600 256GB
TP-Link Deco M9 Plus + 2x Deco E4R + switch SG1210MPE
Goodwe GW10K-ET + OTE
Tesla M3

Turbo
Aktivní autor
Aktivní autor
Příspěvky: 79
Registrován: 29. prosinec 2022, 18:09
Dal poděkování: 4 poděkování
Dostal poděkování: 7 poděkování

Re: Denní trh elektřiny - cena

Příspěvek od Turbo »

Hm... tak radost trochu předčasná. V tomto konkrétním nastavení karty mi to HA hrozně zasekává, jakmile ji smažu tak, HA běhá jak vítr. Zkoušel jsem si s tím zobrazením trochu hrát ale je to beze změny. Zkoušel jsem i přeinstalovat. Pokud nechám původní nastavení karty (včetně entit), tak taky není problém, ale jakmile tam přidám tyto konkrétní entity, tak je z toho Atari.

Napadá někoho jak to poštelovat?
HA 2023
RB Pi 4B 8GB + SSD Kingston KC600 256GB
TP-Link Deco M9 Plus + 2x Deco E4R + switch SG1210MPE
Goodwe GW10K-ET + OTE
Tesla M3

Turbo
Aktivní autor
Aktivní autor
Příspěvky: 79
Registrován: 29. prosinec 2022, 18:09
Dal poděkování: 4 poděkování
Dostal poděkování: 7 poděkování

Re: Denní trh elektřiny - cena

Příspěvek od Turbo »

Tak když si ty grafy rozdělím, tak problém není. Ale proč?
ha13.png
HA 2023
RB Pi 4B 8GB + SSD Kingston KC600 256GB
TP-Link Deco M9 Plus + 2x Deco E4R + switch SG1210MPE
Goodwe GW10K-ET + OTE
Tesla M3

Uživatelský avatar
acerot
Pokročilý
Pokročilý
Příspěvky: 118
Registrován: 12. prosinec 2022, 15:44
Dal poděkování: 2 poděkování
Dostal poděkování: 24 poděkování

Re: Denní trh elektřiny - cena

Příspěvek od acerot »

Mně se Apex seká, když musí stahovat/vykreslovat velký množství dat. Netuším, jestli je to i tvůj sekací problém, nicméně když mi nevadí mít v grafu menší detail dat, tak místo čtení přímo HA History dat čtu z HA DB raději Long Term Statistics data. Do Apex grafu přidám pro všechny/jen vybrané série buď nejdetailnější možná 5minutová data (ta nejsou typická Long Term, protože jsou v DB jen tak dlouho, jak klasická history data dle nastavení Recorderu) nebo pak data s delší periodou agregace (hodina, den, týden, měsíc), která zůstávají v DB navěky. Například takhle jedné sérii řeknu, že má tahat 5minutová tzv. statistics_short_term data:

Kód: Vybrat vše

  - entity: sensor.teplota_obyvak_podlaha
    statistics:
      type: mean
      period: 5minute
    yaxis_id: teplota
    name: Podlaha
    color: DimGray
    curve: smooth
Druhou možností, jak Apex grafu odlehčit, je tahat sice detailní data z History, ale nechat je Apexem zagregovat, kdy se do série přidá blok:

Kód: Vybrat vše

  group_by:
    func: max
    duration: 5m
    fill: last
Pro super odlehčení lze použít obě metody zároveň.

Turbo
Aktivní autor
Aktivní autor
Příspěvky: 79
Registrován: 29. prosinec 2022, 18:09
Dal poděkování: 4 poděkování
Dostal poděkování: 7 poděkování

Re: Denní trh elektřiny - cena

Příspěvek od Turbo »

@acerot - pomohlo, děkuji moc ;)
HA 2023
RB Pi 4B 8GB + SSD Kingston KC600 256GB
TP-Link Deco M9 Plus + 2x Deco E4R + switch SG1210MPE
Goodwe GW10K-ET + OTE
Tesla M3

Fallu
Nováček na fóru
Nováček na fóru
Příspěvky: 2
Registrován: 21. květen 2023, 21:52

Re: Denní trh elektřiny - cena

Příspěvek od Fallu »

Ahoj, ať nezakládám nové vlákno, píšu sem.
Potřebuji poradit se senzorem spotu.
Potřebuji si udělat automatizaci tak, aby se mi dvakrát denně dobíjela baterka za nejnižší ceny a to v závislosti na předpovědi solárních zisků.
Budu to řešit přes node red. První věc kterou potřebuji zjistit je hodina s nejnižší cenou v určitém časovém bloku. To je popsáno zde - https://github.com/rnovacek/homeassista ... d-interval. to znamená že tento kód musím napsat do configuration.yaml pod - platform: template. Bohužel se v tom moc nevyznám a kódu chybí dle mého nějakej začátek (např: sensor:) můžete mi prosím někdo napsat, jak to tam má být kompletně napsáno? včetně odsazení atd? prostě pro úplnou lamu.
PS:nějak jsem to zkoušel a nejelo mě to. Díky

Uživatelský avatar
acerot
Pokročilý
Pokročilý
Příspěvky: 118
Registrován: 12. prosinec 2022, 15:44
Dal poděkování: 2 poděkování
Dostal poděkování: 24 poděkování

Re: Denní trh elektřiny - cena

Příspěvek od acerot »

Mám HA konfiguraci rozházenou po složkách, takže to jen zkusím spojit, jako bys to psal jen do configuration.yaml. Kompilovat to nechci, abych si zbytečně nezapráskal HA, takže jestli je to správně, nevím (ale on mě kdyžtak někdo opraví ;) ) Takže zkus to takhle:

Kód: Vybrat vše

template:
  - sensor:
      - name: "název"
        state: >
          {# Define your intervals here as tuples (hour starting the interval, hour ending the interval (excluded)) #}
          {% set intervals = [
            (0, 8),
            (8, 16),
            (16, 24),
          ] %}

          {# We need to use namespace so we can write into it in inner cycle #}
          {% set min = namespace(price=None, dt=None, cheapest_hours=[]) %}
          {% set cheapest_hours = [] %}


          {% for interval in intervals %}
            {# Reset min price from previous runs #}
            {% set min.price = None %}

            {# Go through all the hours in the interval (end excluded) and find the hour with lowest price #}
            {% for i in range(interval[0], interval[1]) %}
              {# Get datetime of current hour in current interval #}
              {% set hour_dt = now().replace(hour=i, minute=0, second=0, microsecond=0) %}

              {# Get value for that hour #}
              {% set value = states.sensor.current_spot_electricity_hour_order.attributes.get(hour_dt.isoformat()) %}

              {# Skip if not found #}
              {% if value is not defined %}
                {% break %}
              {% endif %}

              {# value is tuple (order, price), we'll use the price #}
              {% set price = value[1] %}

              {# Min price is not set or is higher than price of current hour => store the min price and hour #}
              {% if min.price is none or price < min.price %}
                  {% set min.price = price %}
                  {% set min.dt = hour_dt %}
              {% endif %}
            {% endfor %}

            {# Store cheapest hour in current interval #}
            {% set min.cheapest_hours = min.cheapest_hours + [min.dt.hour] %}
          {% endfor %}

          {# use this to get the cheapest hours #}
          {# {{ min.cheapest_hours }} #}

          {# return True if current hour is in the cheapest hour of any interval #}
          {{ now().hour in min.cheapest_hours }}

Fallu
Nováček na fóru
Nováček na fóru
Příspěvky: 2
Registrován: 21. květen 2023, 21:52

Re: Denní trh elektřiny - cena

Příspěvek od Fallu »

Tak jsem to nějak vyřešil. Vkládá se to pod value_template: a do uvozovek. Zatím děkuji a případně se ještě ozvu.

Uživatelský avatar
acerot
Pokročilý
Pokročilý
Příspěvky: 118
Registrován: 12. prosinec 2022, 15:44
Dal poděkování: 2 poděkování
Dostal poděkování: 24 poděkování

Re: Denní trh elektřiny - cena

Příspěvek od acerot »

Jen poznámka: value_template bylo ve staré syntaxi template senzorů ("Legacy Sensor configuration"). Dnes je doporučováno psát template senzory v nové syntaxi (pod integraci Template).

Autacek
Nováček na fóru
Nováček na fóru
Příspěvky: 2
Registrován: 03. leden 2023, 11:22

Re: Denní trh elektřiny - cena

Příspěvek od Autacek »

nějaký nápad, jak udělat z value template ne jednu, ale dvě nejlevnější hodiny v daném bloku? (třeba dopoledne)

Odpovědět

Zpět na „Energie“