Skip to content

LED

SLS шлюз может управлять различными светодиодами. Это может быть подсветка корпуса Xiaomi, круглые платы с modkam.ru, либо индикационный многофункциональный светодиод шлюза SLS DIN MINI. В дополнение можно подключить обычную или адресную светодиодную ленту.

Управлять LED можно скриптами LUA, HTTP API и MQTT. Можно задавать яркость и цвет свечения, а для адресных светодиодов - включать и выключать различные эффекты

Режимы

  • ON - включен
  • OFF - выключен
  • AUTO - оповещение шлюза о своем состоянии по следующему алгоритму:
    • зеленый горит - Join
    • синий переливается - режим AP
    • синий мигает - идет подключение к Wi-Fi
    • красный - ошибка подключения к Wi-Fi
    • белый горит - удержание сервисной кнопки в момент старта шлюза

Управление

LUA

os.led()

lua
os.led(mode, brightness, r, g, b[, effect])
-- mode - STR, режим. OFF - выключено, ON - включено, AUTO - индикация режимов/состояний шлюза (см. описание далее)
-- brightness - INT, яркость (целое, от 0 до 255)
-- r, g, b - INT, цвет (целое, от 0 до 255 или -1, если цвет менять не требуется)
-- effect - INT, для адресных светодиодов, включает эффекты в соответствии с таблицей ниже
os.led(mode, brightness, r, g, b[, effect])
-- mode - STR, режим. OFF - выключено, ON - включено, AUTO - индикация режимов/состояний шлюза (см. описание далее)
-- brightness - INT, яркость (целое, от 0 до 255)
-- r, g, b - INT, цвет (целое, от 0 до 255 или -1, если цвет менять не требуется)
-- effect - INT, для адресных светодиодов, включает эффекты в соответствии с таблицей ниже

HTTP API

Получить текущий статус

http
GET /api/led
GET /api/led
json
{
  "state": "OFF",
  "brightness": 255,
  "color": { "r": 0, "g": 0, "b": 0 },
  "color_mode": "rgb",
  "mode": "auto"
}
{
  "state": "OFF",
  "brightness": 255,
  "color": { "r": 0, "g": 0, "b": 0 },
  "color_mode": "rgb",
  "mode": "auto"
}
  • state - STR, статус светодиода - ON/OFF
  • brightness - INT, яркость
  • color - объект со значениями цвета RGB
  • color_mode - цветовая модель (для совместимости с HA)
  • mode - режим (AUTO, ON, OFF)

Управление LED

Управление LED осуществляется передачей JSON объекта:

http
GET /api/led?set=JSONObject
GET /api/led?set=JSONObject

JSON объект:

json
{
  "mode": "on",
  "brightness": 100,
  "color": {
    "r": 255,
    "g": 150,
    "b": 200
  },
  "effect": 10
}
{
  "mode": "on",
  "brightness": 100,
  "color": {
    "r": 255,
    "g": 150,
    "b": 200
  },
  "effect": 10
}

Любой из параметров mode, brightness, color, effect может отправляться как по отдельности, так и в любой подходящей под задачу комбинации в одном запросе.

В ответ возвращается текущий статус:

MQTT

Текущий статус

текущий статус в формате JSON в топике ZigBeeGW/led

ZigbeeSLS/led {"state":"OFF","brightness":255,"color":{"r":0,"g":0,"b":0},"color_mode":"rgb","effect":10,"mode":"auto"}
ZigbeeSLS/led {"state":"OFF","brightness":255,"color":{"r":0,"g":0,"b":0},"color_mode":"rgb","effect":10,"mode":"auto"}

Управление LED

для управления отправить в топик ZigBeeGW/led/set

JSON объект:

json
{
  "mode": "on",
  "brightness": 100,
  "color": {
    "r": 255,
    "g": 150,
    "b": 200
  },
  "effect": 10
}
{
  "mode": "on",
  "brightness": 100,
  "color": {
    "r": 255,
    "g": 150,
    "b": 200
  },
  "effect": 10
}

Любой из параметров mode, brightness, color, effect может отправляться как по отдельности, так и в любой подходящей под задачу комбинации в одном запросе.

Управление светодиодами

Шлюз SLS в корпусе Xiaomi

Модернизированный шлюз Xiaomi или индикаторное кольцо с обычными светодиодами. На странице настроек Settings -> Hardware необходимо выполнить настройки:

luaIntLedGPIOSettings

Шлюз SLS DIN MINI (адресный индикаторный светодиод)

На странице настроек Settings -> Hardware необходимо установить: Led Red (or addr): 21, указать количество светодиодов Number addressable leds: 1

Кольцо Modkam с адресными светодиодами

Светодиодное кольцо Modkam.

На странице настроек Settings -> Hardware необходимо установить: Led Red (or addr): для платы с SD - 27, для платы без SD - 21 (конкретный пин зависит от платы), указать количество светодиодов Number addressable leds: 18

Примеры

HTTP API. Включить LED с красным цветом и яркостью 50%

http
GET /api/led?set={"brightness":128,"color":{"r":255,"g":150,"b":200}}
GET /api/led?set={"brightness":128,"color":{"r":255,"g":150,"b":200}}

HTTP API. Включить LED с эффектом 10 и яркостью 50%

http
GET /api/led?set={"brightness":128,"effect":10}
GET /api/led?set={"brightness":128,"effect":10}

LUA. Включить LED с красным цветом и яркостью 100%

Вариант 1

lua
os.led("ON", 255, 255, 0, 0)
os.led("ON", 255, 255, 0, 0)

Вариант 2

lua
local led = {mode = "ON", brightness = 255 , r = 255, g = 0, b = 0}
os.led(led.mode, led.brightness, led.r, led.g, led.b)
local led = {mode = "ON", brightness = 255 , r = 255, g = 0, b = 0}
os.led(led.mode, led.brightness, led.r, led.g, led.b)

LUA. Включить эффект 10

lua
os.led('ON',255,200,100,100,10) -- включить эффект номер 10
os.led('ON',255,200,100,100,10) -- включить эффект номер 10

LUA. Вернуть в режим AUTO

lua
os.led("AUTO")
os.led("AUTO")

Интеграция в HA

Таблица эффектов

НомерКраткое описаниеЦветДействиеEng
0Постоянное свечение (эффекты отключены)моноСтатикаStatic
1Частые вспышки (период свечения больше чем период затемнения)моноВспышкаBlink
2Смена яркости от минимума до максимума и обратно (20сек)моноДыханиеBreath
3Зажигает последовательно круг и гасит по часовой стрелкемоноСтирание цветаColor Wipe
4Гасит круг по часовой и зажигает по часовой стрелкемоноИнвертированное стирание цветаColor Wipe Inverse
5Зажигает круг по часовой и гасит против часовоймоноРеверсивное стирание цветаColor Wipe Reverse
6Гасит круг по часовой и зажигает против часовоймоноРеверсивное инвертированное стирание цветаColor Wipe Inverse Reverse
7Зажигает по часовой перебирая цветаRGBСтирание случайного цветаColor Wipe Random
8Случайная смена цвета через 0,5сек.RGBСлучайный цветRandom Color
9Рандомно меняется цвет одной точки с повышенной яркостью через 0.5 секRGBОдиночный динамическийSingle Dynamic
10Рандомно меняется цвет половины точек через 0.5 секRGBМульти динамическийMulti Dynamic
11Заполняет круг одним цветов, который плавно изменяется по радужной палитреRGBРадугаRainbow
12Радуга, меняющаяся от начала к концуRGBЦиклическая радугаRainbow Cycle
13Бегающая точка по сектору 360гр.моноСканерScan
14Две бегающие точки по секторам 180гр.моноДвойной сканер Dual Scan
15См. 2 только 10 сек.моноЗатуханиеFade
161 святящаяся и 2 черных точки, вращаются по часовой стрелкемоноТеатральное преследованиеTheater Chase
17См. 16 со сменой цвета из палитры радугиRGBРадужная театральное преследованиеTheater Chase Rainbow
18Бегущая градиентная тень из ~10% точекмоноБегущие огниRunning Lights
19Произвольные вспышки точек (1сек)моноМиганиеTwinkle
20Произвольные вспышки цветных точек (1сек)RGBЦветное миганиеTwinkle Random
21Произвольные вспышки точек с плавным затуханием яркости (0,5сек)моноМигание с затуханиемTwinkle Fade
22Произвольные вспышки цветных точек с плавным затуханием яркости (0,5сек)RGBЦветное мигание с затуханиемTwinkle Fade Random
23Произвольные вспышки точек (0,2сек)моноИскраSparkle
24Произвольная белая вспышка (0,2сек) на выбранном фонеRGBВспышка искрыFlash Sparkle
25Произвольные множественные белые вспышки на выбранном фонеRGBГипер вспышкиHyper Sparkle
26Частые вспышки (период свечения меньше чем период затемнения)моноСтробоскопStrobe
27Частые вспышки со сменой цвета из палитры радуги (период свечения меньше чем период затемнения)RGBРадужный стробоскопStrobe Rainbow
28Несколько последовательных вспышек с паузой 2 секундымоноМульти стробоскопMulti Strobe
29Частые вспышки со сменой цвета из палитры радуги (период свечения больше чем период затемнения)RGBРадужная вспышкаBlink Rainbow
30Заполняет круг белым и двигает 2 точки выбранного цвета по часовойRGBПреследование на беломChase White
31Заполняет круг выбранным цветом и двигает 2 белые точки по часовойRGBПреследование на цветномChase Color
32Заполняет круг разными цветами по очереди и двигает 2 белые точки по часовойRGBПреследование на случайном цветеChase Random
33Зажигает радугу по кругу и двигает 2 белые точки по часовойRGBПреследование на радугеChase Rainbow
34Заполняет круг выбранным цветом и двигает 2 белые точки по часовой вспышкамиRGBПреследование со вспышкойChase Flash
35Двигает 2 белые точки по часовой вспышками заполняя круг всеми цветамиRGBЦветное преследование со вспышкойChase Flash Random
36Зажигает круг белым цветом и двигает 2 радужные точки по часовойRGBРадужное преследование со вспышкойChase Rainbow White
37Зажигает круг выбранным цветом и двигает тень в 2 точки по часовоймоноПреследование затемненияChase Blackout
38Двигает тень в 2 точки по часовой по радужному кругуRGBРадужное преследование затемненияChase Blackout Rainbow
39Зажигает круг по часовой одним цветом и меняет его при движении в обратную сторонуRGBТолкание цветаColor Sweep Random
40Бегущая точка выбранного цвета с хвостом из точекмоноБегущий цветRunning Color
41Быстро бегущие красные и синии точкиRGBБегущий красно синийRunning Red Blue Хорошо заметно если предыдущий эффект был со сплошным фоном
42Быстро бегущие точки произвольного цветаRGBБегущий случайный цветRunning Random См. 41
43Бегущая туда-обратно точка выбранного цвета с хвостом (6 точек с затуханием яркости)моноСканер ЛарсонаLarson Scanner
44Бегущая в одну сторону точка выбранного цвета с хвостом (6 точек с затуханием яркости)моноКометаComet
45Возникающая в случайном месте вспышка выбранного цвета с обрамлением из 5-6 точек с затухающей яркостьюмоноФейерверкFireworks
46См. 45, но цвет случайныйRGBСлучайный фейерверкFireworks Random
47См. 41, но красно - зеленая гаммаRGBС Рождеством!Merry Christmas
48Зажигает круг выбранным цветом в половину ярости и зажигает в случайном порядке точки с яркостью от 50 до 100%моноМерцание огняFire Flicker
49См. 48, но менее контрастный (случайные точки от 50 до 70% яркости)моноМерцание огня (мягкое)Fire Flicker (soft)
50См. 48, но более контрастный (начальная яркость 30%)моноМерцание огня (интенсивное)Fire Flicker (intense)
51Заполняет круг парами красных и белых точек, которые меняются местамиRGBЦирк сгорелCircus Combustus
52См. 47, но оранжево-синяя гаммаRGBХэллоуинHalloween
53Бегущие 2 черные точки заполняют круг выбранным цветоммоноДвухцветное преследованиеBicolor Chase
54Заполняет круг шаблоном 2 черные точки и точка выбранного цвета, и двигает по кругумоноТрехцветное преследованиеTricolor Chase
55Заполняет круг выбранным цветом и в произвольном порядке за 2 секунды меняет яркость у половины точекмоноМиганиеFOX TwinkleFOX
56Вспышка с затуханием выбранным цветом. Сначала все точки, а через 10 секунд половина точекмоноДождьRain
57Сердечный ритм, цвет меняется из радужной палитрыRGBБиение сердцаBpm
58Градиент от начала до конца с плавными переходами между цветамиRGBРадуга 2Rainbow 2
59На темном фоне зажигает 30% разноцветных точек с плавным угасаниемRGBКонфеттиConfetti
60См. 58, но добавляется случайная белая вспышка с разным интерваломRGBРадуга с блесткойRainbow with glitter
61Реверсивный бегущий огонь с радужной палитрой на всю длинуRGBSinelon Sinelon
626 бегущих точек с переливом цветов с плавным затуханиемRGBЖонглированиеJuggle