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

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

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

Сообщение Petros » 19 янв 2016, 02:06

попробуйте этот плагин, должно помочь https://github.com/Pshatsillo/openHABMegaDevice/releases/download/DelayExperiments/org.openhab.binding.megadevice_0.0.9.jar
Тут установлена задержка перед каждым опросом в одну секунду

К сожалению у меня нет датчиков температуры на мегах, поэтому вся надежда на Вас ))


UPD:

создал параметр в конфиге: delay

megadevice:delay=1000

по умолчанию. Меняйте его до получения всех значений :) поделитесь потом результатами пожалуйста :)

Selecta
Сообщения: 31
Зарегистрирован: 26 сен 2015, 12:38

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

Сообщение Selecta » 19 янв 2016, 14:51

Petros писал(а):попробуйте этот плагин, должно помочь https://github.com/Pshatsillo/openHABMegaDevice/releases/download/DelayExperiments/org.openhab.binding.megadevice_0.0.9.jar
Тут установлена задержка перед каждым опросом в одну секунду

К сожалению у меня нет датчиков температуры на мегах, поэтому вся надежда на Вас ))


UPD:

создал параметр в конфиге: delay

megadevice:delay=1000

по умолчанию. Меняйте его до получения всех значений :) поделитесь потом результатами пожалуйста :)


Простая замена файла байндинга решила проблему:
Изображение

Изменение delay пока не потребовалось. Спасибо - во-первых, за сам байндинг, во-вторых, за оперативную обратную связь! Присоединяюсь к рекомендации сделать donate на странице )

Petros
Сообщения: 295
Зарегистрирован: 21 авг 2012, 22:09

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

Сообщение Petros » 19 янв 2016, 15:44

Замена на тот, что по ссылке?

Спасибо вам за теплые слова :) Донейт добавил вниз описания :)

Selecta
Сообщения: 31
Зарегистрирован: 26 сен 2015, 12:38

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

Сообщение Selecta » 20 янв 2016, 00:31

Petros писал(а):Замена на тот, что по ссылке?


Да, на новую версию.

Но столкнулся с еще одной проблемой - не срабатывает изменение состояния switch из Openhab.

Имеем в items:

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

Switch MegaD_Koridor_Bra         "Коридор - бра"                     (Koridor, Lights)      {megadevice="dal:192.168.1.15:11"}


В rules:

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

rule "OnCommand MegaD_Koridor_Bra"
when
   Item MegaD_Koridor_Bra received command
then
   if(receivedCommand==ON){
      sendCommand(MegaD_Koridor_Bra, ON)
      postUpdate(MegaD_Koridor_Bra, ON)
      }
   else if(receivedCommand==OFF){
      sendCommand(MegaD_Koridor_Bra, OFF)
      postUpdate(MegaD_Koridor_Bra, OFF)
      }
end


По итогу - выключатель есть, но перекидывание его из OpenHab не приводит к изменению состояния выхода Меги. Хотя когда выход переключается аппаратной кнопкой или из веб-интерфейса Меги - в OpenHab состояние меняется, правда с задержкой в пару секунд. Что я делаю не так?

Для диммируемых выходов правила, показанные ниже, работают отлично (все отрабатывает без задержки, в обе стороны):

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

rule "OnCommand MegaDim_Zal_BraDivan"
when
   Item MegaDim_Zal_BraDivan received command
then
   if((receivedCommand==INCREASE)||(receivedCommand==DECREASE))
   {
   var Number percent = 0
   if(MegaDim_Zal_BraDivan.state instanceof DecimalType) percent = MegaDim_Zal_BraDivan.state as DecimalType

   if(receivedCommand==INCREASE) percent = percent + LED_DIMMER_STEP
   if(receivedCommand==DECREASE) percent = percent - LED_DIMMER_STEP

   if(percent<0) percent = 0
   if(percent>100) percent = 100
   sendCommand(MegaDim_Zal_BraDivan, percent)
   }
   else if(receivedCommand==ON)sendCommand(MegaDim_Zal_BraDivan, 100) //100 это 255 на ШИМ порту меги (процент*2,55)
   else if(receivedCommand==OFF)sendCommand(MegaDim_Zal_BraDivan, 0)
end

Petros
Сообщения: 295
Зарегистрирован: 21 авг 2012, 22:09

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

Сообщение Petros » 20 янв 2016, 00:52

К сожалению не вижу что у Вас в фигурных скобках...


Увидел :) в правиле не postupdate a sendcommnd вроде нужно
Отправлено с моего iPhone используя Tapatalk

Selecta
Сообщения: 31
Зарегистрирован: 26 сен 2015, 12:38

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

Сообщение Selecta » 20 янв 2016, 00:56

Изображение
Изображение

Petros
Сообщения: 295
Зарегистрирован: 21 авг 2012, 22:09

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

Сообщение Petros » 20 янв 2016, 01:02

А лог при этом что говорит? Без ошибок?

Petros
Сообщения: 295
Зарегистрирован: 21 авг 2012, 22:09

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

Сообщение Petros » 20 янв 2016, 01:06

Может быть где when changed поставить?


СТОП. Вы же хотите прото этой кнопкой включать и выключать свет? Тогда не нужно никаких правил вообще Switch работает и без правил, просто отправляет состояние своё по адресу!

Selecta
Сообщения: 31
Зарегистрирован: 26 сен 2015, 12:38

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

Сообщение Selecta » 20 янв 2016, 01:20

Petros писал(а):СТОП. Вы же хотите прото этой кнопкой включать и выключать свет? Тогда не нужно никаких правил вообще Switch работает и без правил, просто отправляет состояние своё по адресу!


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

В логе сообщений об ошибках нет. Только что отключил правило - свитч реагирует на изменение состояния выхода (по внешнему воздействию), с задержкой в пару секунд (тоже не очень хорошо), но при перекидывании мышкой - ничего не происходит, через пару секунд возвращается в состояние, соответствующее состоянию выхода меги.

Petros
Сообщения: 295
Зарегистрирован: 21 авг 2012, 22:09

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

Сообщение Petros » 20 янв 2016, 01:43

Хэмм.. у Вас в Логах появляется нечто подобное при нажатии?
00:41:49.151 [DEBUG] [b.m.internal.MegaDeviceBinding:188 ] - internalReceiveCommand(Mega,OFF) is called!
00:41:49.151 [INFO ] [b.m.internal.MegaDeviceBinding:233 ] - http://192.168.10.17/sec/?cmd=13:0
00:41:49.165 [DEBUG] [b.m.internal.MegaDeviceBinding:242 ] - OK


У меня всё работает просто. специально проверил...

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

Switch Mega       "TEST"       (GF_Living, Lights) {megadevice="sec:192.168.10.17:13"}


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

Frame{
      Switch item=Mega
   }


и еще такая:

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

[runtime.busevents             :22   ] - Mega received command OFF

Selecta
Сообщения: 31
Зарегистрирован: 26 сен 2015, 12:38

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

Сообщение Selecta » 20 янв 2016, 03:38

В логе при перекидывании свитча вижу вот такое -
Изображение

Но следующее обращение к связанному порту выглядит в логе как-то так:

Изображение

В промежутке между этими событиями указанный порт (11 на адресе 192.168.1.15) в логе не встречается вообще.

Petros
Сообщения: 295
Зарегистрирован: 21 авг 2012, 22:09

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

Сообщение Petros » 20 янв 2016, 12:33

нижний лог - это опрос по кругу портов... А вот после верхнего должен быть запрос к Меге... вы не пробовали менять версию плагина? Из основной ветки - https://github.com/Pshatsillo/openHABMe ... _0.0.9.jar вот этот? Еще вопрос - вы плагины меняли с перезагрузкой сервера или без?

Selecta
Сообщения: 31
Зарегистрирован: 26 сен 2015, 12:38

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

Сообщение Selecta » 20 янв 2016, 22:47

Файл байндинга поменял на тот, что в предыдущем сообщении (отличается от того, что вы дали вчера, на 1 кб). Сервер перезагрузил. Проблема осталась - свитч бра в коридоре исправно перекидывается в openhab при изменении состояния выхода через интерфейс меги, но при попытке перекинуть мышкой его в openhab - через секунду возвращается обратно, выход меги при этом не меняется.

В логе при этом :

Изображение

Команд на 11 выход меги (cmd=11:0 или cmd=11:1) в логе поиск не находит.

Из побочных эффектов - после замены файла байндинга снова пропали частично значения температуры и влажности с датчиков меги (стоят нули). Изменение параметра delay ни к чему не приводит.

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

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

Сообщение d.v.ermakov » 20 янв 2016, 22:50

Пару слов про датчики скажу, может кто не в курсе.
И DS18B20, и разные DHT опрашивать слишком часто нельзя, они или 0 ответят или не ответят вообще. Частота опроса - не чаще раза в 3-5 секунд в зависимости от температуры. Причем, если подряд запрашивать непрерывно, то через минуту и эту частоту опроса надо снижать в два раза. Ну и стоит учесть, что DHT22 выдает в ответ данные на момент предпоследнего запроса, то есть его надо запросить два раза подряд, чтобы получить данные на момент.
ИМХО, вся эта логика к биндингу отношения не имеет, это задача для самого Опенхаба.

Petros
Сообщения: 295
Зарегистрирован: 21 авг 2012, 22:09

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

Сообщение Petros » 20 янв 2016, 22:55

То, что пропали - верно, так и должно быть. Стрелочками Вы показали сохранение в базу. Гораздо интереснее другое - 4 строчки SwitchItem - они были всегда? или только на старой сборке появились? Думаю Файл можно обратно поменять, температура восстановится... а как у Вас выглядит эта кнопка в ??sitemap? А проблема только с одной кнопкой или со всеми?

Petros
Сообщения: 295
Зарегистрирован: 21 авг 2012, 22:09

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

Сообщение Petros » 20 янв 2016, 23:29

d.v.ermakov писал(а):Пару слов про датчики скажу, может кто не в курсе.
И DS18B20, и разные DHT опрашивать слишком часто нельзя, они или 0 ответят или не ответят вообще. Частота опроса - не чаще раза в 3-5 секунд в зависимости от температуры. Причем, если подряд запрашивать непрерывно, то через минуту и эту частоту опроса надо снижать в два раза. Ну и стоит учесть, что DHT22 выдает в ответ данные на момент предпоследнего запроса, то есть его надо запросить два раза подряд, чтобы получить данные на момент.
ИМХО, вся эта логика к биндингу отношения не имеет, это задача для самого Опенхаба.


Я вот уже подумал, что вероятно понадобится еще один параметр - это время опроса датчика.После t будет условно говоря делитель. Раз в сколько циклов опрашивать датчик. Скажем от 1 до 100 :)

Selecta
Сообщения: 31
Зарегистрирован: 26 сен 2015, 12:38

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

Сообщение Selecta » 21 янв 2016, 00:04

Petros писал(а):То, что пропали - верно, так и должно быть. Стрелочками Вы показали сохранение в базу. Гораздо интереснее другое - 4 строчки SwitchItem - они были всегда? или только на старой сборке появились? Думаю Файл можно обратно поменять, температура восстановится... а как у Вас выглядит эта кнопка в ??sitemap? А проблема только с одной кнопкой или со всеми?


В sitemap непосредственно описания кнопки нет, есть только групповой фрейм:

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

   Frame label="Управление по комнатам" {
      Group item=Koridor          label="Коридор"    icon="corridor"
      Group item=Spalnja          label="Спальня"    icon="bedroom"
      Group item=Lodjija          label="Лоджия"       icon="terrace"
      Group item=Kuhnja          label="Кухня"       icon="kitchen"   
      Group item=Zal            label="Гостиная"    icon="television"
      Group item=Kabinet         label="Кабинет"    icon="office"
      Group item=Dushevaja      label="Душевая"    icon="bath"
      Group item=Vannaja         label="Ванная"       icon="bath"
   }


В этом фрейме выводится все, что относится к группе Koridor, в том числе и (ниже описание из items) :

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

Switch MegaD_Koridor_Bra         "Коридор - бра"                     (Koridor, Lights)      {megadevice="dal:192.168.1.15:11"}


Для интереса описал свитч в сайтмэпе, но результата это не дало - точно так же состояние на мегу не передается.

Четыре строчки есть и в старой сборке, и в новой. Вот лог после смены сборки:
Изображение

Selecta
Сообщения: 31
Зарегистрирован: 26 сен 2015, 12:38

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

Сообщение Selecta » 21 янв 2016, 00:21

Хороший вопрос был про "все кнопки не работают или не все"!

Оказалось, что примерно половина - работает. Вот выписки из лога.

Эта кнопка работает:
Изображение

А эта кнопка не работает:
Изображение

Описаны кнопки идентично:

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

Switch MegaD_Kabinet_BraKresla      "Кабинет - бра над креслами"         (Kabinet, Lights)   {megadevice="dal:192.168.1.15:8"}
Switch MegaD_Kabinet_BraOkna      "Кабинет - бра у окна"               (Kabinet, Lights)   {megadevice="dal:192.168.1.17:11"}


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

Petros
Сообщения: 295
Зарегистрирован: 21 авг 2012, 22:09

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

Сообщение Petros » 21 янв 2016, 01:00

Попробуйте https://github.com/Pshatsillo/openHABMe ... .0.9.1.jar вот эту. Тут лог расширенный и определение типа поменял немного


и еще такой момент, вдруг это важно - плагин собран на java 1.8

Selecta
Сообщения: 31
Зарегистрирован: 26 сен 2015, 12:38

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

Сообщение Selecta » 21 янв 2016, 01:23

Вот данные из расширенного лога - похоже, что-то идет не так:

Изображение

Версия явы стоит "Ваша версия Java: Version 8 Update 66"

Непонятно, почему "MegaD_Hum_Kabinet has type class org.openhab.core.library.items.SwitchItem", если он объявлен как

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

String MegaD_Hum_Kabinet          "Влажность в кабинете: [%s%%]"    (Kabinet, Humidities, Chart_Kabinet)         {megadevice="dal:192.168.1.16:7,dht22,h"}


А вот лог после нажатия работающей кнопки:
Изображение


Вернуться в «Умный Дом своими руками»

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot], empenoso, Prokol, Yandex [Bot] и 17 гостей