lasthead0/yandex2mqtt

Алиса не понимает максимальную яркость

Opened this issue · 6 comments

Как заставить переводить значения алисы для понятных моей лампы значений ?

Из Вашего вопроса не понятно что у Вас есть что Вы хотите получить.

Вам нужно в описание устройства добавить "devices.capabilities.range":

               {
                    type: 'devices.capabilities.range',
                    retrievable: true,

                    parameters: {
                        instance: 'brightness',
                        unit: 'unit.percent',
                        range: {
                            min: 0,
                            max: 100,
                            precision: 1
                        }
                    },
                    state: {
                        instance: 'brightness',
                        value: 10,
                    },
                },

и привязать инстанс к топику mqtt:

{
            name: 'Свет',
            room: 'Комната',
            type: 'devices.types.light',
            mqtt: [
                 {
                    type: 'on',
                    set: '/devices/yandex/controls/light1/on',
                    stat: '/devices/yandex/controls/light1'
                },
                {
                    type: 'brightness',
                    set: '/devices/yandex/controls/light5/on',
                    stat: '/devices/yandex/controls/light5'
                },
            ],

Таким образом в топик "/devices/yandex/controls/light5/on" шлюз будет отправлять численные значения от 1 до 100.

Добрый день,вот смотрите,значение регулировки яркости моей лампочки от 0 до 254,а Алиса передает от 0 до 100,и если я скажу Алисе включи максимальную яркость,она передаст только значение 100,и лампочки загараются не на полную яркость.

А если убрать определение юнита (unit: 'unit.percent',) и выставить максимальное значение в 254, а не в 100 как в моём примере выше?
PS: также если используется самописное ПО для лампы (будь она на eps32|esp8266), можно сделать маппинг входящих значений на самой лампе.

Убрал unit: 'unit.percent',не прокатило,максимальный свет у Алисы все равно 100,самописного по нету,только z2m и y2m.

Чтобы сделать, то что Вам нужно я вижу пару вариантов.
Первый - это средствами ПО, которое Вы используете в качестве сервера умного дома как-то модифицировать значения. Т. е. полученные от Яндекса 100% превращались бы в 254 для лампы и наоборот.
Второй вариант - это мне нужно "улучшить" механизм маппинга значений. Например сделать так, чтобы можно было указывать функции преобразования значений, а не конкретные значений. (про маппинг у меня в README написано).
Первое Вам придётся делать самому, это не тема текущего проекта. Решения вторым вариантом Вам придётся подождать, пока я его реализую.