NEWS
Драйвер MegaD-2561
-
Не помогло. Глюк какой-то…..
Выставил Р и галку. Датчик всё время в состоянии ON, но в ioBroker так и продолжаю получать:
stateChange megadd.0.p30_P30 false true megadd.0 2018-01-28 19:20:23.226 2018-01-28 19:20:23.226
stateChange megadd.0.p30_P30 true true megadd.0 2018-01-28 19:20:23.124 2018-01-28 19:20:23.124
Vadim попробуй, пожалуйста, выставить в IN любой порт на XT2 (30-35) и посмотреть как он будет опрашиваться.
-
А конфигурацию в драйвере обновил, пересохранил после изменения настроек меги?
-
Спасибо! Всё получилось как надо!
Осталось только осознать, почему оно так. Нашёл по этой теме переписку на форуме ab-log.ru… Перечитаю ещё раз.
-
Так заложили логику работы драйвера для меги.
Т.к. стоит галка, мега отдает серверу все события. Сервер берет на себя все логику обработки этих событий.
-
Настройка megad port 30 type: in, mode: R. `
Установи mode:P с галкой.Я так понял, такая настройка для IN д.б. всегда и для любых случаев в связке с IOBroker. (могу ошибаться)
Инвертирование, если необходимо, сделаешь в коде сервера.
Режимы click-mode сервер делает сам, в соотв. с настройками интервалов в драйвере. `
Я думаю что в случае с датчиком движения mode: R (при размыкании) будет правильней если в Megad прописаны условия при отсутствие сервера (аварийном). Чебокс нужен обязательно. -
Haus, привет!
PCA9682 в настройках нет частоты для модуля (новое, в общем не критично).
Считывателю (W26) - не помогло. `
Попробуй с git v.0.3.2cd /opt/iobroker npm install https://github.com/ausHaus/ioBroker.megadd/tarball/master/ iobroker upload megadd iobroker restart megadd
-
Я думаю что в случае с датчиком движения mode: R (при размыкании) будет правильней если в Megad прописаны условия при отсутствие сервера (аварийном). Чебокс нужен обязательно. `
Напиши плз пару строк инструкции на гитхабе, какие режимы допускаются на стороне контроллера Меги и какие настройки обязательны.Я тоже на эти грабли наступал, вычитал про P с галкой, думал только так можно.
Оказывается можно и R.
Что с режимом Сlick mode и Р\R?
-
Попробуй с git v.0.3.2 `
Спасибо. Попробую, но W26 проверить пока не смогу.Считываетель оказался не очень удачным для меня. Я хотел от него хоть корпус с клавиатурой получить. Не удалось, хорошо залили.
Ну и сам считыватель не очень пережил процедуру отделения компаунда от платы.
Пока в стадии поиска нового считывателя. Не думал ,что это такая проблема найти вотерпруфный считыватель с клавиатурой, W26 OUT и эмуляцией номера карты для PIN кода.
-
Я думаю что в случае с датчиком движения mode: R (при размыкании) будет правильней если в Megad прописаны условия при отсутствие сервера (аварийном). Чебокс нужен обязательно. `
Напиши плз пару строк инструкции на гитхабе, какие режимы допускаются на стороне контроллера Меги и какие настройки обязательны.Я тоже на эти грабли наступал, вычитал про P с галкой, думал только так можно.
Оказывается можно и R.
Что с режимом Сlick mode и Р\R? `
На git в readme https://github.com/ausHaus/ioBroker.meg … /README.md есть ссылка https://www.ab-log.ru/smart-house/ethernet/megad-2561 на описание.
Драйвер Megad-2561(в отличии от Megad-328) по суте конфигурируется в три клика
1. ставим драйвер Megad-2561 открывается админка, нажимаем поиск устройства, выбираем нам нужный
2. считываем настройки(если сконфигурированы в Megad)
3. правим ioBroker веб-порт(если 80 занят apache или letsencrypt), записываем настройки в Megad (пропишется IP сервера, инстанция драйвера)
Всё
Режим Mode в соответствии с описанием Анндрея
Mode - параметр, позволяющий использовать устройство в широком спектре задач. Эта опция определяет режим входа P - устройство реагирует (то есть отправляет сообщения на сервер, выполняет сценарии и т.д.) только при замыкании контакта/выключателя R - устройство реагирует только при размыкании контакта/выключателя. P&R - устройство реагирует как на замыкание, так и на размыкания контакта. С - Click Mode
С - Click Mode (У нас он реализован на стороне драйвера)
Чекбокс ставим всегда
Флажок (чекбокс) справа от поля Mode указывает, что при наличии сервера, устройство отправляет на сервер сообщения всегда в режиме P&R, а при его отсутствии Action выполняется только в том режиме, который установлен в Mode. Данная опция не доступна для Click Mode.
P.S. порт может быть один на все Megad-2561
-
предлагаю добавить в описание на гитхаб немного покороче:
"На стороне контроллера Меги:
-
в настройках портов IN, необходимо обязательно устанавливать чекбокс для поля Mode для корректной обработки драйвером событий!
-
допускаются настройки Mode: P или R или P\R.
Click mode реализован на уровне драйвера Megadd. "
Я думаю, многие вопросы в дальнейшем снимет.
-
-
Haus, привет.
Запилишь ADS1115?
Сильно критично, что Андрей не сделал для этого датчика отдельную строку в списке (он идет ,как I2C - ANY)?
-
Haus, привет.
Запилишь ADS1115?
Сильно критично, что Андрей не сделал для этого датчика отдельную строку в списке (он идет ,как I2C - ANY)? `
Попробуй с git v.0.3.8cd /opt/iobroker npm install https://github.com/ausHaus/ioBroker.megadd/tarball/master/ iobroker upload megadd iobroker restart megadd
-
MegaD на своих портах плату детектирует (I2C scan: 0x90 - ADS1115)
Драйвер MegaDD - Обновил. IOBroker перезагружал.
При нажатии I2C scan в драйвере ничего не происходит, плата не считывается, меню I2C scan после нажатия не активное.
Сохранил конфигурацию в таком состоянии.
Начал валиться драйвер.
Логи:
! host.orangepiplus2e 2018-02-20 20:19:52.781 info Restart adapter system.adapter.megadd.0 because enabled
! host.orangepiplus2e 2018-02-20 20:19:52.780 error instance system.adapter.megadd.0 terminated with code 0 (OK)
! host.orangepiplus2e 2018-02-20 20:19:52.780 error Caught by controller[0]: at process._tickCallback (internal/process/next_tick.js:104:9)
! host.orangepiplus2e 2018-02-20 20:19:52.779 error Caught by controller[0]: at _combinedTickCallback (internal/process/next_tick.js:80:11)
! host.orangepiplus2e 2018-02-20 20:19:52.779 error Caught by controller[0]: at endReadableNT (_stream_readable.js:974:12)
! host.orangepiplus2e 2018-02-20 20:19:52.778 error Caught by controller[0]: at IncomingMessage.emit (events.js:185:7)
! host.orangepiplus2e 2018-02-20 20:19:52.778 error Caught by controller[0]: at emitNone (events.js:91:20)
! host.orangepiplus2e 2018-02-20 20:19:52.778 error Caught by controller[0]: at IncomingMessage. (/opt/iobroker/node_modules/iobroker.megadd/main.js:152:25)
! host.orangepiplus2e 2018-02-20 20:19:52.777 error Caught by controller[0]: at /opt/iobroker/node_modules/iobroker.megadd/main.js:1031:23
! host.orangepiplus2e 2018-02-20 20:19:52.777 error Caught by controller[0]: at /opt/iobroker/node_modules/iobroker.megadd/main.js:1520:25
! host.orangepiplus2e 2018-02-20 20:19:52.776 error Caught by controller[0]: at getPortStateI2C (/opt/iobroker/node_modules/iobroker.megadd/main.js:932:29)
! host.orangepiplus2e 2018-02-20 20:19:52.775 error Caught by controller[0]: TypeError: Cannot read property 'split' of undefined
! megadd.0 2018-02-20 20:19:52.204 error TypeError: Cannot read property 'split' of undefined at getPortStateI2C (/opt/iobroker/node_modules/iobroker.megadd/main.js:932:29) at /opt/iobroker/node_modules/iobroker.megadd/main.js:1520:2
! megadd.0 2018-02-20 20:19:52.204 error uncaught exception: Cannot read property 'split' of undefined
! megadd.0 2018-02-20 20:19:52.202 info Device "192.168.0.14" is connectedPS.
OrangePI+2e
Armbian Ubuntu 16.04.3 LTS
Nodejs v6.13.0
Admin 3.2.0
UPD1
Вместо порта ANY выбрал произвольно HTU21D, сохранил конфинурацию в IOBroker, считал конфигурацию c MegaD снова.
После этого плата стала определяться, функция I2C Scan перестала залипать.
В Objects появились 4 порта ADS1115. Ну и драйвер перестал падать.
До этого момента при нажатии I2C Scan в драйвере, Wireshark обращений (pt=xx&cmd=scan) к контроллеру меги не детектировал.
Смотрю дальше.
-
Настройки I2C порта везде ANY(Любой) если используется больше одного датчика на линии. Если один датчик то как раньше.
После считывания или сканирования "HTU21D/PCA9685,BMP180" нужно исправить на "HTU21D,BMP180"
-
В общем и целом работает.
Спасибо.
1. Проблем с залипанием "Scan" для ANY I2C больше не возникала, в т.ч. на других портах.
2. Все комбинации не проверил, но для связки TSL2591,HTU21D,ADS1115 - работает.
3. Если какой-то порт МегаД настроен, как ANY, но физически к нему ничего не подключено (или датчик умер).
Мы считываем конфигурацию, естественно датчик не определяется, поле остается пустым. Это событие незаметно.
Если так сохранить конфигурацию, то драйвер начинает падать.
4. После каждого сканирования портов (Auto Detect Ports) МегаД приходится постоянно править руками поле с датчиками, если они однозначно не определяются.
Если много таких портов с множеством датчиков на каждом, то это уже накладно.
В т.ч. не отслеживаемо, что эти поля меняются (через год нужно переконфигурировать совершенно другой порт, если забыть про I2C Any, то можно пропустить).
Опять же, если сохранить конфигурацию в виде "HTU21D/PCA9685", то драйвер начинает падать.
Имхо, логично для "Auto Detect Ports" отменить автоматическое сканирование и перезапись датчиков для "I2C Any".
Для этого можно пользоваться кнопкой "I2C Scan" для конкретного порта в нужное пользователю время.
5. По ходу заметил, для TSL2591 (value.light) в Value отображаются градусы Цельсия.
Вопросы:
1. Подскажи плз, как пересчитываешь в IOBroker значения с датчиков, которые получаем с Меги (калибровка датчиков температуры, освещенности…. Приведение значений с ADS1115. Отбрасывание заведомо кривых значений, усреднение)?
Драйвер поддерживает только корректировку значений с родных портов ADC Меги (сдвиг и множитель).
Все остальное, приходится как есть писать в базу.
При построении графиков (flot) корректировки тоже не нашел.
Это только руками в Scripts реализовывать работу с БД и пересчет или я что-то упустил?
2. Все же, для понимания, в конфигурации драйвера можно переименовывать имя портов Меги или нет?
С обычными портами вроде работало. С портами расширителей были проблемы.
-
Еще легкий баг.
Для HTU21D, если он висит на шине I2C перепутаны значения температуры и влажности.
Если датчик висит один на порту, то отображается корректно.
!
-
Попробуй с git
Настройки I2C порта везде ANY(Любой) если используется больше одного датчика на линии. Если один датчик то как раньше.
Это уже неактуально
-
c git тянет старую 0.3.8
-
скопировал admin/index.html руками.
-
Все равно автоматом (Auto Detect ports) тянет HTU21D/PCA9685 и перезаписывает настройки, но в результате с настройкой "TSL2591,HTU21D/PCA9685,ADS1115" идентифицирует датчик (HTU21D) корректно, драйвер не падает, статусы считываются корректно.
-
Баг.
Если для связки TSL2591,HTU21D,ADS1115 выбрять не ANY, а, например, TSL2591, то не считывается TSL2591
!
2. Настройки порта ANY без датчиков - теперь драйвер не перезагружается.
-
-
Ставь полностью
отпишись по баг
делаю в слепую по скринам с ab-log, дай скрин с MegaD scan