Использование MegaD в openHAB
Re: Использование MegaD в openHAB
попробуйте этот плагин, должно помочь https://github.com/Pshatsillo/openHABMe ... _0.0.9.jar
Тут установлена задержка перед каждым опросом в одну секунду
К сожалению у меня нет датчиков температуры на мегах, поэтому вся надежда на Вас ))
UPD:
создал параметр в конфиге: delay
megadevice:delay=1000
по умолчанию. Меняйте его до получения всех значений поделитесь потом результатами пожалуйста
Тут установлена задержка перед каждым опросом в одну секунду
К сожалению у меня нет датчиков температуры на мегах, поэтому вся надежда на Вас ))
UPD:
создал параметр в конфиге: delay
megadevice:delay=1000
по умолчанию. Меняйте его до получения всех значений поделитесь потом результатами пожалуйста
Re: Использование MegaD в openHAB
Простая замена файла байндинга решила проблему:Petros писал(а):попробуйте этот плагин, должно помочь https://github.com/Pshatsillo/openHABMe ... _0.0.9.jar
Тут установлена задержка перед каждым опросом в одну секунду
К сожалению у меня нет датчиков температуры на мегах, поэтому вся надежда на Вас ))
UPD:
создал параметр в конфиге: delay
megadevice:delay=1000
по умолчанию. Меняйте его до получения всех значений поделитесь потом результатами пожалуйста
Изменение delay пока не потребовалось. Спасибо - во-первых, за сам байндинг, во-вторых, за оперативную обратную связь! Присоединяюсь к рекомендации сделать donate на странице )
Re: Использование MegaD в openHAB
Замена на тот, что по ссылке?
Спасибо вам за теплые слова Донейт добавил вниз описания
Спасибо вам за теплые слова Донейт добавил вниз описания
Re: Использование MegaD в openHAB
Да, на новую версию.Petros писал(а):Замена на тот, что по ссылке?
Но столкнулся с еще одной проблемой - не срабатывает изменение состояния switch из Openhab.
Имеем в items:
Код: Выделить всё
Switch MegaD_Koridor_Bra "Коридор - бра" (Koridor, Lights) {megadevice="dal:192.168.1.15:11"}
Код: Выделить всё
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
Для диммируемых выходов правила, показанные ниже, работают отлично (все отрабатывает без задержки, в обе стороны):
Код: Выделить всё
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
Re: Использование MegaD в openHAB
К сожалению не вижу что у Вас в фигурных скобках...
Увидел в правиле не postupdate a sendcommnd вроде нужно
Отправлено с моего iPhone используя Tapatalk
Увидел в правиле не postupdate a sendcommnd вроде нужно
Отправлено с моего iPhone используя Tapatalk
Re: Использование MegaD в openHAB
А лог при этом что говорит? Без ошибок?
Re: Использование MegaD в openHAB
Может быть где when changed поставить?
СТОП. Вы же хотите прото этой кнопкой включать и выключать свет? Тогда не нужно никаких правил вообще Switch работает и без правил, просто отправляет состояние своё по адресу!
СТОП. Вы же хотите прото этой кнопкой включать и выключать свет? Тогда не нужно никаких правил вообще Switch работает и без правил, просто отправляет состояние своё по адресу!
Re: Использование MegaD в openHAB
Ну так я и начал с правилами экспериментировать, когда убедился что без правил не работает )Petros писал(а):СТОП. Вы же хотите прото этой кнопкой включать и выключать свет? Тогда не нужно никаких правил вообще Switch работает и без правил, просто отправляет состояние своё по адресу!
В логе сообщений об ошибках нет. Только что отключил правило - свитч реагирует на изменение состояния выхода (по внешнему воздействию), с задержкой в пару секунд (тоже не очень хорошо), но при перекидывании мышкой - ничего не происходит, через пару секунд возвращается в состояние, соответствующее состоянию выхода меги.
Re: Использование MegaD в openHAB
Хэмм.. у Вас в Логах появляется нечто подобное при нажатии?
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
У меня всё работает просто. специально проверил...
и еще такая:
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
Re: Использование MegaD в openHAB
В логе при перекидывании свитча вижу вот такое -
Но следующее обращение к связанному порту выглядит в логе как-то так:
В промежутке между этими событиями указанный порт (11 на адресе 192.168.1.15) в логе не встречается вообще.
Но следующее обращение к связанному порту выглядит в логе как-то так:
В промежутке между этими событиями указанный порт (11 на адресе 192.168.1.15) в логе не встречается вообще.
Re: Использование MegaD в openHAB
нижний лог - это опрос по кругу портов... А вот после верхнего должен быть запрос к Меге... вы не пробовали менять версию плагина? Из основной ветки - https://github.com/Pshatsillo/openHABMe ... _0.0.9.jar вот этот? Еще вопрос - вы плагины меняли с перезагрузкой сервера или без?
Re: Использование MegaD в openHAB
Файл байндинга поменял на тот, что в предыдущем сообщении (отличается от того, что вы дали вчера, на 1 кб). Сервер перезагрузил. Проблема осталась - свитч бра в коридоре исправно перекидывается в openhab при изменении состояния выхода через интерфейс меги, но при попытке перекинуть мышкой его в openhab - через секунду возвращается обратно, выход меги при этом не меняется.
В логе при этом :
Команд на 11 выход меги (cmd=11:0 или cmd=11:1) в логе поиск не находит.
Из побочных эффектов - после замены файла байндинга снова пропали частично значения температуры и влажности с датчиков меги (стоят нули). Изменение параметра delay ни к чему не приводит.
В логе при этом :
Команд на 11 выход меги (cmd=11:0 или cmd=11:1) в логе поиск не находит.
Из побочных эффектов - после замены файла байндинга снова пропали частично значения температуры и влажности с датчиков меги (стоят нули). Изменение параметра delay ни к чему не приводит.
-
- Администратор
- Сообщения: 2191
- Зарегистрирован: 29 май 2015, 21:23
- Откуда: Екатеринбург, Нижний Тагил
Re: Использование MegaD в openHAB
Пару слов про датчики скажу, может кто не в курсе.
И DS18B20, и разные DHT опрашивать слишком часто нельзя, они или 0 ответят или не ответят вообще. Частота опроса - не чаще раза в 3-5 секунд в зависимости от температуры. Причем, если подряд запрашивать непрерывно, то через минуту и эту частоту опроса надо снижать в два раза. Ну и стоит учесть, что DHT22 выдает в ответ данные на момент предпоследнего запроса, то есть его надо запросить два раза подряд, чтобы получить данные на момент.
ИМХО, вся эта логика к биндингу отношения не имеет, это задача для самого Опенхаба.
И DS18B20, и разные DHT опрашивать слишком часто нельзя, они или 0 ответят или не ответят вообще. Частота опроса - не чаще раза в 3-5 секунд в зависимости от температуры. Причем, если подряд запрашивать непрерывно, то через минуту и эту частоту опроса надо снижать в два раза. Ну и стоит учесть, что DHT22 выдает в ответ данные на момент предпоследнего запроса, то есть его надо запросить два раза подряд, чтобы получить данные на момент.
ИМХО, вся эта логика к биндингу отношения не имеет, это задача для самого Опенхаба.
Re: Использование MegaD в openHAB
То, что пропали - верно, так и должно быть. Стрелочками Вы показали сохранение в базу. Гораздо интереснее другое - 4 строчки SwitchItem - они были всегда? или только на старой сборке появились? Думаю Файл можно обратно поменять, температура восстановится... а как у Вас выглядит эта кнопка в ??sitemap? А проблема только с одной кнопкой или со всеми?
Re: Использование MegaD в openHAB
Я вот уже подумал, что вероятно понадобится еще один параметр - это время опроса датчика.После t будет условно говоря делитель. Раз в сколько циклов опрашивать датчик. Скажем от 1 до 100d.v.ermakov писал(а):Пару слов про датчики скажу, может кто не в курсе.
И DS18B20, и разные DHT опрашивать слишком часто нельзя, они или 0 ответят или не ответят вообще. Частота опроса - не чаще раза в 3-5 секунд в зависимости от температуры. Причем, если подряд запрашивать непрерывно, то через минуту и эту частоту опроса надо снижать в два раза. Ну и стоит учесть, что DHT22 выдает в ответ данные на момент предпоследнего запроса, то есть его надо запросить два раза подряд, чтобы получить данные на момент.
ИМХО, вся эта логика к биндингу отношения не имеет, это задача для самого Опенхаба.
Re: Использование MegaD в openHAB
В sitemap непосредственно описания кнопки нет, есть только групповой фрейм:Petros писал(а):То, что пропали - верно, так и должно быть. Стрелочками Вы показали сохранение в базу. Гораздо интереснее другое - 4 строчки SwitchItem - они были всегда? или только на старой сборке появились? Думаю Файл можно обратно поменять, температура восстановится... а как у Вас выглядит эта кнопка в ??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"
}
Код: Выделить всё
Switch MegaD_Koridor_Bra "Коридор - бра" (Koridor, Lights) {megadevice="dal:192.168.1.15:11"}
Четыре строчки есть и в старой сборке, и в новой. Вот лог после смены сборки:
Re: Использование MegaD в openHAB
Хороший вопрос был про "все кнопки не работают или не все"!
Оказалось, что примерно половина - работает. Вот выписки из лога.
Эта кнопка работает:
А эта кнопка не работает:
Описаны кнопки идентично:
Предупреждая возможный вопрос - дело не в разных девайсах. На одном и том же девайсе половина кнопко работает, половина - нет. На втором - аналогично.
Оказалось, что примерно половина - работает. Вот выписки из лога.
Эта кнопка работает:
А эта кнопка не работает:
Описаны кнопки идентично:
Код: Выделить всё
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"}
Re: Использование MegaD в openHAB
Попробуйте https://github.com/Pshatsillo/openHABMe ... .0.9.1.jar вот эту. Тут лог расширенный и определение типа поменял немного
и еще такой момент, вдруг это важно - плагин собран на java 1.8
и еще такой момент, вдруг это важно - плагин собран на java 1.8
Re: Использование MegaD в openHAB
Вот данные из расширенного лога - похоже, что-то идет не так:
Версия явы стоит "Ваша версия Java: Version 8 Update 66"
Непонятно, почему "MegaD_Hum_Kabinet has type class org.openhab.core.library.items.SwitchItem", если он объявлен как
А вот лог после нажатия работающей кнопки:
Версия явы стоит "Ваша версия 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"}