Zařízení definovaná uživatelem
Při vytváření nabíječky, topení, měřiče sítě, domácí baterie, fotovoltaické elektrárny, dalšího spotřebiče, vozidla, tarifu, zařízení pro omezení výkonu nebo služby oznámení můžete v seznamu typů zařízení zvolit možnost Zařízení nastavené uživatelem a popsat vlastní logiku na základě systému pluginů.
Můžete tak připojit zařízení, která vestavěné šablony nepokrývají, např. číst aktuální výkon z HTTP endpointu nebo zapisovat cílový proud přes Modbus.
Jak definovat zařízení
Sekce “Jak definovat zařízení”V uživatelském rozhraní nabízí výběr šablon u každého typu zařízení položku Zařízení nastavené uživatelem.
Jejím výběrem otevřete editor pro vlastní konfiguraci.
Ve výchozím nastavení se vytvoří zařízení s type: custom. Typ lze v případě potřeby přepsat jinou hodnotou (např. type: heatpump).
power: source: mqtt topic: home/current/imsys/chn2/rawPřípadně můžete celou konfiguraci zapsat přímo do evcc.yaml s name, type: custom a blokem atributů pod nimi:
meters: - name: imsys type: custom power: source: mqtt topic: home/current/imsys/chn2/rawVšechny ostatní příklady na této stránce používají plochý blok atributů, který zadáváte v uživatelském rozhraní.
Seznam dostupných zdrojů pluginů (http, mqtt, modbus, …) a pomocných funkcí (calc, map, watchdog, …) najdete v referenci pluginů.
Atributy a funkce
Sekce “Atributy a funkce”Každé zařízení definované uživatelem popisují tři druhy polí:
- Atributy pro čtení: pluginy, které evcc dotazuje, aby získal hodnotu (např.
power,soc,status). - Atributy pro zápis: pluginy, které evcc volá, aby nastavil hodnotu nebo spustil akci (např.
enable,maxcurrent,wakeup). Zapisovaná hodnota je v pluginu k dispozici. - Funkce: seznam
features, který zapíná nestandardní chování. Dostupné příznaky závisejí na typu zařízení.
Obecný tvar:
# read attributespower: source: http uri: http://meter.local/powersoc: source: mqtt topic: battery/soc
# write attributesenable: source: http uri: "http://charger/relay?turn={{if .enable}}on{{else}}off{{end}}"maxcurrent: source: mqtt topic: charger/maxcurrent payload: ${maxcurrent:%d}
# featuresfeatures: - heating - integrateddeviceDostupné názvy atributů a příznaky funkcí se liší podle typu zařízení a jsou uvedeny v následujících sekcích.
Měřič
Sekce “Měřič”Měřiče výkonu se konfigurují v sekci meters.
Na měřiče definované pod meters: lze odkazovat ze site:
grid: měřič sítěpv: solární měřičbattery: měřič domácí bateriecharge: měřič nabíjecího výkonu nabíječkyaux: měřič spotřeby pro chytré spotřebičeconsumer: měřič běžného spotřebiče, zaznamenávaný pro statistiky spotřebyext: další měřič, který se nepoužívá pro regulaci ani nezobrazuje v uživatelském rozhraní, pouze se zaznamenává a exportuje
power je jediný povinný atribut.
Ne všechny role měřičů podporují všechny atributy:
limitsocabatterymodese používají výhradně pro měřiče baterie (odkazované zesite.battery).curtailacurtailedse používají společně pro měřičepv, které podporují omezení výkonu (§ 9 EEG).currents,voltagesapowersjsou fázové atributy pro měřiče sítě (grid) a nabíječky (charge), z nichž každý musí obsahovat přesně tři pluginy (jako pole YAML).
Každý plugin musí vracet správný datový typ. Pro převod použijte čtecí pipeline.
Atributy pro čtení
Sekce “Atributy pro čtení”| Atribut | Typ | Povinné | Kontext | Popis |
|---|---|---|---|---|
power | float | ano | vše | Aktuální výkon ve W |
energy | float | ne | vše | Stav měřiče v kWh |
returnenergy | float | ne | vše | Stav měřiče v opačném směru v kWh (viz níže) |
maxpower | int | ne | pv (hybrid) | Maximální AC výkon ve W |
curtailed | int | ne | pv | Aktuální limit exportu do sítě v % (0 až 100). Pouze společně s curtail. |
soc | int | ne | battery | Stav nabití v % |
capacity | float | ne | battery | Kapacita v kWh |
powers | [float,float,float] | ne | vše | Fázové výkony ve W. Pro určení znaménka u proudů bez znaménka. |
currents | [float,float,float] | ne | vše | Fázové proudy v A. Pro zjištění aktivních fází. |
voltages | [float,float,float] | ne | vše | Fázová napětí ve V. Pro zjištění zapojení (1f/3f). |
Znaménka a směry
Sekce “Znaménka a směry”Co znamená kladná hodnota power a oba směry energie, závisí na roli měřiče:
| Role | power kladné | energy | returnenergy |
|---|---|---|---|
grid | Odběr ze sítě | Odebráno | Exportováno (export do sítě) |
pv | Výroba | Vyrobeno | Spotřebováno (zřídka) |
battery | Vybíjení (záporné: nabíjení) | Vybito | Nabito |
charge | Nabíjení | Nabito | Vybito (V2X) |
aux, ext, consumer | Spotřeba | Spotřebováno | Vyrobeno (zřídka) |
energy a returnenergy jsou rostoucí stavy měřiče v kWh, ideálně celkové hodnoty od uvedení měřiče do provozu, jako jsou registry odběru a exportu u měřiče sítě.
Rozdíly mezi stavy se počítají automaticky, takže plugin musí vracet stav měřiče, a ne hodnoty spotřeby za interval.
Funguje i počítadlo, které se pravidelně nuluje (např. denně), protože vynulování se rozpozná automaticky.
Hodnota 0 se považuje za nedostupnou.
Oba atributy jsou volitelné.
Bez nich se historie energie odvozuje z power v čase.
Skutečné stavy měřiče poskytují přesnější dlouhodobé statistiky.
Atributy pro zápis
Sekce “Atributy pro zápis”| Atribut | Typ | Povinné | Kontext | Popis |
|---|---|---|---|---|
limitsoc | int | ne | battery | Nastaví cíl nabíjení baterie v %. Cíl nabíjení se vypočítá z nakonfigurovaných MinSoc, MaxSoc a aktuálního stavu nabití (atribut soc). |
curtail | int | ne | pv | Nastaví limit exportu do sítě v % jmenovitého výkonu výroby (0 až 100, 100 = bez limitu). Pouze společně s curtailed. Viz Zařízení pro omezení výkonu. |
batterymode | int | ne | battery | Přímo nastaví režim řízení baterie. Režimy jsou uvedeny níže. |
Režimy baterie
Sekce “Režimy baterie”| Hodnota | Režim | Chování |
|---|---|---|
1 | normal | Běžný provoz: nabíjení z přebytku, vybíjení pro spotřebu |
2 | hold | Bez vybíjení, nabíjení z přebytku je stále povoleno |
3 | charge | Nabíjení ze sítě, bez vybíjení |
4 | holdcharge | Bez nabíjení, vybíjení pro spotřebu je stále povoleno |
5 | discharge | Vybíjení do sítě |
Používají se jen ty režimy baterie, které zařízení podporuje.
Pokud je batterymode typu switch, podporované režimy se převezmou z jeho hodnot case.
Funguje to i tehdy, když je switch vložený do pluginu watchdog.
Každý jiný plugin potřebuje batterymodes se seznamem podporovaných režimů, např. batterymodes: ["normal", "hold", "charge"].
Příklady
Sekce “Příklady”Čtení aktuálního výkonu sítě z HTTP endpointu.
meters: - name: grid type: custom power: source: http uri: http://zaehler.network.local:8080/api/data.json?from=now jq: .data.tuples[0][1]Čtení výkonu a stavu nabití domácí baterie a nastavení jejího režimu přes HTTP.
switch pokrývá režimy normal, hold a charge, takže evcc nabízí právě tyto tři.
meters: - name: battery type: custom capacity: 10 # kWh power: source: http uri: http://battery.local/api/power soc: source: http uri: http://battery.local/api/soc batterymode: source: switch switch: - case: 1 # normal set: source: http uri: http://battery.local/api/mode method: POST body: '{"mode": "auto"}' - case: 2 # hold set: source: http uri: http://battery.local/api/mode method: POST body: '{"mode": "hold"}' - case: 3 # charge set: source: http uri: http://battery.local/api/mode method: POST body: '{"mode": "charge"}'Nabíječka
Sekce “Nabíječka”Výchozí type: custom pokrývá nabíječky s plynulým řízením proudu.
Specializované typy nabíječek pro jiná zařízení najdete v sekcích Přepínatelná zásuvka a Tepelná čerpadla.
Atributy pro čtení
Sekce “Atributy pro čtení”| Atribut | Typ | Povinné | Popis |
|---|---|---|---|
status | string | ano | Stav (A–F) |
enabled | bool | ano | Je nabíjení povoleno? |
power | float | ne | Nabíjecí výkon ve W |
energy | float | ne | Stav měřiče v kWh |
returnenergy | float | ne | Stav měřiče v opačném směru v kWh (vybitá energie, V2X) |
identify | string | ne | Aktuální RFID identifikátor |
soc | int | ne | Stav nabití v % |
limitsoc | int | ne | Limit nabití v % |
temp | float | ne | Aktuální teplota v °C (vytápění, alias pro soc) |
limittemp | int | ne | Teplotní limit v °C (vytápění, alias pro limitsoc) |
finishtime | string | ne | Odhadovaný čas dokončení nabíjení (RFC3339, Go duration, Unix timestamp nebo zbývající sekundy) |
phases | int | ne | Počet fyzických fází (1–3) |
powers | [float,float,float] | ne | Fázové výkony ve W. Pro určení znaménka u proudů bez znaménka. |
currents | [float,float,float] | ne | Fázové proudy v A. Pro zjištění aktivních fází. |
voltages | [float,float,float] | ne | Fázová napětí ve V. Pro zjištění zapojení (1f/3f). |
Atributy pro zápis
Sekce “Atributy pro zápis”| Atribut | Typ | Povinné | Popis |
|---|---|---|---|
enable | bool | ano | Povolí/zakáže nabíjení |
maxcurrent | int | ano | Nastaví maximální nabíjecí proud v A |
maxcurrentmillis | float | ne | Nastaví maximální nabíjecí proud v A (s desetinnými místy) |
phases1p3p | int | ne | Přepnout fáze (vyžaduje tos: true) |
wakeup | bool | ne | Probudí vozidlo |
Funkce
Sekce “Funkce”| Funkce | Popis |
|---|---|
integrateddevice | Bez výběru vozidla. Zařízení běží bez připojeného vozidla a bez nabíjecích relací (např. tepelné čerpadlo, topná tyč, trvale instalovaný spotřebič). |
heating | Zařízení se považuje za topení: stav nabití a limity se zobrazují v °C místo v %. |
continuous | Zařízení ve stavu „vypnuto“ dál běží ve vlastním běžném provozu. Uživatelské rozhraní zobrazuje Běžný režim místo Pohotovostní režim. Požadavek na zvýšení výkonu (např. při solárním přebytku nebo levné energii ze sítě) se označuje jako Boost. Režimy se označují Normální, Chytrý a Boost místo Vypnuto, Chytrý a Rychlé. |
switchdevice | Zařízení lze pouze zapnout/vypnout (bez plynulého řízení proudu). Maximální proud a volba Vždy nabíjet se nezobrazují. Minimální proud a fáze určují výkon pro zapnutí ze soláru. Bez continuous se režimy označují Vypnuto, Chytrý a Zapnuto. |
Běžné kombinace funkcí ve vestavěných šablonách:
Elektrický ohřívač:
features: - integrateddevice - heatingZásuvka:
features: - switchdevice - integrateddevice # optional, when the socket drives a fixed load - heating # optional, when it controls a heating deviceTepelné čerpadlo:
features: - integrateddevice - heating - continuous - switchdevice # optional, when no current control is available (SG Ready)Příklady
Sekce “Příklady”Dotaz na stav nabíjení nabíječky přes Modbus.
features: - integrateddeviceenabled: source: modbus id: 4711 uri: modbus.local:502 rtu: false register: address: 100 type: holding decode: uint16Spínání zásuvky Tasmota zprávou MQTT.
enable: source: mqtt broker: mosquitto.local:883 topic: cmd/unu-switch/Power payload: ONPřepínatelná zásuvka
Sekce “Přepínatelná zásuvka”type: switchsocket
Pro chytré zásuvky a podobná reléová zařízení, která lze pouze zapnout/vypnout bez plynulého řízení proudu.
Stav nabíjení se odvozuje z aktuálního výkonu (výkon nad standbypower znamená nabíjení).
Podrobnosti o celém nastavení najdete v sekci Chytré spínače.
| Atribut | Typ | Povinné | Popis |
|---|---|---|---|
enabled | bool | ano | Čtení stavu zásuvky (zapnuto/vypnuto) |
power | float | ano | Aktuální výkon ve W |
energy | float | ne | Stav měřiče v kWh |
soc | float | ne | Stav nabití v % |
enable | bool | ano | Zapne/vypne zásuvku |
standbypower | float | ne | Prahový výkon ve W. Nad ním se zařízení považuje za nabíjející, pod ním za zařízení v pohotovostním režimu. Záporná hodnota znamená pevný výkon bez měření. |
Tepelná čerpadla
Sekce “Tepelná čerpadla”Tepelná čerpadla a podobná zařízení pro vytápění používají vlastní typy nabíječek, každý s vlastními atributy. Celé nastavení je popsáno v sekci Tepelná čerpadla, elektrické ohřívače.
type: heatpump
Pro invertorová tepelná čerpadla, která přijímají plynulou požadovanou hodnotu výkonu přes Modbus, HTTP nebo jiné rozhraní.
Cílový topný výkon se zapisuje přímo přes setmaxpower.
| Atribut | Typ | Povinné | Popis |
|---|---|---|---|
power | float | ne | Aktuální výkon ve W |
energy | float | ne | Stav měřiče v kWh |
temp | float | ne | Aktuální teplota v °C |
limittemp | int | ne | Interní teplotní limit zařízení v °C |
setmaxpower | int | ano | Nastaví maximální topný výkon ve W |
getmaxpower | float | ne | Aktuální maximální topný výkon ve W |
type: sgready
Pro tepelná čerpadla, která poskytují standardní rozhraní SG-Ready jako jedinou hodnotu režimu.
Podporovány jsou tři režimy: 1 snížený, 2 normální, 3 boost.
| Atribut | Typ | Povinné | Popis |
|---|---|---|---|
power | float | ne | Aktuální výkon ve W |
energy | float | ne | Stav měřiče v kWh |
temp | float | ne | Aktuální teplota v °C |
limittemp | int | ne | Interní teplotní limit zařízení v °C |
setmode | int | ano | Změnit režim SG-Ready (1: snížený, 2: normální, 3: boost) |
getmode | int | ne | Aktuální režim SG-Ready (1, 2, 3) |
setmaxpower | int | ne | Nastaví maximální topný výkon ve W |
type: sgready-relay
Pro tepelná čerpadla, jejichž vstup SG-Ready je zapojen jako dva bezpotenciálové reléové kontakty (boost + dim). Každý kontakt ovládá samostatná dílčí nabíječka, na kterou se odkazuje podle typu, nikoli přes pluginy.
| Atribut | Typ | Povinné | Popis |
|---|---|---|---|
power | float | ne | Aktuální výkon ve W |
energy | float | ne | Stav měřiče v kWh |
temp | float | ne | Aktuální teplota v °C |
limittemp | int | ne | Interní teplotní limit zařízení v °C |
boost | charger-typed | ano | Relé pro kontakt SG-Ready boost |
dim | charger-typed | ne | Relé pro kontakt SG-Ready dim |
Vozidlo
Sekce “Vozidlo”Parametry vozidla lze číst také přes pluginy.
Atributy pro čtení
Sekce “Atributy pro čtení”| Atribut | Typ | Povinné | Popis |
|---|---|---|---|
soc | int | ano | Stav nabití v % |
limitsoc | int | ne | Limit nabití v % |
status | string | ne | Stav (A–F) |
range | int | ne | Dojezd v km |
odometer | int | ne | Ujeté kilometry v km |
climater | bool | ne | Je klimatizace aktivní? |
getmaxcurrent | float | ne | Maximální nabíjecí proud v A |
finishtime | string | ne | Odhadovaný čas dokončení nabíjení (RFC3339, Go duration, Unix timestamp nebo zbývající sekundy) |
Atributy pro zápis
Sekce “Atributy pro zápis”| Atribut | Typ | Povinné | Popis |
|---|---|---|---|
wakeup | bool | ne | Probudí vozidlo |
chargeenable | bool | ne | Spustí/zastaví nabíjení |
maxcurrent | int | ne | Nastaví maximální nabíjecí proud v A |
Konfigurace
Sekce “Konfigurace”| Atribut | Typ | Povinné | Popis |
|---|---|---|---|
title | string | ne | Zobrazovaný název vozidla |
capacity | float | ne | Kapacita baterie v kWh |
icon | string | ne | Ikona zobrazená v uživatelském rozhraní |
Funkce
Sekce “Funkce”| Funkce | Popis |
|---|---|
coarsecurrent | Vozidlo přijímá nabíjecí proud jen v celých krocích po 1 A. Regulace je omezena na hrubé kroky po 1 A, i když by nabíječka dokázala regulovat jemněji. |
streaming | Vozidlo data samo posílá, místo aby bylo dotazováno (např. BMW Cardata). Aktualizace stavu nabití mimo aktivní nabíjení se považují za spolehlivé. |
welcomecharge | Vozidlo očekává, že nabíječka bude při připojení aktivní, aby spojení vyhodnotilo jako funkční. Jinak hlásí chybu. |
Příklady
Sekce “Příklady”Čtení aktuálního dojezdu ze zpráv MQTT.
title: Green Mazda # display name (optional)capacity: 50 # battery capacity in kWh (optional)features: - coarsecurrentrange: source: mqtt topic: mazda2mqtt/c53/chargeInfo/drivingRangeKmProbuzení vozidla pomocí HTTP pingu před odesláním dalších dotazů.
wakeup: source: http uri: http://teslalogger.local:5000/command/08154711/wake_uponIdentify automaticky nastaví režim nabíjení, když je vozidlo rozpoznáno.
soc: source: mqtt topic: car/soconIdentify: mode: smartDostupné režimy: off, smart, now.
Zastaralé hodnoty pv a minpv jsou stále přijímány a aktivují smart s vypnutou nebo zapnutou volbou Vždy nabíjet.
Tarif a předpověď
Sekce “Tarif a předpověď”Pomocí tarifu definovaného uživatelem připojíte evcc přes pluginy k vlastnímu zdroji hodnot.
Atribut tariff určuje, co zdroj představuje a v jaké jednotce jsou hodnoty.
Atributy pro čtení
Sekce “Atributy pro čtení”Nakonfigurovat je nutné právě jeden z atributů price nebo forecast.
| Atribut | Typ | Popis |
|---|---|---|
price | float | Aktuální hodnota. Číslo s plovoucí čárkou vrácené pluginem. |
forecast | string | Předpověď jako řetězec JSON se seznamem časových úseků a hodnot (viz schéma níže). Načítá se každou hodinu. |
Konfigurace
Sekce “Konfigurace”| Atribut | Typ | Povinné | Popis |
|---|---|---|---|
tariff | string | ne | price (výchozí), co2, solar nebo temperature. Určuje jednotku vracených hodnot: cena v nastavené měně za kWh, intenzita CO₂ v g/kWh, solární předpověď ve W, teplota v °C. |
charges | float | ne | Pevný příplatek za kWh přičtený ke každé hodnotě. Výchozí 0. |
chargesZones | list | ne | Časově závislé příplatky (např. síťové poplatky), které pro určitá období přepisují charges. Viz časově závislé síťové poplatky. |
tax | float | ne | Procentní daň použitá na výsledek, např. 0.2 pro 20 %. Výchozí 0. |
formula | string | ne | Výraz v Go pro vlastní výpočet, ve kterém jsou k dispozici proměnné price, charges a tax. Viz příklady. |
interval | duration | ne | Interval dotazování pro forecast. Výchozí 1h. |
cache | duration | ne | Doba uložení v mezipaměti pro price. Výchozí 15m. |
Funkce
Sekce “Funkce”| Funkce | Popis |
|---|---|
average | Zprůměruje jemnější cenové úseky (např. 15minutové hodnoty) na hodinové průměry. |
cacheable | Ukládá načtené hodnoty. Použijí se jako záloha po restartu nebo výpadku poskytovatele (až 24 hodin). |
Příklady
Sekce “Příklady”Aktuální cena přes HTTP:
price: source: http uri: https://example.com/api/pricePředpověď přes HTTP:
forecast: source: http uri: https://api.allinpower.nl/troodon/api/p/spot_market/prices/?product_type=ELK jq: '[.timestamps, .prices] | transpose | map({ "start": (.[0] | strptime("%Y-%m-%dT%H:%M:%S.%f%z") | strftime("%Y-%m-%dT%H:%M:%SZ")), "end": (.[0] | strptime("%Y-%m-%dT%H:%M:%S.%f%z") | mktime + 3600 | strftime("%Y-%m-%dT%H:%M:%SZ")), "value": .[1] }) | tostring'Plugin musí vracet strukturu JSON se seznamem časových úseků a cen.
Pole s datem musí mít tvar YYYY-MM-DDTHH:MM:SSZ a cena musí být ve správné měnové jednotce (např. EUR).
evcc interně pracuje s 15minutovými intervaly; pluginy mohou vracet hodinová data, která se převedou automaticky.
[ { "start": "2025-01-01T00:00:00Z", "end": "2025-01-01T00:15:00Z", "value": 25.0 }, { "start": "2025-01-01T00:15:00Z", "end": "2025-01-01T00:30:00Z", "value": 26.5 }, { "start": "2025-01-01T00:30:00Z", "end": "2025-01-01T00:45:00Z", "value": 24.8 }, { "start": "2025-01-01T00:45:00Z", "end": "2025-01-01T01:00:00Z", "value": 27.2 }]Pole formula přijímá výraz v Go, ve kterém jsou k dispozici proměnné price, charges, tax a časové razítko úseku ts.
K dispozici jsou knihovna math a metody time.Time na ts.
Vzorec se vyhodnocuje pro aktuální cenu i pro každý úsek předpovědi.
Cenový strop:
charges: 0.22tax: 0.19formula: math.Min(0.5, (price + charges) * (1 + tax))Omezí výsledek na 50 ct/kWh.
Bez tarifu výkupu energie při záporných cenách na denním trhu (německé fotovoltaické elektrárny uvedené do provozu po 25. únoru 2025):
formula: factor := 1.0; if price < 0 { factor = 0.0 }; factor * 0.07Vyplácí pevný tarif výkupu energie 7 ct/kWh, kromě případů, kdy je cena na denním trhu záporná.
Externí limit
Sekce “Externí limit”Integrace definovaná uživatelem pro funkci Externí limit připojí řídicí jednotku nebo systém řízení energie, který nepokrývá žádná vestavěná integrace. V uživatelském rozhraní zvolte Uživatelem definovaná integrace v Konfigurace → Vnější limit.
Způsob příjmu signálu limitu popisuje jeden ze čtyř typů: relay (jeden spínací kontakt), fnn (řídicí jednotka FNN s více spínacími kontakty), eebus (protokol EEBUS) nebo custom (dynamické hodnoty limitu přes pluginy).
Každý signál se čte přes konfiguraci pluginu (GPIO, MQTT, HTTP, Modbus).
Viz také referenci konfigurace hems.
Relé
Sekce “Relé”Připojení přes jeden spínací kontakt je nejjednodušší řešení. Řídicí jednotka sepne kontakt, který vyhodnotí vaše instance evcc.
| Atribut | Typ | Povinné | Popis |
|---|---|---|---|
maxPower | int (W) | ano | Celkový limit výkonu, který platí, dokud je signál aktivní. |
limit | plugin | ano | Konfigurace pluginu pro čtení spínacího kontaktu. true/1 = omezeno, false/0 = normální stav. |
passthrough | plugin | ne | Předává signál omezení do externího systému. |
interval | duration | ne | Interval dotazování spínacího kontaktu. Výchozí 10s. |
Limit výkonu vám sdělí provozovatel distribuční soustavy. U více řiditelných spotřebních zařízení (SteuVE) se zohledňuje koeficient soudobosti. Limit si můžete vypočítat i sami podle vzorce: Celkový limit = počet SteuVE × 4,2 kW × koeficient soudobosti. Podrobnosti k výpočtu najdete zde.
Při použití Raspberry Pi lze pin GPIO číst přímo:
type: relaymaxPower: 8400 # Example for 2 SteuVElimit: source: gpio function: read pin: 17 # Read GPIO pin 17 # Return value: false = not limited, true = limitedDalší podrobnosti o pluginu GPIO najdete v dokumentaci pluginů.
Pokud řídicí jednotka nebo brána posílá zprávy MQTT:
type: relaymaxPower: 11340 # Example for 3 SteuVE with simultaneity factor 0.9limit: source: mqtt topic: hems/limit/status # Expected values: 0/false = normal, 1/true = limitedPro řídicí jednotky s REST API:
type: relaymaxPower: 13440 # Example for 4 SteuVE with simultaneity factor 0.8limit: source: http uri: http://steuerbox.local/api/limit jq: .limited # JSON path to boolean valuePokud řídicí jednotka nebo brána poskytuje limit výkonu přes Modbus:
type: relaymaxPower: 4200 # Example for 1 SteuVElimit: source: modbus uri: 192.168.179.200:4703 # Example: relay on the 2nd S0 meter of a cFos Power Brain solar wallbox id: 3 # Modbus slave ID timeout: 5s register: type: holding decode: uint16 address: 8056 # Return value: 0 = not limited, 1 = limitedŘídicí jednotka FNN
Sekce “Řídicí jednotka FNN”Řídicí jednotky podle standardu FNN signalizují snížení odběru a omezení výkonu přes samostatné spínací kontakty.
Snížení odběru (W4) a omezení výkonu (W3, S2, S1) fungují nezávisle na sobě.
Nakonfigurovat je nutné alespoň jeden ze signálů w4 nebo w3.
| Atribut | Typ | Povinné | Popis |
|---|---|---|---|
maxDimPower | int (W) | ano¹ | Limit spotřeby, dokud je aktivní signál snížení (W4). |
maxCurtailPower | int (W) | ano² | Instalovaný solární výkon, základní hodnota pro stupně omezení výkonu. |
w4 | plugin | ne | Čte signál snížení. Omezí spotřebu na maxDimPower. |
w3 | plugin | ne | Čte signál omezení výkonu. Omezí export do sítě na 0 % z maxCurtailPower. |
s2 | plugin | ne | Čte signál omezení výkonu. Omezí export do sítě na 30 % z maxCurtailPower. |
s1 | plugin | ne | Čte signál omezení výkonu. Omezí export do sítě na 60 % z maxCurtailPower. |
interval | duration | ne | Interval dotazování spínacích kontaktů. Výchozí 10s. |
¹ povinné, pokud je nakonfigurován w4, ² povinné, pokud je nakonfigurován w3.
type: fnnmaxDimPower: 4200 # Consumption limit while dimmed (in watts)maxCurtailPower: 10000 # Installed solar power, base for curtailment steps (in watts)w4: source: gpio function: read pin: 17 # Read GPIO pin 17 # Return value: false = normal, true = activew3: source: gpio function: read pin: 27s2: source: gpio function: read pin: 22s1: source: gpio function: read pin: 23EEBUS
Sekce “EEBUS”Digitální připojení přes protokol EEBUS. Řídicí jednotka komunikuje přímo s vaší instancí evcc a automaticky předává limit výkonu. Řídicí jednotku a evcc je nutné jednou spárovat.
| Atribut | Typ | Povinné | Popis |
|---|---|---|---|
ski | string | ano | SKI (Subject Key Identifier) řídicí jednotky. |
contractualConsumptionNominalMax | int (W) | ne | Smluvní maximální příkon. |
failsafeConsumptionActivePowerLimit | int (W) | ne | Záložní limit příkonu pro případ poruchy. |
productionNominalMax | int (W) | ne | Instalovaný výkon zdroje (Wp). |
failsafeProductionActivePowerLimit | int (W) | ne | Záložní limit výkonu exportu do sítě pro případ poruchy. |
failsafeDurationMinimum | duration | ne | Minimální doba záložního režimu, např. 2h. |
passthrough | plugin | ne | Předává signál omezení do externího systému. |
type: eebusski: "1234-5678-90AB-CDEF" # SKI of the control boxVlastní
Sekce “Vlastní”Obecná integrace pro řídicí systémy, které místo spínacích kontaktů poskytují dynamické hodnoty limitu.
Limit spotřeby a omezení výkonu se čtou přes pluginy a fungují nezávisle na sobě.
Nakonfigurovat je nutné alespoň jeden z atributů maxConsumptionPower nebo curtailedPercent.
| Atribut | Typ | Povinné | Popis |
|---|---|---|---|
maxConsumptionPower | plugin | ne¹ | Čte celkový limit výkonu ve wattech. 0 = bez limitu. |
curtailedPercent | plugin | ne¹ | Čte povolený export do sítě v procentech z productionNominalMax (0 až 100). 100 = bez omezení výkonu. |
productionNominalMax | int (W) | ne² | Instalovaný výkon zdroje (Wp). |
interval | duration | ne | Interval dotazování pluginů. Výchozí 10s. |
¹ povinný je alespoň jeden z nich, ² povinné, pokud je nakonfigurován curtailedPercent.
type: custommaxConsumptionPower: source: http uri: http://steuerbox.local/api/limit jq: .maxPower # Power limit in watts, 0 = no limitcurtailedPercent: source: mqtt topic: hems/curtail/percent # Allowed feed-in in percent, 100 = no curtailmentproductionNominalMax: 10000 # Installed generator power (Wp)Zařízení pro omezení výkonu
Sekce “Zařízení pro omezení výkonu”Zařízení pro omezení výkonu definované uživatelem omezuje na žádost provozovatele distribuční soustavy (§ 9 EEG) export do sítě z fotovoltaické elektrárny, pokud střídač nelze omezit přes konfiguraci jeho měřiče.
V uživatelském rozhraní zvolte Zařízení nastavené uživatelem v Konfigurace → Síť → Přidat zařízení omezující výkon.
Viz také referenci konfigurace curtailers a Externí limit.
Zařízení dostává povolený export do sítě v procentech instalovaného výkonu zdroje a musí ho uplatnit na střídači.
100 znamená bez limitu.
Atributy
Sekce “Atributy”| Atribut | Typ | Povinné | Popis |
|---|---|---|---|
curtail | plugin | ano | Nastaví limit exportu do sítě v % jmenovitého výkonu výroby (0 až 100). Musí podporovat zápis. |
curtailed | plugin | ano | Čte aktuální limit exportu do sítě v %. Pokud ho zařízení neumí hlásit, použijte plugin error (viz příklad). |
Příklady
Sekce “Příklady”curtail: source: http uri: http://inverter.local/api/limit?percent={{ .curtail }} method: POSTcurtailed: source: http uri: http://inverter.local/api/limit jq: .percentStřídač neumí hlásit svůj limit, proto curtailed vrací ErrNotAvailable a limit se zapíše při každé jeho změně.
curtail: source: modbus uri: 192.168.0.10:502 id: 1 register: type: writesingle address: 40016 encoding: uint16curtailed: source: error error: ErrNotAvailableSlužba oznámení
Sekce “Služba oznámení”Služba oznámení definovaná uživatelem zpracovává zprávy oznámení přes libovolný plugin, který podporuje zápis, např. shellový skript, HTTP požadavek nebo zprávu MQTT. V uživatelském rozhraní zvolte Zařízení definovaná uživatelem v Konfigurace → Oznámení → Služby.
Zpráva je pluginu předána v parametru ${send} (nebo jako parametr šablony {{.send}}).
Konfigurace
Sekce “Konfigurace”| Atribut | Typ | Povinné | Popis |
|---|---|---|---|
send | plugin | ano | Plugin volaný pro každou zprávu. Musí podporovat zápis. |
encoding | string | ne | Formát hodnoty předávané v ${send}. Viz níže. |
Možné hodnoty encoding jsou:
| Kódování | Obsah ${send} |
|---|---|
json | Objekt JSON { "msg": msg, "title": title }. Pole title se přidá jen tehdy, je-li pro událost definováno. |
csv | title a msg jako seznam oddělený čárkami |
tsv | Jako csv, ale oddělené tabulátory |
title | Pouze nadpis |
| (žádné) | Pouze zpráva (msg) |
Příklad
Sekce “Příklad”messaging: events: connect: title: "${vehicleTitle} connected" msg: "${vehicleTitle} was connected (charging mode: ${mode})." services: - type: custom encoding: json send: # plugin type source: script # plugin-specific configuration; # {{.send}} contains the JSON message cmd: /usr/local/bin/evcc_message "{{.send}}"V tomto příkladu se volá shellový skript (cmd) s argumentem {"title": "...", "msg": "..."}.