Jak se připojit k Node-RED na GX
Node-RED běží přímo na zařízení GX. V místní síti se k němu prohlížeč připojuje přímo, mimo domov přes portál VRM. Flow mohou také sama načítat data z VRM a ukládat soubory na datový oddíl zařízení.
- V místní sítiEditor na adrese https://venus.local:1881, dashboard z panelu „Dashboard 2.0“ v editoru (cesta /dashboard).
- Vzdáleně přes VRMNabídka Venus OS Large na portálu VRM: editor, dashboard a Signal K; při pomalém připojení je odezva pomalá.
- Data z VRMPřístupový token, VRM API a prognózy výroby — na tom funguje Dynamic ESS.
- Oddíl /dataFlow, palety a kontext; vždy alespoň 30 MB volného místa, pod 5% varování #46.
Dashboard: FlowFuse Dashboard 2.0
Dashboard je stránka v prohlížeči s grafy, ukazateli a ovládacími prvky, např. přepínači a posuvníky. Victron doporučuje balíček FlowFuse Dashboard 2.0 — aktuální a dále vyvíjený.
- Instalace. V editoru: nabídka vpravo → Manage palette → karta Install, vyhledejte a nainstalujte
@flowfuse/node-red-dashboard. Zařízení GX musí mít funkční připojení k internetu. Paleta se instaluje na datový oddíl, takže zůstane zachována po aktualizaci Venus OS. - Struktura. Nové uzly se objeví v paletě vlevo. Dashboard má čtyři úrovně: ui-base (základní adresa, ve výchozím nastavení
/dashboard), ui-page (stránky), ui-group (skupiny na stránce) a widgety — graf, ukazatel, tlačítko, přepínač. - Data z instalace. Vstupní uzel Victron (např. stav nabití baterie) připojte k widgetu a přepínač z dashboardu k výstupnímu uzlu, např. relé. Co obsahuje paleta Victron: uzly Victron.
- Deploy a náhled. Po nasazení (Deploy) otevřete dashboard z panelu „Dashboard 2.0“ na pravé straně editoru. Na portálu VRM se v nabídce Venus OS Large objeví další dlaždice pro vzdálený přístup.
- Relé z dashboardu. Nejprve nastavte relé do ručního režimu (Manual) v nabídce GX nebo ve VictronConnect. Aby přepínač zobrazoval i změny provedené jinde, např. v nabídce GX, připojte stav relé také ke vstupu přepínače — tak to dělá příklad „Relay switching“ na wiki Victron.
- Jak často přicházejí data. Vstupní uzly Victron odesílají zprávu při každé změně hodnoty. Pokud není zaškrtnuta volba „only changes“, navíc každých 5 sekund odesílají aktuální hodnotu — graf tak dostane bod i tehdy, když se nic nemění.
- Starý dashboard. Balíček
node-red-dashboardje zastaralý a podle návodu by se již neměl používat. - Alternativa: uibuilder.
node-red-contrib-uibuilderumožňuje plnou kontrolu nad vzhledem, ale nemá hotové widgety — rozhraní si vytváříte sami v HTML, CSS a JavaScriptu. Je flexibilnější, ale výrazně náročnější než Dashboard 2.0.
Návod k Venus OS Large nedoporučuje starý balíček node-red-dashboard, ale ukázková flow s dashboardem z wiki node-red-contrib-victron — „Monitor disk usage“, „Relay switching (from the dashboard)“ a „Threshold control“ — jej stále vyžadují (uzly ui_chart, ui_switch, ui_slider a doplňky pro starý dashboard). Taková flow je nutné upravit pro widgety Dashboard 2.0, nebo navzdory doporučení v návodu doinstalovat starý balíček.
Vzdálený přístup přes VRM
Tři rozhraní — editor flow, dashboard Node-RED a administrační panel Signal K — jsou dostupná také vzdáleně přes portál VRM.
- Instalace ve VRM. Zařízení GX musí odesílat data do portálu VRM — postup připojení: monitorování ve VRM.
- Nabídka Venus OS Large. Přihlaste se do VRM, vyberte instalaci a klikněte na nabídku Venus OS Large. Dlaždice editoru a Signal K se zobrazí po zapnutí těchto funkcí v GX, dlaždice dashboardu po jeho nasazení.
- Přihlášení. Node-RED vyžaduje stejné heslo jako při místním přístupu — od Venus OS 3.50 jde o heslo bezpečnostního profilu pro uživatele admin (podrobnosti).
- Provoz může být pomalý. Návod upozorňuje, že rychlost závisí na kvalitě připojení.
- Pouze přes VRM. Návod Victron popisuje vzdálený přístup k Node-RED výhradně přes VRM; přesměrování portů na routeru nepopisuje.
Data z VRM ve flow
Některá flow potřebují data, která nejsou v samotném zařízení GX, například předpověď výroby z panelů nebo slunečního ozáření. Získávají se z databáze portálu VRM přes VRM API.
- Přístupový token. Na portálu VRM v části Access tokens přidejte nový token. Po vygenerování jej nelze znovu zobrazit — ihned jej uložte do správce hesel.
- Uzel VRM API. Victron VRM API node usnadňuje používání API ve flow. Úplný popis API: dokumentace VRM API.
- Předpovědi. Slouží k nim volání stats s jedním z atributů v tabulce; návod uvádí, že užitečných atributů může být více.
| ID | Atribut | Data |
|---|---|---|
| 1220 | vrm_pv_charger_yield_fc | předpověď výroby solárních regulátorů (MPPT) |
| 1221 | vrm_pv_inverter_yield_fc | předpověď výroby FV střídačů |
| 1173 | vrm_solar_irradiance_fc | předpověď slunečního ozáření |
| 1172 | vrm_solar_irradiance | sluneční ozáření |
Hotové řešení: Dynamic ESS — získává z VRM optimální požadovanou hodnotu pro ESS, vypočtenou z dynamických cen energie a předpovědi výroby z panelů. Jeho flow je také dobrým příkladem použití VRM API.
Token je klíčem k účtu. Zacházejte s ním jako s heslem: než flow zveřejníte například na fóru Victron Community, zkontrolujte, zda token není zapsán přímo v uzlu function, change nebo inject.
Úložiště: datový oddíl /data
Palety, flow, přihlašovací údaje a uložený kontext se nacházejí v datovém oddílu zařízení GX. Díky tomu zůstanou zachovány po aktualizaci Venus OS, ale místa je málo a Node-RED i Signal K mohou oddíl zcela zaplnit.
- Alespoň 30 MB volného místa — vždy, podle návodu k Venus OS Large.
- Varování #46. Pokud volné místo klesne pod 5%, GX hlásí #46 Data partition full. Přesnou hodnotu zobrazuje nabídka Settings → General → Modifications.
- Důsledky zaplněného oddílu. Venus OS přestane správně fungovat, Node-RED nebo Signal K se nespustí — systém není připraven na nedostatek místa.
- Žádné velké soubory v /data. Neukládejte tam velké fotografie, videa ani protokoly. Taková data ukládejte mimo GX — do databáze, do cloudu, přes MQTT nebo FTP — a odkazujte na ně pomocí URL.
- Pouze potřebné palety. Každá doinstalovaná paleta zabírá místo. Nepoužívané palety odstraníte tlačítkem remove v Manage palette.
Pokud je oddíl již zaplněný — postupujte v tomto pořadí, od nejméně radikálního zásahu:
- Protokoly Signal K. Pokud používáte Signal K, návod doporučuje začít odstraněním jeho protokolů a poté zkontrolovat, zda je v Signal K → Server → Settings zapnutá volba „Keep only most recent data log files“ (ve výchozím nastavení zapnutá).
- Flow a palety. Odstraňte flow a doinstalované palety. Pokud se editor nespustí, soubor
venus-data-20-node-red-reset.tgzna USB flash disku odstraní celý obsah /data/home/nodered/ — všechna flow a palety — a umožní začít od nuly. Nejprve vytvořte zálohu:venus-data-00-backup-data-partition.tgzzkopíruje celý oddíl /data na USB flash disk (jak to funguje). - Obnovení továrního nastavení GX — podle návodu k zařízení GX. Nevýhodou je nutnost znovu nakonfigurovat celé zařízení.
Zaplnění oddílu lze sledovat také ve flow — wiki Victron nabízí dva příklady: „Monitor disk usage“ (graf na starém dashboardu, viz rozpor výše) a „Using MQTT to monitor disk space“, který vyžaduje zapnutí služby MQTT on LAN (Plaintext) v nabídce GX a vypisuje volné místo pouze v okně debug.
Kontextové proměnné a paměť flash
Kontextové proměnné (context, flow, global) slouží ve flow k uchovávání hodnot, například počítadla nebo posledního stavu. Ve výchozím nastavení jsou uloženy pouze v paměti RAM zařízení GX — po restartu nebo výpadku napájení se ztratí.
Aby zůstaly zachovány po restartu, je nutné je ukládat na disk — v souboru settings-user.js (viz konfigurační soubory):
module.exports = {
contextStorage: {
default: {
module: "localfilesystem",
config: {
// zápis každých 5 minut
flushInterval: 300
}
}
}
}
- Nezapisujte příliš často. Návod upozorňuje, že časté zápisy opotřebovávají paměť flash — příklad ukládá kontext každých 300 s, tedy každých 5 minut.
- Pouze malá data. V kontextu neuchovávejte velká ani binární data — ukládá se do stejného malého oddílu /data.
- Po změně znovu spusťte Node-RED (restart).
Konfigurační soubory — kdy je upravovat
Naprostá většina instalací s Node-RED tyto soubory nemusí — a neměla by — měnit. Venus OS Large je navržen tak, aby nebylo nutné používat příkazový řádek. K úpravám je potřeba přístup root přes SSH (návod Victron).
| Soubor | Použití | Úpravy |
|---|---|---|
/usr/ | základní nastavení, načítá se jako první | nikdy — aktualizace Venus OS jej přepíše |
/data/ | doplňuje první soubor; zůstává zachován po aktualizaci | ne — je určen pro Victron |
/data/ | vaše nastavení: porty, zabezpečení, editor, contextStorage; zůstává zachován po aktualizaci | ano, opatrně — chyba syntaxe zabrání spuštění Node-RED a po aktualizaci může nastavení přestat fungovat |
flows.json | všechna flow (totéž jako export z nabídky) | ne ručně — riziko poškození |
flows_cred.json | šifrované přihlašovací údaje z flow (uživatelská jména, hesla) | ne — ruční změna může znemožnit dešifrování |
.config.*.json | nastavení samotného Node-RED | ne; export flow je nezahrnuje |
lib/ | knihovna subflow a funkcí | bezpečná pro pokročilé |
- Jeden blok. Nastavení v těchto souborech musí být uvnitř bloku
module.exports = {}. Více nastavení — např. port 1880 a contextStorage — se zapisuje do stejného bloku a odděluje čárkami. - settings.js se ignoruje. Soubor /data/home/nodered/settings.js se nenačítá, ani když jej vytvoříte — používá se pouze settings-user.js v adresáři .node-red.
- Obrázky v dashboardu. Aby Node-RED poskytoval např. pozadí dashboardu, přidejte do settings-user.js
httpStatic: "/data/home/nodered/www", vytvořte tento adresář, nastavte jako jeho vlastníka uživatele nodered (chown -R nodered:nodered) a vložte do něj soubor, např. image.png. V dashboardu na něj odkazujete relativně:background-image: url(/image.png);. I to zabírá místo na /data — používejte pouze malé soubory.
Restart po změně nastavení. Nejjednodušší je v nabídce GX: Venus OS Large Features → Node-RED — vypněte jej a znovu zapněte. Z příkazového řádku:
# zastavit
svc -d /service/node-red-venus
# spustit
svc -u /service/node-red-venus
# restart
svc -t /service/node-red-venus
Pokud po změně něco nefunguje, spusťte Node-RED v bezpečném režimu — spustí se bez spuštění flow (bezpečný režim).
Zabezpečení a oprávnění
- Heslo. Od Venus OS 3.50 chrání přístup k Node-RED heslo bezpečnostního profilu (Settings → General → Security Profile) s uživatelem admin; ve starších verzích heslo Remote Console. Podrobnosti: heslo k editoru.
- Šifrované připojení. Editor používá https na portu 1881. Certifikát je podepsaný sám sebou — proto prohlížeč zobrazuje varování — ale přihlašovací jméno a heslo se sítí nepřenášejí v otevřeném textu.
- Port 1880 pouze v případě potřeby. Některé uzly se připojují pouze přes http. Pro ně lze v settings-user.js navíc povolit port 1880 na všech rozhraních. Poté je nutné restartovat Node-RED:
Jde o běžné http bez šifrování, které poskytuje port 1881 — povolujte jej tedy pouze tehdy, pokud to některý uzel vyžaduje.module.exports = { // také http na portu 1880 uiHost: "::" } - Chyba EACCES při ukládání souboru. Od Venus OS 2.90 běží Node-RED jako uživatel nodered, nikoli root, takže flow mohou číst a zapisovat pouze soubory tohoto uživatele — obvykle v /data/home/nodered/ a jeho podadresářích. Místo jiné cesty použijte např.
/data/home/nodered/storage.txt. - Token VRM a hesla ve flow. Přihlašovací údaje, které uzly ukládají jako přihlašovací údaje, se zapisují do šifrovaného souboru flows_cred.json. Token ani heslo nezapisujte přímo do uzlů function, change nebo inject — dostaly by se do nešifrovaného souboru flows.json a do každého exportu.
Exportujte všechna flow (nabídka → Export → all flows) a uložte si soubor flows.json. Export nezahrnuje nastavení Node-RED ze souborů .config.*.json — úplnou zálohu oddílu /data vytvoří soubor venus-data-00-backup-data-partition.tgz na USB flash disku.
Zařízení, kterých se to týká
Cerbo GXŘídicí centrum systému a brána k portálu VRM.
Ekrano GXŘídicí centrum GX s vestavěným dotykovým displejem 7″.Zdroje
- Venus OS Large image: Signal K and Node-RED — dashboard, konfigurační soubory, VRM API, FAQ, přístup přes VRM, plný datový oddílvictronenergy.com · EN
- node-red-contrib-victron — Example Flows (relé z dashboardu, využití disku, řízení podle prahových hodnot)github.com · EN
- VRM API — dokumentacevictronenergy.com · EN
- FlowFuse Dashboard 2.0 — Getting started (instalace, cesta /dashboard, tvorba)dashboard.flowfuse.com · EN