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

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Petros
Сообщения: 900
Зарегистрирован: 21 авг 2012, 22:09
Откуда: Москва

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

Сообщение Petros » 26 авг 2019, 21:04

И снова в деле требуется текстовый лог )))

usa
Сообщения: 29
Зарегистрирован: 19 дек 2017, 04:02

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

Сообщение usa » 27 авг 2019, 08:30

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

2019-08-27 04:15:29.200 [DEBUG] [b.binding.megad.handler.MegaDHandler] - http://192.168.0.209/sec/?pt=6&cmd=get
2019-08-27 04:15:29.205 [DEBUG] [b.binding.megad.handler.MegaDHandler] - input string-> 23
2019-08-27 04:15:29.206 [DEBUG] [b.binding.megad.handler.MegaDHandler] - OK
2019-08-27 04:15:29.207 [DEBUG] [b.binding.megad.handler.MegaDHandler] - Updating Megadevice things...

2019-08-27 04:15:59.337 [DEBUG] [b.binding.megad.handler.MegaDHandler] - http://192.168.0.209/sec/?pt=6&cmd=get
2019-08-27 04:15:59.341 [DEBUG] [b.binding.megad.handler.MegaDHandler] - http://192.168.0.214/sec/?tget=1
2019-08-27 04:15:59.354 [DEBUG] [b.binding.megad.handler.MegaDHandler] - input string-> MegaD-2561 by <a href=http://ab-log.ru>ab-log.ru</a> (fw: 4.29b3)<br><a href=/sec/?cf=1>Config</a><br>-- MODS --<br><a href=/sec/?cf=3>XP1</a
2019-08-27 04:15:59.458 [DEBUG] [b.binding.megad.handler.MegaDHandler] - input string-> 22.40/56.80
2019-08-27 04:15:59.459 [DEBUG] [b.binding.megad.handler.MegaDHandler] - http://192.168.0.209/sec/?tget=1
2019-08-27 04:15:59.473 [DEBUG] [b.binding.megad.handler.MegaDHandler] - input string-> MegaD-328 <a href=http://ab-log.ru>ab-log.ru</a> (fw: 3.54)<br><a href=/sec/?cf=1>Config</a><br>-- Ports --<br><a href=/sec/?pt=0>P0 - DS</a>
2019-08-27 04:16:14.380 [DEBUG] [core.karaf.internal.FeatureInstaller] - Running scheduled sync job
2019-08-27 04:16:29.114 [DEBUG] [b.binding.megad.handler.MegaDHandler] - Updating Megadevice things...

2019-08-27 04:16:29.477 [DEBUG] [b.binding.megad.handler.MegaDHandler] - http://192.168.0.209/sec/?pt=6&cmd=get
2019-08-27 04:16:29.596 [DEBUG] [b.binding.megad.handler.MegaDHandler] - input string-> 22.40/56.50
2019-08-27 04:16:29.597 [DEBUG] [b.binding.megad.handler.MegaDHandler] - http://192.168.0.209/sec/?tget=1
2019-08-27 04:16:29.611 [DEBUG] [b.binding.megad.handler.MegaDHandler] - input string-> MegaD-328 <a href=http://ab-log.ru>ab-log.ru</a> (fw: 3.54)<br><a href=/sec/?cf=1>Config</a><br>-- Ports --<br><a href=/sec/?pt=0>P0 - DS</a>
2019-08-27 04:16:59.210 [DEBUG] [b.binding.megad.handler.MegaDHandler] - Updating Megadevice things...
http://192.168.0.209/sec/?pt=6&cmd=get
input string-> 22.40/56.50
22.40 - Температура, 56.50 - Влажность
Этот DHT22 подключен к MegaD-328 с fw 3.54 и IP=192.168.0.209.

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

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

Сообщение Petros » 28 авг 2019, 22:15

https://github.com/Pshatsillo/openhab2M ... APSHOT.jar Поправил, попробуйте пожалуйста

usa
Сообщения: 29
Зарегистрирован: 19 дек 2017, 04:02

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

Сообщение usa » 29 авг 2019, 07:16

Не помогло. В личку отправил детали, чтобы народ не напрягать.

В логах еще наблюдаю запрос вида

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

2019-08-29 03:05:27.671 [DEBUG] [b.binding.megad.handler.MegaDHandler] - http://192.168.0.209/sec/?tget=1
2019-08-29 03:05:27.683 [DEBUG] [b.binding.megad.handler.MegaDHandler] - input string-> MegaD-328 <a href=http://ab-log.ru>ab-log.ru</a> (fw: 3.54)<br><a href=/sec/?cf=1>Config</a><br>-- Ports --<br><a href=/sec/?pt=0>P0 - DS</a>
который идет саттелитом к опросу каждого порта.

Есть ли необходимость в таком запросе при опросе каждого порта? Ответ всегда одинаковый приходит. Может можно сократить число таких запросов, делая один запрос на контроллер, некоторое время сохранять ответы в некоем буфере , используя эту информацию?

На продакшне сейчас использую Openhab 1.8 на RaspberryPI. С малинкой проблема в том что она не вывозит нагрузку, создаваемую Openhab'ом. Когда контроллеров было мало, вроде хватало, а сейчас после рестарта малины Openhab умирает на длительное время. Подозреваю из-за огромного числа запросов к контроллерам. Вплоть до того что не работают кнопки включения света (используются правила).
Вроде стало лучше когда время опроса в айтемах сделал не стандартными в 30сек, а хаотично разнес с 20сек до 300сек. Чтобы распределить нагрузку по опросу портов во времени.
Исходя из этого ИМХО лучше все же потратить время на создание правил реакции на нажатие кнопки, а не сокращать период опроса выходов до 2-3сек, как предлагает народ выше.

usa
Сообщения: 29
Зарегистрирован: 19 дек 2017, 04:02

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

Сообщение usa » 29 авг 2019, 07:25

И да, может кому будет полезно. На Ubuntu Server перевожу в DEBUG режим логирования в файле
/var/lib/openhab2/config/org/ops4j/pax/logging.config
меняя значение с INFO на DEBUG в параметре
log4j2.logger.openhab.level="DEBUG"

usa
Сообщения: 29
Зарегистрирован: 19 дек 2017, 04:02

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

Сообщение usa » 29 авг 2019, 18:48

Удалил старую версию через bundles:uninstall и установил новую заново. Влажность заработала!

dmitry_prg
Сообщения: 9
Зарегистрирован: 19 авг 2018, 00:27

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

Сообщение dmitry_prg » 11 сен 2019, 14:58

Добрый день,
Поставил чистую последнюю openhabian на rpi3+
Пытаюсь поставить последний релиз биндинга, но в логах получаю вот

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

2019-09-11 12:47:11.691 [WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/usr/share/openhab2/addons/org.openhab.binding.megad-2.5.0.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.3.0,2.0.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.doProcess(DirectoryWatcher.java:520) [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]
Помогите разобраться в чем дело?
Папку tmp и cache в OH чистил - не помогло


UPD: В этой же ветке нашел решение - необходимо установить HTTP Binding

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

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

Сообщение Petros » 12 сен 2019, 14:01

Вы знаете, эта проблема по идее давно решена уже, сейчас специально проверил - всё работает. Нужно при первой установке выбирать экспертный режим. Для себя спрошу, чтобы понять - вы какой выбрали?

dmitry_prg
Сообщения: 9
Зарегистрирован: 19 авг 2018, 00:27

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

Сообщение dmitry_prg » 13 сен 2019, 10:18

Petros писал(а):
12 сен 2019, 14:01
Вы знаете, эта проблема по идее давно решена уже, сейчас специально проверил - всё работает. Нужно при первой установке выбирать экспертный режим. Для себя спрошу, чтобы понять - вы какой выбрали?
Приветствую,
Я выбрал стандартный режим.

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

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

Сообщение martiniman » 13 сен 2019, 11:05

dmitry_prg писал(а):
13 сен 2019, 10:18
Petros писал(а):
12 сен 2019, 14:01
Вы знаете, эта проблема по идее давно решена уже, сейчас специально проверил - всё работает. Нужно при первой установке выбирать экспертный режим. Для себя спрошу, чтобы понять - вы какой выбрали?
Приветствую,
Я выбрал стандартный режим.
Кажется нужно выбрать режим совместимости с версией 1.x

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

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

Сообщение Petros » 14 сен 2019, 12:52

martiniman писал(а):
13 сен 2019, 11:05
dmitry_prg писал(а):
13 сен 2019, 10:18
Petros писал(а):
12 сен 2019, 14:01
Вы знаете, эта проблема по идее давно решена уже, сейчас специально проверил - всё работает. Нужно при первой установке выбирать экспертный режим. Для себя спрошу, чтобы понять - вы какой выбрали?
Приветствую,
Я выбрал стандартный режим.
Кажется нужно выбрать режим совместимости с версией 1.x
Экспертный, да. Он же режим совместимости. Но я попробую решить эту проблему
UPD У меня в стандартном тоже всё ок....
UPD2 в 2.5 М3 появился некий HomeBuilder. Прикольная штука, позволяет создавать некоторые конфиги интерактивно

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

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

Сообщение martiniman » 18 сен 2019, 14:21

Petros писал(а):
14 сен 2019, 12:52
UPD2 в 2.5 М3 появился некий HomeBuilder. Прикольная штука, позволяет создавать некоторые конфиги интерактивно
С М3 биндинг работает?

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

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

Сообщение Petros » 19 сен 2019, 10:42

martiniman писал(а):
18 сен 2019, 14:21
С М3 биндинг работает?
Да, работает

dvit
Сообщения: 9
Зарегистрирован: 19 сен 2019, 00:53

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

Сообщение dvit » 14 окт 2019, 22:33

Здравствуйте.

У меня есть Openhab 2.4 установленный на Raspberry pi 3. К MegaD-2561 подключен NFC считыватель по протоколу Wiegand. Версия биндинга - 2.5.0_3.
От контроллера приходит входящий запрос один раз. А в Openhab дважды генерируется событие, как-будто метка считалась дважды.
Из-за этого правило отрабатывает некорректно.

Вот лог Openhab:

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

2019-10-14 20:51:54.977 [DEBUG] [ing.megad.handler.MegaDBridgeHandler] - incoming from Megad: 192.168.1.45 GET /megad.php?pt=32&wg=1bxxxx&mdid=KORID HTTP/1.1
2019-10-14 20:51:54.983 [DEBUG] [ing.megad.handler.MegaDBridgeHandler] - 0 value megad.php
2019-10-14 20:51:54.988 [DEBUG] [ing.megad.handler.MegaDBridgeHandler] - 1 value pt
2019-10-14 20:51:54.993 [DEBUG] [ing.megad.handler.MegaDBridgeHandler] - 2 value 32
2019-10-14 20:51:54.998 [DEBUG] [ing.megad.handler.MegaDBridgeHandler] - 3 value wg
2019-10-14 20:51:55.004 [DEBUG] [ing.megad.handler.MegaDBridgeHandler] - 4 value 1bxxxx
2019-10-14 20:51:55.009 [DEBUG] [ing.megad.handler.MegaDBridgeHandler] - 5 value mdid
2019-10-14 20:51:55.014 [DEBUG] [ing.megad.handler.MegaDBridgeHandler] - 6 value KORID
2019-10-14 20:51:55.019 [DEBUG] [b.binding.megad.handler.MegaDHandler] - getActiveChannelListAsString -> ib,wiegand
2019-10-14 20:51:55.051 [INFO ] [arthome.model.script.NFC reader Gate] - UID=[1bxxxx]
2019-10-14 20:51:55.060 [INFO ] [arthome.model.script.NFC reader Gate] - UID=[1bxxxx]

Правило с обработкой событий от NFC считывателя:

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

rule "NFC reader Gate"
    when
        Item GateLock_NFCReader received update
    then                                  
            logInfo("NFC reader Gate","UID=[{}]",GateLock_NFCReader.state.toString)
     ............	
Подскажите из-за чего в Openhab правило может срабатывать дважды?

UPD:
Найдена и устранена причина двойного события в OpenHab. Каким-то образом в конфигурации OpenHab дважды установился биндинг для MegaD. Из-за этого, событие дважды приходило на сервер. После удаления лишнего биндинга, OpenHab начал корректно обрабатывать события от считывателя.
Последний раз редактировалось dvit 07 ноя 2019, 00:30, всего редактировалось 1 раз.

alexb
Сообщения: 3
Зарегистрирован: 16 окт 2019, 09:01

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

Сообщение alexb » 16 окт 2019, 19:36

Здравствуйте. Что то очень тяжело дается вхождение в Open Hab. У меня несколько MegaD2561, сервер на Debian 10, Open Hab 2.4, кое как прикрутил binding 2.5.0.1. Создаю bridge. Сразу вопрос - что писать в строке location? Bridge он один на все Меги? Оставляю location пустую строку. Порт8989. Создаю things. Снова location. Я забил условный порядковый номер Меги К1, К2 и тд, в hostname IP соответствующей Меги. Channals temperature 1wire. На странице Open Hab Control на каждом датчике показывает разные значения, то чужие, то свои. На всех одинаково. В логах такого типа строки:
2019-10-16 21:53:15.166 [vent.ItemStateChangedEvent] - MegaDBindingThing_TemperatureOnewire changed from 12.62 °C to 11.75 °C
2019-10-16 21:53:15.215 [vent.ItemStateChangedEvent] - MegaDBindingThing_TemperatureOnewire changed from 11.75 °C to 12.68 °C
Остальные входа, например, close or open, ведут себя так же. Если зайти в веб интерфейс Меги, там все нормально.
Подскажите, пожалуйста, что не так я настроил?

dvit
Сообщения: 9
Зарегистрирован: 19 сен 2019, 00:53

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

Сообщение dvit » 16 окт 2019, 21:45

alexb писал(а):
16 окт 2019, 19:36
Здравствуйте. Что то очень тяжело дается вхождение в Open Hab. У меня несколько MegaD2561, сервер на Debian 10, Open Hab 2.4, кое как прикрутил binding 2.5.0.1. Создаю bridge. Сразу вопрос - что писать в строке location? Bridge он один на все Меги? Оставляю location пустую строку. Порт8989. Создаю things. Снова location. Я забил условный порядковый номер Меги К1, К2 и тд, в hostname IP соответствующей Меги. Channals temperature 1wire. На странице Open Hab Control на каждом датчике показывает разные значения, то чужие, то свои. На всех одинаково. В логах такого типа строки:
2019-10-16 21:53:15.166 [vent.ItemStateChangedEvent] - MegaDBindingThing_TemperatureOnewire changed from 12.62 °C to 11.75 °C
2019-10-16 21:53:15.215 [vent.ItemStateChangedEvent] - MegaDBindingThing_TemperatureOnewire changed from 11.75 °C to 12.68 °C
Остальные входа, например, close or open, ведут себя так же. Если зайти в веб интерфейс Меги, там все нормально.
Подскажите, пожалуйста, что не так я настроил?
У меня настроен один Bridge на все контроллеры. Я делаю настройку через файлы. Так как мне так понятней.

Про location не могу сказать. При настройки через файлы нет таких полей. Но думаю, оно не должно влиять на работу.

Судя по логам датчики работают. Такие сообщения записываются в лог, когда происходит изменение значений датчика. В вашем случае была температура 12.62 стала 11.75

Из вашего сообщения непонятно, что не так со входами.

alexb
Сообщения: 3
Зарегистрирован: 16 окт 2019, 09:01

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

Сообщение alexb » 17 окт 2019, 04:26

На самом деле это отдельные температуры на разных мегах. На одной 12.62, на другой 11.75. А отображается как одна меняющейся температура. Так же, если, допустим, на одной меге вход open на другой close , то на вкладке control OH будут отображаться постоянно чередующиеся значения open close на всех входа такого типа. А на самом деле состояние входов не меняется.

dvit
Сообщения: 9
Зарегистрирован: 19 сен 2019, 00:53

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

Сообщение dvit » 17 окт 2019, 11:19

alexb писал(а):
17 окт 2019, 04:26
На самом деле это отдельные температуры на разных мегах. На одной 12.62, на другой 11.75. А отображается как одна меняющейся температура. Так же, если, допустим, на одной меге вход open на другой close , то на вкладке control OH будут отображаться постоянно чередующиеся значения open close на всех входа такого типа. А на самом деле состояние входов не меняется.
Если это два разных датчика температуры, тогда у вас должны быть отдельные Item на каждый датчик.

В логе записаны события изменения температуры по одному Item - MegaDBindingThing_TemperatureOnewire
2019-10-16 21:53:15.166 [vent.ItemStateChangedEvent] - MegaDBindingThing_TemperatureOnewire changed from 12.62 °C to 11.75 °C
2019-10-16 21:53:15.215 [vent.ItemStateChangedEvent] - MegaDBindingThing_TemperatureOnewire changed from 11.75 °C to 12.68 °C
Возможно из-за этого показания отображаются не правильно.

Чтобы помочь вам разобраться с входами, пришлите мне в личку скрин-шоты настроек портов на Megad и в Openhab

alexb
Сообщения: 3
Зарегистрирован: 16 окт 2019, 09:01

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

Сообщение alexb » 17 окт 2019, 20:13

Да, Вы оказались правы, дело было в том, что создался единственный item. Через paper ui создал под разные датчики item, и все встало на свои места. Получается, что под каждый датчик нужно создавать и свой thing, и свой item? Но, в личку скриншоты прислал.
И еще вопрос: а где физически находятся файлы things и items, созданные через paper ui? По адресу etc/openhab2/things/ или etc/openhab2/items/ ничего нет.

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

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

Сообщение martiniman » 19 окт 2019, 12:56

alexb писал(а):
17 окт 2019, 20:13
Да, Вы оказались правы, дело было в том, что создался единственный item. Через paper ui создал под разные датчики item, и все встало на свои места. Получается, что под каждый датчик нужно создавать и свой thing, и свой item? Но, в личку скриншоты прислал.
И еще вопрос: а где физически находятся файлы things и items, созданные через paper ui? По адресу etc/openhab2/things/ или etc/openhab2/items/ ничего нет.
Вот чего пишут: you can edit the JSONDB my hand manually if you need to. It’s just plain text. Just don’t do so while OH is running. The files are located in /var/lib/openhab2/jsondb
Всё хранится в JSONDB и можно править руками, т.к. там простой текстовый файл. Находится тут: /var/lib/openhab2/jsondb
И не редактируйте при запущенном OH

Ответить