Решил заменить свои WiFi лампы (6 штук) на Zigbee в связи с отсутствием функционала памяти.
Покупал здесь, по очень вкусной цене, не знаю ошибка ли продавца/магазина, но сейчас они в 2 раза дороже стали. Я взял по 2920 руб за 4 штуки.
При интеграции в zigbee2mqtt лампа определилась:
функция power_on_behavior не работает - аттрибут не поддерживается.
Установил приложение Tuya, связал с лампой и увидел, что функция памяти у них называется "Do not disturb". Подробнее можно почитать на сайте Tuya.
Пришлось написать конвертер, создаем файл led_spalnia.js в папке zigbee2mqtt:
const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const extend = require('zigbee-herdsman-converters/lib/extend');
const globalStore = require('zigbee-herdsman-converters/lib/store');
const e = exposes.presets;
const ea = exposes.access;
const definition = {
fingerprint: [{modelID: 'TS0505B', manufacturerName: '_TZ3210_leyz4rju'}],
model: 'TS0505B',
vendor: 'Tuya',
description: 'Downlight',
toZigbee: extend.light_onoff_brightness_colortemp_color().toZigbee.concat([
tz.tuya_do_not_disturb, tz.tuya_color_power_on_behavior,
]),
meta: {applyRedFix: true, enhancedHue: false},
fromZigbee: extend.light_onoff_brightness_colortemp_color().fromZigbee,
exposes: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500], disableColorTempStartup: true}).exposes.concat([
exposes.binary('do_not_disturb', ea.STATE_SET, true, false)
.withDescription('Do not disturb mode'),
]),
};
module.exports = definition;
Прописываем конвертер в configuration.yaml zigbee2mqtt, добавив:
external_converters:
- led_spalnia.js
Перезапускаем zigbee2mqtt и пересвязываем лампы. Должно получиться вот так: