NEWS
MegaD 328
- 
					
					
					
					
 Проверил "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. На сервер передается адрес ключа, и вызываемому скрипту достаточно только проверить (в базе данных или прямо в коде) разрешен ли доступ этому ключу на территорию или в дом Вот, что появилось в логах, когда я прислонил ключ к считывателю три раза. Важно, что сообщается номер порта! Это позволяет идентифицировать какой именно считыватель сработал, если их несколько. В случае с сервером пришлось бы для каждого считывателя использовать персональный адаптер 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> 
- 
					
					
					
					
 Можешь поменять строчку 134 в /opt/iobroker/node_modules/iobroker.megad/main.js на } else if (adapter.config.ports[port].pty == 3 && adapter.config.ports[port].d == 4) {? 
- 
					
					
					
					
 Можешь поменять строчку 134 в /opt/iobroker/node_modules/iobroker.megad/main.js на } else if (adapter.config.ports[port].pty == 3 && adapter.config.ports[port].d == 4) {? ` Этот вопрос ко мне? Вечером попробую. 
 
		
	