NEWS
MegaD 328
-
Я поменял уже давно на text/html
https://github.com/ioBroker/ioBroker.me … n.js#L1061
https://github.com/ioBroker/ioBroker.me ... n.js#L1070
Значит это что то другое.
-
Я поменял уже давно на text/html
https://github.com/ioBroker/ioBroker.me … n.js#L1061
https://github.com/ioBroker/ioBroker.me ... n.js#L1070
Значит это что то другое. `
Я драйвер обновил до 0.2.14, но ответ все равно text/plain, а для 0 text/html. Может что-то нужно почистить у меня? Попробуйте сами обратится к 0 и любому другому инстансу с браузера и посмотрите и информация о странице. Я бы грешил на кеш, но он позволяет обращаться к любым несуществующим инстансам и ответ тоже text/plain.
-
Проверил "text/html"
Ты точно драйвер перезапускал? Что у тебя в строчке /opt/iobroker/node_modules/iobroker.megad/main.js 1061?
res.writeHead(200, {'Content-Type': 'text/html'}); res.end('OK', 'utf8');
или
res.writeHead(0, {'Content-Type': 'text/plain'}); res.end('OK');
-
При переходе по ссылке на мегу, открывается about:blank, не подставляется ip. `
0.2.13 (2015-09-29)
(bluefox) add link to admin (only with admin version >= 0.5.14) `
Как заполучить 0.5.14.А то у меня только 0.5.13 и версия выше не появляется… даже после нажатия обновить информацию...
PS: Поиск в МегаД - заработал!!!
PPS: При записи конфига в устройство, что бы не стояло в настройках режима на любом порту как вход, после записи будет режим "при изменении".
PPPS: Порт DSen Sensor 1W Mode <>... После записи в устройство Mode стало >.
-
На гитхабе то же 0.5.13
-
PPS: При записи конфига в устройство, что бы не стояло в настройках режима на любом порту как вход, после записи будет режим "при изменении". `
Вроде как если стоит флажок misc, то когда сервер активен, то будет P&R. Ну я решил, что P&R не помешает.Есть сценарии, когда P&R не подходит?
-
На гитхабе то же 0.5.13 `
Нет ещё 0.5.14. На гитхабе только изменения для 0.5.14, но версия ещё не изменена.> PPPS: Порт DSen Sensor 1W Mode <>… После записи в устройство Mode стало >.
Нашёл. Спасибо. -
PPS: При записи конфига в устройство, что бы не стояло в настройках режима на любом порту как вход, после записи будет режим "при изменении". `
Вроде как если стоит флажок misc, то когда сервер активен, то будет P&R. Ну я решил, что P&R не помешает.Есть сценарии, когда P&R не подходит? `
Ну как сказать…Хорошо подумал и сказать-то нечего
-
Сижу туплю уже второй день. :?
Как получить ID ключа в режиме порта Цифровой датчик, тип сенсора IB.
при прикосновении в логе проскакивает
__megad.0 2015-10-10 20:24:28 debug inMem message megad.0.* megad.0.p13_P13
megad.0 2015-10-10 20:24:28 debug megad.0 response for 192.168.88.12[13]:
megad.0 2015-10-10 20:24:28 debug megad.0 getPortState http://192.168.88.12/sec/?pt=13&cmd=get
megad.0 2015-10-10 20:24:28 debug megad.0 reported new value for port 13, request actual value
megad.0 2015-10-10 20:24:26 debug inMem message megad.0.* megad.0.p13_P13
megad.0 2015-10-10 20:24:26 debug megad.0 response for 192.168.88.12[13]:
megad.0 2015-10-10 20:24:26 debug megad.0 getPortState http://192.168.88.12/sec/?pt=13&cmd=get
megad.0 2015-10-10 20:24:26 debug megad.0 reported new value for port 13, request actual value__
А что дальше ?
В состояниях
megad.0.p13_P13 P13 P13 true megad.0 2015-10-10 20:36:47 2015-10-09 23:04:23
^^^^ колонка значений пустая
Попытался натравить на этот порт History но там пусто.
Пытался подписаться на изменение из скрипта
on('megad.0.p13_P13', function (obj) { log((new Date()).toString() + " " + JSON.stringify(obj.newState)); setState('ibutton.value', obj.newState.val); });
Но он даже не вызывается.
Судя по логу - от меги прилетает новое значение и драйвер пытается его подтвердить, посылая http://192.168.88.12/sec/?pt=13&cmd=get
а там уже пусто. Поэтому нет значения ни в логе ни в хистори.
-
Можно встроить в файл main.js строка 1037:
adapter.log.debug('Rest request:' + url);
Что тогда видно в логе?
-
Можно встроить в файл main.js строка 1037:
adapter.log.debug('Rest request:' + url);
Что тогда видно в логе? `
__megad.0 2015-10-11 08:10:44 debug inMem message megad.0.* megad.0.p13_P13megad.0 2015-10-11 08:10:44 debug megad.0 response for 192.168.88.12[13]:
megad.0 2015-10-11 08:10:44 debug megad.0 getPortState http://192.168.88.12/sec/?pt=13&cmd=get
megad.0 2015-10-11 08:10:44 debug megad.0 reported new value for port 13, request actual value
megad.0 2015-10-11 08:10:44 debug megad.0 Rest request:/0/?pt=13&ib=4e3694010000__
Да ID ключа появился, теперь надо поместить его в переменную и научиться обращаться к нему из скрипта
-
Где можно почитать об этом режиме?
Можно использовать для ID прямо ту же самую переменную? Сообщения могут быть true или false? Или там приходит только ID, я заношу это в перемнную P_XX и всё?
-
Где можно почитать об этом режиме? `
Ну функция новая и секретнаяУпоминания о ней есть в http://www.ab-log.ru/smart-house/ethernet/megad-14-in Вот что пишет автор Andrey_B
Как только ключ будет в считывателе, MegaD-328 стандартным способом через HTTP сообщит серверу адрес ключа. При этом контроллер отправляет информацию на сервер только в том случае, если прошла проверка контрольной суммы (CRC8). Если адрес ключа считался неверно, MegaD-328 автоматически заново считает информацию.
Вот, что появилось в логах, когда я прислонил ключ к считывателю три раза. Важно, что сообщается номер порта! Это позволяет идентифицировать какой именно считыватель сработал, если их несколько. В случае с сервером пришлось бы для каждого считывателя использовать персональный адаптер DS9490R. На сервер передается адрес ключа, и вызываемому скрипту достаточно только проверить (в базе данных или прямо в коде) разрешен ли доступ этому ключу на территорию или в дом
@Bluefox:Можно использовать для ID прямо ту же самую переменную? Сообщения могут быть true или false? Или там приходит только ID, я заношу это в перемнную P_XX и всё? `
Обращение к серверу происходит при считывании ключа и верификации его контрольной суммы. Формируется запрос содержащий номер порта и ID ключа. А при обращении URL/pwd/?pt=XX&cmd=get ничего уже не отдается.Поэтому можно занести ID в переменную P_XX.
-
Сделал.
-
-
-
@kID:Сделал. `
Спасибо работает.Начинаю осваивать программирование :lol: Ждите вопросов
А что запланировано сделать?
Всего навсего автоматизировать свое жилище :roll: (глобальный план)А пока начал с замка калитки.
http://forum.iobroker.org/viewtopic.php?f=26&t=1549
Подскажите толковый и не заумный учебник по JS
-
Если в настройках MegaD выставить порт, который уже используется в системе (например, 8082), он ничего не скажет и работать не будет. Было бы удобнее, если бы система ругалась
-
Дело в том, что принцип работы MegaD такой, что все MegaD устройства могли общатся только с портом 80 (Что является огромным недостатком, может сейчас лучше стало). И если надо подключить 2 MegaD, то порт 80 используется первым драйвером и он пересылает сообщения всем другим инстанциям драйвера. И что бы не вводить в заблуждение пользователя при старте второй инстанции ничего не говорится о том что порт занят (первой инстанцией)
Наверно можно проверять, сколько инстанций и соответственно ругаться, если порт занят и только одна инстанция настроена. Надо подумать
-
Я тут на месяц выпал. На тот момент все заработала после каких-то манипуляций с перезагрузками.
Сейчас новая проблема. Решил продолжить написание скриптов - смотрю версии драйверов обновились. Я обновил.
Скрипты стартуют нормально. Все как живое. При нажатии кнопки:
2015-11-04 00:21:20.852 - info: megad.0 sendTo "send" to system.adapter.megad.2 from system.adapter.megad.0: {"pt":2}
2015-11-04 00:21:20.883 - error: message messagebox.system.adapter.megad.2 [object Object] _port is not defined
2015-11-04 00:21:20.891 - error: ReferenceError: _port is not defined
at processMessage (/opt/iobroker/node_modules/iobroker.megad/main.js:134:41)
at Adapter.port (/opt/iobroker/node_modules/iobroker.megad/main.js:83:17)
at Adapter.EventEmitter.emit (events.js:95:17)
at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1847:34)
at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/statesInMemClient.js:45:30)
at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20)
at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:254:10)
at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:212:12)
at Manager. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20)
2015-11-04 00:21:21.007 - info: megad.0 sendTo "send" to system.adapter.megad.2 from system.adapter.megad.0: {"pt":2}
2015-11-04 00:21:21.036 - error: message messagebox.system.adapter.megad.2 [object Object] _port is not defined
2015-11-04 00:21:21.047 - error: ReferenceError: _port is not defined
at processMessage (/opt/iobroker/node_modules/iobroker.megad/main.js:134:41)
at Adapter.port (/opt/iobroker/node_modules/iobroker.megad/main.js:83:17)
at Adapter.EventEmitter.emit (events.js:95:17)
at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1847:34)
at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/statesInMemClient.js:45:30)
at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20)
at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:254:10)
at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:212:12)
at Manager. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20)
Что я пропустил? В этой теме ответ не увидел…
PS. Как всегда немного порылся - для 0 меги все работает, а для остальных нет. А у меня их 5 уже....</anonymous></anonymous>