NEWS
Драйвер MegaD-2561
-
Haus, привет!
Еще немного потестил.
PCA9682:
-
в настройках нет частоты для модуля (новое, в общем не критично).
-
меняет значение PWM только для порта P0.
Прочие порты не работают. Значение восстанавливаются в 0 после автообновления информации.
- после изменения из IOBroker значения PWM порта P0, драйвер не переводит поле ACK в true. `
Все твои проблемы с MCP230XX и PCA9682 в изменении имени порта, сделай по умолчанию и дай знать. Поле частоты сделаю.
-
-
Haus, привет!
С прошедшими праздниками…
v0.3.1
Поймал небольшие глюки с MCP23017
Стенд:
! MCP23017_err.jpg
С веб консоли Меги все 3 выхода работают корректно (включаются\выключаются).Из IOBroker:
-
Из трех настроенных выходов расширителя (A0, A1, A2 ) управляется только порт A0 (канал B не проверял).
-
Перевод состояния в False любого порта (P0-P15) в закладке States приводит к выключению канала A0.
После синхронизации состояний по расписанию P0 перводится в False, порт, который дергали, переводится в True.
- Аналогично с включением порта A0. `
и
@Vadim:
Haus, привет!
Еще немного потестил.
PCA9682:
-
в настройках нет частоты для модуля (новое, в общем не критично).
-
меняет значение PWM только для порта P0.
Прочие порты не работают. Значение восстанавливаются в 0 после автообновления информации.
- после изменения из IOBroker значения PWM порта P0, драйвер не переводит поле ACK в true. `
Действительно, все работает, если не изменять название портов в настройках драйвера.
Спасибо.
Это глюк или так закладывалось, что названия менять нельзя?
Считывателю (W26) - не помогло.
-
-
Какой-то странно воспринимается значение порта 30.
На 30 порту висит датчик движения. Без движения он замыкает линию, мегад пишет состаояние ON, о чём сообщает ioBroker-у:
GET /sec/?cmd=all HTTP/1.1
OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF;OFF;OFF;OFF;OFF;255;0;ON;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF;OFF;OFF;OFF;OFF;OFF;OFF;ON;ON/0;temp:26.30/hum:15.80;ON/0;temp:57.93;ON;ON;ON;ON[!http]
(значение перед температурой)
НО, в событиях я вижу быструю смену
stateChange megadd.0.p30_P30 false true megadd.0 2018-01-28 00:36:55.766 2018-01-28 00:36:55.766
stateChange megadd.0.p30_P30 true true megadd.0 2018-01-28 00:36:55.645
true и сразу же false.
Соответственно в состоянии он всегда в false.
Настройка megad port 30 type: in, mode: R.
Описание порта в ioBroker:
! {
! "_id": "megadd.0.p30_P30",
! "common": {
! "name": "P30",
! "role": "state",
! "write": false,
! "read": true,
! "def": false,
! "desc": "P30 - digital input",
! "type": "boolean"
! },
! "native": {
! "ecmd": "11:4",
! "af": 0,
! "eth": "",
! "naf": 0,
! "misc": 0,
! "d": 0,
! "pty": 0,
! "m": 1,
! "name": "P30",
! "long": false,
! "double": false,
! "role": "state",
! "room": "",
! "id": "megadd.0.p30_P30",
! "port": 30
! },
! "type": "state",
! "from": "system.adapter.megadd.0",
! "ts": 1517084515151,
! "acl": {
! "object": 1636,
! "owner": "system.user.admin",
! "ownerGroup": "system.group.administrator",
! "state": 1636
! }
! }
Подскажите с чем может быть связано и как поправить? -
Настройка megad port 30 type: in, mode: R. `
Установи mode:P с галкой.Я так понял, такая настройка для IN д.б. всегда и для любых случаев в связке с IOBroker. (могу ошибаться)
Инвертирование, если необходимо, сделаешь в коде сервера.
Режимы click-mode сервер делает сам, в соотв. с настройками интервалов в драйвере.
-
Так у меня это происходит даже не при срабатывании датчика, а каждые 30 секунд, когда происходит опрос ioBroker-ом значения всех портов.
-
Так у меня это происходит даже не при срабатывании датчика, а каждые 30 секунд, когда происходит опрос ioBroker-ом значения всех портов. `
Ну, упрашивать точно не буду.Потому у тебя так и происходит, т.к. P с галкой не выставил.
-
Не помогло. Глюк какой-то…..
Выставил Р и галку. Датчик всё время в состоянии 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"