В интеграциях с алисой есть Умения On/Off:
И вот тут вопрос: как для шторы обеспечить открытие/закрытие при условии что это 2 разные кнопки устройства
и второй раз умение “закрыть штору” я добавить не могу
В интеграциях с алисой есть Умения On/Off:
Можно написать Виртуальное устройство, а его уже прокидывать в Алису…
А как Вы видите логику виртуального устройства с 1 кнопкой on/off?
Добрый день!
Полагаю, что можно виртуальном устройстве реализовать один переключатель с двумя положениями Закрыть/Открыть. И к нему привязать умение.
Уточнил у коллег, возможность применения только одного умения On/Off для одного устройства связано с особенностями работы УДЯ.
Поэтому выход из этой ситуации: создавать виртуальные устройства на каждую кнопку.
Давайте уточним… Лампочка может находится в 2 состояниях: On или Off. И управляться переключателем из одного состояния в другое… Тут все просто…
Но штора может находться в 100 разных состояниях. И если я хочу закрыть штору с положения например 34 или 67 то чем обудет отличаться от положения 7, 88 и тп когдя хочу штору открыть полностю?
На 1 или даже 2х кнопках УДЯ я не понимаю как реализовать. Умения же одно и то же: ON/OFF и значит менять состояние 1,2 кнопок будут одновременно. А нам же надо на ON одну, на OFF другую. Но такого умения нет.
Или я не прав?
Добрый день.
Не совсем так. Лампочка кроме состояния вкл/выкл может еще и разной яркости быть. Т.е. можно взять диммируемую лампу и использовать как устройство “лампа” с умениями on_off и range (brightness).
И также со шторой. Управлять промежуточным положением можно через умение range (open). А открытие/закрытие сделать через on_off. И тогда в УДЯ корректно будут стандартные Алисовские команды работать.
Просто вам ваши две кнопки надо через виртуальное устройство привести к умению on_off. Например, булевское виртуальное устройство (ВУ), которое может быть только 0 или 1. И если вы нажали закрыть, то ВУ переходит в 0, а если вы нажали открыть, то ВУ переходит в 1.
Лампу или ленту можно включить только свитчем, а управлялки RGB, яркости ее не включают/не выключают…
Ну и идея про ВУ:
// 1. Определение нового виртуального устройства, которое будет содержать переключатель
defineVirtualDevice("virtual_curtain_control", {
title: "Виртуальный переключатель шторы",
cells: {
toggle_switch: {
type: "switch",
value: false // false = Закрыть (по умолчанию), true = Открыть
}
}
});
// 2. Правило автоматизации:
// При изменении виртуального переключателя отправляем команды реальному устройству
defineRule("sync_virtual_switch_to_motor_buttons", {
whenChanged: "virtual_curtain_control/toggle_switch",
then: function (newValue, devName, cellName) {
log("Виртуальный переключатель '" + cellName + "' изменен на: " + (newValue ? "ВКЛ" : "ВЫКЛ"));
if (newValue === true) {
dev["onviz_mr160_rs485_0x0101/Open"] = newValue;
log("-> Отправлена команда 'Открыть' на мотор.");
} else {
dev["onviz_mr160_rs485_0x0101/Close"] = newValue;;
log("-> Отправлена команда 'Закрыть' на мотор.");
}
}
});
Проблема та же что и с лампой. Свитч не знает про положение шторы.
И поэтому такой код работает наполоину: если пользоваться только крайними положениями, то ок. Т.е полностью Открыть - Закрыть.
Но вот сценарий: Закрыл шторы. Открыл на 30%. Хочу закрыть.
Все, не выйдет: переключатель и так выключен и дальнейшая логика передачи команды на физическое устройство не уйдет.
Нужен некий трехпозиционный выключатель, возвращающийся в нейтральное значение
А чему (какому типу) из существующих в Яндекс он соответствует?
Так range/open как раз для штор.
предположу On_off | Платформа умного дома Яндекса
в котором Объект parameters split == True
Да, есть такое - ползунок 0-100. Но он не умеет: “Алиса, открой штору, закрой штору”
Надо проговаривать % значения
Действительно. Попробовал сейчас. Странно со стороны Яндекса, что такое очевидное не сделано.
Ну вариант сделать сценарии в самом Яндексе. Если фраза “закрой штору”, то установить на 0%. Ну и “открой штору” - установить на 100%.
Согласен, вариант.
Но было бы лучше полностью раскрыть потенциал интеграции и кажется что у УДЯ такая возможность есть. Ждем что скажет команда WirenBoard по поводу доработки интеграции с АПИ Яндекса для раскрытия всего функционала
Не будет разницы, просто будет писаться в разные топики true.
Вот так и сделано в облачных (прямых) интеграциях штор.
Добрый день!
В настоящий момент в нашей интеграции:
Доступные умения:
on_offcolor_setting (цвет (rgb) или температура цвета)rangeДоступные свойства:
floatВаше предложение
Я вот не совсем понимаю каких умений не хватает для реализации управления шторами? Для этого нужен доступ к конкретным дополнительным параметрам?
Так появляется возможность управления разными кнопками физического устройства. Ровно то что и надо. Разве нет?
Из произвольного положения штор выполнить команду закрытия или открытия средствами WB без сценарием УДЯ.
Если Вы видите как это можно реализовать уже сейчас, расскажите, пожалуйста.
Как это должно работать, именно в объектах Яндекса?
То есть какой контрол и как должен меняться?
Точнее - что мешает использовать on|off для управлениия “полностью открыто”/полностью закрыто"?
По-моему явно написано в документации что контрол может быть один.
Уточню, как это понял я.
Дано range и on/off для крайних положений.
Моделируем ситуацию:
“Шторы на 50%” - range становится 50%. on/off в предыдущем состоянии.
“Закрой шторы” - range 0%, on/off в off
“Шторы на 50%” - range становится 50%. on/off в состоянии.off
“Закрой шторы” - range все еще 50%, on/off не меняет состояния, так как уже в off. В этот момент у нас не передается события и ничего не происходит. Сработает только процентаж или “открыть”.
Т.е. для открыто/закрыто не достаточно 2 состояния. Нужно 3-е, промежуточное, когда штора не в крайних положениях.
В текущих реалиях вариант только один - “открой и закрой” делать только сценариями на самом яндексе с активацией по фразе, а в wb передавать только range.