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 megaddMegad сам сообщает 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й меги? `
Нет, если коротко MegaD-2561 нету порта P14 также P14, P15 не могут быть ADC и т.д… -
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 я тебе в личные писал, там есть пояснение. `
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 прислал `
Дублирует запрос, соответственно и ответ. РЕШЕНО!!!! 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
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