Использование MegaD в openHAB
-
- Администратор
- Сообщения: 2188
- Зарегистрирован: 29 май 2015, 21:23
- Откуда: Екатеринбург, Нижний Тагил
Re: Использование MegaD в openHAB
Пока в ОН2 еще много банальных проблем, читать здесь: https://community.openhab.org/c/openhab-2
Ставлю иногда, убеждаюсь в невозможности использования, откладываю в сторону. Последний раз баловался со второй бетой. Основной реальный плюс для меня - высокая скорость работы кастомных дашбоардов, из-за изменившейся архитектуры.
Ставлю иногда, убеждаюсь в невозможности использования, откладываю в сторону. Последний раз баловался со второй бетой. Основной реальный плюс для меня - высокая скорость работы кастомных дашбоардов, из-за изменившейся архитектуры.
-
- Сообщения: 651
- Зарегистрирован: 16 фев 2016, 19:52
Re: Использование MegaD в openHAB
14 сентября вышла "openHAB 2.0 beta4". В частности поминались сроки релиза.
https://community.openhab.org/t/openhab ... ased/14110
"As people regularly ask about the plans for a final 2.0 release: I cannot promise anything myself, since I very much depend on the help and the contributions from all of you, but my personal goal would be to finish the most critical missing parts of openHAB 2 by the end of this year, so that we can declare GA by early January. In the coming weeks, I will try to come up with a list of topics that we still need to address for this and I count on you to then help ticking the entries off quickly - so stay tuned!"
UPD Это я к тому, что через месяца 4 все таки будет релиз и можно будет трогать не опасаясь банальных глюков. Наверно не имеет смысла допиливать биндинг до релиза.
https://community.openhab.org/t/openhab ... ased/14110
"As people regularly ask about the plans for a final 2.0 release: I cannot promise anything myself, since I very much depend on the help and the contributions from all of you, but my personal goal would be to finish the most critical missing parts of openHAB 2 by the end of this year, so that we can declare GA by early January. In the coming weeks, I will try to come up with a list of topics that we still need to address for this and I count on you to then help ticking the entries off quickly - so stay tuned!"
UPD Это я к тому, что через месяца 4 все таки будет релиз и можно будет трогать не опасаясь банальных глюков. Наверно не имеет смысла допиливать биндинг до релиза.
Re: Использование MegaD в openHAB
Пока я его не трогаю. Основа есть, как только версия будет работоспособной - стразу начну ее делать. В это время можно будет пользоваться биндингом 1 версии
Re: Использование MegaD в openHAB
Для меня тоже основной плюс в ОН2 это интерфейс и визуализация. В 1м все же, из-за ограничения возможностей интерфейса приходится много уровней делать и иногда извращаться . Начну изучать параллельно 1му пока, а к новому году если релиз выпустят, то можно начинать переходить.
Re: Использование MegaD в openHAB
В исправленной версии биндинга - уже полторы недели на второй малине полет нормальный Спасибо!Petros писал(а):Проблема в том, что я не могу у себя сымитировать отказ сокета Как ни пытался Вот, попробуйте эту версию, специально для вас, не для массового обновления https://github.com/Pshatsillo/openHABMe ... ocketError
Re: Использование MegaD в openHAB
Ну вы имейте в виду, что он просто при зависании передергивает сервер и теряет одно-два входящих ответа
-
- Сообщения: 528
- Зарегистрирован: 09 авг 2016, 15:09
- Откуда: Сочи
Re: Использование MegaD в openHAB
А я скриптом забираю маки wifi пользователей из registration table, секу свою мобилу и женыempenoso писал(а):Там какая-то ошибка с портом - не смог разобраться, но через exec биндинг все заработало:
Код: Выделить всё
Number MikroTik_Wireless_Clients "MikroTik, кол-во Wi-Fi клиентов, ед. [%s]" { exec="<[/opt/openhab/MikroTik_Wireless_Clients.sh:300000:REGEX((.*?))]" } //требуется установка sudo apt-get install snmp snmpd //http://forum.mikrotik.com/viewtopic.php?t=17438
Код: Выделить всё
String Wifiusers "Список подключенных к WiFi [%s]" {exec="<[/volume1/homes/openhab/wifiusers.sh:60000:REGEX((.*?))]"}
Код: Выделить всё
#!/bin/sh
users=$(ssh xx@192.168.1.1 /interface wireless registration-table print terse | cut -f3 -d'=' | cut -f1 -d' ' | tr '\n' ' ')
echo $users
Код: Выделить всё
rule "Wifiusers" //############################################################################################
when
Item Wifiusers changed
then
if (Wifiusers.state.toString.contains("F0:F1:11:51:21:84")) {
if (Mobile_Artyom.state != ON) {
logInfo("Security", "Мобила Артема в сети квартиры.")
Mobile_Artyom.postUpdate(ON)
}
} else {
if (Mobile_Artyom.state == ON) {
logInfo("Security", "Мобилы Артема более нет в сети квартиры.")
Mobile_Artyom.postUpdate(OFF)
}
}
end
Re: Использование MegaD в openHAB
Вот этим мне микротик и нравится. Дети уже расстраиваются, когда я им сказал, что SMS будет маме приходить, когда они в соцсети будут заходитьmartiniman писал(а): А я скриптом забираю маки wifi пользователей из registration table, секу свою мобилу и женыКод: Выделить всё
String Wifiusers "Список подключенных к WiFi [%s]" {exec="<[/volume1/homes/openhab/wifiusers.sh:60000:REGEX((.*?))]"}
Код: Выделить всё
#!/bin/sh users=$(ssh xx@192.168.1.1 /interface wireless registration-table print terse | cut -f3 -d'=' | cut -f1 -d' ' | tr '\n' ' ') echo $users
-
- Сообщения: 651
- Зарегистрирован: 16 фев 2016, 19:52
Re: Использование MegaD в openHAB
MSapogov Я все думал: вот подрастут у меня дети, нужно будет их мотивировать выучиться, как пользоваться VPN... Хотя бы чем то типа TunnelBear. Теперь буду знать как
Re: Использование MegaD в openHAB
А я пользуюсь биндингом NetworkHealth для мониторинга и телефонов и другой техники. А на микротике просто жестко привязываю mac к IP.
Re: Использование MegaD в openHAB
Вопрос к Petros.
А как часто происходит обновление статуса положения выключателя между OH и Mega?
У меня возникла ситуация: в ОН не обновился статус выключателя и из-за этого алгоритм контура отопления сработал неверно. Я уже только разглядывая график температуры обнаружил что что-то не то, потом посмотрел состояние порта на Меге, оказалось, оно отличное от состояния в ОН. Получилось что в течение 9 часов состояние не обновилось.
Причина в биндинге или в ОН?
А как часто происходит обновление статуса положения выключателя между OH и Mega?
У меня возникла ситуация: в ОН не обновился статус выключателя и из-за этого алгоритм контура отопления сработал неверно. Я уже только разглядывая график температуры обнаружил что что-то не то, потом посмотрел состояние порта на Меге, оказалось, оно отличное от состояния в ОН. Получилось что в течение 9 часов состояние не обновилось.
Причина в биндинге или в ОН?
Re: Использование MegaD в openHAB
Вы же сами задаете период опроса порта! Если параметр не указан - опроса нет!
Re: Использование MegaD в openHAB
А для меня конкретные маки не актуальны - надо просто кол-во подключенных устройств - косвенно говорит о том, сколько человек живет.martiniman писал(а):А я скриптом забираю маки wifi пользователей из registration table, секу свою мобилу и женыempenoso писал(а):Там какая-то ошибка с портом - не смог разобраться, но через exec биндинг все заработало:
Код: Выделить всё
Number MikroTik_Wireless_Clients "MikroTik, кол-во Wi-Fi клиентов, ед. [%s]" { exec="<[/opt/openhab/MikroTik_Wireless_Clients.sh:300000:REGEX((.*?))]" } //требуется установка sudo apt-get install snmp snmpd //http://forum.mikrotik.com/viewtopic.php?t=17438
Код: Выделить всё
String Wifiusers "Список подключенных к WiFi [%s]" {exec="<[/volume1/homes/openhab/wifiusers.sh:60000:REGEX((.*?))]"}
И правилом выбираю мак:Код: Выделить всё
#!/bin/sh users=$(ssh xx@192.168.1.1 /interface wireless registration-table print terse | cut -f3 -d'=' | cut -f1 -d' ' | tr '\n' ' ') echo $users
Код: Выделить всё
rule "Wifiusers" //############################################################################################ when Item Wifiusers changed then if (Wifiusers.state.toString.contains("F0:F1:11:51:21:84")) { if (Mobile_Artyom.state != ON) { logInfo("Security", "Мобила Артема в сети квартиры.") Mobile_Artyom.postUpdate(ON) } } else { if (Mobile_Artyom.state == ON) { logInfo("Security", "Мобилы Артема более нет в сети квартиры.") Mobile_Artyom.postUpdate(OFF) } } end
Код: Выделить всё
snmpwalk -c public -v2c 192.168.88.1 .1.3.6.1.4.1.14988.1.1.1.3.1.6.5 2>&1 | sed -n 's#^iso.3.6.1.4.1.14988.1.1.1.3.1.6.5 = Counter32:[^0-9]*\([0-9.]*\)$#\1#p';
Код: Выделить всё
Number MikroTik_Wireless_Clients "MikroTik, Wi-Fi клиенты, ед. [%s]" { exec="<[/opt/openhab/MikroTik_Wireless_Clients.sh:300000:REGEX((.*?))]" } //http://forum.mikrotik.com/viewtopic.php?t=17438
Re: Использование MegaD в openHAB
Когда появился параметр refresh в описании item я просто закомментировал общий refresh в конфиге.
Тогда хочу уточнить:
1) Refresh для item типа switch действует?
2) Чтобы периодически обновлялся статус switch нужно чтобы в конфиге был указан параметр refresh?
3) Если в конфиге указан параметр refresh и в описании item указан refresh, то какой из них будет использоваться в приоритете?
Тогда хочу уточнить:
1) Refresh для item типа switch действует?
2) Чтобы периодически обновлялся статус switch нужно чтобы в конфиге был указан параметр refresh?
3) Если в конфиге указан параметр refresh и в описании item указан refresh, то какой из них будет использоваться в приоритете?
Re: Использование MegaD в openHAB
mega.items общий принцип:
КОД: ВЫДЕЛИТЬ ВСЁ
{megadevice="пароль на мегу : айпишник меги : номер порта меги: интервал опроса"}
интервал можно не задавать. Тогда опроса порта происходить не будет.
пример:
КОД: ВЫДЕЛИТЬ ВСЁ
Switch MegaTest "Зал - бра над диваном [%s]" {megadevice="sec:localhost:3:50"}
В конфиге кроме номера порта больше ничего не указывается
КОД: ВЫДЕЛИТЬ ВСЁ
{megadevice="пароль на мегу : айпишник меги : номер порта меги: интервал опроса"}
интервал можно не задавать. Тогда опроса порта происходить не будет.
пример:
КОД: ВЫДЕЛИТЬ ВСЁ
Switch MegaTest "Зал - бра над диваном [%s]" {megadevice="sec:localhost:3:50"}
В конфиге кроме номера порта больше ничего не указывается
-
- Администратор
- Сообщения: 2188
- Зарегистрирован: 29 май 2015, 21:23
- Откуда: Екатеринбург, Нижний Тагил
Re: Использование MegaD в openHAB
В правиле выключателя нужно не только SendCommand, но и PostUpdate писать, и опрос тогда достаточно производить только при включении (или с большим интервалом, на всякий случай).
Re: Использование MegaD в openHAB
У меня все правила идут в последовательности PostUpdate+SendCommand.
Я не знаю что именно произошло, OH не перезагружался, правила, item, и sitemap, я правил на ходу. И то что OH не видел статуса включенного в меге выключателя, я обнаружил случайно и произошло это всего лишь один раз за пол-года наверное.
Может ли быть дело в том что... У меня почти все состояния выключателей (по-крайней мере, про тот который подвис) пишутся в Persistant с восстановлением параметров после перезагрузки.
Может быть получилось так что при обновлении правила состояние из базы считалось OFF и осталось в OH, а фактически пока правило перезагружалось порт меги установился в ON.
PS А как произвести опрос только при включении?
Я не знаю что именно произошло, OH не перезагружался, правила, item, и sitemap, я правил на ходу. И то что OH не видел статуса включенного в меге выключателя, я обнаружил случайно и произошло это всего лишь один раз за пол-года наверное.
Может ли быть дело в том что... У меня почти все состояния выключателей (по-крайней мере, про тот который подвис) пишутся в Persistant с восстановлением параметров после перезагрузки.
Может быть получилось так что при обновлении правила состояние из базы считалось OFF и осталось в OH, а фактически пока правило перезагружалось порт меги установился в ON.
PS А как произвести опрос только при включении?
Re: Использование MegaD в openHAB
Petros, я понял вас, спасибо за информацию. Switch перепишу все с интервалом опроса (на всякий случай).
Re: Использование MegaD в openHAB
Никаких проблем с тех пор Но надеюсь, что уже в ближайшие дни заменю на третью малину там последнюю версию биндинга буду использовать.empenoso писал(а):В исправленной версии биндинга - уже полторы недели на второй малине полет нормальный Спасибо!Petros писал(а):Проблема в том, что я не могу у себя сымитировать отказ сокета Как ни пытался Вот, попробуйте эту версию, специально для вас, не для массового обновления https://github.com/Pshatsillo/openHABMe ... ocketError
Re: Использование MegaD в openHAB
Заметил непонятность в байндинге: если читать порт 1w (ds18b20) без датчика, то Мега возвращает NA. В логах опенхаб вижу следующее:
...
http://10.5.5.20/pass/?pt=22&cmd=get
18:43:24.700 [DEBUG] [b.m.internal.MegaDeviceBinding:543 ] - Sleeping...
18:43:25.702 [DEBUG] [b.m.internal.MegaDeviceBinding:549 ] - Waking up...
18:43:25.712 [DEBUG] [b.m.internal.MegaDeviceBinding:566 ] - input string->temp:NA
18:43:25.714 [DEBUG] [b.m.internal.MegaDeviceBinding:614 ] - NA
18:43:25.728 [ERROR] [.service.AbstractActiveService:175 ] - Error while executing background thread MegaDevice Refresh Service
java.lang.NumberFormatException: null
...
Item:
Number Menv1_TestTemp "Температура TEST [%.2f °C]" <temperature> (Group_Status, DB_Save, gDashboard) {megadevice="pass:10.5.5.20:22:1w,t:5"}
Версия 0.1.2.6, Centos 6.7, Java 1.8.0, Intel Atom
Все бы ничего, но иногда (правда это было на версии 0.1.2.3) у меня перестают обновляться другие порты... подключение датчика, или отключение item-а решает проблему
...
http://10.5.5.20/pass/?pt=22&cmd=get
18:43:24.700 [DEBUG] [b.m.internal.MegaDeviceBinding:543 ] - Sleeping...
18:43:25.702 [DEBUG] [b.m.internal.MegaDeviceBinding:549 ] - Waking up...
18:43:25.712 [DEBUG] [b.m.internal.MegaDeviceBinding:566 ] - input string->temp:NA
18:43:25.714 [DEBUG] [b.m.internal.MegaDeviceBinding:614 ] - NA
18:43:25.728 [ERROR] [.service.AbstractActiveService:175 ] - Error while executing background thread MegaDevice Refresh Service
java.lang.NumberFormatException: null
...
Item:
Number Menv1_TestTemp "Температура TEST [%.2f °C]" <temperature> (Group_Status, DB_Save, gDashboard) {megadevice="pass:10.5.5.20:22:1w,t:5"}
Версия 0.1.2.6, Centos 6.7, Java 1.8.0, Intel Atom
Все бы ничего, но иногда (правда это было на версии 0.1.2.3) у меня перестают обновляться другие порты... подключение датчика, или отключение item-а решает проблему
С уважением, Игорь