Skip to content

Antrac1t/HomeAssistant-EGDdistribuce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EGD Distribuce - Home Assistant Sensor

hacs_badge

Integrace pro Home Assistant sloužící ke stahování HDO (Hromadné dálkové ovládání) dat z API EG.D Distribuce.
Umožňuje sledovat období nízkého (NT) a vysokého tarifu (VT) elektřiny v České republice.

Integrace podporuje jak klasické elektroměry, tak smart měření, a je plně konfigurovatelná přes grafické rozhraní Home Assistantu (GUI).


Funkce

  • Konfigurace přes GUI (není potřeba YAML)
  • Moderní async architektura (DataUpdateCoordinator)
  • Automatická aktualizace dat
  • Podpora více typů HDO měření
  • Podpora klasických i smart elektroměrů
  • Detailní atributy pro automatizace a grafy
  • Validace zadaných PSČ a HDO kódů
  • HDO Timeline - zobrazení jednoduchého grafu

Podporované typy HDO

1. Klasické HDO (A + B + DP)

Určeno pro tradiční elektroměry využívající kombinaci kódů A, B a DP.

{A7547B41-1C31-41BB-AAF3-B42E5CE84658}

2. HDO Povel

Pro elektroměry s více HDO příkazy (např. různá relé pro ohřev vody, topení, atd.)

{5CF42B5D-89D2-48F1-8FF1-3BEDB35B2B35}

3. Smart Metr

Chytré měřiče s speciálními kódy (Cd56, C55, D56, atd.). Záleží na velikosti písmen a některé elektroměry mohou zobrazovat pomlčku míso podtržítka (na el. je toto: CD2526-3). Zadávaný kód musí odpovídat formátu v https://hdo.distribuce24.cz/casy (výsledný kód je Cd2526_3)

image

image

🎯 Funkce

  • Aktuální cena elektřiny

  • Zbývající čas do změny tarifu

  • Příští HDO časový slot## Installation

  • Automatické Aktualizace - Data se obnovují každé 2 minuty (možnost změnit v nastavení 1-60)

  • Detailní Atributy - Časy dnes/zítra, začátky, konce, region, ceny

  • Validace Dat - Automatické ověření platnosti PSČ a HDO kódů

Instalace

Možnost 1: Přes HACS (Doporučeno)

  1. Ujistěte se, že máte nainstalovaný HACS

  2. Jděte do HACS → Integrace

  3. Klikněte na menu (⋮) vpravo nahoře → Vlastní repozitáře

  4. Přidejte tuto URL: https://github.com/Antrac1t/HomeAssistant-EGDdistribuce

  5. Klikněte Instalovat.

  6. Restartujte Home Assistant

Možnost 2: Manuálně

  1. Stáhněte nejnovější release

  2. Zkopírujte složku custom_components/egddistribuce do vaší složky `config/custom_components/

  3. Restartujte Home Assistant

Konfigurace

  1. Jděte na NastaveníZařízení a služby

  2. Klikněte + Přidat integraci

  3. Vyhledejte "EGD Distribuce"

  4. Vyberte typ konfigurace:

{EFBEC61D-F4EE-42EF-9AB0-5AA49CDD3C9C}

HDO Timeline nastavení

{6A53E1BA-5812-42B8-B76E-D1A24A4A118B}
  1. Jděte na NastaveníOvládací panely
  2. Klikněte ... v pravo nahoře
  3. Klikněte na Zdroje
  4. Přidejte /egddistribuce_card/hdo-chart-card.js
  5. Přidejte kartu v Dashboard
type: custom:hdo-chart-card
entity: binary_sensor.NazevSenzoru
title: HDO Timeline
show_days: 2
show_header: false

You can show them in a graph, with other entities, for example spot prices from Czech Energy Spot Prices (https://github.com/rnovacek/homeassistant_cz_energy_spot_prices):

electricity prices graph

type: custom:apexcharts-card
graph_span: 2d
span:
  start: day
stacked: true
apex_config:
  legend:
    show: false
  yaxis:
    tickAmount: 16
    max: 8
all_series_config:
  type: column
now:
  show: true
  label: Nyní
header:
  show: true
  show_states: true
series:
  - entity: binary_sensor.hdo
    float_precision: 2
    group_by:
      func: avg
      duration: 1hour
    show:
      in_header: before_now
    unit: Kč/kWh
    data_generator: >
      return  Object.entries(entity.attributes.HDO_HOURLY).map(([date, value],
      index) => {
        return [new Date(date).getTime(), value];
      });
  - entity: sensor.current_spot_electricity_price
    float_precision: 2
    show:
      in_header: before_now
    data_generator: |
      return Object.entries(entity.attributes).map(([date, value], index) => {
        return [new Date(date).getTime(), (value + 0.35 + 0.028 + 0.114 )* 1.21];
      });

Since spot prices are (at the moment) hourly and HDO can be in 15 minute increments, for the graph to work well, both entities must have the same interval duration. Function group_by takes care of it. In this example it groups by 1 hour, because that works for me well. In your case, maybe 30minutes or even 15minutes might be equired.

adding remaining time in GUI page

  - entity: binary_sensor.hdo_nizky_tarif
    name: Zbývající čas
    type: attribute
    attribute: remaining_time

Step 3: Restart HA

For the newly added integration to be loaded, HA needs to be restarted.

References