NEWS
Драйвер MegaD-2561
-
ID ключа считывает ещё с первой версии, или ты что то другое имеешь в виду? `
Нет, я как раз про ID ключа. В настроенном драйвере, в объектах значение считанного ключа не появляется.
А как его тогда правильно считать? `
Обновление v0.1.5cd /opt/iobroker npm install https://github.com/ausHaus/ioBroker.megadd/tarball/master/ iobroker upload megadd iobroker restart megadd
Megad сам сообщает ID ключа поднесённого к считывателю. `
Драйвер обновил. Но все-же.
В объектах есть запись:
megadd.0.p8_P8
Ключ подношу, она остается со значением "0".
В настройках Меги раздела iB Keys Last key: badbf1002e00
Т.е. Мега его считывает.
А как теперь с этим значением ioBroker работать?
-
В настройках Меги раздела iB Keys Last key: badbf1002e00
Т.е. Мега его считывает.
А как теперь с этим значением ioBroker работать? `
Вот тут уже готовый скрипт работы с замком -
Драйвер обновил. Но все-же.
В объектах есть запись:
megadd.0.p8_P8
Ключ подношу, она остается со значением "0".
В настройках Меги раздела iB Keys Last key: badbf1002e00
Т.е. Мега его считывает.
А как теперь с этим значением ioBroker работать? `
А на входы драйвер реагирует?вместо "0" megadd.0.p8_P8 (если настроен как iButton) должен быть "badbf1002e00" и при каждом прикосновение должен подсвечиваться зелёным.
-
Драйвер обновил. Но все-же.
В объектах есть запись:
megadd.0.p8_P8
Ключ подношу, она остается со значением "0".
В настройках Меги раздела iB Keys Last key: badbf1002e00
Т.е. Мега его считывает.
А как теперь с этим значением ioBroker работать? `
А на входы драйвер реагирует?вместо "0" megadd.0.p8_P8 (если настроен как iButton) должен быть "badbf1002e00" и при каждом прикосновение должен подсвечиваться зелёным. `
К другим входам подключены датчики температуры и давления, они показывают значения.
megadd.0.p8_P8 имеет значение 0, при прикосновении зеленым не подсвечивается. Зеленым подсвечиваются все считываемые значения по интервалу в настройках драйвера.
Может быть ioBroker WEB порт в настройках должен быть отличным от "80"? 8081 или 8082? Или в настройках меги нужно указать другой порт?
-
Драйвер обновил. Но все-же.
В объектах есть запись:
megadd.0.p8_P8
Ключ подношу, она остается со значением "0".
В настройках Меги раздела iB Keys Last key: badbf1002e00
Т.е. Мега его считывает.
А как теперь с этим значением ioBroker работать? `
А на входы драйвер реагирует?вместо "0" megadd.0.p8_P8 (если настроен как iButton) должен быть "badbf1002e00" и при каждом прикосновение должен подсвечиваться зелёным. `
К другим входам подключены датчики температуры и давления, они показывают значения.
megadd.0.p8_P8 имеет значение 0, при прикосновении зеленым не подсвечивается. Зеленым подсвечиваются все считываемые значения по интервалу в настройках драйвера.
Может быть ioBroker WEB порт в настройках должен быть отличным от "80"? 8081 или 8082? Или в настройках меги нужно указать другой порт? `
Ну пропиши 8080 и там и там, у тебя нет связи между Megad и ioBroker.Скрипт(инстанцию драйвера megadd.0) в Megad указал?
-
А на входы драйвер реагирует?
вместо "0" megadd.0.p8_P8 (если настроен как iButton) должен быть "badbf1002e00" и при каждом прикосновение должен подсвечиваться зелёным. `
К другим входам подключены датчики температуры и давления, они показывают значения.
megadd.0.p8_P8 имеет значение 0, при прикосновении зеленым не подсвечивается. Зеленым подсвечиваются все считываемые значения по интервалу в настройках драйвера.
Может быть ioBroker WEB порт в настройках должен быть отличным от "80"? 8081 или 8082? Или в настройках меги нужно указать другой порт? `
Ну пропиши 8080 и там и там, у тебя нет связи между Megad и ioBroker.Скрипт(инстанцию драйвера megadd.0) в Megad указал?
screencapture-192-168-1-14-sec-1488193603889.png `
Однако…
Заработало в такой конфигурации:
Порт 8083 и на ioBroker и на Меге (80, 8080 были заняты судя по логам)
Так же обязательное прописание скрипта в настройках Меги в формате "0/"
Еще раз перечитал описание драйвера на GitHub https://github.com/ausHaus/ioBroker.meg … 0%B8%D0%B9
Там про инстанцию в скрипте не написано ничего :).
Можете тогда заодно уточнить как правильно делать:
1. Есть megad.0 и megadd.0 нужно их разносить на разные порты, т.е. например все драйвера меги328 будут на 8083, а дравйвера меги 2561 на 8084? Т.к. указывая в скрипте "0/" одинаковые значения для разных мег на одном порту опять что-нибудь не будет работать.
2. Для megadd.1 в поле скрипт нужно прописывать уже "1/"? и т.д.?
3. Надо ли указывать разные порты для всех имеющихся драйверов: megad.0, megad.1,megad.2 и т.д.
4. Можно ли название megadd.0 вручную изменить на megad.10, таким образом отпадет необходимость использовать п. 1?
-
Сообщение удалено…
-
Можете тогда заодно уточнить как правильно делать:
1. Есть megad.0 и megadd.0 нужно их разносить на разные порты, т.е. например все драйвера меги328 будут на 8083, а дравйвера меги 2561 на 8084? Т.к. указывая в скрипте "0/" одинаковые значения для разных мег на одном порту опять что-нибудь не будет работать.
2. Для megadd.1 в поле скрипт нужно прописывать уже "1/"? и т.д.?
3. Надо ли указывать разные порты для всех имеющихся драйверов: megad.0, megad.1,megad.2 и т.д.
4. Можно ли название megadd.0 вручную изменить на megad.10, таким образом отпадет необходимость использовать п. 1? `
1. Все меги могут работать на одном порту, главное чтобы этот порт не использовал кто то иной(например Apache server, Let's Encrypt)2. всё верно.
3. смотри пункт 1.
4. нет.
-
Спасибо. А можно использовать драйвер 2561 для 328й меги?
-
Спасибо. А можно использовать драйвер 2561 для 328й меги? `
Нет, если коротко MegaD-2561 нету порта P14 также P14, P15 не могут быть ADC и т.д… -
Скажите а 1-wire список устройств планируется реализовать?
-
Bluefox , три порта настроены 1WBUS
Делаю запрос
...... } else if (settings.d == 5) { var port = p; var parts = adapter.config.ip.split(':'); var options = { host: parts[0], port: parts[1] || 80, path: '/' + adapter.config.password + '/?pt=' + port + '&cmd=list' }; adapter.log.debug('1WBUS LIST http://' + options.host + options.path); adapter.log.debug('PORT: ' + port); http.get(options, function (res) { var data = ''; res.on('data', function (chunk) { data += chunk; }); res.on('end', function () { adapter.log.debug('PORT: ' + port + ' ' + 'DATA: ' + data); }); }); } else if (settings.d == 6) { .....
получаю ответ
megadd.0 2017-03-11 00:19:11.358 debug PORT: 33 DATA: 30c5b8000000:31.81;32c5b8000000:27.00;31c5b8000000:-15.81 megadd.0 2017-03-11 00:19:11.061 debug PORT: 33 DATA: 30c6b8000000:28.31;32c6b8000000:17.12;31c6b8000000:-15.18 megadd.0 2017-03-11 00:19:10.764 debug PORT: 33 DATA: 30c9b8000000:-10.56 megadd.0 2017-03-11 00:19:10.525 debug PORT: 33 megadd.0 2017-03-11 00:19:10.525 debug 1WBUS LIST http://192.168.1.14/sec/?pt=33&cmd=list megadd.0 2017-03-11 00:19:10.525 debug PORT: 15 megadd.0 2017-03-11 00:19:10.525 debug 1WBUS LIST http://192.168.1.14/sec/?pt=15&cmd=list megadd.0 2017-03-11 00:19:10.525 debug PORT: 5 megadd.0 2017-03-11 00:19:10.524 debug 1WBUS LIST http://192.168.1.14/sec/?pt=5&cmd=list
почему в ответе PORT всегда последний(33) из запроса, как сделать?
-
Bluefox , три порта настроены 1WBUS
Делаю запрос
...... } else if (settings.d == 5) { var port = p; var parts = adapter.config.ip.split(':'); var options = { host: parts[0], port: parts[1] || 80, path: '/' + adapter.config.password + '/?pt=' + port + '&cmd=list' }; adapter.log.debug('1WBUS LIST http://' + options.host + options.path); adapter.log.debug('PORT: ' + port); http.get(options, function (res) { var data = ''; res.on('data', function (chunk) { data += chunk; }); res.on('end', function () { adapter.log.debug('PORT: ' + port + ' ' + 'DATA: ' + data); }); }); } else if (settings.d == 6) { .....
получаю ответ
megadd.0 2017-03-11 00:19:11.358 debug PORT: 33 DATA: 30c5b8000000:31.81;32c5b8000000:27.00;31c5b8000000:-15.81 megadd.0 2017-03-11 00:19:11.061 debug PORT: 33 DATA: 30c6b8000000:28.31;32c6b8000000:17.12;31c6b8000000:-15.18 megadd.0 2017-03-11 00:19:10.764 debug PORT: 33 DATA: 30c9b8000000:-10.56 megadd.0 2017-03-11 00:19:10.525 debug PORT: 33 megadd.0 2017-03-11 00:19:10.525 debug 1WBUS LIST http://192.168.1.14/sec/?pt=33&cmd=list megadd.0 2017-03-11 00:19:10.525 debug PORT: 15 megadd.0 2017-03-11 00:19:10.525 debug 1WBUS LIST http://192.168.1.14/sec/?pt=15&cmd=list megadd.0 2017-03-11 00:19:10.525 debug PORT: 5 megadd.0 2017-03-11 00:19:10.524 debug 1WBUS LIST http://192.168.1.14/sec/?pt=5&cmd=list
почему в ответе PORT всегда последний(33) из запроса, как сделать? `
Как сделать, что бы по порядку? -
Где можно посмотреть весь код?
-
Где можно посмотреть весь код? `
С коментом 1Wirehttps://github.com/ausHaus/ioBroker.megadd
03.05 я тебе в личные писал, там есть пояснение.
-
Где можно посмотреть весь код? `
С коментом 1Wirehttps://github.com/ausHaus/ioBroker.megadd
03.05 я тебе в личные писал, там есть пояснение. `
48_main.js -
Работает?
-
Работает? `
megadd.0 2017-03-13 18:49:57.227 error at process._tickCallback (node.js:425:17) megadd.0 2017-03-13 18:49:57.227 error at nextTickCallbackWith2Args (node.js:511:9) megadd.0 2017-03-13 18:49:57.227 error at endReadableNT (_stream_readable.js:923:12) megadd.0 2017-03-13 18:49:57.227 error at IncomingMessage.emit (events.js:166:7) megadd.0 2017-03-13 18:49:57.227 error at emitNone (events.js:72:20) megadd.0 2017-03-13 18:49:57.227 error at IncomingMessage. (/opt/iobroker/node_modules/iobroker.megadd/main.js:130:25) megadd.0 2017-03-13 18:49:57.227 error at /opt/iobroker/node_modules/iobroker.megadd/main.js:816:23 megadd.0 2017-03-13 18:49:57.227 error at /opt/iobroker/node_modules/iobroker.megadd/main.js:1151:25 megadd.0 2017-03-13 18:49:57.227 error at getPortStateW (/opt/iobroker/node_modules/iobroker.megadd/main.js:777:20) megadd.0 2017-03-13 18:49:57.227 error TypeError: ip.split is not a function megadd.0 2017-03-13 18:49:57.217 error uncaught exception: ip.split is not a function
-
Я тебе pull request прислал
-
Я тебе pull request прислал `
Дублирует запрос, соответственно и ответ. РЕШЕНО!!!! megadd.0 2017-03-14 06:41:43.232 debug inMem message megadd.0.* megadd.0.p33_P33_31c5b8000000
! megadd.0 2017-03-14 06:41:43.232 debug inMem message megadd.0.* megadd.0.p33_P33_32c5b8000000
! megadd.0 2017-03-14 06:41:43.218 debug inMem message megadd.0.* megadd.0.p33_P33_30c5b8000000
! megadd.0 2017-03-14 06:41:43.202 debug detected new value on port [33_31c5b8000000]: -15.81
! megadd.0 2017-03-14 06:41:43.201 debug detected new value on port [33_32c5b8000000]: 27
! megadd.0 2017-03-14 06:41:43.201 debug detected new value on port [33_30c5b8000000]: 31.81
! megadd.0 2017-03-14 06:41:43.201 debug Response: 30c5b8000000:31.81;32c5b8000000:27.00;31c5b8000000:-15.81
! megadd.0 2017-03-14 06:41:42.982 debug inMem message megadd.0.* megadd.0.p15_P15_31c6b8000000
! megadd.0 2017-03-14 06:41:42.982 debug inMem message megadd.0.* megadd.0.p15_P15_32c6b8000000
! megadd.0 2017-03-14 06:41:42.982 debug inMem message megadd.0.* megadd.0.p15_P15_30c6b8000000
! megadd.0 2017-03-14 06:41:42.982 debug detected new value on port [15_31c6b8000000]: -15.18
! megadd.0 2017-03-14 06:41:42.981 debug detected new value on port [15_32c6b8000000]: 17.12
! megadd.0 2017-03-14 06:41:42.981 debug detected new value on port [15_30c6b8000000]: 28.31
! megadd.0 2017-03-14 06:41:42.980 debug Response: 30c6b8000000:28.31;32c6b8000000:17.12;31c6b8000000:-15.18
! megadd.0 2017-03-14 06:41:42.671 debug Response: 30c9b8000000:-10.56
! megadd.0 2017-03-14 06:41:42.576 debug inMem message megadd.0.* megadd.0.p33_P33_31c5b8000000
! megadd.0 2017-03-14 06:41:42.575 debug inMem message megadd.0.* megadd.0.p33_P33_32c5b8000000
! megadd.0 2017-03-14 06:41:42.556 debug inMem message megadd.0.* megadd.0.p33_P33_30c5b8000000
! megadd.0 2017-03-14 06:41:42.555 debug detected new value on port [33_31c5b8000000]: -15.81
! megadd.0 2017-03-14 06:41:42.555 debug detected new value on port [33_32c5b8000000]: 27
! megadd.0 2017-03-14 06:41:42.555 debug detected new value on port [33_30c5b8000000]: 31.81
! megadd.0 2017-03-14 06:41:42.554 debug Response: 30c5b8000000:31.81;32c5b8000000:27.00;31c5b8000000:-15.81
! megadd.0 2017-03-14 06:41:42.344 debug inMem message megadd.0.* megadd.0.p15_P15_31c6b8000000
! megadd.0 2017-03-14 06:41:42.343 debug inMem message megadd.0.* megadd.0.p15_P15_32c6b8000000
! megadd.0 2017-03-14 06:41:42.342 debug inMem message megadd.0.* megadd.0.p15_P15_30c6b8000000
! megadd.0 2017-03-14 06:41:42.342 debug detected new value on port [15_31c6b8000000]: -15.18
! megadd.0 2017-03-14 06:41:42.342 debug detected new value on port [15_32c6b8000000]: 17.12
! megadd.0 2017-03-14 06:41:42.341 debug detected new value on port [15_30c6b8000000]: 28.31
! megadd.0 2017-03-14 06:41:42.340 debug Response: 30c6b8000000:28.31;32c6b8000000:17.12;31c6b8000000:-15.18
! megadd.0 2017-03-14 06:41:42.118 debug Response: 30c9b8000000:-10.56
! megadd.0 2017-03-14 06:41:41.890 debug getPortStateW http://192.168.1.14/sec/?pt=33&cmd=list
! megadd.0 2017-03-14 06:41:41.890 debug getPortStateW http://192.168.1.14/sec/?pt=15&cmd=list
! megadd.0 2017-03-14 06:41:41.890 debug getPortStateW http://192.168.1.14/sec/?pt=5&cmd=list
! megadd.0 2017-03-14 06:41:41.889 debug Response: temp:24.00;OFF/0;OFF/0;;OFF;;temp:0.00/hum:0.00;OFF/OFF;NA/NA;OFF;0;0;0;255;ON;;OFF;temp:0.04/press:1.76;OFF/0;OFF/0;temp:6.00/hum:76.00;temp:0.00/hum:0.00;OFF;;OFF;;;OFF;OFF;ON;;OFF;temp:-2
! megadd.0 2017-03-14 06:41:39.658 debug getPortStateW http://192.168.1.14/sec/?pt=33&cmd=list
! megadd.0 2017-03-14 06:41:39.658 debug getPortStateW http://192.168.1.14/sec/?pt=15&cmd=list
! megadd.0 2017-03-14 06:41:39.658 debug getPortStateW http://192.168.1.14/sec/?pt=5&cmd=list
! megadd.0 2017-03-14 06:41:39.657 debug Response: temp:24.00;OFF/0;OFF/0;;OFF;;temp:0.00/hum:0.00;OFF/OFF;NA/NA;OFF;0;0;0;255;ON;;OFF;temp:0.04/press:1.76;OFF/0;OFF/0;temp:6.00/hum:76.00;temp:0.00/hum:0.00;OFF;;OFF;;;OFF;OFF;ON;;OFF;temp:-2
! megadd.0 2017-03-14 06:41:37.758 debug getPortState http://192.168.1.14/sec/?cmd=all
P.S. Лишние строки затесалисьНу и самое главное в чем был вопрос, как создать эти порты. p5_P5_30c9b8000000, p15_P15_30c6b8000000, p15_P15_31c6b8000000, ….p33P33_..
! if (settings.pty == 3) {
! obj.common.write = false;
! obj.common.read = true;
! obj.common.def = 0;
! obj.common.type = 'number';
! if (settings.d == 1 || settings.d == 2 || settings.d == 3) {
! …..
! } else if (settings.d == 5) { // 1Wire
! obj.common.min = -30;
! obj.common.max = 30;
! obj.common.unit = '°C';
! obj.common.desc = 'P' + p + ' - temperature';
! obj.common.type = 'number';
! if (!obj.common.role) obj.common.role = 'value.temperature';
! .....
Кое что подправил! if (val !== _ports[_port].value || _ports[_port].q !== q) {
! adapter.log.debug('VAL :' + val + ' ' + 'PORT VAL :' + _ports[_port].value);
! _ports[_port].oldValue = _ports[_port].value;
! if (_ports[_port].pty == 3 && _ports[_port].d == 5) {
! adapter.log.debug('detected new value on port [' + port + '' + id[0] + ']: ' + val);
! ///adapter.setState(_ports[port].id + '' + id[0], {val: value, ack: true, q: q});
! adapter.setState(_ports[port].id + '' + id[0], {val: val, ack: true, q: q}); //haus
! }
! _ports[_port].value = val;
! _ports[_port].q = q;
! }
Вбил руками порты megadd.0.p33_P33_32c5b8000000, …... Неправильно определяет if (val !== _ports[_port].value || _ports[_port].q !== q) { если больше одного датчика! megadd.0 2017-03-14 17:21:29.678 debug inMem message megadd.0.* megadd.0.p33_P33_31c5b8000000
! megadd.0 2017-03-14 17:21:29.677 debug inMem message megadd.0.* megadd.0.p33_P33_32c5b8000000
! megadd.0 2017-03-14 17:21:29.665 debug inMem message megadd.0.* megadd.0.p33_P33_30c5b8000000
! megadd.0 2017-03-14 17:21:29.664 debug detected new value on port [33_31c5b8000000]: -17.37
! megadd.0 2017-03-14 17:21:29.663 debug VAL :-17.37 PORT VAL :27
! megadd.0 2017-03-14 17:21:29.663 debug detected new value on port [33_32c5b8000000]: 27
! megadd.0 2017-03-14 17:21:29.663 debug VAL :27 PORT VAL :31.81
! megadd.0 2017-03-14 17:21:29.662 debug detected new value on port [33_30c5b8000000]: 31.81
! megadd.0 2017-03-14 17:21:29.662 debug VAL :31.81 PORT VAL :-17.37
! megadd.0 2017-03-14 17:21:29.661 debug Response: 30c5b8000000:31.81;32c5b8000000:27.00;31c5b8000000:-17.37
Иногда MegaD на запрос http://192.168.1.14/sec/?pt=33&cmd=list может вернуть "busy" если шина занята конвертацией, здесь главное чтобы драйвер не парсил этот ответ или как вариант повторил запрос скажем через 5-10 секунд.! megadd.0 2017-03-14 09:45:38.692 debug Response: busy
! megadd.0 2017-03-14 09:45:38.611 debug Response: busy
! megadd.0 2017-03-14 09:45:38.600 debug Response: busy
! megadd.0 2017-03-14 09:45:32.537 debug getPortStateW http://192.168.1.14/sec/?pt=33&cmd=list
! megadd.0 2017-03-14 09:45:32.536 debug getPortStateW http://192.168.1.14/sec/?pt=15&cmd=list
! megadd.0 2017-03-14 09:45:32.534 debug getPortStateW http://192.168.1.14/sec/?pt=5&cmd=list