Перейти к содержимому

← Начало работы | Содержание | Далее: Методы управления →

Конфигурация

Файл конфигурации хранится в файловой системе ESP32 по пути /dimmerlink.json. Его можно редактировать через Consoles > Manage File System > Edit.

Минимальная конфигурация (одно устройство, 1 канал)

json
{
  "devices": [
    {"addr": "0x50", "label": "Dimmer", "channels": 1}
  ],
  "presets": {
    "night": 10,
    "low": 25,
    "mid": 50,
    "high": 75,
    "full": 100
  }
}

Многоканальная конфигурация (1 устройство, 2 канала)

json
{
  "devices": [
    {"addr": "0x50", "label": "Lamp", "channels": 2}
  ],
  "presets": {
    "night": 10,
    "full": 100
  }
}

Это создаёт два ползунка: Lamp Ch1 и Lamp Ch2, управляемых командами DimmerLink_Lamp1 и DimmerLink_Lamp2.

Несколько устройств на одной шине I2C

json
{
  "devices": [
    {"addr": "0x50", "label": "Kitchen", "channels": 1},
    {"addr": "0x51", "label": "Bedroom", "channels": 1},
    {"addr": "0x52", "label": "Hall", "channels": 2}
  ],
  "presets": {
    "night": 10,
    "evening": 40,
    "full": 100
  }
}

Каждое устройство получает собственный ползунок, команды и запись телеметрии.

Параметры конфигурации

Параметр Тип Обязательный По умолчанию Описание
addr string Да "0x50" I2C адрес в шестнадцатеричном формате
label string Да "DimmerLink" Имя устройства (используется в командах и веб-интерфейсе)
channels integer Нет 1 Количество каналов диммера (1–4)
presets object Нет (см. выше) Именованные уровни яркости

Правила именования меток

Метки используются в названиях команд Tasmota. В связи с тем, как Tasmota разбирает команды:

Метка OK? Почему
Kitchen Да Нет конечной цифры
DimmerA Да Заканчивается на букву
Dimmer1 Нет Tasmota читает «1» как индекс команды, а не часть имени
Room2 Нет Та же проблема — «2» становится индексом
Lamp_North Да Подчёркивание и буква допустимы

Если метка заканчивается цифрой, при загрузке драйвер выведет предупреждение:

plaintext
DimmerLink WARNING: label 'Room2' ends with digit — commands will not work. Rename it.

Настройка I2C-адресов

Каждое устройство DimmerLink поставляется с I2C-адресом по умолчанию 0x50. Для использования нескольких устройств на одной шине каждому необходимо присвоить уникальный адрес.

Проверка устройств на шине

Откройте Consoles > Berry Scripting Console и выполните:

berry
import DimmerLink
DimmerLink.scan()

Вывод:

plaintext
I2C bus 0:
  0x50 - DimmerLink v1 (READY, 50Hz, level=0%)
Found 1 DimmerLink device(s)

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

  1. Подключите устройство, которое нужно перенастроить
  2. В Berry-консоли выполните:
berry
import DimmerLink
DimmerLink.change_addr(0x50, 0x51)

Вывод:

plaintext
DimmerLink at 0x50: v1, READY
Writing new address 0x51... OK
Verifying 0x51... OK
Address changed: 0x50 -> 0x51
>>> Update dimmerlink.json: change addr to 0x51
  1. Смена адреса происходит немедленно и сохраняется во внутренней памяти устройства
  2. Отключите питание, подключите следующее устройство, включите питание — повторите при необходимости
  3. Обновите /dimmerlink.json с новыми адресами
  4. Перезапустите Tasmota

Пошагово: настройка 3 устройств

plaintext
1. Connect Device A only → it responds at 0x50 (default)
   Berry console: DimmerLink.change_addr(0x50, 0x51)
   → Device A is now at 0x51
2. Power off. Connect Device B only → it responds at 0x50
   Berry console: DimmerLink.change_addr(0x50, 0x52)
   → Device B is now at 0x52
3. Power off. Connect Device C (keep at default 0x50)
4. Power off. Connect all three devices together.
5. Edit dimmerlink.json:
   {
     "devices": [
       {"addr": "0x50", "label": "DeviceC", "channels": 1},
       {"addr": "0x51", "label": "DeviceA", "channels": 1},
       {"addr": "0x52", "label": "DeviceB", "channels": 1}
     ]
   }
6. Restart Tasmota.
7. Verify: DimmerLink.scan()
   0x50 - DimmerLink v1 (READY, 50Hz)
   0x51 - DimmerLink v1 (READY, 50Hz)
   0x52 - DimmerLink v1 (READY, 50Hz)
   Found 3 DimmerLink device(s)

Забыли, какой адрес у устройства?

berry
import DimmerLink
DimmerLink.scan()

Эта команда всегда показывает реальные адреса на шине, независимо от содержимого файла конфигурации.

Получение информации об устройстве

Если драйвер уже загружен, можно просмотреть информацию о запущенном экземпляре:

berry
global._dimmerlink[0].info()

Вывод:

plaintext
DimmerLink "Kitchen" at 0x50 (bus 0)
  Channels:  1
  Levels:    Ch1=50%
  Power:     ON (relay 6)
  Curve:     Ch1=LINEAR
  Fade:      0 (0.0s)
  AC freq:   50 Hz
  Firmware:  v1
  Ready:     Yes
  preinit:   DimmerLink(0x50, "Kitchen", 1)

Веб-конфигурация Tasmota

Драйвер DimmerLink использует стандартный веб-интерфейс Tasmota. Специальные страницы конфигурации не требуются.