NEWS
Скрипты игнорируют обьекты созданные вручную
-
Создаю обьект свитч тип булин, на него через simple api шлю положение true/false, получаю подтверждение о изменении состояния, так же в свойствах обьекта оно меняется, но скрипт настроенный на срабатывание по изменению состояния не работает. Делаю то же самое но не самостоятельным обьектом в 'корне', а как подкласс любого адаптера(пробовал запихнуть в kodi) - работает как часы.
В чем может быть проблема?
-
Создаю обьект свитч тип булин, на него через simple api шлю положение true/false, получаю подтверждение о изменении состояния, так же в свойствах обьекта оно меняется, но скрипт настроенный на срабатывание по изменению состояния не работает. Делаю то же самое но не самостоятельным обьектом в 'корне', а как подкласс любого адаптера(пробовал запихнуть в kodi) - работает как часы.
В чем может быть проблема? ` код! Код давай
-
Создаю обьект свитч тип булин, на него через simple api шлю положение true/false, получаю подтверждение о изменении состояния, так же в свойствах обьекта оно меняется, но скрипт настроенный на срабатывание по изменению состояния не работает. Делаю то же самое но не самостоятельным обьектом в 'корне', а как подкласс любого адаптера(пробовал запихнуть в kodi) - работает как часы.
В чем может быть проблема? `
Скорей всего ты их неправильно адресуешь. Как написал instalator, нужно смотреть код скрипта. -
Да собственно я руками то даже не писал ничего, скрипт на Blockly:
код:on({id: "AirPlayPi"/*AirPlayPi*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("AirPlayPi").val == true) { setState("yamaha.0.power"/*Power*/, true); setState("yamaha.0.scene"/*scene*/, '3'); } });
сам объект
управляю через Simple Api так:
http://192.168.1.2:8087/set/AirPlayPi?value=true&prettyPrint
команда проходит, объект свое значение меняет, но скрипт на это не реагирует
а вот скажем такой же скрипт для коди, работает отлично:
on({id: "kodi.0.play"/*play*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("kodi.0.play").val == true) { setState("yamaha.0.power"/*Power*/, true); setState("yamaha.0.input"/*Input*/, 'MOVIE'); } });
-
Триггер ожидает объект javascript.0.AirPlayPi
Создай такой. Нет возможности обратиться к объектам первого уровня из скриптов.
Да и не надо.
-
Понял, спасибо