NEWS
MegaD 328
-
Еще бы теперь понять, как реализовывается например двойное нажатие и удержание клавиши.
-
Еще бы теперь понять, как реализовывается например двойное нажатие и удержание клавиши. `
А это для порта с кнопкой или с переключателем? -
Это для порта с кнопкой.
-
Это для порта с кнопкой. `
Ну допустим, я могу себе представить, как на кнопке реализовать двойное нажатие. Но удерживание клавиши работает только с переключателем. -
Удержание реализовано на стороне контроллера как P&R, то есть при нажатии отправляется запрос на сервер и при отжатии отправляется запрос на сервер.
-
Удержание должно происходить так:
-
Сконфигурировано с какого по какое меняется значение. Например с 0 до 100.
-
Сконфигурирован инервал повторения. Например 100ms
-
При получении с переключателя true начинает расти значение каждые 100 ms на 1
-
При получении false рост значения прекращается.
А как реализовать спад?
-
-
Двойное нажатие вроде под эту схему тоже подходит.
Это в драйвер добавится? Или для самостоятельной реализации?
А зачем убывание?
-
Двойное нажатие вроде под эту схему тоже подходит.
Это в драйвер добавится? Или для самостоятельной реализации? `
Ну самостоятельно это можно реализовать уже сейчас. Так что для драйвера.А зачем убывание? `
А зачем прибавление? Я думал, что кнопку можно использовать для плавного регулирования диммера. -
В моем случае если удерживается в коридоре кнопка например 1 сек., то вырубаем свет везде.
Для диммирования то же нужно, но скорее всего здесь нужно что то типа: два раза нажал означает что переходим в режим увеличения, три раза в режим уменьшения. Либо это должна быть двух клавишная кнопка которая отвечает за увеличение или уменьшение. Такие есть, на них стрелочки нарисованы.
-
Пока не могу понять в чем причина, но при таком коде megad срабатывает два раза:
on('megad.0.ports.port0', function (obj) { var url = 'http://192.168.0.14/sec/?pt=7&cmd=7:2'; var request = require('request'); request(url); });
Как я понял состояние переменной megad.0.ports.port0 по умолчанию false, так вот если я нажимаю на кнопку, то происходит включение и тут же выключение. Т.к. по нажатию переменная megad.0.ports.port0 устанавливается в значение true и возвращается обратно в false. А функция on отслеживает изменение переменной, а оно происходит два раза.
-
- конфигурация для каждого input порта: кнопка или переключатель `
Мега все таки рассчитана на работу с кнопкой, почему в настройках колонка называется переключатель?
-
MegaD позволяет управлять сервоприводом?
-
Пока не могу понять в чем причина, но при таком коде megad срабатывает два раза:
on('megad.0.ports.port0', function (obj) { var url = 'http://192.168.0.14/sec/?pt=7&cmd=7:2'; var request = require('request'); request(url); });
Как я понял состояние переменной megad.0.ports.port0 по умолчанию false, так вот если я нажимаю на кнопку, то происходит включение и тут же выключение. Т.к. по нажатию переменная megad.0.ports.port0 устанавливается в значение true и возвращается обратно в false. А функция on отслеживает изменение переменной, а оно происходит два раза. `
Есть баг, который посылает одно и то же значение 2 раза.Можешь прислать логи?
on('megad.0.ports.port0', function (obj) { log((new Date()).toString() + " " + JSON.stringify(obj.newState)); var url = 'http://192.168.0.14/sec/?pt=7&cmd=7:2'; var request = require('request'); request(url); });
-
MegaD позволяет управлять сервоприводом? `
Если я не ошибаюсь, то нет, у меги есть только шим. -
Есть баг, который посылает одно и то же значение 2 раза.
Можешь прислать логи? `
javascript.0 2015-03-18 21:51:02 info javascript.0 script.js.MegaD: Wed Mar 18 2015 21:51:02 GMT+0600 (NOVT) {"val":false,"ts":1426693862,"ack":true,"lc":1426693862,"from":"system.adapter.megad.0"}
megad.0 2015-03-18 21:51:02 debug inMem message megad.0.* megad.0.ports.port0
megad.0 2015-03-18 21:51:01 debug inMem message megad.0.* megad.0.ports.port0
javascript.0 2015-03-18 21:51:01 info javascript.0 script.js.MegaD: Wed Mar 18 2015 21:51:01 GMT+0600 (NOVT) {"val":true,"ts":1426693862,"ack":true,"lc":1426693862,"from":"system.adapter.megad.0"}
megad.0 2015-03-18 21:51:01 debug megad.0 adapter megaD: reported new state for port 0 - true
-
Есть баг, который посылает одно и то же значение 2 раза.
Можешь прислать логи? `
javascript.0 2015-03-18 21:51:02 info javascript.0 script.js.MegaD: Wed Mar 18 2015 21:51:02 GMT+0600 (NOVT) {"val":false,"ts":1426693862,"ack":true,"lc":1426693862,"from":"system.adapter.megad.0"}
megad.0 2015-03-18 21:51:02 debug inMem message megad.0.* megad.0.ports.port0
megad.0 2015-03-18 21:51:01 debug inMem message megad.0.* megad.0.ports.port0
javascript.0 2015-03-18 21:51:01 info javascript.0 script.js.MegaD: Wed Mar 18 2015 21:51:01 GMT+0600 (NOVT) {"val":true,"ts":1426693862,"ack":true,"lc":1426693862,"from":"system.adapter.megad.0"}
megad.0 2015-03-18 21:51:01 debug megad.0 adapter megaD: reported new state for port 0 - true `
Это не баг . Это так надо.Используй:
var request = require('request'); var url = 'http://192.168.0.14/sec/?pt=7&cmd=7:2'; on('megad.0.ports.port0', function (obj) { if (obj.newState.val === 'true' || obj.newState.val === true) { request(url); } });
-
С костылем заработало :). Вот это лишнее obj.newState.val === 'true' работает с obj.newState.val === true
-
С костылем заработало :). Вот это лишнее obj.newState.val === 'true' работает с obj.newState.val === true `
Это не костыль.Командой on('bla-bla') ты подписываешься на изменения переменной. Если посмотреть на логи, там видно, что сначала приходит значение true, а потом значение false (симуляция нажатия). Твой скрипт срабатывал на true и на false.
-
На мажор домо доработали модуль:
Возможности модуля:
-
Поиск и автоматическое добавление подключенных устройств
-
Привязка входов/выходов к объектам/свойствам системы для управления, чтения статуса, построения графиков и т.п.
-
Привязка показаний со встроенного датчика температуры
-
Настройка системных параметров устройства прямо из интерфейса модуля (смена IP, обновление ПО, чтение/запись конфигурации)
Как бы и нам подтянуться :roll: :oops:
-
-
> * Поиск и автоматическое добавление подключенных устройств
Ну это я сделаю.
> * Привязка входов/выходов к объектам/свойствам системы для управления, чтения статуса, построения графиков и т.п.
Это то, для чего iobroker создавался. То есть, может и мог всегда.
> * Привязка показаний со встроенного датчика температуры
А как это считать?
> Настройка системных параметров устройства прямо из интерфейса модуля (смена IP, обновление ПО, чтение/запись конфигурации)
… Не думаю, что ioBroker правильное место для этого.Может кто-нибудь проверить двойное и длинное нажатие?
cd /opt/iobroker npm install https://github.com/ioBroker/ioBroker.megad/tarball/master ./iobroker upload megad ./iorboker restart megad.0