vCLU bez Grentona#
Nie masz Grentona albo chcesz najpierw spróbować vCLU na boku? W trybie Standalone vCLU jest samodzielnym kontrolerem: urządzenia MQTT, automatyki w Lua, Home Assistant, HomeKit i agent AI, bez żadnej centrali.
Na koniec będziesz mieć gniazdko Tasmota (albo wirtualny przełącznik, jeśli nie masz żadnego urządzenia) widoczne w panelu vCLU, w Home Assistant i w Apple Home.
Masz instalację Grenton? Przejdź od razu do vCLU w instalacji Grenton.
1. Instalacja#
Na Raspberry Pi albo dowolnym Linuksie:
curl -sSL https://vclu.pl/install.sh | sudo bashSkrypt sam wykrywa platformę, pobiera najnowsze wydanie i instaluje usługę systemd. Panel jest pod http://<adres-vclu>:8080.
2. Kreator#
Kreator przy pierwszym uruchomieniu w trybie Standalone ma trzy kroki:
- Typ urządzenia - wybierz Standalone. Tego wyboru nie zmienisz później.
- Zabezpieczenia - nazwa użytkownika (min. 3 znaki) i hasło do panelu (min. 8 znaków).
- Zakończ.
3. Pierwszy przełącznik#
Wejdź w Editor i utwórz plik modules/lampka.lua. Każdy plik leżący bezpośrednio w modules/ ładuje się sam.
Bez urządzenia - wirtualny przełącznik, który zapamiętuje stan po restarcie:
-- modules/lampka.lua
local lamp = VirtualSwitch:new("lampka", { initial = 0, persist = true })
expose(lamp, "switch", { name = "Lampka", area = "Biuro" })Z gniazdkiem Tasmota - najpierw w Integracje → MQTT:
- zakładka Broker: włącz Enable Embedded MQTT Broker i kliknij Save Broker Settings,
- zakładka Client: włącz Enable MQTT Client, host
localhost, port1883, i kliknij Save.
W Tasmocie (Configuration → Configure MQTT) wpisz jako host adres vCLU. Potem w module:
-- modules/lampka.lua (tasmota_desk to Topic z konfiguracji Tasmoty)
local lamp = VirtualSwitch:new("lampka")
-- Stan z gniazdka
MQTT:subscribe("stat/tasmota_desk/POWER", function(topic, payload)
lamp:updateState(payload == "ON" and 1 or 0)
end)
-- Komendy do gniazdka
lamp:onSwitchOn(function() MQTT:publish("cmnd/tasmota_desk/Power", "ON") end)
lamp:onSwitchOff(function() MQTT:publish("cmnd/tasmota_desk/Power", "OFF") end)
expose(lamp, "switch", { name = "Lampka", path = "tasmota:desk", area = "Biuro" })Zapisz (Ctrl+S) i kliknij Reload. Błędy zobaczysz w panelu na dole edytora.
expose()decyduje, co widać na zewnątrz: w Home Assistant, HomeKit i dla agentów AI. Obiekt bezexpose()działa w Lua, ale nikt go nie widzi.
4. Home Assistant#
W Integracje → MQTT, zakładka Client, włącz Enable Home Assistant Integration i zapisz. W Home Assistant dodaj integrację MQTT wskazującą na broker vCLU (adres vCLU, port 1883).
Lampka pojawi się w HA sama, przez MQTT discovery. Przełączenie jej w HA, w panelu vCLU albo na gniazdku daje ten sam stan wszędzie.
5. Apple Home#
W Integracje → HomeKit włącz Włącz mostek HomeKit i zapisz konfigurację. Strona pokaże PIN parowania.
Na iPhonie: aplikacja Dom → Dodaj akcesorium → Więcej opcji… → wybierz mostek vCLU i wpisz PIN. Wszystkie obiekty z expose() pojawią się w Apple Home.
Co dalej?#
- Automatyki w Lua - reakcje na zdarzenia, stan po restarcie, dashboard na tablet
- Agent AI pisze automatykę - agent zmienia kod przez sandbox z testami