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

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

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

Сообщение Petros » 12 авг 2016, 11:57

empenoso, нужен полный лог с момента запуска OpenHAB... в логах есть запись о старте биндинга? В конфиге порт не меняли?

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

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

Сообщение empenoso » 12 авг 2016, 13:30

Petros писал(а):empenoso, нужен полный лог с момента запуска OpenHAB... в логах есть запись о старте биндинга? В конфиге порт не меняли?
Спасибо! Порт был изменен - статус геркона двери в openhab теперь получаю.

Правда при просмотре логов выяснил, что при задании интервала можно получать статус принудительно:

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

Switch	Door	 "Дверь [MAP(door.map):%s]"	{megadevice="sec:192.168.88.72:9:5"}
openhab.cfg:

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

################################ Megadevice Binding #######################################
#
# IP address of a Http port for megadevice defaut value is 8989
megadevice:httpserverport=8989

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

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

Сообщение Petros » 12 авг 2016, 13:34

empenoso писал(а):
Petros писал(а):empenoso, нужен полный лог с момента запуска OpenHAB... в логах есть запись о старте биндинга? В конфиге порт не меняли?
Спасибо! Порт был изменен - статус геркона двери в openhab теперь получаю.

Правда при просмотре логов выяснил, что при задании интервала можно получать статус принудительно:

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

Switch	Door	 "Дверь [MAP(door.map):%s]"	{megadevice="sec:192.168.88.72:9:5"}
openhab.cfg:

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

################################ Megadevice Binding #######################################
#
# IP address of a Http port for megadevice defaut value is 8989
megadevice:httpserverport=8989
Можно, но есть ли смысл? :)

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

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

Сообщение empenoso » 12 авг 2016, 14:38

Я так понял, что openhab время и дату берет не настроенную на сервере, а свою - часовой пояс в логах совсем другой, хотя настроил NTP Binding.

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

pi@raspberrypi:~ $ date
Fri 12 Aug 15:24:34 YEKT 2016

pi@raspberrypi:~ $ sudo journalctl -f -u openhab.service
-- Logs begin at Fri 2016-08-12 13:15:58 YEKT. --
Aug 12 15:22:15 raspberrypi start.sh[1871]: 2016-08-12 10:22:15.399 [INFO ] [c.internal.ModelRepositoryImpl] - Loading model 'exec.persist'
Aug 12 15:22:19 raspberrypi start.sh[1871]: 2016-08-12 10:22:19.540 [INFO ] [c.internal.ModelRepositoryImpl] - Loading model 'rrd4j.persist'
...
^Z
[1]+  Stopped                 sudo journalctl -f -u openhab.service
pi@raspberrypi:~ $
На веб-страничке пишет: Friday, 12.08.2016 12:25:44 (минус 3 часа от моего времени) хотя в default.items задано:

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

DateTime Date			 "Дата [%1$tA, %1$td.%1$tm.%1$tY %1$tT]" 					{ ntp="Asia/Yekaterinburg:ru_RU" }  
openhab.cfg:

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

################################ NTP Binding ##########################################
#
# refresh interval in milliseconds (optional, defaults to 900000 [15 minutes])
ntp:refresh=800000

# the hostname of the timeserver
ntp:hostname=0.ru.pool.ntp.org

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

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

Сообщение d.v.ermakov » 12 авг 2016, 19:31

Внутренние часы Опенхаба (для логов и т.п.), ИМХО, останутся во временной зоне нтп-сервера и это не лечится. А в чём, собственно, проблема?

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

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

Сообщение empenoso » 12 авг 2016, 20:43

d.v.ermakov писал(а):Внутренние часы Опенхаба (для логов и т.п.), ИМХО, останутся во временной зоне нтп-сервера и это не лечится. А в чём, собственно, проблема?
Игрался с кодом вывода максимального и минимального значений за период https://github.com/openhab/openhab/wiki/Samples-Rules и он время пишет конечно не местное, а какое-то другое -3 часа от местного.

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

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

Сообщение martiniman » 12 авг 2016, 22:21

Попробуйте в файте start_runtime.sh добавить параметр к запуску явы - временную зону.

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

PROGRAM="java -Duser.timezone=GMT+3 -Dosgi.clean=true ................
И вроде настройка ntp и айтем с ntp - это только для самого айтема, а не для опенхаба. Т.е. вы можете иметь 10 айтемов с разными временными зонами.

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

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

Сообщение empenoso » 13 авг 2016, 09:33

martiniman писал(а):Попробуйте в файте start_runtime.sh добавить параметр к запуску явы - временную зону.

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

PROGRAM="java -Duser.timezone=GMT+3 -Dosgi.clean=true ................
И вроде настройка ntp и айтем с ntp - это только для самого айтема, а не для опенхаба. Т.е. вы можете иметь 10 айтемов с разными временными зонами.
Спасибо, ваш совет очень помог. Только на Raspberry Pi это \openhab\start.sh:

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

...

echo Launching the openHAB runtime...
java \
	-Duser.timezone=Asia/Yekaterinburg \
	-Dosgi.clean=true \
	-Declipse.ignoreApp=true \
	-Dosgi.noShutdown=true  \
	-Djetty.port=$HTTP_PORT  \
	-Djetty.port.ssl=$HTTPS_PORT \
...
В логах время сервера совпадает с временем openhab:

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

Aug 13 10:27:09 raspberrypi start.sh[4440]: 2016-08-13 10:27:09.867 [INFO ] [runtime.busevents             ] - DS18B20_WC_cold state updated to 25.37
Aug 13 10:27:09 raspberrypi start.sh[4440]: 2016-08-13 10:27:09.983 [INFO ] [runtime.busevents             ] - DS18B20_MQ2 state updated to 30.18
Aug 13 10:27:11 raspberrypi start.sh[4440]: 2016-08-13 10:27:11.952 [INFO ] [runtime.busevents             ] - NoiseEbay state updated to 737
Aug 13 10:27:12 raspberrypi start.sh[4440]: 2016-08-13 10:27:12.314 [INFO ] [runtime.busevents             ] - NoiseEbay_dB state updated to 2.37509766
Aug 13 10:27:13 raspberrypi start.sh[4440]: 2016-08-13 10:27:13.076 [INFO ] [runtime.busevents             ] - NoiseChip state updated to 932
Aug 13 10:27:13 raspberrypi start.sh[4440]: 2016-08-13 10:27:13.774 [INFO ] [runtime.busevents             ] - NoiseChip_dB state updated to 3.00351563
Правда в default.items все равно приходится зону задавать для правильного отображения:

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

DateTime Date			"Дата [%1$tA, %1$td.%1$tm.%1$tY %1$tT]" 					{ ntp="Asia/Yekaterinburg:ru_RU" }  

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

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

Сообщение empenoso » 13 авг 2016, 09:36

d.v.ermakov писал(а):Вот вам старая версия моих конфигов, без сигнализации (на всякий случай) и штор, может, облегчит вам жизнь. Однако, комментариев в этих конфигах минимум. Скриншоты я где-то тут уже выкладывал. Из конфига удалил ключи погоды (вставьте свои).
configurations.rar
Комплект аддонов и правленые набор картинок и погодное приложение: https://www.dropbox.com/s/fpy7tya7fncen ... b.rar?dl=0
Спасибо за ваши конфиги, d.v.ermakov, очень помогают! У вас я понял вообще серьезно все сделано - много всего автоматизировано и всем домом управлять можно. На основании ваших переделал немного для своих нужд: viewtopic.php?f=1&t=1208&start=20#p22665

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

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

Сообщение martiniman » 13 авг 2016, 22:26

[quote="empenoso"][/quote] Еще проверьте правильность s=now.toSting - правильно ли время.

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

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

Сообщение empenoso » 14 авг 2016, 16:09

martiniman писал(а):
empenoso писал(а):
Еще проверьте правильность s=now.toString - правильно ли время.
Да, спасибо.

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

2016-08-14T17:06:04.788+05:00
Совпадают:

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

Aug 14 17:06:26 raspberrypi start.sh[3139]: 2016-08-14 17:06:26.286 [INFO ] [runtime.busevents             ] - NoiseEbay_dB state updated to 2.37509766
Aug 14 17:06:27 raspberrypi start.sh[3139]: 2016-08-14 17:06:27.823 [INFO ] [runtime.busevents             ] - NoiseEbay_dB state updated to 2.37509766
Aug 14 17:06:37 raspberrypi start.sh[3139]: 2016-08-14 17:06:37.886 [INFO ] [runtime.busevents             ] - P0_NoiseChip state updated to 932
А через DateTime Date "Дата [%1$tA, %1$td.%1$tm.%1$tY %1$tT]" - постоянно что-то не так: то есть отображение, то время отстает, то прочерки вместо даты.

OlegJktu84
Сообщения: 651
Зарегистрирован: 16 фев 2016, 19:52

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

Сообщение OlegJktu84 » 14 авг 2016, 17:14

У меня за 3 дня тестов с временем глюков не было.

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

//* NTP binding demo item * Переделан на Москву/
DateTime      Date         "Дата [%1$tA, %1$td.%1$tm.%1$tY]"   <calendar>   { ntp="Europe/Moscow:ru_RU" }
Только я логику Openhab не знаю: он откуда это время берет? С хоста на котором установлен? С сервера в инете? Из локальной сети? На малинке часов нет. Она должна свое время откуда-то сама тянуть... Микротик (или др. роутер) спрашивает в инете и вещает в локальную сеть (если это настроено). Ну а сервера в инете зависят о провайдеров...

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

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

Сообщение empenoso » 14 авг 2016, 17:35

OlegJktu84 писал(а):У меня за 3 дня тестов с временем глюков не было.

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

//* NTP binding demo item * Переделан на Москву/
DateTime      Date         "Дата [%1$tA, %1$td.%1$tm.%1$tY]"   <calendar>   { ntp="Europe/Moscow:ru_RU" }
Только я логику Openhab не знаю: он откуда это время берет? С хоста на котором установлен? С сервера в инете? Из локальной сети? На малинке часов нет. Она должна свое время откуда-то сама тянуть... Микротик (или др. роутер) спрашивает в инете и вещает в локальную сеть (если это настроено). Ну а сервера в инете зависят о провайдеров...
На малине как раз и настроено, раз к инету есть подключение http://ab-log.ru/forum/viewtopic.php?f= ... 280#p22649. А вместо DateTime у меня частенько "-, -.-.-, -" :?
Но постоянно правила обновлял, итемы и все такое прочее - может с этим связано.

Написал правило - вроде отображается лучше чем через DateTime:

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

//дата и время для отображения
rule "dateTime from rules"
when
    Item P2_DHT22_temp received update
then
	var String DateTimeStampInitial = String::format( "%1$tA, %1$td.%1$tm.%1$tY, %1$tR", new Date() ) 
	postUpdate(dateTime, DateTimeStampInitial )
end

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

String	dateTime				"Дата и время сервера [%s]"

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

Text item=dateTime	icon="calendar"	
Расшифровка букв https://docs.oracle.com/javase/8/docs/a ... atter.html

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

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

Сообщение martiniman » 14 авг 2016, 19:10

Там косяк был в модуле самого эклипса, использовалась старая библиотека времени и кочевала из релиза в релиз. На родном форуме много писали. Но ч не в курсе поправили или нет.


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

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

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

Сообщение empenoso » 15 авг 2016, 17:15

Evgeny_nd писал(а):Уже сделал :), интересовался, вдруг в описании информация не полная.
Как реализовали, если не секрет? http://ab-log.ru/forum/viewtopic.php?f= ... 240#p22157

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

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

Сообщение empenoso » 17 авг 2016, 08:57

Частенько бывает что DHT22 показывает влажность на меге, а в openhab передает 0.00:

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

pi@raspberrypi:~ $ sudo journalctl -f -u openhab.service
-- Logs begin at Tue 2016-08-16 18:17:02 YEKT. --
....
Aug 17 09:53:57 raspberrypi start.sh[538]: 2016-08-17 09:53:57.755 [INFO ] [runtime.busevents             ] - P2_DHT22_temp state updated to 28.80
Aug 17 09:53:57 raspberrypi start.sh[538]: 2016-08-17 09:53:57.869 [INFO ] [runtime.busevents             ] - P13_DS18B20_bedroom state updated to 24.68
Aug 17 09:53:58 raspberrypi start.sh[538]: 2016-08-17 09:53:57.974 [INFO ] [runtime.busevents             ] - P2_DHT22_hum state updated to 0.00
http://192.168.88.72/sec/?pt=2

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

P2
temp:28.90
hum:39.20

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

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

Сообщение Petros » 17 авг 2016, 08:59

Почитайте описание на гитхабе, эта проблема там описана и решена!

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

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

Сообщение empenoso » 18 авг 2016, 13:18

А данные с ADC6 и ADC7 можно через бинбинг получать?
Изображение

bvasya
Сообщения: 14
Зарегистрирован: 15 дек 2014, 21:00

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

Сообщение bvasya » 18 авг 2016, 14:40

Попробуйте в настройках итема порт прописать как A6 или A7

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

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

Сообщение Petros » 18 авг 2016, 15:06

empenoso писал(а):А данные с ADC6 и ADC7 можно через бинбинг получать?
Считывание состояния всех портов
Устройство может передать текущее состояние сразу всех своих портов (включая два дополнительных АЦП-порта).
Для этого предназначена команда all
Пример.
http://192.168.0.14/sec/?cmd=all

Формат ответа сервера следующий:
OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF;OFF;OFF;OFF;OFF;OFF;OFF;282;298

Запрос состояния порта
Устройство может выдать состояние порта без лишней HTML-разметки.
Для этого значение параметра cmd должно быть "get".
Пример
http://192.168.0.14/sec/?pt=1&cmd=get


отсюда. Порты считаются с нуля. Т.е. (внимание на скобки) OFF/0(0);OFF/0(1);OFF/0(2);OFF/0(3);OFF/0(4);OFF/0(5);OFF/0(6);OFF(7);OFF(8);OFF(9);OFF(10);OFF(11);OFF(12);OFF(13);282(14);298(15)

Ответить