NEWS
Как вызвать скрипт?
-
-
@Ho Hum:Подскажите, пожалуйста: как из vis можно вызвать скрипт кликом на виджет?
Ищу что-то типа события onClick, но не нахожу ничего подобного.
Что хочу сделать: например, на виджет (Метро) выводить кол-во горящих ламп, а по клику гасить их всех. `
createState('alloff', 0); on({id: 'javascript.0.alloff', change: 'any'}, function (obj) { if (obj.newState.val === true || obj.newState.val === 'true'){ log('Тут выключаем все что нужно.'); } }); -
И еще один вопрос в продолжение темы.
Как можно изменить значение виджета?
Вывел виджет Метро Tile State / Badge Number. Он показывает количество включенных ламп через ID числа (считаю в скрипте, формирую объект со значением). Объект для действия ставлю в ID статуса и значение устанавливаю в "1". При нажатии выключаю все лампы. Потом, когда какя-то лампа включается (например, клавишей), надо значение виджета установить в "0".
Как это сделать - не понял.
-
@Ho Hum:И еще один вопрос в продолжение темы.
Как можно изменить значение виджета?
Вывел виджет Метро Tile State / Badge Number. Он показывает количество включенных ламп через ID числа (считаю в скрипте, формирую объект со значением). Объект для действия ставлю в ID статуса и значение устанавливаю в "1". При нажатии выключаю все лампы. Потом, когда какя-то лампа включается (например, клавишей), надо значение виджета установить в "0".
Как это сделать - не понял. `
Скинь скрипт, ничего не понял -
Скрипт такой:
`function getLights() { createState("Lights.Count"); createState("Lights.onCount"); setState("Lights.Count", lights1floor.length, true); var LightsOnCount = 0; for(var i = 0; i < lights1floor.length; i++) { if (getState(lights1floor[i]).val) { LightsOnCount++; } } setState("Lights.onCount", LightsOnCount, true); } // every 1 sec schedule("*/1 * * * * *", getLights);` В LightsOnCount помещаю кол-во включенных ламп. Если это значение не равно нулю, хочу из скрипта изменять состояние виджета.[/i] -
> Объект для действия ставлю в ID статуса и значение устанавливаю в "1". При нажатии выключаю все лампы. Потом, когда какя-то лампа включается (например, клавишей), надо значение виджета установить в "0".
А зачем тебе выставлять 0? кнопка и так сработает если подписаться как any.Можно также подписаться на все твои выключатели например с помощью регулярок.
! Note: you can use RegExp directly:
! ````
on(/^system.adapter..*.\d+.memRss$/, function (obj) {
});>! // same ason({id: /^system.adapter..*.\d+.memRss$/, "change": "ne"}, function (obj) {
});To simply connect two states with each other, write: >! on('stateId1', 'stateId2'); >! All changes of stateId1 will be written to stateId2. >! Function "on" returns handler back. This handler can be used by unsubscribe.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden