Správce nabíjení cFos umožňuje dynamické vyhodnocování vzorců. Tato funkce je k dispozici pro měřidlo typu "Výraz" a pro pravidla zpoplatnění typu "Vzorec".
Můžete proto nastavit měřiče, které vypočítávají hodnoty z jiných měřičů nebo zařízení EVSE a udržují je připravené a zobrazují je. Pravidla nabíjení mohou také používat vzorce pro dynamický výpočet nabíjecího proudu a také přistupovat k měřičům a EVSE (včetně měřičů typu "Expression").
Se vzorci lze provádět následující operace:
+ - * / % | Sčítání, odčítání, násobení, dělení, modul |
& | | bitové AND a OR |
^ | Výpočet výkonu, např. 10^2 = 100 |
min(x,y) | Minimum x a y, možnost více než 2 argumentů |
max(x,y) | Maximálně x a y, možné více než 2 argumenty |
abs(x) | Absolutní hodnota x, např. abs(-2) = 2 |
clamp(x,min,max) | Hodnota x = min (pokud x < min), x = max (pokud x > max), jinak ponechat x |
round(x) | Zaokrouhlete x na celé číslo. Příklad: Zaokrouhlení na 1 desetinné místo: round(10*x)/10. |
sqrt(x) | Druhá odmocnina z x |
exists(x) | true, pokud proměnná x existuje, jinak false |
Dále jsou možné následující logické výrazy:== (rovná se), != (nerovná se), < (menší), <= (menší-rovná se), > (větší), >= (větší-rovná se), ! (ne), || (logické Nebo), && (logické A), ? (podmíněný operátor, např. x ? y : z, vrací y, pokud platí x, jinak z)
To umožňuje například vypnutí proudu v závislosti na podmínkách: M1.current >= 6500 ? M1.current : 0 vrátí proud M1, pokud je větší než 6,5 A, a 0 v opačném případě, čímž se nabíjení pozastaví. Pro tyto podmínky je také možné se dotazovat na vstupy (viz níže)
Možné jsou následující názvy:
| Mx | Měřič s ID jednotky x, např. M1 |
| Ex | EVSE s ID zařízení x, např. E1 |
Je také možné přistupovat k virtuálním měřičům, jako je přebytek solární energie, odběr ze sítě nebo "Power avail. for EVSEs" (výkon dostupný pro wallboxy), a to nastavením měřiče a následným použitím příslušného ID zařízení ve vzorci.
Pomocí bodu pak můžete přistupovat k jednotlivým hodnotám jednotek. Ty se vyvolávají následujícím způsobem:
| current_l1 | Proud fáze 1 v mA |
| current_l2 | Proud fáze 2 v mA |
| current_l3 | Proud fáze 3 v mA |
| current | Proud aktuální fáze v mA (u pravidel nabíjení se Charging Manager dotazuje na všechny fáze postupně; u měřičů typu "Expression" se použije příslušná fáze, na kterou se vzorec vztahuje. Pokud jste zadali vzorec pro "Proud L1", můžete pole pro proud L2 a L3 vynechat. Pak se použije vzorec pro proud L1) |
| power_w | Aktuální činný výkon ve wattech |
| offered | Wallbox: Nabízený proud v mA |
| import_wh | Energie odebraná ve Wh |
| export_wh | Vstřikovaná energie ve Wh |
| dt | Čas, který uplynul od poslední aktualizace (v sekundách), pouze pro čítač "Expression", viz také CM._dt. |
| inputN | Číslo vstupu N zařízení, 1 = aktivní, 0 = neaktivní, N je číslo vstupu, počínaje 1. |
| soc | SOC, úroveň nabití v procentech (počítadlo/paměť) - pokud to zařízení podporuje |
| id | ID zařízení, ID Modbusu |
| txn_duration | Doba trvání aktuální transakce v sekundách (EVSE) |
| charging_dur | Skutečná doba nabíjení aktuální transakce v sekundách (Wallbox) |
| txn_energy | Nabitá energie aktuální transakce ve Wh (EVSE) |
| min_current | Minimální nabíjecí proud v mA (EVSE) |
| max_current | Maximální nabíjecí proud v mA (EVSE) |
| state | Stav: 1 čeká, 2 zapojeno, 3 nabíjení, 4 nabíjení s ventilací, 5 chyba, 6 offline (EVSE) |
| cphases | Počet fází nabíjení (0-3) |
| pphases | Počet předpokládaných fází nabíjení (0-3) |
| lb_cur_l1 | Aktuálně vypočítaný proud fáze 1 v mA (wallbox). Pouze při výpočtu pravidel nabíjení wallboxu, jinak 0 |
| lb_cur_l2 | Aktuální vypočtený proud fáze 2 v mA (wallbox). Pouze při výpočtu pravidel nabíjení wallboxu, jinak 0 |
| lb_cur_l3 | Aktuálně vypočítaný proud fáze 3 v mA (wallbox). Pouze při výpočtu pravidel nabíjení wallboxu, jinak 0 |
| lb_cur | Proud vypočítaný pro proudovou fázi v mA (wallbox). Pouze při výpočtu pravidel nabíjení wallboxu, jinak 0. Správce nabíjení se dotazuje na všechny fáze postupně. |
| surplus_pcur | PV přebytečný proud na (předpokládanou) fázi v mA |
| surplus_wanted | 1, pokud již bylo použito pravidlo přebytku PV, jinak 0 |
| budget | KWh nebo minut v běžném rozpočtu |
| budget_amount | Maximální počet kWh nebo minut v rámci aktuálního rozpočtu |
| budget_used | KWh nebo minuty spotřebované v rámci aktuálního rozpočtu |
| com_err | 1, pokud došlo k chybě COM, jinak 0 |
| com_err2 | 1, pokud je chyba COM přítomna déle než 12 s, jinak 0 |
| reactive_power | Specifikace jalového výkonu ve wattech (pokud to zařízení podporuje), kladné hodnoty: Induktivní, záporné hodnoty: Kapacitní |
| switch_phases | Pro nástěnné skříně s přepínáním fází: Ruční přepínání fází, 1 = 1-fázový, 3 = 3-fázový, -1 = automatické přepínání fází |
| departure | Čas odletu podle normy ISO 15118 jako jednotkové časové razítko (pro wallboxy, které to podporují, jinak 0) |
| req_energy | ISO 15118 Požadovaná energie ve Wh (pro wallboxy, které to podporují, jinak 0) |
| plugin_start | Časové razítko Unix, čas vložení kabelu |
| plugin_energy | Dříve nabitá energie v Wh od okamžiku zapojení kabelu do sítě |
| M1.current_l1 | Proud měřiče M1, fáze 1 |
| E2.import_wh | Spotřeba Wh z EVSE E2 |
| E3.power_w | Aktuální nabíjecí výkon E3 ve wattech |
Pokud použijete vzorce pro měřidlo typu "Expression", můžete ID zařízení také vynechat. Pak se názvy polí vztahují k tomuto měřidlu, např. "power_w" je pak výkon tohoto měřidla ve wattech. Pomocí 'dt' můžete realizovat několik rozšířených funkcí, např. u měřiče typu "Expression":
import_wh + M1.power_w * dt / 3600 aktualizuje získanou energii na základě výkonu v uplynulém čase aktualizace(power_w * (20 - dt) + M1.power_w * dt) / 20 vyhlazuje výkon za posledních 20 sekund.date
| date.year | Aktuální rok |
| date.month | Měsíc od 0..11 |
| date.day | Den od 1..31 |
| date.weekday | Všední den SO=0, Po=1, Út=2, ... So=6 |
| date.yearday | Den v roce od 0..366 |
| date.hour | Hodina od 0..23 |
| date.minute | Minuta od 0..60 |
| date.second | Druhá od 0..60 |
| date.daysecond | Druhý den tohoto dne od 0..86399 |
| date.dayminute | Minuta tohoto dne od 0..1439 |
| date.dst | 0 = zimní čas, 1 = letní čas |
| date.timestamp | Unix timespamp, secs since 1.1.1970 |
PB (nur cFos Power Brain)
| PB.input1 | S0 Input 1, 1 = aktivní, 0 = neaktivní |
| PB.input2 | S0 Input 2, 1 = aktivní, 0 = neaktivní |
CM Proměnné správce nabíjení
Tyto proměnné může správce nastavit v části "Konfigurace". Pokud například správce nastaví proměnnou 'var_x' na hodnotu 1,5, CM.var_x vrátí hodnotu 1,5.
Předdefinované proměnné:
| _num_charging | Počet aktuálně nabíjených wallboxů |
| _num_charging1 | Počet aktuálně nabíjejících se wallboxů, 1, pokud se nenabíjí žádný |
| _max_total_current | Maximální proud domovní přípojky v mA na fázi |
| _max_total_evse_current | Maximální proud pro wallboxy v mA na fázi |
| _price | Aktuální cena elektřiny |
| _price_level | Současná úroveň cen elektřiny, -2=velmi drahá, -3=drahá, -4=normální, -5=levná, -6=velmi levná |
| _surplus | Aktuální přebytek slunečního záření ve wattech |
| _org_surplus | Solární přebytek, jak by jej správce poplatků vypočítal nezávisle na svých vzorcích |
| _storage_home_max_capacity | Celková kapacita úložiště, Home, pokud je v konfiguraci měřiče uvedena, ve Wh |
| _storage_home_capacity | Aktuální kapacita úložiště, Home, pokud je uvedena v konfiguraci měřiče, ve Wh |
| _storage_all_max_capacity | Celková skladovací kapacita, Vše, pokud je v konfiguraci měřiče uvedena, ve Wh |
| _storage_all_capacity | Aktuální kapacita úložiště, Vše, pokud je uvedeno v konfiguraci měřiče, ve Wh |
| _storage_home_soc | Aktuální SoC bateriového úložiště (bateriových úložišť) s rolí "House". Pokud byla kapacita zadána alespoň pro jedno úložiště, použije ji Charging Manager pro výpočet, jinak tato proměnná udává aktuální SoC prvního nalezeného úložiště s rolí "House". |
| _storage_all_soc | Aktuální SoC bateriového úložiště (bateriových úložišť) s rolí "Home+Car". Pokud byla kapacita zadána alespoň pro jedno úložiště, použije ji Charging Manager pro výpočet, jinak tato proměnná poskytuje aktuální SoC prvního nalezeného úložiště s rolí "Home+Car". |
| _max_total_current_prc | Procento dostupného maximálního celkového nabíjecího proudu. Tuto proměnnou lze také zapsat (prostřednictvím definic čítačů a proměnných Charging Manager) |
| _dt | Doba, která uplynula od poslední aktualizace (v sekundách). |
Použití globálních objektů:
charge 8A starting at 8:00am: date.dayminute >= 480 ? 8000 : 0
charge 16A on Saturday and Sunday: date.weekday == 5 || date.weekday == 6 ? 16000 : 0
charge 6A if input 2 active: PB.input2 ? 6000 : 0 charge 6A if CM variable non-zero: cm.var1 ? 6000 : 0
Poznámka:
V části Vlastní čítače najdete také pokyny, jak používat vzorce s globálními proměnnými a výstupy Správce nabíjení.
GM Globální počítadla
| GM.grid_demand | Síťový odkaz |
| GM.consumed | Spotřeba |
| GM.produced | Generace |
| GM.consumed_evse | Spotřeba e-automobilů |
| GM.available_evse | Dostupný výkon |
| GM.surplus | Přebytek fotovoltaiky |
| GM.storage_home | Paměť Home |
| GM.storage_all | Paměť Everything |
| GM.error | Výkon díky chybám |
Použití globálních čítačů
Jeder Zähler hat die Felder power_w, current, current_l1, current_l2, current_l3, import_wh und export_wh,
z.B. GM.prod_pwr.current_l1 oder GM.cons_pwr.power_w
. Bei 'current' wird der Strom der gerade betrachteten Phase ausgewertet. Ströme werden in mA geliefert, Leistung in W, Energie in Wh.
Chcete navíc omezit nabíjecí proud s ohledem na měřič spotřeby bytu. Za tímto účelem můžete nastavit pravidlo nabíjení podle vzorce 16000 - M1.current.
M1 je měřič, který měří spotřebu bytu. Řízení zátěže správce nabíjení cFos se nejprve snaží dodat EVSE maximální proud ve vztahu k příkonu domovní přípojky, ale poté jej omezí na 16 A minus spotřeba bytu.
Pomocí min_price(s), max_price(s) můžete zjistit nejlevnější cenu vašeho dodavatele energie v eurech, přičemž ceny jsou vyhledávány od aktuálního času do max. s sekund dne nebo následujícího dne, např. min_price(25200) vrátí nejlevnější cenu do 7:00 ráno. Můžete například vytvořit pravidlo nabíjení s podmínkou CM._price <= min_price(25200), aby se nabíjelo v nejvýhodnějším čase, ale s podmínkou, že chcete vyrazit například od 8:00 hodin (za předpokladu doby nabíjení 1 hodina). Podobně existují dvě funkce min_price_secs(s) a max_price_secs(s), které vracejí čas začátku nejlevnější ceny v sekundách započatého dne. Ty pak můžete porovnat například s date.dayecond.
Správce nabíjení cFos nyní dokáže prostřednictvím rozhraní TRONITY API(www.tronity.io) zjistit SoC a dojezd vozidla. Můžete si zaregistrovat osobní účet u TRONITY a poté zaregistrovat jeden nebo více vozů. V uživatelském rozhraní "Konfigurace" aplikace cFos Charging Manager pak můžete přidat své ID TRONITY a tajemství TRONITY.
Pomocí tlačítka "Get vehicle data" (Získat údaje o vozidle) zobrazíte seznam svých vozidel registrovaných v systému TRONITY. Každé vozidlo je uvedeno v seznamu s ID. Toto ID použijte pro výrazy a/nebo pravidla nabíjení pomocí nástroje Charging Manager, např. pokud má vaše vozidlo ID 1, použijte V1.soc nebo V1.range. V1.soc je aktuální stav nabití v procentech. V1.range je aktuální dojezd v kilometrech. Můžete například vytvořit podmínku jako V1.soc < 50, která je pravdivá, pokud je SoC menší než 50 %.