Использование MegaD в openHAB
Re: Использование MegaD в openHAB
Да, что-то явно не так с самими айтемами... я у себя всё перепробовал - работает как часы... Может быть вы пришлете мне на почту файл с айтемами как есть? Pshatsillo@gmail.com я завтра попробую её у себя поставить. Кстати, а Вы правите конфигурации через дизайнер?
Re: Использование MegaD в openHAB
Отправил items и sitemap. Правлю через дизайнер, да.
Re: Использование MegaD в openHAB
Попробуйте https://github.com/Pshatsillo/openHABMe ... .0.9.2.jar эту версию!
Re: Использование MegaD в openHAB
С этой - все ок с кнопками, спасибо. Осталось разобраться с правильной методикой опроса датчиков - вместо пары значений снова появились нули, в предыдущем варианте, который вы давали как альтернативу самым первым, опрос был правильным, без нулей.Petros писал(а):Попробуйте эту версию!
Re: Использование MegaD в openHAB
А вот тут попробуйте delay использовать
Отправлено с моего iPhone используя Tapatalk
Отправлено с моего iPhone используя Tapatalk
Re: Использование MegaD в openHAB
Перезагрузка Меги решила проблему, все данные появились. На всякий случай поставил в конфиге Delay=6000. Спасибо за помощь!
Re: Использование MegaD в openHAB
https://github.com/Pshatsillo/openHABMe ... .0.9.4.jar Отлично! В таком случае скачиваем новую исправленную версию! Параметр delay устанавливает задержку между опросами каждого порта.
Re: Использование MegaD в openHAB
Сделал управление диммером с кнопки. Спасибо Petros за наводки.
Функционал: короткое нажатие (менее 1 секунды) включает и выключает лампочку на полную яркость. Длинное (более 1 секунды) - пока кнопка остается нажатой, яркость постепенно увеличивается от текущего значения до 100, далее от 0 по кругу.
Не устаю восхищаться простотой, логичностью и непритязательностью OpenHab'а )) Буду признателен за критику кода.
Код: Выделить всё
Switch MegaDcont_Zal_BraDivan "Кнопка бра дивана" (Zal) {megadevice="dal:192.168.1.17:6"}
Dimmer MegaDim_Zal_BraDivan "Зал - бра над диваном [%d %%]" (Zal, Lights) {megadevice="dal:192.168.1.17:13"}
Не устаю восхищаться простотой, логичностью и непритязательностью OpenHab'а )) Буду признателен за критику кода.
Код: Выделить всё
var Timer timer_Zal_BraDivan = null
var int MegaDcont_Zal_BraDivan_TimerON
rule "MegaDcont_Zal_BraDivan ON"
when
Item MegaDcont_Zal_BraDivan changed to ON
then
MegaDcont_Zal_BraDivan_TimerON = now.getMillisOfDay
end
rule "MegaDcont_Zal_BraDivan OFF"
when
Item MegaDcont_Zal_BraDivan changed to OFF
then
var int MegaDcont_Zal_BraDivan_TimerOFF = now.getMillisOfDay
var int time_Pressed = MegaDcont_Zal_BraDivan_TimerOFF - MegaDcont_Zal_BraDivan_TimerON
if (time_Pressed<1000){ // время нажатия кнопки меньше, чем 1 секунда
var Number percent = 0
if(MegaDim_Zal_BraDivan.state instanceof DecimalType) percent = MegaDim_Zal_BraDivan.state as DecimalType
if (percent>0) { // если лампа включена на любую яркость, то выключить
sendCommand (MegaDim_Zal_BraDivan, 0)
postUpdate(MegaDim_Zal_BraDivan, 0)
}
else // лампа выключена, включить на полную яркость
{
sendCommand (MegaDim_Zal_BraDivan, 100)
postUpdate(MegaDim_Zal_BraDivan, 100)
}
}
end
rule "OnLongPress Megadcont_Zal_BraDivan"
when
Item MegaDcont_Zal_BraDivan changed
then
if(MegaDcont_Zal_BraDivan.state==ON) {
timer_Zal_BraDivan = createTimer(now.plusSeconds(1)) [|
var Number current_Val = 0
if(MegaDim_Zal_BraDivan.state instanceof DecimalType) current_Val = MegaDim_Zal_BraDivan.state as DecimalType
while (MegaDcont_Zal_BraDivan.state==ON){
current_Val = current_Val+1
if(current_Val>100) current_Val=0
sendCommand(MegaDim_Zal_BraDivan,current_Val)
Thread::sleep(50)
}
]
} else {
if(timer_Zal_BraDivan!=null) {
timer_Zal_BraDivan.cancel
timer_Zal_BraDivan = null
}
}
end
Re: Использование MegaD в openHAB
Насчет температуры.
В прошивке 3.38b
При отправке команды, например: http://192.168.4.14/sec/?pt=8&cmd=get
Выводится просто значение температуры у датчика 1w. В более ранних прошивках выходило значение temp:30,1
Думаю что из-за этого температура перестала правильно отображаться.
В прошивке 3.38b
При отправке команды, например: http://192.168.4.14/sec/?pt=8&cmd=get
Выводится просто значение температуры у датчика 1w. В более ранних прошивках выходило значение temp:30,1
Думаю что из-за этого температура перестала правильно отображаться.
Re: Использование MegaD в openHAB
Evgeny_nd, нет. Проблема была в слишком частом опросе датчиков температуры. Они не успевали отработать замер и выводили нули, после чего не выдержали и зависли. На сколько я понят сейчас проблема ушла с введением задержки между посылами запросов к меге
Re: Использование MegaD в openHAB
Petros, значит мой случай другой , чем у предыдущего автора. Я откатился обратно на прошивку 3.36 и все стало работать. Биндинг версии 0.7
Re: Использование MegaD в openHAB
Ого... видимо надо обновить подопытного ну или уточнить у Андрея так ли было задуманно
Re: Использование MegaD в openHAB
Андрей там оптимизировал код в последних прошивках, чтобы освободить память
Re: Использование MegaD в openHAB
Закинул pull request, попробуем интегрироваться в основную ветку
Re: Использование MegaD в openHAB
Petros, а как вы переводите текстовые значения датчиков температуры в число, чтобы с ними можно было работать (сравнивать с числами) в правилах?
Я уже и так и так повертел, не получается.
Если объявлять (без использования Addon) Number и считывать значения через http, то все нормально. Достаточно просто Temp_AB_Log_4_12_P8.state.
А если использовать Addon, то там текстовый Item надо переводить в число. И не работает ни Temp_AB_Log_4_14_P7.doubleValue ни Temp_AB_Log_4_14_P7.state as DecimalType.
Я уже и так и так повертел, не получается.
Если объявлять (без использования Addon) Number и считывать значения через http, то все нормально. Достаточно просто Temp_AB_Log_4_12_P8.state.
А если использовать Addon, то там текстовый Item надо переводить в число. И не работает ни Temp_AB_Log_4_14_P7.doubleValue ни Temp_AB_Log_4_14_P7.state as DecimalType.
Re: Использование MegaD в openHAB
UPD: нашел ответ!
var v = new Double(temp.state)
if (v < 12){
}
var v = new Double(temp.state)
if (v < 12){
}
Последний раз редактировалось Petros 27 янв 2016, 14:20, всего редактировалось 1 раз.
Re: Использование MegaD в openHAB
Но вообще согласен, имеет смысл сделать это поле Number. Займусь этим!
UPD: https://github.com/Pshatsillo/openHABMe ... .0.9.5.jar
Прошу поставить и рассказать работает ли
UPD: https://github.com/Pshatsillo/openHABMe ... .0.9.5.jar
Прошу поставить и рассказать работает ли
Re: Использование MegaD в openHAB
т.е. в версии 0.9.5 объявляю Number и пробую?
Re: Использование MegaD в openHAB
Чего-то со значением Number не считывает значения вообще...