Paleta Victron
Node-RED ma własny, podstawowy zestaw węzłów. Venus OS Large dodaje do niego węzły Victron — paletę node-red-contrib-victron. Jest zainstalowana fabrycznie. Węzły działają na D-Bus, czyli na wartościach, które Venus OS udostępnia z urządzeń podłączonych do GX. W węźle wybiera się urządzenie i parametr; ścieżki z symbolami zastępczymi, np. {tracker}, edytor sam rozwija w opcje dostępne w podłączonych urządzeniach.
- Aktualizacja palety — tylko razem z nowym Venus OS Large. Palety nie da się zaktualizować ani z edytora, ani z wiersza poleceń. Gdy w sieci jest już nowsza paleta, trzeba poczekać na kolejne wydanie Venus OS Large — zwykle pojawia się niedługo po aktualizacji palety.
- Opis węzłów — każdy węzeł i jego ścieżki opisuje wiki projektu na GitHubie (strony Input nodes, Output nodes i Virtual devices). Z niej pochodzą ścieżki i wartości na tej stronie.
- Inne palety — dodatkowe węzły, np. dashboard, instaluje się z internetu na partycję danych GX, więc zostają po aktualizacji Venus OS. Wymagany zapas miejsca: pierwsze uruchomienie.
Rodzaje węzłów
Wiki dzieli węzły Victron na wejściowe, sterujące i urządzenia wirtualne, a osobno wymienia dwa węzły własne (custom).
| Rodzaj | Co robi | Ile |
|---|---|---|
| Wejściowe (input) | Subskrybują wartość z D-Bus i wysyłają wiadomość, gdy się zmieni. | 33 |
| Sterujące (Control) | Zapisują do urządzenia wartość przysłaną w msg.payload. | 18 |
| Własne (custom) | Czytają i zapisują dowolną usługę i ścieżkę znalezioną na D-Bus — dla tego, czego nie obejmują pozostałe węzły. Z węzła Custom Control korzysta np. wbudowany przykład restartu GX z flow. | 2 |
| Wirtualne | Virtual Device i Virtual Switch tworzą urządzenie na D-Bus; Inject Notification i Inject Event wysyłają powiadomienie do GX albo zdarzenie do VRM. | 4 |
Pełna lista węzłów urządzeń
Wszystkie 33 węzły wejściowe; 18 z nich ma też wersję sterującą (w wiki z dopiskiem „Control”). Opisy według wiki.
| Węzeł | Z czego czyta | Control |
|---|---|---|
| Accharger | ładowarki AC | tak |
| Acload | odbiorniki AC mierzone licznikiem energii z rolą „AC load” | — |
| Acsystem | usługa zarządzająca Multi RS i przyszłymi falownikami z ładowarką | tak |
| Alternator | BMV w trybie monitora z typem „Alternator” albo sterownik alternatora podłączony do Venus OS | tak |
| Battery | stan baterii: SoC, napięcie, prąd, alarmy, historia | tak |
| Dcdc | Orion XS | tak |
| Dcload | BMV w trybie monitora z typem „obciążenie” | — |
| Dcsource | BMV w trybie monitora z typem „źródło” | — |
| Dcsystem | pomiar DC odbiorników w instalacji | — |
| Dess | Dynamic ESS | tak |
| Digitalinput | wejścia cyfrowe GX — tylko włączone w menu Settings → I/O → Digital inputs | — |
| Ess | system magazynowania energii ESS | tak |
| Ev | pojazdy elektryczne — zintegrowane przez VRM i wirtualne z Node-RED | — |
| Evcharger | stacja ładowania EV | tak |
| Fuelcell | ogniwo paliwowe | — |
| Generator | agregaty uruchamiane przekaźnikiem i agregaty Fischer Panda | tak |
| Gps | pozycja GPS | — |
| Gridmeter | licznik sieci | — |
| Inverter | falownik | tak |
| Meteo | czujniki nasłonecznienia, temperatury i wiatru | — |
| E-drive | napęd elektryczny (usługa motordrive) | — |
| Multi | Multi RS | tak |
| Pulsemeter | licznik impulsów — wejście cyfrowe ustawione jako „Pulse meter” | — |
| Pump | pompa | tak |
| Pvinverter | falownik PV | tak |
| Relay | przekaźniki GX, a także przekaźniki ładowarek i Multi RS | tak |
| Settings | ustawienia — obecnie głównie liczniki Carlo Gavazzi | tak |
| Solarcharger | regulator ładowania MPPT | tak |
| Switch | I/O extender podłączany przez USB | tak |
| System | dane zbiorcze instalacji (usługa com.victronenergy.system): bateria, PV, pobór AC, sieć, agregat | — |
| Tank | czujniki poziomu w zbiornikach | — |
| Temperature | czujniki temperatury — np. sonda przewodowa albo Ruuvi przez Bluetooth; także temperatura z czujników zbiorników | — |
| Vebus | urządzenia VE.Bus, np. MultiPlus i Quattro | tak |
Kiedy węzeł wysyła wiadomość
- Przy każdej zmianie wartości — to podstawowe zachowanie węzła wejściowego.
- Z zaznaczonym „only changes” — tylko wtedy, gdy wartość się zmieni.
- Bez „only changes” — dodatkowo co 5 s węzeł wysyła bieżącą wartość, nawet jeśli się nie zmieniła.
- Wartość w stałym odstępie czasu — węzłem change zapisz
msg.payloadw kontekście (flow.alboglobal.), a węzłem inject odczytuj go co wybrany czas. Tak działa wbudowany przykład „Only Messages at Regular Intervals”. - Kontekst po restarcie — domyślnie kontekst jest tylko w pamięci RAM i znika przy restarcie GX albo zaniku zasilania. Zapis na dysk włącza się w pliku
/data/home/nodered/.node-red/settings-user.js(magazynlocalfilesystem; w przykładzie z instrukcji zapis co 300 s). Nie zapisuj za często, żeby nie zużywać pamięci flash.
Jak działa węzeł sterujący
Węzeł Control zapisuje do urządzenia wartość z msg.payload. Parametry z listą wartości (enum) ustawia się liczbą — w przykładach Victron węzeł inject wysyła np. liczbę 3 do węzła Vebus Control, żeby włączyć falownik z ładowarką. Wartości każdej ścieżki są w tabeli poniżej i w wiki.
- Harmonogram — węzeł inject może wysyłać wartość o stałej godzinie, w wybrane dni albo co kilka minut w zadanym oknie czasu. Node-RED używa strefy czasowej ustawionej w Remote Console; po jej zmianie trzeba zrestartować Node-RED.
- Pilnowanie stanu — przykład „Event Based Scheduling” łączy węzeł wejściowy Vebus (
/Mode) z węzłem sterującym, żeby w zaplanowanych godzinach utrzymać wybrany tryb, nawet gdy ktoś go przypadkiem zmieni. - Nietypowe harmonogramy — dla świąt, losowego przesunięcia albo zmierzchu i świtu Victron wskazuje dodatkowy węzeł node-red-big-timer (menu Manage palette → Install).
Przydatne ścieżki
Każdy parametr ma swoją ścieżkę D-Bus. Symbole zastępcze w ścieżkach edytor rozwija w wartości dostępne w podłączonych urządzeniach:
| Symbol | Znaczenie |
|---|---|
{type} | rodzaj wyjścia przełącznika: output_1, output_2, pwm_1, relay_1 itd. |
{tracker} | numer trackera PV: 0, 1, 2, 3 |
{phase} | faza AC: 1, 2, 3 (L1, L2, L3) |
{day} | dzień historii: 0 = dziś, 1 = wczoraj |
{input} | wejście AC: 1, 2 |
{channel} | kanał DC: 0, 1 |
{index} | numer kolejny: 0, 1, 2, 3 itd. |
Wybrane ścieżki z wiki — do automatyki według stanu baterii, produkcji PV i trybu falownika:
| Węzeł | Parametr i ścieżka | Wartości |
|---|---|---|
| Battery | stan naładowania (%) — /Soc | liczba |
| Battery | napięcie baterii (V) — /Dc/0/Voltage; prąd (A) — /Dc/0/Current | liczba |
| Battery | napięcie akumulatora rozruchowego (V) — /Dc/1/Voltage | liczba |
| System | SoC baterii (%) — /Dc/Battery/Soc; moc z regulatorów MPPT (W) — /Dc/Pv/Power | liczba |
| Solarcharger | moc PV (W) — /Yield/Power; napięcie PV (V) — /Pv/V | liczba |
| Solarcharger, Accharger (Control) | ładowarka wł./wył. — /Mode | 1 On, 4 Off |
| Vebus (wejście i Control) | pozycja przełącznika — /Mode | 1 Charger Only, 2 Inverter Only, 3 On, 4 Off |
| Vebus (Control) | limit prądu wejścia AC (A) — /Ac/In/{index}/CurrentLimit | liczba |
| Ess (Control) | minimalny SoC rozładowania (%) — /Settings/CGwacs/BatteryLife/MinimumSocLimit; nastawa sieci, grid set-point (W) — /Settings/CGwacs/AcPowerSetPoint | liczba całkowita |
| Generator (Control) | start agregatu — /Start | 0 Stop, 1 Start |
| Relay (wejście i Control) | przekaźnik GX — /Relay/{relay}/State; przekaźnik ładowarki (w wiki „Relay on the charger”) albo Multi RS — /Relay/0/State | 0 Open, 1 Closed |
| Digitalinput | stan wejścia — /State | od 0 low do 11 stopped, zależnie od typu wejścia |
| Tank, Temperature | poziom (%) — /Level; temperatura (°C) — /Temperature | liczba |
Przekaźniki — co ustawić najpierw
Żeby Node-RED mógł przełączać przekaźnik, trzeba go najpierw przestawić na sterowanie ręczne — najczęściej w VictronConnect. Potem przekaźnikiem steruje węzeł Relay Control: 1 zamyka styk (Closed), 0 go otwiera (Open).
| Przekaźnik | Co ustawić | Node-RED |
|---|---|---|
| Urządzenie GX | funkcja przekaźnika „Manually controlled” w menu GX; przekaźniki Cerbo GX — na karcie Cerbo GX | tak |
| BMV | opcja przekaźnika REM (Remote Controlled) w VictronConnect | tak |
| Lynx Shunt VE.Can | funkcja przekaźnika „Manual control” w menu GX | tak |
| Regulator MPPT | tryb pracy przekaźnika „manual control” w VictronConnect; przekaźnik mają tylko większe modele | tak |
| Seria RS (falownik, Multi RS) | sterowanie ręczne przekaźnika w VictronConnect | tak |
| Smart IP43 Charger | tryb zdalnego sterowania w VictronConnect. Przekaźnik ma zasilanie tylko przy włączonej ładowarce — nie działa, gdy jest wyłączona przy podłączonym AC (modele 230 V i 120/240 V). To jedyna ładowarka ze sterowalnym przekaźnikiem. | tak, z ograniczeniem |
| Lynx Smart BMS | — | nie |
| Multi, Quattro (VE.Bus) | przekaźnik alarmowy i stycznik AC-out-2 — Victron nie planuje udostępnić ich do zdalnego sterowania | nie |
- Przekaźnik do agregatu — ustawia się go w konsoli GX na funkcję „Generator”, a start i stop wysyła węzłem Generator Control (
/Start: 1 Start, 0 Stop). Agregaty Fischer Panda węzeł Generator uruchamia bezpośrednio przez D-Bus. - Przełącznik w dashboardzie — przykład „Relay Switching” steruje przekaźnikiem z dashboardu. Żeby przełącznik pokazywał też zmiany zrobione gdzie indziej, np. w menu GX, węzeł wejściowy Relay podłącza się dodatkowo na wejście przełącznika. Potrzebna paleta node-red-dashboard — zob. dashboard i dostęp zdalny.
- Gotowy flow — przekaźnik włączany i wyłączany według stanu baterii: przykład krok po kroku.
Urządzenia wirtualne
Urządzenie wirtualne pozwala podłączyć do GX sprzęt albo źródło danych, których Victron nie obsługuje. Po utworzeniu w Node-RED pojawia się w GX i zachowuje jak prawdziwe urządzenie Victron — także w portalu VRM. Przykłady z instrukcji: pogoda z API jako wirtualna stacja meteo, wyliczony pobór i oddawanie do sieci jako wirtualny licznik sieci, pozycja z GPSd jako wirtualny GPS, czujniki LoRa albo MQTT jako wirtualny zbiornik lub czujnik temperatury.
- Aktualny Venus OS. Zaktualizuj GX do najnowszej wersji.
- Węzeł Virtual Device. Dodaj go do flow i wybierz typ urządzenia.
- Dane. Podłącz źródło danych albo logikę sterowania. Do węzła wysyła się
msg.payloadjako obiekt: klucze to ścieżki D-Bus bez początkowego ukośnika, wartości to odczyty, np.{"Dc/0/Voltage": 48.2, "Dc/0/Current": 12.5, "Soc": 85}.
- Nazwa na D-Bus:
com.victronenergy.<typ>.virtual_<id węzła>. - Wyłączenie i powrót:
msg.connected = falseodłącza urządzenie i zwalnia nazwę usługi na D-Bus,msg.connected = trueprzywraca je. - Wyjście: jeden port — przekazuje oryginalną wiadomość z
msg.connectedustawionym na bieżący stan połączenia z D-Bus.
| Typ (wiki) | Usługa D-Bus i przykładowe ścieżki |
|---|---|
| AC Load | com.victronenergy.acload — /Ac/L1/Current, /Ac/Energy/Forward |
| Battery | com.victronenergy.battery — /Dc/0/Voltage, /Dc/0/Current, /Dc/0/Power, /Dc/0/Temperature |
| DC Load | com.victronenergy.dcload — /Dc/0/Voltage, /Dc/0/Current, /Dc/0/Power |
| E-drive | com.victronenergy.motordrive — /Dc/0/Power, /Controller/Temperature, /Coolant/Temperature |
| Electric Vehicle | com.victronenergy.ev — /Soc, /TargetSoc, /ChargingState, /Ac/Power |
| Energy meter | com.victronenergy.energymeter — /Ac/Power, /Ac/Energy/Forward, /Ac/Energy/Reverse |
| Generator | com.victronenergy.genset albo com.victronenergy.dcgenset — /Start, /EnableRemoteStartMode, /Engine/CoolantTemperature |
| GPS | com.victronenergy.gps — /Position/Latitude, /Position/Longitude, /Fix |
| Grid meter | com.victronenergy.grid — /Ac/Power, /Ac/Energy/Forward, /Ac/Energy/Reverse |
| Meteo | com.victronenergy.meteo — /Irradiance, /ExternalTemperature, /WindSpeed |
| Pulse meter | com.victronenergy.pulsemeter — /Count, /Aggregate |
| PV inverter | com.victronenergy.pvinverter — /Ac/Power, /Ac/Energy/Forward, /Ac/PowerLimit |
| Tank sensor | com.victronenergy.tank — /Level, /Capacity, /FluidType |
| Temperature sensor | com.victronenergy.temperature — /Temperature |
Wirtualny przełącznik (Virtual Switch)
Tworzy przełącznik bez fizycznego przekaźnika — np. do przełącznika IoT z oprogramowaniem Tasmota, którym flow steruje według stanu baterii. Według instrukcji pojawia się w panelu przełączników (Switch) nowego interfejsu Venus OS, można go włączać i wyłączać jak prawdziwy przełącznik, a jego stan jest zapisany w GX i może przetrwać restart.
- Sterowanie:
{"SwitchableOutput/output_1/State": 1}włącza,{"SwitchableOutput/output_1/Dimming": 75}ustawia ściemnienie na 75%.msg.connected = falseodłącza przełącznik. - 11 typów: On/Off (0 wył., 1 wł.), Dimmable (wł./wył. i ściemnianie 0–100%), Temperature setpoint (suwak termostatu w °C), Stepped, Basic slider, Dropdown, Numeric input, Three state (0 Off, 1 On, 2 Auto), RGB color wheel, CCT wheel i RGB+White dimmer.
- Wyjścia: port 1 przekazuje wiadomość z
msg.connected; port 2 wysyła nowy stan, gdy się zmieni; port 3 — nową wartość ściemnienia lub nastawy (typy ze ściemnianiem, krokami, liczbą i RGB).
Powiadomienia i zdarzenia
| Cecha | Inject Notification | Inject Event |
|---|---|---|
| Gdzie widać | centrum powiadomień Venus OS, w interfejsie GX | portal VRM: Diagnostics → Event logs |
| Cel na D-Bus | com.victronenergy.platform, /Notifications/Inject | com.victronenergy.logger, /EventLogging/Inject |
| Ważność | 0 Warning, 1 Alarm, 2 Information | 0 Warning, 1 Critical, 2 Info |
| Treść | msg.payload; tytuł z konfiguracji albo msg.title, typ z konfiguracji albo msg.type (liczba albo „warning”, „alarm”, „info”) | msg.payload; nazwa źródła (App) z konfiguracji albo msg.app, ważność z konfiguracji albo msg.severity (liczba albo „warning”, „critical”, „info”, bez względu na wielkość liter) |
| Limity | tytuł do 100 znaków, treść do 500 — dłuższe są obcinane | — |
| Wyjście | oryginalna wiadomość z dodanym msg.notification | oryginalna wiadomość z dodanym msg.event |
Wbudowane przykłady
W edytorze: menu w prawym górnym rogu → Import (albo Ctrl+I) → Examples → node-red-contrib-victron. Te same przykłady są w wiki, na stronie Example Flows. Część z nich wymaga dodatkowych palet — najczęściej node-red-dashboard.
| Przykład | Co pokazuje |
|---|---|
| Trigger Based Scheduling | włączanie i wyłączanie falownika z ładowarką o stałych godzinach (inject + Vebus Control) |
| Event Based Scheduling | utrzymanie wybranego trybu falownika w zaplanowanych godzinach |
| Combining Inputs / Night Time Rate Battery Charging | SoC z węzła Battery wybiera tryb Quattro: poniżej 25% ładowanie o każdej porze; 25–50% ładowanie w nocy, a w dzień praca z baterii (Inverter Only); powyżej 50% praca z baterii |
| Brightness-Based Lamp Control | lampa na przekaźniku: włączenie, gdy napięcie PV z regulatora SmartSolar jest niższe niż 5 V przez 60 s; wyłączenie po 30 min, gdy już nie jest ciemno |
| Temperature Dashboard | temperatura z czujnika na dashboardzie, zaokrąglona do jednego miejsca po przecinku |
| Location Based Scheduling | przekaźnik o zmierzchu i świcie według pozycji z GPS na USB (węzeł BigTimer) |
| Monitor Disk Usage, MQTT Disk Space Monitoring | zajętość pamięci GX — przez polecenie df albo przez MQTT |
| Relay Switching | przekaźnik przełączany z dashboardu |
| Solar Forecasting | prognoza produkcji PV z serwisu forecast.solar |
| Threshold Control | wyjście włączane powyżej progu ON i wyłączane poniżej progu OFF, z opóźnieniem — z webinaru Victron |
| Load Shedding and MinSOC | minimalny SoC w ESS ustawiany według zapowiedzi wyłączeń sieci (API EskomSePush, RPA) |
| Only Messages at Regular Intervals | wartość wysyłana w stałym odstępie czasu przez kontekst |
| Run Generator at Certain Time | codziennie o 18:00: gdy SoC jest poniżej 50%, agregat pracuje 45 min |
| Venus Reboot | restart GX z flow węzłem Custom Control |
Gdzie źródła się różnią
- Typy urządzeń wirtualnych. Instrukcja Venus OS Large (rozdz. 5.8) wymienia 9: Battery, Generator, GPS, Grid meter, Meteo, Motor drive, PV inverter, Tank sensor i Temperature sensor. Wiki (Virtual devices) podaje 14: dochodzą AC Load, DC Load, Electric Vehicle, Energy meter i Pulse meter, a „Motor drive” występuje jako E-drive (usługa com.victronenergy.motordrive). Które typy są dostępne u Ciebie, pokaże lista typów w węźle Virtual Device.
- Gdzie widać wirtualny przełącznik. Instrukcja: w panelu przełączników nowego interfejsu Venus OS. Wiki: Venus OS widzi go jako podłączony I/O extender Cerbo GX, a interfejs GX pozwala go obsługiwać.
- Jak często przychodzą wiadomości. FAQ Q9 i przykład „Only Messages at Regular Intervals”: przy każdej zmianie, a bez „only changes” dodatkowo co 5 s. Przykład „Event Based Scheduling”: domyślnie co 5 s, a zmiany wysyłane od razu — „około raz na sekundę”.
- Godziny w „Trigger Based Scheduling”. Opis: włączenie o 6:00, wyłączenie o 22:00. W samym flow węzeł „Trigger 'ON' at 22:00” wysyła 3 (On) o 22:00, a „Trigger 'OFF' at 6:00” wysyła 4 (Off) o 6:00. Po imporcie sprawdź godziny i wartości w węzłach inject.
- Aktualizacja palety. Rozdz. 5.3 i FAQ Q2: palety Victron nie da się zaktualizować z edytora ani z wiersza poleceń — tylko przez nowe Venus OS Large. Rozdz. 5.6 pisze ogólnie, że po zainstalowaniu nowszej wersji palety niż fabryczna Node-RED użyje nowszej. O palecie Victron instrukcja mówi wprost w Q2: tylko nowe Venus OS Large.
- Symbole zastępcze. Legenda w wiki wymienia {type}, {tracker}, {phase}, {day}, {input}, {channel} i {index}, ale w opisach ścieżek są też {relay} (
/Relay/{relay}/State), {line} (/Ac/Consumption/{line}/Powerw węźle System) i {historyDay} (/History/Daily/{historyDay}/Yieldw węźle Solarcharger).
Węzły Control zmieniają tryb falownika, limity prądu, ustawienia ESS i stan przekaźników, gdy tylko flow zostanie wdrożony (Deploy). Victron nie zapewnia wsparcia dla instalacji, w których Node-RED realizuje zaawansowane rozwiązania — nowy flow sprawdzaj przy instalacji pod nadzorem. Flow, który przeciąża GX, można wyłączyć w trybie bezpiecznym: tryb bezpieczny i restart.
Urządzenia, których to dotyczy
Cerbo GXCentrum sterowania systemem i brama do portalu VRM.
Ekrano GXCentrum GX z wbudowanym ekranem dotykowym 7″.Źródła
- node-red-contrib-victron wiki — Available nodesgithub.com · EN
- node-red-contrib-victron wiki — Input nodesgithub.com · EN
- node-red-contrib-victron wiki — Output nodesgithub.com · EN
- node-red-contrib-victron wiki — Virtual devicesgithub.com · EN
- node-red-contrib-victron wiki — Example Flowsgithub.com · EN
- Venus OS Large image: Signal K and Node-RED — rozdz. 2, 5.3–5.8, FAQ Q2, Q9, Q11victronenergy.com · EN