Grenton#
vCLU emuluje kontroler Grenton CLU - pojawia się w sieci jak prawdziwy CLU i współpracuje z Grenton Object Manager (OM).
Jak to działa#
sequenceDiagram
participant om as Grenton OM<br/>(aplikacja PC)
participant vclu as vCLU<br/>(Raspberry Pi)
om->>vclu: 1. UDP broadcast<br/>"kto jest w sieci?"
vclu-->>om: "jestem CLU, IP, MAC, serial"
om->>vclu: 2. TFTP: pobierz config.txt
vclu-->>om: zwraca konfigurację modułów
om->>vclu: 3. Wysyłanie om.lua i user.lua
Note right of vclu: zapisuje, przeładowuje Lua
om->>vclu: 4. Komendy sterujące (execute Lua)
vclu-->>om: wykonuje, zwraca wynikDiscovery - wykrywanie w sieci#
vCLU odpowiada na broadcast UDP z Grenton OM. Dzięki temu OM widzi vCLU jako zwykły kontroler CLU w sieci lokalnej.
Wymagania:
- vCLU i komputer z OM muszą być w tej samej sieci (broadcast domain)
- Port UDP 1234 musi być otwarty
- vCLU musi mieć unikalne IP, MAC i numer seryjny
Po wykryciu OM widzi vCLU z nazwą ustawioną w wizardzie (np. “VCLU”).
Object Manager - synchronizacja#
Co robi OM#
Grenton Object Manager to aplikacja na PC do projektowania automatyki. Po wykryciu vCLU:
- Odczytuje konfigurację - pobiera
config.txtprzez TFTP, widzi jakie moduły ma CLU - Generuje obiekty - na podstawie modułów tworzy obiekty I/O (wyjścia, wejścia, sensory)
- Wysyła pliki - wgrywa
om.luaiuser.luado vCLU
Pliki generowane przez OM#
| Plik | Co zawiera | Edytowalne? |
|---|---|---|
om.lua | Definicje obiektów, modułów, zdarzeń | Nie - generowane przez OM |
user.lua | Funkcje użytkownika z OM | Nie - generowane przez OM |
main.lua | Numer seryjny (checkAlive) | Nie |
config.txt | Konfiguracja TFTP | Nie |
CONFIG.JSON | Definicje modułów (tfbusDevices) | Nie |
Nie edytuj tych plików ręcznie. Są generowane przez OM i nadpisywane przy każdej synchronizacji. Twój kod umieszczaj w
modules/.
Moduły wirtualne#
W wizardzie (krok 2) możesz dodać wirtualne moduły - nie sterują prawdziwym sprzętem, ale pojawiają się w OM jako prawdziwe moduły:
| Typ modułu | Wyjścia (DOUT) | Wejścia (DIN) | Analog |
|---|---|---|---|
| DOUT8T | 8 | 8 | 1 |
| RELAY4 | 4 | - | 1 |
| DIN8 | - | 8 | - |
OM widzi te moduły i tworzy dla nich obiekty w om.lua. Możesz ich używać w scenariuszach OM jak zwykłych modułów Grenton.
Sterowanie zdalne - Remote CLU#
vCLU może sterować prawdziwymi kontrolerami Grenton w sieci. Po zaimportowaniu pliku OM z innego CLU, vCLU tworzy obiekty proxy:
- RemoteSwitch - sterowanie wyjściem (switchOn, switchOff, toggle)
- RemoteDimmer - sterowanie ściemniaczem (setValue, switchOn, switchOff)
- RemoteRoller - sterowanie roletą (open, close, stop, setPosition)
Import z OM#
- W panelu webowym przejdź do OM Files
- Wgraj plik
.OMFwyeksportowany z Grenton OM - vCLU parsuje plik i generuje
proxy_*.luaw kataloguimports/ - Po przeładowaniu Lua, obiekty remote są dostępne
Użycie w kodzie#
-- Sterowanie lampą na prawdziwym CLU
local lampa = CLU220000592.DOU5048
lampa:switchOn()
-- Odczyt stanu
local stan = lampa:getValue()
-- Reakcja na zmianę
lampa:onChange(function()
print("Lampa zmieniła stan: " .. tostring(lampa:getValue()))
end)
-- Expose do dashboardu i HomeKit
expose(lampa, "switch", {
name = "Lampa salon",
area = "Salon"
})Obiekty remote komunikują się z prawdziwym CLU przez sieć - komendy Lua są wysyłane jako RPC.
Tryb standalone#
vCLU może działać bez Grenton OM - jako samodzielny kontroler smart home:
- Moduły wirtualne nie są potrzebne
- Urządzenia integrowane przez MQTT (Zigbee2MQTT, Tasmota, Shelly)
- Obiekty tworzone w
modules/jako VirtualSwitch, VirtualSensor - Dashboard, HomeKit, Home Assistant działają normalnie
W trybie standalone pliki OM (om.lua, user.lua) nie istnieją - vCLU startuje bez nich i loguje:
[LUA] om.lua not found - running without Grenton objectsOgraniczenia#
- OM obsługuje tylko sieć lokalną (broadcast UDP) - nie działa przez VPN/internet
- Każda synchronizacja z OM nadpisuje
om.luaiuser.lua - Wirtualne moduły nie sterują sprzętem - do tego potrzebny GPIO lub MQTT
- Limit modułów w jednym CLU: wynika z konfiguracji OM (typowo 8-16)
Agent AI (MCP) może pomóc w konfiguracji obiektów remote, importowaniu plików OM i tworzeniu automatyzacji łączących urządzenia Grenton z MQTT. Użyj
vclu_registryżeby zobaczyć wszystkie dostępne obiekty.