Tag Archives: zigbee2mqtt

Огляд zigbee вимикача Aqara Opple та його налаштування в розумному будинку

Тонкі лінії, плаский білий корпус, три моделі з різною кількістю клавіш, трохи незвичне для нас горизонтальне розміщення кнопок-гойдалок – це бездротовий вимикач Aqara Opple. За задумкою китайських інженерів цей девайс мав використовуватися лише на внутрішньому ринку Китаю. Про це свідчать написи виключно китайською мовою на коробці з вимикачем «фірмового» білого кольору (виняток лише в назві моделі). Але пристрій настільки сподобався покупцям, що миттю став з’являтися на полицях магазинів в інших країнах, хоч і неофіційно. Через деякий час з’явилась його підтримка в Zigbee2mqtt, а це значить, що власники альтернативних систем керування розумним будинком теж можуть додавати вимикачі до своїх кімнат.

Зовнішній вигляд вимикача Aqara Opple

Перш ніж взяти в руки цей пристрій, давайте подивимось, що в коробці. Насправді там нічого зайвого – крім вимикача знайдемо два гвинти, три клейкі стрічки і інструкцію (звичайно ж, китайською мовою)

За допомогою клейких стрічок вимикач, (точніше його «базову» частину), можемо розмістити на рівній вертикальній поверхні, будь то стіна чи меблі. Якщо хочете замінити свій старий вимикач в монтажній коробці на цей, то можете прикріпити Opple за допомогою комплектних гвинтів. Але пам’ятайте про різницю між європейськими та китайськими монтажними коробками. Для цього девайсу потрібен квадратний китайський варіант. Ну, або доведеться щось вигадувати з кутами загвинчування гвинтів у стіну.


Крім того, не забуваймо, що цей вимикач безпровідний. А це значить, що нам доведеться замкнути необхідні контакти в монтажній коробці, щоб освітлювальний прилад був під напругою.

Думаю, пояснювати те, що вимикач в такому випадку може керувати лише розумними лампами або zigbee реле, до якого під’єднано лампу, не потрібно. Отже, після розміщення «бази» на стіні приєднаємо її лицьову частину

Тепер нам лишається приєднати вимикач до хабу. Для того, щоб перевести вимикач в режим з’єднання, затисніть кнопку на його задній частині на п’ять секунд.

Підключення вимикача Aqara Opple в Mi Home.

Після того, коли ви перевели вимикач в режим з’єднання можете додати його до додатку Mi Home з’єднавши з хабом. Проблем з додаванням пристрою не має виникнути. Єдине, не забудьте змінити регіон в налаштуваннях на «Материковий Китай».

Після додавання пристрою в додаток можемо зайти всередину його плагіну. Вам буде доступний журнал роботи вимикача і сценарії автоматизації, в яких він бере участь. Всього можна налаштувати три дії на кожну клавішу. Клавіші мають такі варіанти натискання: «одинарний», «подвійний» та «утримання». Тобто якщо ви маєте шестиклавішний пристрій – можете налаштувати 18 сценаріїв використання.

Додаємо та налаштовуємо вимикач Aqara Opple в Home Assistant.

Як я вже  сказав, в zigbee2mqtt є підтримка вимикачів Aqara Opple. Давайте додамо пристрій в Home Assistant. Для цього в аддоні Zigbee2mqtt натискаємо кнопку «Permit Join»

В той же час, натиснувши кнопку на зворотному боці вимикача на 5 секунд переводимо його в режим з’єднання. Через декілька секунд девайс буде знайдено та додано в список тих, що під’єднано до Home Assistant

Задайте пристрою зрозуміле ім’я, після цього перейдіть в «Інтеграції» – «Mosquitto broker»


Тут можете подивитись стан сутностей (кнопок, батареї, силу сигналу) або скопіювати для використання в автоматизаціях їх ID

Давайте розглянемо кейс використання такого вимикача на кухні. У мене це двоклавішний варіант. Одна пара клавіш вмикає і вимикає групу з 3х ламп на стелі, інша керує світлодіодною стрічкою.

Огляд розумної Zigbee розетки Xiaomi Mi Smart Plug

Сьогодні ми познайомимось з розумною розеткою Xiaomi що призначена для продажу в європейських країнах, тобто вона має звичну для нас євровилку. Її внутрішній артикул ZNCZ04LM

Характеристики розумної розетки Xiaomi

Керування ZigBee
Максимальна потужність навантаження 2300 Вт
Максимальний струм 10 А
Матеріал Пластик
Колір Білий
Габарити 60 x 60 x 58.5 мм
Вага 127 г

Комплектація ZigBee розетки Xiaomi

Пристрій виробник поклав в невелику картонну коробку білого кольору. На передній частині зустрічаємо фото цього девайсу, а на задній – короткий перелік характеристик.

Розетку, з кожного боку огорнули в прозору захисну плівку, яка захистить пристрій від подряпин. Крім девайсу, в коробці знайдемо посібник користувача зі швидкого налаштування.

Підключення та робота в Mihome.

Як ми вже знаємо, ця розетка призначена для роботи в європейському регіоні, тому вона може бути відсутня в переліку пристроїв, якщо у вас в налаштуваннях вказано іншу країну. Але, якщо ви користуєтесь модифікованим додатком mihome з сайту kapiba.ru, то це зніме будь-які обмеження.

Отже, через декілька хвилин після з’єднання з «рідним» шлюзом розетка з’явиться в списку пристроїв. В додатку розетка має власний плагін, де найбільше місце екрану займає піктограма, яка показує стан девайсу. Трохи нижче інформація про використану енергію за сьогодні і протягом місяця. Так, вона має вбудований електролічильник, а ще вміє визначати чи під’єднано вилку пристрою споживача, навіть якщо той пристрій вимкнено.

Розклад дозволить вмикати і вимикати пристрій навіть в обхід правил автоматизації. Розетка «пам’ятатиме», коли потрібно вимкнутись, навіть, якщо хаб з якихось причин було від’єднано від девайсу.

Робота пристрою в Home Assistant

Затисніть кнопку з’єднання на розетці, а в Zigbi2mqtt увімкніть режим пошуку. Через декілька секунд пристрій з’явиться в списку з’єднаних. Можете змінити назву девайса на зрозумілу, але слідкуйте чи не зміните одночасно ще й ID сутностей пристрою. Отже, якщо вони беруть участь в правилах автоматизацій, необхідно буде внести зміни в ті правила.

Перейдіть до вкладки «Exposes» пристрою. Тут ви побачите стан розетки в реальному часі. Є можливість вмикати і вимикати споживача, керувати світлодіодом на корпусі. Можете слідкувати за показниками струму та напруги, температурою корпусу та ще декількома показниками. Керувати станом розетки після втрати напруги в мережі.

Звичайно, тепер пристрій можна додавати в правила автоматизації Home Assistant і звідти ж керувати ним.

Зверніть увагу, для безпеки, у випадку перевантаження споживачем розетка відключить його від мережі.

На сьогодні все. Побачимось.

Створюємо власний external converter на прикладі Orvibo Smart sticker switch

Може трапитись ситуація, коли ви придбали нібито сумісний zigbee девайс, та він чомусь не працює, а zibbee2mqtt повідомляє, що пристрій не підтримується.

При натисканні кнопок чи отриманні показів “не сумісного” девайсу в логах можемо бачити подібні повідомлення:

Debug Received Zigbee message from '0x00124b000cc8dbf4', type 'raw', cluster '23', data '{"data":[25,0,8,3,0,0],"type":"Buffer"}' from endpoint 1 with groupID 0
Warning Received message from unsupported device with Zigbee model '51725b7bcba945c8a595b325127461e9' and manufacturer name '欧瑞博'
Debug Received Zigbee message from '0x00124b000cc8dbf4', type 'raw', cluster '23', data '{"data":[25,0,8,11,0,0],"type":"Buffer"}' from endpoint 1 with groupID 0
Warning Received message from unsupported device with Zigbee model '51725b7bcba945c8a595b325127461e9' and manufacturer name '欧瑞博'

Існує два способи, щоб зробити ваш пристрій сумісним з zibbee2mqtt. Перший спосіб – написання зовнішнього конвертера, другий – додавання вашої zigbee моделі в репозиторій zigbee-herdsman-converters. Розглянемо обидва способи.


Пишемо власний zigbee2mqtt external converter

Конвертер – це невеликий файл з розширенням js, в якому мають бути вказані атрибути пов’язані з роботою вашого девайса. Точніше – перетворення повідомлень від пристрою до координатора в “зрозумілий” формат.

Знаючи точну назву вашого пристрою, знайдемо її у вже готовому конвертері за адресою. Знаходимо тут у файлі наступний код:

// ORVIBO
    {
        zigbeeModel: ['3c4e4fc81ed442efaf69353effcdfc5f'],
        model: 'CR11S8UZ',
        vendor: 'ORVIBO',
        description: 'Smart sticker switch',
        fromZigbee: [fz.orvibo_raw_1],
        exposes: [e.action(['button_1_click', 'button_1_hold', 'button_1_release', 'button_2_click', 'button_2_hold', 'button_2_release',
            'button_3_click', 'button_3_hold', 'button_3_release', 'button_4_click', 'button_4_hold', 'button_4_release'])],
        toZigbee: [],
    },

Давайте трохи модифікуємо його і збережемо в окремому файлі, замінивши zigbeeModel на вашу з логів (‘51725b7bcba945c8a595b325127461e9’) :

const device = {
    zigbeeModel: ['51725b7bcba945c8a595b325127461e9'],
    model: 'CR11S8UZ',
    vendor: 'ORVIBO',
    description: 'Smart sticker switch',
    fromZigbee: [fz.orvibo_raw_1],
    exposes: [e.action(['button_1_click', 'button_1_hold', 'button_1_release', 'button_2_click', 'button_2_hold', 'button_2_release',
            'button_3_click', 'button_3_hold', 'button_3_release', 'button_4_click', 'button_4_hold', 'button_4_release'])],
    toZigbee: [],
};

Додайте наступний код в кінці цього файлу:

module.exports = device;

Далі нам необхідно знайти у файлі код, що починається з orvibo_raw_1, це “слово” ми вже зустрічали в стрічці

fromZigbee: [fz.orvibo_raw_1] 

Скопіюємо цю секцію в наш файл і передамо її константі fz, вставимо цей код над

const device = {... ...};

У вас має вийти подібний код

const fz = {
	orvibo_raw_1: {
        cluster: 23,
        type: 'raw',
        convert: (model, msg, publish, options, meta) => {
            // 25,0,8,3,0,0 - click btn 1
            // 25,0,8,3,0,2 - hold btn 1
            // 25,0,8,3,0,3 - release btn 1
            // 25,0,8,11,0,0 - click btn 2
            // 25,0,8,11,0,2 - hold btn 2
            // 25,0,8,11,0,3 - release btn 2
            // 25,0,8,7,0,0 - click btn 3
            // 25,0,8,7,0,2 - hold btn 3
            // 25,0,8,7,0,3 - release btn 3
            // 25,0,8,15,0,0 - click btn 4
            // 25,0,8,15,0,2 - hold btn 4
            // 25,0,8,15,0,3 - release btn 4
            // TODO: do not know how to get to use 5,6,7,8 buttons
            const buttonLookup = {
                3: 'button_1',
                11: 'button_2',
                7: 'button_3',
                15: 'button_4',
            };
            const actionLookup = {
                0: 'click',
                2: 'hold',
                3: 'release',
            };
            const button = buttonLookup[msg.data[3]];
            const action = actionLookup[msg.data[5]];
            if (button) {
                return {action: `${button}_${action}`};
            }
        },
    },
};

Додайте на самому початку коду наступне:

const exposes = require('zigbee-herdsman-converters/lib/exposes');
const e = exposes.presets;

Після цього, коли все зроблено правильно, файл має виглядати так:

const exposes = require('zigbee-herdsman-converters/lib/exposes');
const e = exposes.presets;
const fz = {
	orvibo_raw_1: {
        cluster: 23,
        type: 'raw',
        convert: (model, msg, publish, options, meta) => {
            // 25,0,8,3,0,0 - click btn 1
            // 25,0,8,3,0,2 - hold btn 1
            // 25,0,8,3,0,3 - release btn 1
            // 25,0,8,11,0,0 - click btn 2
            // 25,0,8,11,0,2 - hold btn 2
            // 25,0,8,11,0,3 - release btn 2
            // 25,0,8,7,0,0 - click btn 3
            // 25,0,8,7,0,2 - hold btn 3
            // 25,0,8,7,0,3 - release btn 3
            // 25,0,8,15,0,0 - click btn 4
            // 25,0,8,15,0,2 - hold btn 4
            // 25,0,8,15,0,3 - release btn 4
            // TODO: do not know how to get to use 5,6,7,8 buttons
            const buttonLookup = {
                3: 'button_1',
                11: 'button_2',
                7: 'button_3',
                15: 'button_4',
            };

            const actionLookup = {
                0: 'click',
                2: 'hold',
                3: 'release',
            };
            const button = buttonLookup[msg.data[3]];
            const action = actionLookup[msg.data[5]];
            if (button) {
                return {action: `${button}_${action}`};
            }
        },
    },
};
const device = {
    zigbeeModel: ['51725b7bcba945c8a595b325127461e9'],
    model: 'CR11S8UZ',
    vendor: 'ORVIBO',
    description: 'Smart sticker switch',
    fromZigbee: [fz.orvibo_raw_1],
    exposes: [e.action(['button_1_click', 'button_1_hold', 'button_1_release', 'button_2_click', 'button_2_hold', 'button_2_release',
            'button_3_click', 'button_3_hold', 'button_3_release', 'button_4_click', 'button_4_hold', 'button_4_release'])],
    toZigbee: [],
};
module.exports = device;

Збережіть цей файл з розширенням js і розмістіть його в папці zigbee2mqtt. Зазвичай вона знаходиться за адресою \config\zigbee2mqtt.

Відкрийте інтерфейс zigbee2mqtt і перейдіть в розділ “налаштування”. У вкладці “External converters” натисніть “+” та введіть назву створеного вами файла. Після цього, збережіть зміни та перезавантажте zigbee2mqtt, (в правому верхньому куті з’явиться кнопка “перезавантажити”).

Тепер ви можете користуватися даним пристроєм завдяки зовнішньому конвертеру.

Додаємо zigbeeModel зробивши форк в репозиторії

Це другий спосіб зробити ваш пристрій сумісним. Він найлегший, але зазначу, що девайс стане сумісним не зразу, а лише після того, як ваші правки в репозиторії затвердять. Після затвердження, зміни будуть доступні спочатку в dev-версії zigbee2mqtt, і лише через кілька тижнів в основній.

Щоб внести зміни до файлу, перейдіть за посиланням і натисніть кнопку “редагувати” (звичайно, у вас має бути аккаунт на github).

Знайдіть секцію з назвою вашого пристрою і додайте вашу zigbeeModel через кому, поруч з вже існуючою. Внизу сторінки вкажіть причину вашої зміни і опишіть її. Текст, що ви будете заповнювати, необхідно писати лише англійською мовою.

Відправте пропозицію на редагування натиснувши кнопку під формою.

Якщо у файлі не зроблено помилок – ви побачите підтвердження про проходження автоматичної перевірки. Максимум через добу, вашу пропозицію розглянуть вручну. Вже після затвердження змін ви можете оновити dev-версію модуля zigbee2mqtt в своєму Home Assistant, і тепер матимете робочий zigbee девайс.

Знайомство з розумним освітленням Philips Hue

Philips Hue – це не просто світлодіодні лампи, це ціла розумна система освітлення для вашого будинку. Крім освітлювальних приладів, Philips Hue може об’єднувати в межах вашого розумного будинку ще й такі пристрої, як датчик руху з можливістю вимірювати рівень освітлення, безпровідні вимикачі і кнопки, розетки та інші аксесуари.

Освітлення Bluetooth від Philips Hue

Для того, щоб лампи та аксесуари Philips Hue могли правильно функціонувати у вашому розумному будинку, необхідно мати хаб – пристрій, що керуватиме освітленням в межах однієї екосистеми. Але про хаб нижче.
Якщо ви лише починаєте знайомство з системами розумного будинку, то вам не обов’язково мати дорогий хаб. Для ознайомлення з цим чудовим освітленням, достатньо придбати одну-дві лампи чи розумні стрічки Philips Hue, але обов’язково зі значком Bluetooth на упаковці.


Ви зможете керувати освітленням зі смартфону за допомогою безпровідного стандарту Bluetooth. Для цього встановіть на смартфон додаток ‎”Philips Hue Bluetooth”. З функціоналом додатку можна познайомитись і в «демо-режимі».

Але найкраще буде підключити ваші справжні лампи до додатку, і подивитись на їхні можливості в реальних умовах. Для цього натисніть відповідну кнопку в додатку. На одному з кроків необхідно буде ввести вашу електронну адресу та ім’я. Додаток «запитає» чи справді ваша лампа сумісна зі стандартом Bluetooth, після чого почнеться процес пошуку лампи.

Після з’єднання ламп та додавання їх в програму ви зможете керувати ними з екрану вашого смартфону. Зазначу, що недоліком такого методу керування є обов’язкова наявність смартфону в радіусі дії Bluetooth. Також існує ліміт кількості ламп на підключення за допомогою Bluetooth стандарту, в додатку неможливо підключити більше 10 ламп.

Освітлення Philips Hue через Hue Bridge

Якщо ви вже познайомились з освітленням Philips Hue, і можливостей керування за допомогою Bluetooth вам вже замало – придбайте Hue Bridge. Hue Bridge – це керуючий пристрій (хаб чи координатор), білий прямокутний девайс з заокругленими кутами, що має порт RJ45, для з’єднання з домашньою локальною мережею.

Задачі хаба – це керування усіма розумними пристроями системи Philips Hue та об’єднання їх в одну логічну мережу. Цей девайс може зберігати в собі налаштування параметрів освітлення для окремих кімнат та ламп, «пам’ятає» алгоритми та скрипти, що можуть залежати від часу доби чи виявлення руху відповідним датчиком. А ще він дозволяє керувати освітленням віддалено, звичайно, за наявності інтернету.
Будь-яку лампу Philips Hue можна інтегрувати з іншими системами керування розумним будинком. Без проблем можна керувати освітленням з Samsung SmartThings, чи за допомогою голосових асистентів Google Assistant чи Alexa

Перш ніж розпочати керування лампами Philips Hue, встановіть відповідний додаток на ваш смартфон. Зареєструйтеся в системі, створивши власний профіль, або увійдіть за допомогою існуючого. Тепер ви можете додати перший Hue Bridge. Додаток буде робити підказки на кожному кроці, а в певний момент необхідно буде натиснути кнопку на корпусі контролера.

Пізніше, в налаштуваннях вкажіть координати вашого помешкання, це необхідно для розрахунку часу сходу та заходу сонця. Після цього, за необхідності, створіть кімнати. До цих кімнат ви будете додавати освітлювальні прилади та аксесуари. Давайте це зробимо.

Після того, як всі лампи до будинку буде додано, зробіть те саме з аксесуарами. Налаштуйте кнопки вимикачів, як вам зручно. Призначте сцени та дії для відповідних кнопок. Тепер ви можете керувати освітленням і без смартфона.
Налаштовуйте освітлення під ваш настрій. Виділіть окремі зони іншим кольором. Насолоджуйтесь ефектом створеним саме вами.

До речі, Philips Hue має відкритий API, саме тому існує багато альтернативних програм та інтерфейсів керування освітленням. Одним з таких додатків, який дозволить керувати вашим освітленням, є Hue Essentials. На мою думку, у цього додатку трохи ширший функціонал, ніж у рідного Philips Hue, хоча й трохи незвичний інтерфейс. А ще, Hue Essentials перекладено на велику кількість мов, в тому числі й українську.

Як ви можете переконатися, Philips Hue – це не просто розумні лампи, це значно більше. Ця чудова екосистема включає в себе не лише апаратні, а і програмні рішення. Все це разом – зручна та дуже надійна продукція, що буде служити вам роками. Декого може злякати її вартість, але, на мою думку, достойної альтернативи поки немає.

Розумна кнопка Zigbee Orvibo Smart Sticker

Сьогодні знайомимось зі смарт-кнопкою, а якщо точніше, з розумним пультом, що має назву Orvibo Smart Sticker. Давайте розберемось, чому виробник обрав таку назву. Хоча, коли ви візьмете пристрій в руки, ви самі зрозумієте причину. Пульт маленький, та дуже тоненький. На його зворотній частині передбачено місце для приклеювання двостороннього скотчу, що йде в комплекті. Таким чином, ви можете прикріпити смарт стікер до стіни, що й пояснює його назву.

Використання Orvibo Zigbee Smart Sticker в розумному будинку.

Цей девайс призначений для використання у власній екосистемі Orvibo за допомогою додатку HomeMate. На клавіші Smart Sticker’у можемо призначати певні дії, команди та функції. А саме, вмикання та вимикання освітлювальних приладів, контроль сцен, робота з хронометражем та інше. Розміри девайсу ви можете бачити на фото і порівняти їх з розмірами пластикової картки, що під ним. На лицевій стороні є вісім кнопок, за допомогою яких можете керувати розумними пристроями та будинком, як і самим смарт стікером. Але в першу чергу приєднайте його до контролера. Для цього затисніть клавіші 7 та 8 на декілька секунд, тут має повільно блимати червоний світлодіод, і пристрій перейде в режим з’єднання/конфігурування. На цьому етапі, у власный екосистеми, ви можете задати необхідні команди клавішам.

Щоб скинути пристрій до заводських налаштувань, затисніть на декілька секунд клавіші 5 та 7, після того, як індикатор блимне червоним кольором, послідовно натисніть клавіші 1,2, 3 та 4. Якщо все зроблено вірно, девайс працюватиме на пошук концентратора. Натискання будь-якої клавіші зупинить процес.
В пристрої встановлено батарею CR2032. Згідно інструкції, заряду батареї має вистачити приблизно на шість місяців використання.

Додаємо Orvibo Smart Sticker в Home Assistant.

Девайс має підтримку в zigbee2mqtt, тому проблем з додаванням та підтримкою його роботи в Home Assistant не має виникнути. Після додавання пристрою, можете призначити необхідні команди чи дії на його клавіші.


Але, мушу зазначити, в HA будуть працювати лише перші чотири клавіші, тобто нижнім рядом користуватися не буде можливості (лише для скидання налаштувань). Яка причина цього, я не знаю, але думаю, що саме ці клавіші працюють в іншому частотному діапазоні, чи з іншим протоколом. Натискання цих клавіш навіть в лог z2m не попадає. Якщо хтось знає причину цього, напишіть, будь-ласка в коментарі, я доповню статтю. В будь-якому разі, кількості команд навіть для “робочих” чотирьох клавіш може бути не мало, адже пристрій вміє розрізняти не лише клік, але й hold (довге натискання) на кожній з цих клавіш.


На жаль Orvibo Smart Sticker не вміє репортити в Home Assistant про стан батареї, тому слідкуйте за її зарядом самостійно і купіть нову заздалегідь.
В одній з наступних статей, на прикладі цього девайса, я розкажу як додавати до Home Assistant пристрої, що з певних причин мають статус “unsupported”.

На сьогодні все. Побачимось!