Драйвер MegaD-2561

Vadim
starter
Beiträge: 35
Registriert: 11.11.2017, 13:16

Re: Драйвер MegaD-2561

Beitrag von Vadim » 20.02.2018, 19:30

MegaD на своих портах плату детектирует (I2C scan: 0x90 - ADS1115)
Драйвер MegaDD - Обновил. IOBroker перезагружал.
При нажатии I2C scan в драйвере ничего не происходит, плата не считывается, меню I2C scan после нажатия не активное.
Сохранил конфигурацию в таком состоянии.
Начал валиться драйвер.
Логи:
Spoiler: Show hidden text
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 connected
PS.
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) к контроллеру меги не детектировал.
Смотрю дальше.

Haus
professional
Beiträge: 532
Registriert: 12.05.2015, 16:49
Wohnort: Lithuania, Vilnius

Re: Драйвер MegaD-2561

Beitrag von Haus » 20.02.2018, 22:52

Настройки I2C порта везде ANY(Любой) если используется больше одного датчика на линии. Если один датчик то как раньше.
После считывания или сканирования "HTU21D/PCA9685,BMP180" нужно исправить на "HTU21D,BMP180"
js-controller: 1.4.2 / node.js: v6.14.3 / npm: 3.10.10
admin: 3.5.1
javascript: 3.6.4
web: 2.4.1 vis: 1.1.7
cloud: 2.6.2

Server: DELL FX170 / linux: Debian 9.5 Stretch
Adapter: MegaD-2561, Mega-ESP, Wrapper(Home)

Vadim
starter
Beiträge: 35
Registriert: 11.11.2017, 13:16

Re: Драйвер MegaD-2561

Beitrag von Vadim » 24.02.2018, 20:03

В общем и целом работает.
Спасибо.

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. Все же, для понимания, в конфигурации драйвера можно переименовывать имя портов Меги или нет?
С обычными портами вроде работало. С портами расширителей были проблемы.

Vadim
starter
Beiträge: 35
Registriert: 11.11.2017, 13:16

Re: Драйвер MegaD-2561

Beitrag von Vadim » 24.02.2018, 21:35

Еще легкий баг.
Для HTU21D, если он висит на шине I2C перепутаны значения температуры и влажности.
Если датчик висит один на порту, то отображается корректно.
Spoiler: Show hidden text
HTU21D.jpg

Haus
professional
Beiträge: 532
Registriert: 12.05.2015, 16:49
Wohnort: Lithuania, Vilnius

Re: Драйвер MegaD-2561

Beitrag von Haus » 25.02.2018, 19:06

Попробуй с git

Code: Alles auswählen

Настройки I2C порта везде ANY(Любой) если используется больше одного датчика на линии. Если один датчик то как раньше.
Это уже неактуально
js-controller: 1.4.2 / node.js: v6.14.3 / npm: 3.10.10
admin: 3.5.1
javascript: 3.6.4
web: 2.4.1 vis: 1.1.7
cloud: 2.6.2

Server: DELL FX170 / linux: Debian 9.5 Stretch
Adapter: MegaD-2561, Mega-ESP, Wrapper(Home)

Vadim
starter
Beiträge: 35
Registriert: 11.11.2017, 13:16

Re: Драйвер MegaD-2561

Beitrag von Vadim » 25.02.2018, 19:21

c git тянет старую 0.3.8

Vadim
starter
Beiträge: 35
Registriert: 11.11.2017, 13:16

Re: Драйвер MegaD-2561

Beitrag von Vadim » 25.02.2018, 20:30

скопировал admin/index.html руками.
1.
- Все равно автоматом (Auto Detect ports) тянет ***HTU21D/PCA9685*** и перезаписывает настройки, но в результате с настройкой "TSL2591,HTU21D/PCA9685,ADS1115" идентифицирует датчик (HTU21D) корректно, драйвер не падает, статусы считываются корректно.

- Баг.
Если для связки TSL2591,HTU21D,ADS1115 выбрять не ANY, а, например, TSL2591, то не считывается TSL2591
Spoiler: Show hidden text
TSL2591_(ANY).jpg
В конфигурации выбрано ANY
TSL2591_(TSL2591).jpg
В конфигурации выбран TSL2591
2. Настройки порта ANY без датчиков - теперь драйвер не перезагружается.
Zuletzt geändert von Vadim am 25.02.2018, 20:39, insgesamt 1-mal geändert.

Haus
professional
Beiträge: 532
Registriert: 12.05.2015, 16:49
Wohnort: Lithuania, Vilnius

Re: Драйвер MegaD-2561

Beitrag von Haus » 25.02.2018, 20:38

Ставь полностью
отпишись по баг
делаю в слепую по скринам с ab-log, дай скрин с MegaD scan
js-controller: 1.4.2 / node.js: v6.14.3 / npm: 3.10.10
admin: 3.5.1
javascript: 3.6.4
web: 2.4.1 vis: 1.1.7
cloud: 2.6.2

Server: DELL FX170 / linux: Debian 9.5 Stretch
Adapter: MegaD-2561, Mega-ESP, Wrapper(Home)

Vadim
starter
Beiträge: 35
Registriert: 11.11.2017, 13:16

Re: Драйвер MegaD-2561

Beitrag von Vadim » 25.02.2018, 20:54

Для связки:TSL2591,HTU21D,ADS1115
Результат скана MegaD:
0x51 - TSL2591
0x53
0x80 - HTU21D/PCA9685
0x90 - ADS1115

По багам.
Пока только один мелкий - см. пост выше.

Для MCPxxx
0x40 - MCP230XX

Для PCA9685
0x80 - HTU21D/PCA9685

Haus
professional
Beiträge: 532
Registriert: 12.05.2015, 16:49
Wohnort: Lithuania, Vilnius

Re: Драйвер MegaD-2561

Beitrag von Haus » 25.02.2018, 21:02

Vadim hat geschrieben:Для связки:TSL2591,HTU21D,ADS1115
Результат скана MegaD:
0x51 - TSL2591
0x53
0x80 - HTU21D/PCA9685
0x90 - ADS1115

По багам.
Пока только один мелкий - см. пост выше.

Для MCPxxx
0x40 - MCP230XX

Для PCA9685
0x80 - HTU21D/PCA9685
0x53 ???
Если ставил полностью бага не должно быть
P.S. Я понял, ты в MegaD не поменял настройки.

Как я уже писал много раз, НАСТРОЙКИ ДОЛЖНЫ БЫТЬ ИДЕНТИЧНЫ.
js-controller: 1.4.2 / node.js: v6.14.3 / npm: 3.10.10
admin: 3.5.1
javascript: 3.6.4
web: 2.4.1 vis: 1.1.7
cloud: 2.6.2

Server: DELL FX170 / linux: Debian 9.5 Stretch
Adapter: MegaD-2561, Mega-ESP, Wrapper(Home)

Vadim
starter
Beiträge: 35
Registriert: 11.11.2017, 13:16

Re: Драйвер MegaD-2561

Beitrag von Vadim » 25.02.2018, 21:13

1. "0x51 - TSL2591
0x53"
0x53 - идет пустой по запросу с Меги.
оба порта дает TSL2591.

2. Потом обновил через интерфейс:
Spoiler: Show hidden text
GitUpd.jpg
IOBroker рестартил.
баг остался (TSL2591 нормально не определяется, если в настройках установлено не ANY).

Haus
professional
Beiträge: 532
Registriert: 12.05.2015, 16:49
Wohnort: Lithuania, Vilnius

Re: Драйвер MegaD-2561

Beitrag von Haus » 25.02.2018, 21:21

Vadim hat geschrieben: Вопросы:
1. Подскажи плз, как пересчитываешь в IOBroker значения с датчиков, которые получаем с Меги (калибровка датчиков температуры, освещенности.... Приведение значений с ADS1115. Отбрасывание заведомо кривых значений, усреднение)?
Драйвер поддерживает только корректировку значений с родных портов ADC Меги (сдвиг и множитель).
Все остальное, приходится как есть писать в базу.
При построении графиков (flot) корректировки тоже не нашел.
Это только руками в Scripts реализовывать работу с БД и пересчет или я что-то упустил?
В настройках сохранения в базу есть всевозможные ограничения по разнице, времени....
Могу сделать(сдвиг и множитель), но для всех четырех каналов одна настройка, так подойдет?
Vadim hat geschrieben: 2. Все же, для понимания, в конфигурации драйвера можно переименовывать имя портов Меги или нет?
С обычными портами вроде работало. С портами расширителей были проблемы.
Посмотрю дам знать
js-controller: 1.4.2 / node.js: v6.14.3 / npm: 3.10.10
admin: 3.5.1
javascript: 3.6.4
web: 2.4.1 vis: 1.1.7
cloud: 2.6.2

Server: DELL FX170 / linux: Debian 9.5 Stretch
Adapter: MegaD-2561, Mega-ESP, Wrapper(Home)

Haus
professional
Beiträge: 532
Registriert: 12.05.2015, 16:49
Wohnort: Lithuania, Vilnius

Re: Драйвер MegaD-2561

Beitrag von Haus » 25.02.2018, 21:22

Vadim hat geschrieben: Вопросы:
1. Подскажи плз, как пересчитываешь в IOBroker значения с датчиков, которые получаем с Меги (калибровка датчиков температуры, освещенности.... Приведение значений с ADS1115. Отбрасывание заведомо кривых значений, усреднение)?
Драйвер поддерживает только корректировку значений с родных портов ADC Меги (сдвиг и множитель).
Все остальное, приходится как есть писать в базу.
При построении графиков (flot) корректировки тоже не нашел.
Это только руками в Scripts реализовывать работу с БД и пересчет или я что-то упустил?
В настройках сохранения в базу есть всевозможные ограничения по разнице, времени....
Могу сделать(сдвиг и множитель), но для всех четырех каналов одна настройка, так подойдет?
Vadim hat geschrieben: 2. Все же, для понимания, в конфигурации драйвера можно переименовывать имя портов Меги или нет?
С обычными портами вроде работало. С портами расширителей были проблемы.
Посмотрю дам знать
js-controller: 1.4.2 / node.js: v6.14.3 / npm: 3.10.10
admin: 3.5.1
javascript: 3.6.4
web: 2.4.1 vis: 1.1.7
cloud: 2.6.2

Server: DELL FX170 / linux: Debian 9.5 Stretch
Adapter: MegaD-2561, Mega-ESP, Wrapper(Home)

Haus
professional
Beiträge: 532
Registriert: 12.05.2015, 16:49
Wohnort: Lithuania, Vilnius

Re: Драйвер MegaD-2561

Beitrag von Haus » 25.02.2018, 21:25

Vadim hat geschrieben:1. "0x51 - TSL2591
0x53"
0x53 - идет пустой по запросу с Меги.
оба порта дает TSL2591.

2. Потом обновил через интерфейс:
Spoiler: Show hidden text
GitUpd.jpg
IOBroker рестартил.
баг остался (TSL2591 нормально не определяется, если в настройках установлено не ANY).
FROM GITHUB

выбери megadd
после установки перезапусти драйвер

Перечитай пост http://forum.iobroker.net/viewtopic.php ... 62#p128546
js-controller: 1.4.2 / node.js: v6.14.3 / npm: 3.10.10
admin: 3.5.1
javascript: 3.6.4
web: 2.4.1 vis: 1.1.7
cloud: 2.6.2

Server: DELL FX170 / linux: Debian 9.5 Stretch
Adapter: MegaD-2561, Mega-ESP, Wrapper(Home)

Vadim
starter
Beiträge: 35
Registriert: 11.11.2017, 13:16

Re: Драйвер MegaD-2561

Beitrag von Vadim » 25.02.2018, 21:39

Haus hat geschrieben: FROM GITHUB

выбери megadd
после установки перезапусти драйвер

Перечитай пост http://forum.iobroker.net/viewtopic.php ... 62#p128546
Не, не помогло.
В общем не очень критично, если знать, что нужно ANY выставлять.

Vadim
starter
Beiträge: 35
Registriert: 11.11.2017, 13:16

Re: Драйвер MegaD-2561

Beitrag von Vadim » 25.02.2018, 21:43

Haus hat geschrieben: В настройках сохранения в базу есть всевозможные ограничения по разнице, времени....
Так то, для экономии места в базе и\или регулировки частоты записи параметров.
Haus hat geschrieben: Могу сделать(сдвиг и множитель), но для всех четырех каналов одна настройка, так подойдет?
Ты про ADS1115?
Думаю, сойдет. Если не вешать разные датчики. ;-)
Все лучше, чем ничего.

В идеале бы, такие поля для любого датчика, т.к. даже однотипные датчики из разных партий могут иметь сдвиг.
А если брать, например, темперетуру с DS18B20 и HTU21D, то легко 2-3 градуса разницы дают.
Иногда не принципиально, а иногда желательно вводить коэффициенты корректировки.

UPD.
Имхо, стоит эти настройки выводить отдельным окном для портов, если есть возможность.
Общая форма с настройками и так перегружена и с новым дизайном 3.2 на FHD экран уже не помещается в одну строчку.... :(

Может эти настройки вынести в интерфейс записи в БД, что будт логичным?
В т.ч. они будут доступны для каждого\любого порта.
Одно поле с произвольной формулой y = y(x).
Там уже, кто на что горазд в рамках дозволенного.

Vadim
starter
Beiträge: 35
Registriert: 11.11.2017, 13:16

Re: Драйвер MegaD-2561

Beitrag von Vadim » 25.02.2018, 22:29

Vadim hat geschrieben:
Может эти настройки вынести в интерфейс записи в БД, что будт логичным?
В т.ч. они будут доступны для каждого\любого порта.
Одно поле с произвольной формулой y = y(x).
Там уже, кто на что горазд в рамках дозволенного.
С этим был не прав.
Забыл про скрипты.
Драйвер конечно же должен в Стейты отдавать уже приведенные\скорректированные значения.

Vadim
starter
Beiträge: 35
Registriert: 11.11.2017, 13:16

Re: Драйвер MegaD-2561

Beitrag von Vadim » 25.02.2018, 22:33

Haus hat geschrieben: выбери megadd
после установки перезапусти драйвер
Перечитай пост http://forum.iobroker.net/viewtopic.php ... 62#p128546
Точно, забыл и не увидел последнюю добавленную строчку.
Все работает. Сорри.

UPD
Но все равно разница есть ;-)
Spoiler: Show hidden text
TSL2591_2.jpg

Vadim
starter
Beiträge: 35
Registriert: 11.11.2017, 13:16

Re: Драйвер MegaD-2561

Beitrag von Vadim » 28.02.2018, 19:11

Haus, привет
Если в конфигурации сохранить HTU21D/PCA9685, то в Objects для
megadd.0.p0_P0_HTU21D/PCA9685_humidity
megadd.0.p0_P0_HTU21D/PCA9685_temperature
в настройках
Settings for sql.0
не включается (галка ставится, но функция не активируется) запись в ДБ.

Если в конфигурации оставить HTU21D, то все ОК.

Haus
professional
Beiträge: 532
Registriert: 12.05.2015, 16:49
Wohnort: Lithuania, Vilnius

Re: Драйвер MegaD-2561

Beitrag von Haus » 28.02.2018, 22:11

Vadim hat geschrieben:Haus, привет
Если в конфигурации сохранить HTU21D/PCA9685, то в Objects для
megadd.0.p0_P0_HTU21D/PCA9685_humidity
megadd.0.p0_P0_HTU21D/PCA9685_temperature
в настройках
Settings for sql.0
не включается (галка ставится, но функция не активируется) запись в ДБ.

Если в конфигурации оставить HTU21D, то все ОК.
Vadim, без исправлений HTU21D/PCA9685 пока не как. Тебе надо HTU21D другому PCA9685 а как отличить что там на линии.
Я подумаю.
js-controller: 1.4.2 / node.js: v6.14.3 / npm: 3.10.10
admin: 3.5.1
javascript: 3.6.4
web: 2.4.1 vis: 1.1.7
cloud: 2.6.2

Server: DELL FX170 / linux: Debian 9.5 Stretch
Adapter: MegaD-2561, Mega-ESP, Wrapper(Home)

Antworten