Использование MegaD в openHAB

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
martiniman
Сообщения: 528
Зарегистрирован: 09 авг 2016, 15:09
Откуда: Сочи

Re: Использование MegaD в openHAB

Сообщение martiniman » 16 дек 2018, 14:32

Petros писал(а):1wbus не работает. Нужно вручную правилами разбирать строку. В качестве решения могу предложить подключить канал ib и уже эту строку разбирать
Может ‘js transformation’ для item нам напишите, в котором указывается нужный датчик?


Отправлено с моего iPhone используя Tapatalk

Genix
Сообщения: 121
Зарегистрирован: 15 дек 2017, 16:56

Re: Использование MegaD в openHAB

Сообщение Genix » 16 дек 2018, 15:52

Petros писал(а):1wbus не работает. Нужно вручную правилами разбирать строку. В качестве решения могу предложить подключить канал ib и уже эту строку разбирать
Спасибо, почитаю про это

cds
Сообщения: 16
Зарегистрирован: 24 май 2018, 06:16
Откуда: Кемерово

Re: Использование MegaD в openHAB

Сообщение cds » 17 дек 2018, 09:18

MegaD-2561 fw: 4.28b5
OpenHab2.3 (последний стабильный) на RaspberryPI 3

Когда Raspberry включен, MegaD произвольно перезапускается с интервалом ~15-30мин). При этом гаснет свет (каналы MegaD после перезапуска выключаются). В Логах OpenHab вижу, что он теряет с MegaD связь. Использую одновременно три контроллера MegaD. Перезапускаются они произвольно в разное время.
Отключаю Raspberry - всё работает стабильно.

Есть идеи куда смотреть? Что вообще такого может сделать OpenHab, что принуждает MegaD уходить в ребут?

Genix
Сообщения: 121
Зарегистрирован: 15 дек 2017, 16:56

Re: Использование MegaD в openHAB

Сообщение Genix » 17 дек 2018, 09:28

cds писал(а):MegaD-2561 fw: 4.28b5
OpenHab2.3 (последний стабильный) на RaspberryPI 3

Когда Raspberry включен, MegaD произвольно перезапускается с интервалом ~15-30мин). При этом гаснет свет (каналы MegaD после перезапуска выключаются). В Логах OpenHab вижу, что он теряет с MegaD связь. Использую одновременно три контроллера MegaD. Перезапускаются они произвольно в разное время.
Отключаю Raspberry - всё работает стабильно.

Есть идеи куда смотреть? Что вообще такого может сделать OpenHab, что принуждает MegaD уходить в ребут?
Wireshark на нужный ip в помощь

Petros
Сообщения: 900
Зарегистрирован: 21 авг 2012, 22:09
Откуда: Москва

Re: Использование MegaD в openHAB

Сообщение Petros » 17 дек 2018, 09:47

Как часто интервал обновления портов стоит?

cds
Сообщения: 16
Зарегистрирован: 24 май 2018, 06:16
Откуда: Кемерово

Re: Использование MegaD в openHAB

Сообщение cds » 17 дек 2018, 09:48

Petros писал(а):
17 дек 2018, 09:47
Как часто интервал обновления портов стоит?
1-2 сек

Petros
Сообщения: 900
Зарегистрирован: 21 авг 2012, 22:09
Откуда: Москва

Re: Использование MegaD в openHAB

Сообщение Petros » 17 дек 2018, 09:49

martiniman писал(а):
16 дек 2018, 14:32
Petros писал(а):1wbus не работает. Нужно вручную правилами разбирать строку. В качестве решения могу предложить подключить канал ib и уже эту строку разбирать
Может ‘js transformation’ для item нам напишите, в котором указывается нужный датчик?


Отправлено с моего iPhone используя Tapatalk
Честно говоря не вникал в этот раздел опенхаба :) Попробую прикинуть что там и как

Petros
Сообщения: 900
Зарегистрирован: 21 авг 2012, 22:09
Откуда: Москва

Re: Использование MegaD в openHAB

Сообщение Petros » 17 дек 2018, 09:50

cds писал(а):
17 дек 2018, 09:48
Petros писал(а):
17 дек 2018, 09:47
Как часто интервал обновления портов стоит?
1-2 сек
А сколько всего портов активно? Сколько things?

cds
Сообщения: 16
Зарегистрирован: 24 май 2018, 06:16
Откуда: Кемерово

Re: Использование MegaD в openHAB

Сообщение cds » 17 дек 2018, 09:58

Petros писал(а):
17 дек 2018, 09:50
[А сколько всего портов активно? Сколько things?
Используется три контроллера MegaD-2561 и четыре модуля MegaD-8I7O и один MegaD-14-IOR. Почти все порты заняты. К каждому контроллеру подключены по четыре цифровых датчика Bosch BME280 или HTU21D.
Получается, каждый контроллер опрашивается по 14 портам и 4-5 датчика.

Petros
Сообщения: 900
Зарегистрирован: 21 авг 2012, 22:09
Откуда: Москва

Re: Использование MegaD в openHAB

Сообщение Petros » 17 дек 2018, 10:02

Вы заваливаете мегу запросами, вот она и перезагружается.... Для каких целей вы так часто обновляете порты?

martiniman
Сообщения: 528
Зарегистрирован: 09 авг 2016, 15:09
Откуда: Сочи

Re: Использование MegaD в openHAB

Сообщение martiniman » 17 дек 2018, 11:17

Petros писал(а):
17 дек 2018, 10:02
Вы заваливаете мегу запросами, вот она и перезагружается.... Для каких целей вы так часто обновляете порты?
Андрей писал как-то, что 30-50 запросов в сек для меги это нормально. А тут сколько получается?
А может RPI не справляется, тормозит, а потом пачкой всё выдаёт?

Genix
Сообщения: 121
Зарегистрирован: 15 дек 2017, 16:56

Re: Использование MegaD в openHAB

Сообщение Genix » 17 дек 2018, 11:19

martiniman писал(а):
Petros писал(а):
17 дек 2018, 10:02
Вы заваливаете мегу запросами, вот она и перезагружается.... Для каких целей вы так часто обновляете порты?
Андрей писал как-то, что 30-50 запросов в сек для меги это нормально. А тут сколько получается?
А может RPI не справляется?
Перезагружается то именно Мега а не RPI

Petros
Сообщения: 900
Зарегистрирован: 21 авг 2012, 22:09
Откуда: Москва

Re: Использование MegaD в openHAB

Сообщение Petros » 17 дек 2018, 11:23

Мега перезагружается из-за шквала запросов-ответов. Там сторож срабатывает.

martiniman
Сообщения: 528
Зарегистрирован: 09 авг 2016, 15:09
Откуда: Сочи

Re: Использование MegaD в openHAB

Сообщение martiniman » 17 дек 2018, 11:34

Genix писал(а):
17 дек 2018, 11:19
Перезагружается то именно Мега а не RPI
Если тормозит RPI запросы могут не отправляться с интерватлом в 1-2 сек, накопиться за 2-3 сек и отправиться за 1 сек но в 3 раза больше и подряд.

Genix
Сообщения: 121
Зарегистрирован: 15 дек 2017, 16:56

Re: Использование MegaD в openHAB

Сообщение Genix » 19 дек 2018, 22:37

Для 2.4 openhab можно обновить binding?

Вот такая вот ошибка проскакивает в логах:
2018-12-19 22:35:54.498 [ERROR] [org.openhab.binding.megad ] - FrameworkEvent ERROR - org.openhab.binding.megad
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.megad [191]
Unresolved requirement: Import-Package: org.apache.commons.codec.binary; version="1.6.0"

at org.eclipse.osgi.container.Module.start(Module.java:444) ~[?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1634) ~[?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1614) ~[?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1585) ~[?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1528) ~[?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) ~[?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]
2018-12-19 22:35:54.768 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'test.rules'
2018-12-19 22:36:02.888 [WARN ] [org.apache.felix.fileinstall ] - Error while starting bundle: file:/usr/share/openhab2/addons/org.openhab.binding.megad_2.0.4.2.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.megad [191]
Unresolved requirement: Import-Package: org.apache.commons.codec.binary; version="1.6.0"

at org.eclipse.osgi.container.Module.start(Module.java:444) ~[?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [10:org.apache.felix.fileinstall:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [10:org.apache.felix.fileinstall:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1221) [10:org.apache.felix.fileinstall:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:515) [10:org.apache.felix.fileinstall:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [10:org.apache.felix.fileinstall:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [10:org.apache.felix.fileinstall:3.6.4]

Petros
Сообщения: 900
Зарегистрирован: 21 авг 2012, 22:09
Откуда: Москва

Re: Использование MegaD в openHAB

Сообщение Petros » 19 дек 2018, 22:57

Плагин работает. Нужно было завершить установку через paperui, я обычно эксперт выбираю

Удалите из папки userdata всё кроме etc и tmp. Перезапустите, зайдите на веб-консоль, выберите expert.

Ждите. Потом можно закинуть плагины и конфиги

martiniman
Сообщения: 528
Зарегистрирован: 09 авг 2016, 15:09
Откуда: Сочи

Re: Использование MegaD в openHAB

Сообщение martiniman » 20 дек 2018, 21:37

Дошли руки до настройки, наткнулся на непонятную ситуацию: Порт настроен P&R, если много раз подряд нажать на кнопку - перестают приходить события в openHAB.
Если не трогать кнопку секунд 30, опять начинает работать как требуется.
Завтра проверю, отвечает ли в этот промежуток мега.
---
Проверил, трудно объяснить, события от кнопки перестают приходить, но опрос по "refresh=5 сек" происходит (счетчик нажатий показывает корректное значение),
т.е. мега отрабатывает как нужно, но что-то не то с биндингом, похоже множатся незакрытые соединения и пока система их не закроет, не дает открывать новые.

Видео, если поможет разобраться https://www.youtube.com/watch?v=-ZellNv39wQ
и после записи видео ошибки, больше кнопку не нажимал:

Код: Выделить всё

13:48:20.853 [INFO ] [smarthome.event.ItemStateChangedEvent] - sensButton0 changed from OFF to ON
13:48:21.059 [INFO ] [smarthome.event.ItemStateChangedEvent] - sensButton0 changed from ON to OFF
13:48:21.075 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2730 to 2736
13:48:26.098 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2736 to 2740
13:48:31.120 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2740 to 2750
13:48:36.144 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2750 to 2752
13:48:41.167 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2752 to 2756
13:48:46.190 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2756 to 2758
13:48:51.214 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2758 to 2760
13:48:56.237 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2760 to 2762
13:50:23.147 [ERROR] [ab.binding.megad.handler.MegaDHandler] - Connect to megadevice 192.168.1.5 error: connect timed out
13:52:26.453 [ERROR] [ab.binding.megad.handler.MegaDHandler] - Connect to megadevice 192.168.1.5 error: connect timed out
14:07:26.001 [ERROR] [ab.binding.megad.handler.MegaDHandler] - Connect to megadevice 192.168.1.5 error: connect timed out
14:08:16.311 [ERROR] [ab.binding.megad.handler.MegaDHandler] - Connect to megadevice 192.168.1.5 error: connect timed out
14:09:25.040 [ERROR] [ab.binding.megad.handler.MegaDHandler] - Connect to megadevice 192.168.1.5 error: connect timed out
14:09:25.087 [ERROR] [ab.binding.megad.handler.MegaDHandler] - Connect to megadevice 192.168.1.5 error: connect timed out

А вот если быстро понажимать, см нижние строки, даже через 40с нет реакции на нажатие, хотя счетчик отрабатывает:

Код: Выделить всё

11:20:33.758 [INFO ] [smarthome.event.ItemStateChangedEvent] - sensButton0 changed from OFF to ON
11:20:33.822 [INFO ] [smarthome.event.ItemStateChangedEvent] - sensButton0 changed from ON to OFF
... тут ок
11:20:37.021 [INFO ] [smarthome.event.ItemStateChangedEvent] - sensButton0 changed from ON to OFF
11:20:37.114 [INFO ] [smarthome.event.ItemStateChangedEvent] - sensButton0 changed from OFF to ON
11:20:37.115 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2298 to 2344
11:20:37.211 [INFO ] [smarthome.event.ItemStateChangedEvent] - sensButton0 changed from ON to OFF
11:20:37.301 [INFO ] [smarthome.event.ItemStateChangedEvent] - sensButton0 changed from OFF to ON
... тут ок
11:20:39.084 [INFO ] [smarthome.event.ItemStateChangedEvent] - sensButton0 changed from ON to OFF
11:20:42.137 [INFO ] [smarthome.event.ItemStateChangedEvent] - sensButton0 changed from OFF to ON
... началось
11:20:42.139 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2344 to 2397
11:20:47.160 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2397 to 2445
11:20:52.184 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2445 to 2481
11:20:57.206 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2481 to 2507
11:21:02.229 [INFO ] [smarthome.event.ItemStateChangedEvent] - sensButton0 changed from ON to OFF
11:21:02.230 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2507 to 2520
.. ждал около 40с, нажал 1 раз, события о нажатии нет, только счетчик
11:21:42.420 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2520 to 2522
11:21:52.467 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2522 to 2524
11:22:51.347 [INFO ] [smarthome.event.ItemStateChangedEvent] - sensButton0 changed from OFF to ON
11:22:51.475 [INFO ] [smarthome.event.ItemStateChangedEvent] - sensButton0 changed from ON to OFF
11:22:52.745 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2524 to 2526
11:22:53.212 [INFO ] [smarthome.event.ItemStateChangedEvent] - sensButton0 changed from OFF to ON
11:22:53.381 [INFO ] [smarthome.event.ItemStateChangedEvent] - sensButton0 changed from ON to OFF
11:22:56.199 [INFO ] [smarthome.event.ItemStateChangedEvent] - sensButton0 changed from OFF to ON
11:22:56.359 [INFO ] [smarthome.event.ItemStateChangedEvent] - sensButton0 changed from ON to OFF
11:22:57.768 [INFO ] [smarthome.event.ItemStateChangedEvent] - counterButton0 changed from 2526 to 2530
openHAB 2.4 пустой, запустил на Win7 x64 Pro потестить собранный щит с мегами.
Может это особенность Windows, и под Linux будет вести себя по другому?

--

Соответственно в момент "зависания" не отвечает меге что сервер онлайн и выполняется сценарий из поля Act.

Petros
Сообщения: 900
Зарегистрирован: 21 авг 2012, 22:09
Откуда: Москва

Re: Использование MegaD в openHAB

Сообщение Petros » 05 янв 2019, 14:57

Большая просьба попробовать всё то же самое на виртуалке с линуксом и в винде в режиме дебага. Есть подозрение, что это происходит из-за того, что винда вешает порты в TIME_WAIT

попробуйте этот вариант

martiniman
Сообщения: 528
Зарегистрирован: 09 авг 2016, 15:09
Откуда: Сочи

Re: Использование MegaD в openHAB

Сообщение martiniman » 09 янв 2019, 13:28

Petros писал(а):
05 янв 2019, 14:57
Большая просьба попробовать всё то же самое на виртуалке с линуксом и в винде в режиме дебага. Есть подозрение, что это происходит из-за того, что винда вешает порты в TIME_WAIT

попробуйте этот вариант
С этой версией работает отлично под Windows. Соединения не множатся.
На Linux нет возможности проверить.

--
Каждые 3-7 мин проскакивает ошибка:

Код: Выделить всё

14:13:16.995 [ERROR] [ab.binding.megad.handler.MegaDHandler] - Connect to megadevice 192.168.53.185 error: connect timed out

xtiitx
Сообщения: 15
Зарегистрирован: 02 апр 2018, 15:09
Откуда: Екатеринбург

Re: Использование MegaD в openHAB

Сообщение xtiitx » 20 янв 2019, 11:28

Petros, а можно просьбу на перспективу в функциональности биндинга? Сделать корректное распознавание статуса контактов подключенных к расширителю MCP23008 (MCP23017).
Описываю в чем загвоздка: у меня сейчас все исполнительные устройства (реле, индикаторные светодиоды) висят на расширителе портов на базе MCP23017. Соответственно каждый из портов расширителя установлен в OUT и прописан отдельным things и items типа switch. А проблема в том, что стоит включить любой их выключателей кнопкой в интерфейсе, ну или правилом, то практически тут же все остальные выключатели в интерфейсе становятся "включенными". Т.е. система считает, что они были включен, хотя включен только один.
Думаю. что можно это обработать виртуальными переключателями и правилами, но пока до этого руки не дошли.

Выяснилось, что такое происходит, если поставить автообновление статуса хотя бы одного из портов в описании things. А для 2х портов у меня оно было установлено обновление, потому что для пока ими сама мега управляет, а не ОН, а ОН только их статус получает.
Последний раз редактировалось xtiitx 20 янв 2019, 12:57, всего редактировалось 1 раз.

Ответить