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 bash

Skrypt 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:

  1. Typ urządzenia - wybierz Standalone. Tego wyboru nie zmienisz później.
  2. Zabezpieczenia - nazwa użytkownika (min. 3 znaki) i hasło do panelu (min. 8 znaków).
  3. 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, port 1883, 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 bez expose() 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?#