Jednym z popularnych sposobów połączenia pasków LEDowych z KNX jest wykorzystanie sterownika Enterius EC-133MB z protokołem modbus.
Założenia do przykładu rozwiązania
- system KNX wyposażony jest w sterownik Wiser for KNX lub homeLYnk (LSS100100)
- przycisk KNX wysyła na adres grupowy (np. 8/7/6) wartości 0%, 30% i 100%. (MTN617119)
- pasek LEDowy podłączony jest do kanału
- sterownik modbus EC-133MB skonfigurowany jest na prędkość modbus 19200, parzystość nieparzystą, 8 bitów danych, 1 bit stopu, adres 1. Pasek LED podłączono do kanału nr 2.
Konfiguracja przycisku
Przycisk (w tym przypadku najprostszy MTN617119 skonfigurowany jest w oparciu o funkcję zboczy (Edges):
Utwórz w ETS adres grupowy (np. 8/7/6) i podłącz oba obiekty klawisza 1:
Skrypt Lua w Wiser for KNX / homeLYnk / spaceLYnk:
W Wiser for KNX utwórz adres grupowy (np. 8/7/6) i ustaw jego typ danych na 05.001. Do tego samego adresu grupowego (np. 8/7/6) w Wiser for KNX podłącz skrypt zdarzeniowy:
require('luamodbus') mb = luamodbus.rtu() mb:open('/dev/RS485', 19200, 'O', 8, 1, 'H') mb:connect() mb:setslave(1) wartosc_docelowa = event.getvalue() * 255/100 -- komentarz: linia poniżej wprowadza w rejestr nr 5 (rejestr sterujący kanałem 2), procentową wartość jasności w czasie 100ms) mb:writeregisters(5, wartosc_docelowa, 100) mb:close()
Od tego momentu krótkie kliknięcia na klawiszu w przycisku KNX MTN617119 wysyłają naprzemiennie 30% i 100% wysterowania dla paska LED, a przytrzymanie wysyła 0% (wyłącza go).