Skip to content

Модуль управления освещением

Функционал поддерживается только для Pro версии. Модуль предназначен для установки в контролер SLS DIN Mini.

Модуль добавляет следующую функциональность:

  • DALI-мастер интерфейс

  • DALI блок питания шины

  • Выход 0-10В (2шт)

  • Выход 0-20mA (2шт)

Внешние клеммы

  1. CH1 OUT 0-10V (IO32)
  2. CH2 OUT 0-10V (IO35)
  3. CH3 OUT 0-20mA (IO26)
  4. CH4 OUT 0-20mA (IO27)
  5. DALI +
  6. DALI -

Web-интерфейс

После инициализации интерфейса интерфейс доступен по адресу /daliicon

Интерфейс позволяет сканировать и инициализировать DALI светильники, видеть их тип, минимальную, максимальную и текущую яркость, привязку к группам. Можно включать,выключать, идентифицировать светильники.

DALI интерфейс

Для инициализации интерфейса достаточно добавить в скрипт init.lua следующий вызов:

lua
dali.begin()
dali.begin()

Инициализация (сброс) устройств DALI и раздача коротких адресов:

lua
dali.init()
dali.init()

Сканирование шины DALI для поиска устройств (с короткими адресами), результат поиска с типами устройств выводится в консоль и как возвращаемое значение:

lua
dali.scan()
dali.scan()

Отправка команды на включение всех устройств:

lua
dali.on()
dali.on()

Отправка команды на выключение всех устройств:

lua
dali.off()
dali.off()

Отправка команды мигания устройства 5:

lua
dali.blink(true, 5)
dali.blink(true, 5)

Смена адреса устройства с 1 на 36:

lua
dali.setaddr(1, 36)
dali.setaddr(1, 36)

Отправка команд реализована через функцию dali.cmd(cmd, params)

где:

  • cmd (string) - содержит имя команды из таблицы ниже
  • params (table) - параметры команды

Параметры:

  • addrtype (string) - тип адреса, необходимо для адресуемых команда, возможные значения: short, group, broadcast
  • address (number) - короткий адрес или группа
  • value (number) - параметр

Возвращаемый результат

Если команда не возвращает результат, то возвращает true, если должна возвращать, но произошла ошибка, возвращает nil и код ошибки.

Коды ошибок:

  • -7 bus power down
  • -6 bus busy
  • -5 bad address
  • -4 receive timeout
  • -3 unknown command
  • -2 unknown addrType
  • -1 ok, no return
  • 0-255 return

Команды

КомандаОписаниеАдресуемаяС ответомДиапазон
-arcПрямое управление яркостью*0..254
-blinkЗапускает мигание с периодичностью 1 секунда*
-onВключает устройство*
0offВыключает устройство*
1up*
2down*
3stepup*
4stepdown*
5recallmaxУстанавливает максимальную яркость*
6recallminУстанавливает минимальную яркость*
7stepdownoff*
8stepupon*
16-31gotosceneЗапускает сцену*0..15
32resetСбрасывает сохраненные параметры, кроме адреса*
33storeactualЗадает яркость из DTR*
37identifyЗадает идентификацию устройства*
42storemaxЗадает максимальный лимит яркости из DTR*
43storeminЗадает минимальный лимит яркости из DTR*
44storesystemfailureЗадает яркость при аварии шины DALI из DTR*
45storepoweronЗадает яркость при подаче питания из DTR*
46storefadetimeЗадает fade time из DTR*
47storefaderateЗадает fade rate из DTR*
64-79storesceneСохраняет значение DTR как сцену*0..15
80-95removesceneУдаляет сцену*0..15
96-111addtogroupДобавляет устройство в группу*0..15
112-127removefromgroupУдаляет устройство из группы*0..15
128storeshortaddress*
144querystatus**
152querydtr**
153querydevicetypeВозвращает тип устройства**
160queryactualВозвращает текущую яркость**
161querymaxВозвращает максимальный лимит яркости**
162queryminВозвращает минимальный лимит яркости**
163querypoweronВозвращает яркость при подаче питания**
164querysystemfailureВозвращает яркость при аварии шины DALI**
165queryfadetimerateВозвращает fade time rate**
167querynextdevicetypeВозвращает nextdevicetype**
176-191querysceneВозвращает значение сцены**0..15
192querygroupslowВозвращает битовую маску групп в которых состоит 0-7**
193querygroupshighВозвращает битовую маску групп в которых состоит 8-15**
-setdtrСохраняет значение в DTR0..255
-setdtr1Сохраняет значение в DTR10..255
-setdtr2Сохраняет значение в DTR20..255
-enabledevicetype0..253
-activate*
-setrgbdimlevel*
-setwafdimlevel*

Отправка команды изменения яркости на 30 на устройство с коротким адресом 5:

lua
dali.cmd('arc', { addrtype = 'short', address = 5, value = 30 })
dali.cmd('arc', { addrtype = 'short', address = 5, value = 30 })

Получает значение яркости для устройства с адресом 1:

lua
print(dali.cmd('queryactual', { addrtype = 'short', address = 1 }))
print(dali.cmd('queryactual', { addrtype = 'short', address = 1 }))

Если на шине только одно устройство, назначает ему адрес 42:

lua
address = 42
dali.cmd('setdtr', { addrtype = 'broadcast', value = address * 2 + 1 })
dali.cmd('storeshortaddress', { addrtype = 'broadcast' })
address = 42
dali.cmd('setdtr', { addrtype = 'broadcast', value = address * 2 + 1 })
dali.cmd('storeshortaddress', { addrtype = 'broadcast' })

Добавляет устройство с адресом 1 в группу 5:

lua
dali.cmd('addtogroup', { addrtype = 'short', address = 1, value = 5  })
dali.cmd('addtogroup', { addrtype = 'short', address = 1, value = 5  })

Устанавливает минимальное значение яркости 100 для устройства с адресом 1:

lua
dali.cmd('setdtr', { addrtype = 'broadcast', value = 100 })
dali.cmd('storemin', { addrtype = 'short', address = 1 })
dali.cmd('setdtr', { addrtype = 'broadcast', value = 100 })
dali.cmd('storemin', { addrtype = 'short', address = 1 })

Управление через MQTT

Текущее состояние устройств приходит в виде JSON в топики вида xxx/dali/{addrtype}

Управление состоянием устройства: Топик: xxx/dali/{addrtype}/set/state ON/OFF/TOGGLE

Управление яркостью устройства: Топик: xxx/dali/{addrtype}/set/brightness 0..255

Отправка произвольных комманд: Топик: xxx/dali/{addrtype}/cmd/{cmd}

Сообщение (опционально): value

где xxx - префикс шлюза

Результат отправки команды публикуется в топике xxx/dali/result

Отправка команды изменения яркости на 30 на устройство с коротким адресом 5:

Topic: xxx/dali/5/cmd/arc
Payload: 30
Topic: xxx/dali/5/cmd/arc
Payload: 30

Отправка команды выключения на все устройства в группе 0:

Topic: xxx/dali/g0/cmd/off
Payload:
Topic: xxx/dali/g0/cmd/off
Payload:

Отправка команды выключения на все устройства:

Topic: xxx/dali/broadcast/cmd/off
Payload:
Topic: xxx/dali/broadcast/cmd/off
Payload: