Skip to content

Інтеграція з Home Assistant ​

SVITRIX підтримує автоматичне виявлення в Home Assistant через MQTT. Після увімкнення пристрій автоматично реєструється в HA з 66 керованими сутностями.

Вимоги ​

  • Налаштований MQTT-брокер (Mosquitto, EMQX тощо)
  • Home Assistant з увімкненою інтеграцією MQTT
  • SVITRIX, підключений до того ж MQTT-брокера

Налаштування ​

1. У SVITRIX ​

Перейдіть до Settings > MQTT у веб-інтерфейсі:

ПолеОпис
HostIP або ім'я хоста MQTT-брокера
PortПорт (за замовчуванням: 1883)
User / PasswordОблікові дані брокера
PrefixПрефікс MQTT-топіків (за замовчуванням: svitrix)
HA DiscoveryУвімкніть для автоматичного виявлення

2. У Home Assistant ​

Інтеграцію MQTT має бути налаштовано. Якщо ви використовуєте надбудову Mosquitto від HA, усе вже готове. Для зовнішніх брокерів:

yaml
# configuration.yaml
mqtt:
  broker: 192.168.1.100
  port: 1883
  username: your_user
  password: your_password

Після увімкнення HA Discovery у SVITRIX та перезавантаження сутності з'являться автоматично у Settings > Devices & Services > MQTT.


Доступні сутності (всього 66) ​

Світло / Lights (5) ​

СутністьОписКерування
MatrixОсновний LED-дисплейУвімк./Вимк., яскравість (0-255), RGB-колір
Indicator 1Верхній правий індикаторний LEDУвімк./Вимк., RGB-колір
Indicator 2Середній правий індикаторний LEDУвімк./Вимк., RGB-колір
Indicator 3Нижній правий індикаторний LEDУвімк./Вимк., RGB-колір
Night colorКолір тексту в нічному режиміRGB-колір

Перемикачі / Switches (14) ​

СутністьОпис
TransitionУвімкнути/вимкнути автоматичне перемикання додатків
Night modeАктивувати/деактивувати нічний режим
Night block transitionБлокувати переходи під час нічного режиму
Sound enabledУвімкнути/вимкнути звуки зуммера
Show time appПоказати/приховати додаток часу
Show date appПоказати/приховати додаток дати
Show temperature appПоказати/приховати додаток температури
Show humidity appПоказати/приховати додаток вологості
Show battery appПоказати/приховати додаток батареї
Show outdoor tempПоказати/приховати зовнішню температуру (погода)
Show outdoor humidityПоказати/приховати зовнішню вологість (погода)
Show pressureПоказати/приховати атмосферний тиск (погода)
Show air qualityПоказати/приховати індекс якості повітря (погода)
Show UV indexПоказати/приховати UV-індекс (погода)

Числа / Numbers (14) ​

СутністьДіапазонОпис
Night brightness1-50Яскравість під час нічного режиму
Sound volume0-30Гучність зуммера
Time per app1-60сТривалість показу кожного додатку в ротації
Scroll speed20-200мсШвидкість прокрутки тексту
Clock duration1-300сТривалість додатку часу
Date duration1-60сТривалість додатку дати
Temperature duration1-60сТривалість додатку температури
Humidity duration1-60сТривалість додатку вологості
Battery duration1-60сТривалість додатку батареї
Outdoor temp duration1-60сТривалість зовнішньої температури
Outdoor humidity duration1-60сТривалість зовнішньої вологості
Pressure duration1-60сТривалість атмосферного тиску
Air quality duration1-60сТривалість якості повітря
UV index duration1-60сТривалість UV-індексу

Примітка: Числа тривалості для кожного додатку та перемикачі видимості (Show time/date/temp/hum/bat + видимість погоди) тепер відображають і керують фактичною ротацією пристрою (єдиним списком ротації), а не застарілими значеннями за замовчуванням — тож те, що показує HA, збігається з тим, що реально робить годинник, а зміна застосовується до всіх екземплярів цього типу додатку. Тонке налаштування для кожного окремого екземпляра залишається в редакторі ротації у веб-інтерфейсі. Числа тривалості подаються як числове поле (значення завжди видиме), а не повзунок.

Селектори / Selects (3) ​

СутністьВаріантиОпис
Brightness modeManual, AutoРежим яскравості (ручний або за датчиком освітленості)
Transition effect14 ефектівЕфект переходу між додатками
Background effect21 варіантФоновий ефект (None, Fade, Matrix, Plasma, Fire тощо)

Кнопки / Buttons (8) ​

СутністьДія
Dismiss notificationЗакрити поточне сповіщення
Start UpdateРозпочати OTA-оновлення прошивки
Next appПерейти до наступного додатку
Previous appПерейти до попереднього додатку
RebootПерезавантажити пристрій
Play test soundВідтворити тестовий звуковий сигнал
Snooze alarmВідкласти активний будильник
Dismiss alarmСкасувати активний будильник

Сенсори / Sensors (17-18) ​

СутністьОдиницяОпис
Current app—Назва активного додатку
Device topic—MQTT-префікс пристрою
Temperature°CТемпература навколишнього середовища (внутрішній сенсор)
Humidity%Відносна вологість (внутрішній сенсор)
IlluminancelxОсвітленість (датчик LDR)
WiFi signaldBРівень WiFi-сигналу
Firmware version—Версія прошивки
Free RAMbytesДоступна пам'ять купи (heap)
UptimesЧас з моменту останнього перезавантаження
IP address—IP-адреса пристрою
Battery%Рівень заряду батареї (лише Ulanzi TC001)
Outdoor temperature°CЗовнішня температура (WeatherAPI)
Outdoor humidity%Зовнішня вологість (WeatherAPI)
PressurehPaАтмосферний тиск (WeatherAPI)
Air qualityAQIІндекс якості повітря (WeatherAPI)
Weather condition—Поточні погодні умови (WeatherAPI)
UV index—UV-індекс (WeatherAPI)
Next alarm—Наступний запланований будильник (HH:MM або "None")

Причина останнього скидання (reset_reason) ​

Корисне навантаження періодичного топіка <prefix>/stats (а також GET /api/stats) містить поле reset_reason з причиною останнього завантаження: poweron (звичайне ввімкнення живлення), ext (скидання зовнішнім пином), software (програмне/OTA-скидання), panic (виняток/збій), int_wdt / task_wdt / wdt (вотчдог), brownout (низька напруга), deepsleep (пробудження з глибокого сну), sdio та unknown (запасний варіант).

Це не автоматично виявлена сутність; задайте її як MQTT-сенсор, щоб отримувати сповіщення про неочікувані перезавантаження (вотчдог, panic, brownout) без послідовної консолі:

yaml
# configuration.yaml
mqtt:
  - sensor:
      name: "SVITRIX Reset Reason"
      state_topic: "svitrix/stats"   # use your MQTT prefix
      value_template: "{{ value_json.reset_reason }}"
      icon: mdi:restart-alert

Бінарні сенсори / Binary Sensors (4) ​

СутністьОпис
Button leftСтан лівої кнопки
Button middleСтан середньої кнопки
Button rightСтан правої кнопки
Alarm ringingВказує, чи лунає будильник

Приклади автоматизацій ​

Вимкнути звук, коли увімкнено телевізор ​

yaml
alias: "SVITRIX - Mute with TV"
trigger:
  - platform: state
    entity_id: media_player.living_room_tv
    to: "on"
action:
  - service: switch.turn_off
    target:
      entity_id: switch.svitrix_sound_enabled

Активувати нічний режим зі сценою ​

yaml
alias: "SVITRIX - Movie mode"
trigger:
  - platform: state
    entity_id: input_boolean.movie_mode
    to: "on"
action:
  - service: switch.turn_on
    target:
      entity_id: switch.svitrix_night_mode
  - service: number.set_value
    target:
      entity_id: number.svitrix_night_brightness
    data:
      value: 5
  - service: light.turn_on
    target:
      entity_id: light.svitrix_night_color
    data:
      rgb_color: [255, 50, 0]

Сповіщення про натискання кнопки ​

yaml
alias: "SVITRIX - Middle button pressed"
trigger:
  - platform: state
    entity_id: binary_sensor.svitrix_button_middle
    to: "on"
action:
  - service: notify.mobile_app
    data:
      message: "Middle button pressed on SVITRIX"

Автоматична яскравість за часом ​

yaml
alias: "SVITRIX - Brightness by schedule"
trigger:
  - platform: time
    at: "22:00:00"
action:
  - service: select.select_option
    target:
      entity_id: select.svitrix_brightness_mode
    data:
      option: "Manual"
  - service: light.turn_on
    target:
      entity_id: light.svitrix_matrix
    data:
      brightness: 30

Індикатор стану сигналізації ​

yaml
alias: "SVITRIX - Alarm indicator"
trigger:
  - platform: state
    entity_id: alarm_control_panel.home
action:
  - choose:
      - conditions:
          - condition: state
            entity_id: alarm_control_panel.home
            state: "armed_away"
        sequence:
          - service: light.turn_on
            target:
              entity_id: light.svitrix_indicator_1
            data:
              rgb_color: [255, 0, 0]
      - conditions:
          - condition: state
            entity_id: alarm_control_panel.home
            state: "disarmed"
        sequence:
          - service: light.turn_on
            target:
              entity_id: light.svitrix_indicator_1
            data:
              rgb_color: [0, 255, 0]

Надсилання сповіщення через MQTT ​

Для більш просунутих сповіщень використовуйте MQTT-топік напряму:

yaml
alias: "SVITRIX - Doorbell notification"
trigger:
  - platform: state
    entity_id: binary_sensor.doorbell
    to: "on"
action:
  - service: mqtt.publish
    data:
      topic: "svitrix/notify"
      payload: >
        {
          "text": "Someone at the door",
          "icon": "door",
          "color": "#FFAA00",
          "duration": 10,
          "sound": "doorbell"
        }

Інтеграція з Google Calendar ​

Відображайте події, річниці та завдання з Google Calendar на SVITRIX, використовуючи Home Assistant як міст.

Вимоги ​

  • Home Assistant з працюючою інтеграцією MQTT
  • Обліковий запис Google з доступом до Google Calendar

1. Налаштуйте Google Calendar у Home Assistant ​

  1. Перейдіть до Settings > Devices & Services > Add Integration
  2. Знайдіть Google Calendar
  3. Пройдіть процес OAuth-автентифікації з вашим обліковим записом Google
  4. Виберіть календарі, які хочете імпортувати

Після налаштування ви матимете сутності на кшталт:

  • calendar.my_personal_calendar
  • calendar.birthdays
  • calendar.work

2. Перевірте вручну ​

Перш ніж автоматизувати, перевірте надсиланням події вручну з Developer Tools > Services:

yaml
service: mqtt.publish
data:
  topic: "svitrix/notify"
  payload: |
    {
      "text": "Calendar test",
      "icon": "6741",
      "duration": 10,
      "color": "#00BFFF"
    }

Якщо вона з'явиться на SVITRIX, MQTT-з'єднання працює коректно.

3. Автоматизації ​

Показ наступної події як постійного додатку ​

yaml
automation:
  - alias: "SVITRIX - Next calendar event"
    trigger:
      - platform: time_pattern
        minutes: "/15"  # update every 15 min
      - platform: state
        entity_id: calendar.my_calendar
    condition:
      - condition: state
        entity_id: calendar.my_calendar
        state: "on"  # there's an active or upcoming event
    action:
      - service: mqtt.publish
        data:
          topic: "svitrix/custom/calendar"
          payload: >
            {
              "text": "{{ state_attr('calendar.my_calendar', 'message') }}",
              "icon": "6741",
              "duration": 10,
              "color": "#00BFFF"
            }

Сповіщення про день народження/річницю ​

yaml
automation:
  - alias: "SVITRIX - Daily anniversaries"
    trigger:
      - platform: time
        at: "08:00:00"
    condition:
      - condition: state
        entity_id: calendar.birthdays
        state: "on"
    action:
      - service: mqtt.publish
        data:
          topic: "svitrix/notify"
          payload: >
            {
              "text": "{{ state_attr('calendar.birthdays', 'message') }}",
              "icon": "955",
              "duration": 30,
              "color": "#FF69B4",
              "sound": "birthday"
            }

Нагадування про зустріч (за 15 хв) ​

yaml
automation:
  - alias: "SVITRIX - Meeting reminder"
    trigger:
      - platform: calendar
        event: start
        entity_id: calendar.work
        offset: "-0:15:00"
    action:
      - service: mqtt.publish
        data:
          topic: "svitrix/notify"
          payload: >
            {
              "text": "In 15 min: {{ trigger.calendar_event.summary }}",
              "icon": "7956",
              "duration": 60,
              "color": "#FFA500",
              "sound": "chime"
            }

4. Рекомендовані іконки ​

ІконкаIDВикористання
Calendar6741Загальні події
Cake955Дні народження
Gift52Річниці
Meeting7956Робота/зустрічі
Check51167Завдання
Alarm5765Нагадування

Більше іконок можна знайти в бібліотеці іконок LaMetric.

5. Видалення додатку календаря ​

Щоб прибрати додаток календаря з ротації:

yaml
service: mqtt.publish
data:
  topic: "svitrix/custom/calendar"
  payload: "{}"

Інтеграція з Alexa та Google Home ​

Використовуйте SVITRIX за допомогою голосових команд через Home Assistant.

Вимоги ​

  • Home Assistant з працюючою інтеграцією MQTT
  • Для Alexa: Alexa Media Player (HACS) або Home Assistant Cloud
  • Для Google: нативна інтеграція Google Assistant або Home Assistant Cloud

Початкове налаштування ​

1. Надайте сутності асистентам ​

Щоб керувати SVITRIX голосом, надайте доступ до цих сутностей:

yaml
# configuration.yaml
cloud:
  alexa:
    filter:
      include_entities:
        - light.svitrix_matrix
        - switch.svitrix_night_mode
        - switch.svitrix_sound_enabled
  google_assistant:
    filter:
      include_entities:
        - light.svitrix_matrix
        - switch.svitrix_night_mode
        - switch.svitrix_sound_enabled

2. Створіть input_boolean для рутин ​

Щоб активувати автоматизації голосом:

yaml
# configuration.yaml
input_boolean:
  good_morning:
    name: Good morning
    icon: mdi:weather-sunny
  show_message:
    name: Show message
    icon: mdi:message

Надайте ці input_boolean для Alexa/Google. Потім створіть рутини:

  • Alexa: "When I say 'Good morning'" → активувати input_boolean.good_morning
  • Google: "When I say 'Good morning'" → активувати input_boolean.good_morning

Доступні голосові команди ​

Після налаштування ви можете використовувати:

КомандаДія
"Alexa, turn on the clock"Увімкнути матрицю
"Hey Google, turn off the clock"Вимкнути матрицю
"Alexa, set clock brightness to 50%"Налаштувати яскравість
"Hey Google, activate night mode"Активувати нічний режим
"Alexa, Good morning"Виконати ранкову рутину

Блупринти для голосових асистентів ​

БлупринтОписІмпорт
Button to announcementФізична кнопка → Alexa/Google озвучуєImport
Voice notificationСкрипт для надсилання тексту на SVITRIXImport
Morning routine"Good morning" → погода + календарImport

Усунення несправностей ​

Сутності не з'являються в HA ​

  1. Переконайтеся, що MQTT підключено (іконка WiFi+MQTT на SVITRIX)
  2. Підтвердіть, що "HA Discovery" увімкнено в Settings > MQTT
  3. Перезавантажте SVITRIX після увімкнення discovery
  4. Перевірте журнали HA у Settings > System > Logs

Сутності відображаються як "unavailable" ​

  • Пристрій може бути відключений або перезавантажується
  • Перевірте MQTT-з'єднання з обох боків

Зміни не відображаються ​

  • Деякі зміни потребують публікації стану від SVITRIX (за замовчуванням кожні 5 секунд)
  • Щоб примусово оновити негайно, перезавантажте пристрій

Сирітські сутності (від попередніх версій) ​

Якщо ви бачите сутності на кшталт "Clock Color", "Time Color", які не відповідають:

  1. Перейдіть до HA > Settings > Devices & Services > MQTT
  2. Знайдіть свій пристрій SVITRIX
  3. Видаліть невідповідні сутності вручну

Або примусово виконайте повне повторне виявлення:

  1. У веб-інтерфейсі SVITRIX: вимкніть "HA Discovery", збережіть
  2. У HA: видаліть весь пристрій SVITRIX
  3. У веб-інтерфейсі SVITRIX: знову увімкніть "HA Discovery", збережіть

Дивіться також ​