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

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

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

Сообщение Petros » 03 июл 2017, 01:56

Да нет, не должно. Посмотрю в чем может быть проблема! А вручную не пробовали?

stilet69
Сообщения: 103
Зарегистрирован: 30 июн 2017, 19:14

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

Сообщение stilet69 » 03 июл 2017, 15:41

А вручную это как? Расположение каталогов совсем иное чем в OpenHab 1
Вот только что переустановил с ARM на x86 - все та же ошибка.
Я читал в ветке, что версия для OpenHab 1 должна идти на OpenHab 2
Это так?
Вероятно все же что это из-за того, что у меня новая версия Megad - MegaD-2561-RTC
Вот продублирую ошибку:

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

2017-07-03 14:35:03.099 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occurred while initializing handler of thing 'megad:device:c111e27c': java.lang.NullPointerException
java.util.concurrent.ExecutionException: java.lang.NullPointerException
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.8.0_112]
        at java.util.concurrent.FutureTask.get(FutureTask.java:206)[:1.8.0_112]
        at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:194)
        at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:83)
        at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:67)
        at org.eclipse.smarthome.core.thing.internal.ThingManager.doInitializeHandler(ThingManager.java:738)[105:org.eclipse.smarthome.core.thing:0.9.0.b5]
        at org.eclipse.smarthome.core.thing.internal.ThingManager.initializeHandler(ThingManager.java:664)[105:org.eclipse.smarthome.core.thing:0.9.0.b5]
        at org.eclipse.smarthome.core.thing.internal.ThingManager.access$12(ThingManager.java:639)[105:org.eclipse.smarthome.core.thing:0.9.0.b5]
        at org.eclipse.smarthome.core.thing.internal.ThingManager$2.apply(ThingManager.java:681)
        at org.eclipse.smarthome.core.thing.internal.ThingManager$2.apply(ThingManager.java:1)
        at org.eclipse.smarthome.config.core.BundleProcessorVetoManager.applyActionFor(BundleProcessorVetoManager.java:124)[94:org.eclipse.smarthome.config.core:0.9.0.b5]
        at org.eclipse.smarthome.core.thing.internal.ThingManager.registerAndInitializeHandler(ThingManager.java:1016)[105:org.eclipse.smarthome.core.thing:0.9.0.b5]
        at org.eclipse.smarthome.core.thing.internal.ThingManager.thingAdded(ThingManager.java:464)[105:org.eclipse.smarthome.core.thing:0.9.0.b5]
        at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyTrackers(ThingRegistryImpl.java:212)
        at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutAddedElement(ThingRegistryImpl.java:131)
        at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutAddedElement(ThingRegistryImpl.java:1)
        at org.eclipse.smarthome.core.common.registry.AbstractRegistry.added(AbstractRegistry.java:126)
        at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:51)
        at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:70)
        at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListenersAboutAddedElement(AbstractProvider.java:74)
        at org.eclipse.smarthome.core.common.registry.AbstractManagedProvider.add(AbstractManagedProvider.java:60)
        at org.eclipse.smarthome.core.common.registry.AbstractRegistry.add(AbstractRegistry.java:187)
        at org.eclipse.smarthome.io.rest.core.thing.ThingResource.create(ThingResource.java:204)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_112]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_112]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_112]
        at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_112]
        at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)[158:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)[158:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)[158:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)[158:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)[158:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)[158:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)[158:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)[158:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)[158:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)[157:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)[157:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:315)[157:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:297)[157:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:267)[157:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)[157:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)[158:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)[158:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)[155:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)[155:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)[155:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)[155:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)[155:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at com.eclipsesource.jaxrs.publisher.internal.ServletContainerBridge.service(ServletContainerBridge.java:76)[9:com.eclipsesource.jaxrs.publisher:5.3.1.201602281253]
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)[81:org.eclipse.jetty.servlet:9.2.19.v20160908]
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)[81:org.eclipse.jetty.servlet:9.2.19.v20160908]
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71)[172:org.ops4j.pax.web.pax-web-jetty:4.3.0]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)[79:org.eclipse.jetty.security:9.2.19.v20160908]
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:287)[172:org.ops4j.pax.web.pax-web-jetty:4.3.0]
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)[81:org.eclipse.jetty.servlet:9.2.19.v20160908]
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80)[172:org.ops4j.pax.web.pax-web-jetty:4.3.0]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.Server.handle(Server.java:499)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)[80:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)[71:org.eclipse.jetty.io:9.2.19.v20160908]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)[83:org.eclipse.jetty.util:9.2.19.v20160908]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)[83:org.eclipse.jetty.util:9.2.19.v20160908]
        at java.lang.Thread.run(Thread.java:745)[:1.8.0_112]
Caused by: java.lang.NullPointerException
        at org.openhab.binding.megad.handler.MegaDBridgeHandler.registerMegadThingListener(MegaDBridgeHandler.java:82)[181:org.openhab.binding.megad:2.0.1.1]
        at org.openhab.binding.megad.handler.MegaDHandler.registerMegadThingListener(MegaDHandler.java:320)[181:org.openhab.binding.megad:2.0.1.1]
        at org.openhab.binding.megad.handler.MegaDHandler.initialize(MegaDHandler.java:169)[181:org.openhab.binding.megad:2.0.1.1]
        at org.eclipse.smarthome.core.thing.internal.ThingManager$9.call(ThingManager.java:741)[105:org.eclipse.smarthome.core.thing:0.9.0.b5]
        at org.eclipse.smarthome.core.thing.internal.ThingManager$9.call(ThingManager.java:1)[105:org.eclipse.smarthome.core.thing:0.9.0.b5]
        at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:181)[98:org.eclipse.smarthome.core:0.9.0.b5]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_112]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_112]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_112]
        ... 1 more


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

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

Сообщение Petros » 04 июл 2017, 17:58

stilet69 писал(а):А вручную это как?

.things:

Bridge megad:bridge:megadeviceincoming
{
Thing device onewire [hostname="localhost", port="3", password="sec", refresh="10"]
Thing device kitchenout [hostname="localhost", port="1", refresh="0"]
Thing device bedroomcontact [hostname="localhost", port="2", refresh="0"]
}

.items:

Number Temperature_GF_Corridor "Temperature [%.1f °C]" <temperature> (Temperature, GF_Corridor) { channel = "megad:device:megadeviceincoming:onewire:onewire" }
Switch MegaDBindingThing_Input "Temperature " (Temperature, GF_Corridor) { channel = "megad:device:megadeviceincoming:kitchenout:out" }
Contact MegaDContact "[%s]" (Temperature, GF_Corridor) { channel = "megad:device:megadeviceincoming:bedroomcontact:contact" }
порт сервера меги по умолчанию? он у вас не занят случайно?

Только что у себя проверил - работает исправно...
screenshot2.png
screenshot2.png (29.33 КБ) 3653 просмотра
screenshot1.png
screenshot1.png (16.37 КБ) 3653 просмотра
screenshot.png
screenshot.png (33.94 КБ) 3653 просмотра

stilet69
Сообщения: 103
Зарегистрирован: 30 июн 2017, 19:14

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

Сообщение stilet69 » 06 июл 2017, 10:54

Спасибо! Оказывается в порт номер надо было 0 добавить. В подписи было сказано оставить пустым для отражения температуры. Добавил 0 и все заработало. Сейчас буду дальше копать

stilet69
Сообщения: 103
Зарегистрирован: 30 июн 2017, 19:14

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

Сообщение stilet69 » 06 июл 2017, 11:02

В общем для всех - в поле "порт номер" надо вносить номер того порта который вас интересует и который надо потом добавлять в item

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

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

Сообщение Petros » 24 июл 2017, 01:24

Новая версия

Поправил проблему с выбором порта и проблему с временем обновления. При перезагрузке опенхаба могли не заводиться.
Номер порта теперь обязательное поле

сделал обработку srv.loop теперь можно ставить галочку и она будет обрабатываться. До этого при включенной функции могли быть проблемы.

Bonefolder
Сообщения: 617
Зарегистрирован: 30 мар 2017, 11:15
Откуда: г.Севастополь

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

Сообщение Bonefolder » 24 июл 2017, 13:16

Petros писал(а):Новая версия
Petros, спасибо за обновление. С ОН-2.1 работает.
Есть небольшой затык
truble.png
truble.png (15.95 КБ) 3535 просмотров
Вечером поищу, откуда ноги растут))

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

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

Сообщение Petros » 27 июл 2017, 22:56

Друзья, скажите, а стабильно ли работает у вас сам openhab2? У меня он почему-то периодически перестает правила запускать и графики строить. При чем думается мне, что правила падают когда начинаешь графики выводить. Использую mysql/mariadb.

d.v.ermakov
Администратор
Сообщения: 2187
Зарегистрирован: 29 май 2015, 21:23
Откуда: Екатеринбург, Нижний Тагил

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

Сообщение d.v.ermakov » 27 июл 2017, 23:34

Я так и не понял, если честно, в чём, но у меня проблемы с зависанием правил тоже есть. Разбираться дальше пока нет возможности, поэтому в продакшн не выпустил.

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

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

Сообщение empenoso » 28 июл 2017, 07:35

Через rrd4j вроде норм. Правда я сейчас очень редко графики смотрю.

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

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

Сообщение Petros » 28 июл 2017, 09:59

А у меня rrd4j вообще не завелся... Т.е. вроде записи есть, а вывода нет...

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

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

Сообщение empenoso » 28 июл 2017, 11:05

Я еще ухитрился скопировать старые *.rrd из первого опенхаб и он стал дописывать их (пара недель правда выпала - не сразу догадался это сделать). С середины апреля у меня второй опенхаб:
chart.png
chart.png (24.62 КБ) 3483 просмотра

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

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

Сообщение Petros » 28 июл 2017, 12:10

Попробую доканать... Вот только есть ещё одно ограничение - как сохранить rgb значения... Как я понял rrd4j это делать не может, а два плагина - mysql и rrj4d параллельно не работают...

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

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

Сообщение empenoso » 28 июл 2017, 20:02

Petros писал(а):Попробую доканать... Вот только есть ещё одно ограничение - как сохранить rgb значения... Как я понял rrd4j это делать не может, а два плагина - mysql и rrj4d параллельно не работают...
rrd4j ведь отрыто/закрыто тоже не пишет, преобразовывал по правилу - открыто = 0; закрыто = 1. Ну и дальше смотрел график или обрабатывал, а потом в правило переписал сколько времени, прошло с того момента когда последний раз использовалось.

zuslik19
Сообщения: 10
Зарегистрирован: 12 дек 2016, 18:20

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

Сообщение zuslik19 » 12 авг 2017, 00:53

Так получилось у кого-нибудь с l2c?
у меня ни один датчик не дает показания
что надо указывать в l2c parameter?
1.jpg
1.jpg (134.12 КБ) 3372 просмотра
в megad все работает
2.jpg
2.jpg (21.35 КБ) 3372 просмотра
если вставить l2c device BH1750 - картина таже

Bonefolder
Сообщения: 617
Зарегистрирован: 30 мар 2017, 11:15
Откуда: г.Севастополь

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

Сообщение Bonefolder » 12 авг 2017, 10:09

Zuslik, в поле "i2c" пишите bh1750 (маленькими буквами). В поле i2c param - 0 (нуль)
Рефреш интервал поправьте на 10 или 30. 3 - слишком часто. Датчик заткнется.
З.Ы. Пару страниц назад все настройки обсуждались

zuslik19
Сообщения: 10
Зарегистрирован: 12 дек 2016, 18:20

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

Сообщение zuslik19 » 14 авг 2017, 01:22

Bonefolder писал(а):Zuslik, в поле "i2c" пишите bh1750 (маленькими буквами). В поле i2c param - 0 (нуль)
Рефреш интервал поправьте на 10 или 30. 3 - слишком часто. Датчик заткнется.
З.Ы. Пару страниц назад все настройки обсуждались
спасибо, хоть я и читал, но, видимо, невнимательно.
кстати, htu21d показывает данные через разные каналы humidity DHT и temperature DHT

Bonefolder
Сообщения: 617
Зарегистрирован: 30 мар 2017, 11:15
Откуда: г.Севастополь

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

Сообщение Bonefolder » 14 авг 2017, 10:53

zuslik19 писал(а): кстати, htu21d показывает данные через разные каналы humidity DHT и temperature DHT
Неужели :o
Вы страшно удивитесь, у BME датчика будет аж 3 канала

zuslik19
Сообщения: 10
Зарегистрирован: 12 дек 2016, 18:20

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

Сообщение zuslik19 » 14 авг 2017, 23:23

Bonefolder писал(а):
zuslik19 писал(а): кстати, htu21d показывает данные через разные каналы humidity DHT и temperature DHT
Неужели :o
Вы страшно удивитесь, у BME датчика будет аж 3 канала
а какой 3-ий?

SolarW
Сообщения: 176
Зарегистрирован: 01 авг 2016, 00:32

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

Сообщение SolarW » 15 авг 2017, 01:07

zuslik19 писал(а):
Bonefolder писал(а):
zuslik19 писал(а): кстати, htu21d показывает данные через разные каналы humidity DHT и temperature DHT
Неужели :o
Вы страшно удивитесь, у BME датчика будет аж 3 канала
а какой 3-ий?
Атмосферное давление

Отправлено с моего Redmi Note 2 через Tapatalk

Ответить