РЕКЛАМА НА ФОРУМХАУС Подскажите как лучше организовать передачу от ОН "настойчивого" сообщения о критической ситуации? В идеале в виде звонка на телефон до тех пор, пока не снимут трубку. Сейчас я это пока решил передачей обычного оповещения на клиент через sendNotification - с периодичностью 5 минут до тех пор пока не сбросят Switch. Но хотелось бы повысить уровень настойчивости оповещения
@sly2k, добавьте в свою систему FreePBX (ip АТС). Ресурсов много не требует но существенно расширяет возможности оповещения, звонков и пр. Можно синтезировать текст ошибки с указанием какие параметры вышли за пределы и "сказать" фактические. Громкая связь (интерком) в доме и много-много другого.
@Smith2007, FreePBX Если только для оповещения - я бы ставил чистый Asterisk .. особенно на железки с невысокой вычислительной мощностью. PS если делать доступ SIP клиентов из интернета - хорошо защититься. у меня постоянный попытки взлома были .. подбор паролей и тд (статический белый IP) пока не перешел на шифрованный канал с TLS
@opyzhov, Fail2ban спасает очень хорошо. А freepbx это для тех кому лень разбираться в тонкостях настройки.
Бьюсь со своей проблемой по зависанию OH Подскажите. получю по API строку json var String json_pre = executeCommandLine("/usr/bin/curl@@@@https:/api.xxxxxx&content=json@@@@-stderr@@/dev/null", 5000) или var String json_pre = executeCommandLine("/opt/openhab/cmd/getgps.sh", 5000) строку json_pre получаю но в логах такие строки 2016-01-10 21:43:00.474 [WARN ] [g.openhab.io.net.exec.ExecUtil] - Process exited with an error: 3 (Exit value: 3) (первый вариант) 2016-01-10 21:43:00.474 [WARN ] [g.openhab.io.net.exec.ExecUtil] - Process exited with an error: 0 (Exit value: 0) (второй вариант) чтобы это значило
Друзья .. нужно концептуальное мнение единомышленников. Хочу организовать резервный канал оповещение о тревожных событиях... Есть система домашней автоматизации на базе ПЛК (Wago 750-881), есть локальная сеть с роутером Mikrotik 951 c USB разъемом. Основное оповещение происходит по электронной почте самим ПЛК. Вариант 1: Установить GSMмодем с rs-485 ..с ПЛК будет происходить прозвон и SMS оповещение. Вариант 2: Установить RaspberryPI (уже есть) c OpenHab и Asterisk. установить USB GSM голосовой модем. Asterisk по команде Openhab будет совершать обзвон через GSM. (SMS не уверен что можно посылать) Вариант 3: Установить RaspberryPI (уже есть) c OpenHab и Asterisk. установить USB4Gмодем в роутер Mikrotik, который настроить на автоматическое переключение на резервный 4G канал .. Asterisk по команде Openhab будет совершать обзвон через VOIP провайдера. Да .. RaspberryPI 2 хочу летом поставить на балкон в железный шкаф IP65 вместе с автоматами и мелкой автоматикой для балкона (погодная станция и т. д.). там под 30 градусов бывает. а сейчас «- 20».. интересно как она такой режим перенесет.
Попробовал связать мой OpenHAB на Raspberry с ПЛК Codesys, работающем на том же Raspberry, через Modbus TCP. Работает нормально, только проблема в том, что OH опрашивает Modbus шину периодически (я установил на 200мс, но надо бы чаще), и когда он получает ответ, он пишет в event log новое состояние сигналов, привязанных к этому слейву, даже если состояние не изменилось. В общем флудит ненужной инфой. Также из-за этого он флудит и в MQTT биндинге Пока не знаю, как с этим бороться - баг (или фича?) известная.
Тоже мучался по началу с такой проблемой. За уровень логов отвечает файл /opt/openhab/configurations/logback.xml Приведите его к такому состоянию. он будет занимать немного места и не флудить понапрасну. Спойлер: logback.xml Код: <configuration scan="true"> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%-30.30logger{36}] - %msg%n</pattern> </encoder> </appender> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${openhab.logdir:-logs}/openhab.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${openhab.logdir:-logs}/openhab.%i.log</fileNamePattern> <minIndex>1</minIndex> <maxIndex>3</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>240KB</maxFileSize> </triggeringPolicy> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%-30.30logger{36}] - %msg%n</pattern> </encoder> </appender> <appender name="EVENTFILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${openhab.logdir:-logs}/events.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${openhab.logdir:-logs}/events.%i.log</fileNamePattern> <minIndex>1</minIndex> <maxIndex>3</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>240KB</maxFileSize> </triggeringPolicy> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} - %msg%n</pattern> </encoder> </appender> <logger name="runtime.busevents" level="WARN" additivity="false"> <appender-ref ref="EVENTFILE" /> <appender-ref ref="STDOUT" /> </logger> <logger name="org.openhab" level="INFO"/> <!-- this class gives an irrelevant warning at startup --> <logger name="org.atmosphere.cpr.AtmosphereFramework" level="ERROR" /> <!-- temporary workaround for https://github.com/openhab/jmdns/issues/12 --> <logger name="javax.jmdns" level="OFF"/> <!-- temporary workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=402750 --> <logger name="OSGi" level="OFF" /> <!-- temporary workaround to circumvent error messages with any obvious effect --> <logger name="org.atmosphere.cpr.AtmosphereFramework" level="OFF" /> <logger name="org.atmosphere.cpr.DefaultAnnotationProcessor" level="OFF" /> <root level="WARN"> <appender-ref ref="FILE" /> <appender-ref ref="STDOUT" /> </root> </configuration> еще советую по максимуму использовать tmpfs добавить в /etc/fstab Код: tmpfs /tmp tmpfs defaults,noatime,nosuid,size=10m,mode=0755 0 0 tmpfs /var/log tmpfs defaults,noatime,nosuid,size=20m,mode=0755 0 0 tmpfs /opt/openhab/logs tmpfs defaults,noatime,nosuid,size=20m,mode=0777 0 0 и после отладки можно отключить логи в системе .. sudo update-rc.d -f syslog remove еще сто'ит подумать над базой и логами MQTT сервера. она тоже часто пишет я так понимаю на SD > Также из-за этого он флудит и в MQTT биндинге а как это связано с ПЛК и modbus. тут mqtt лишнее звено.
Коли уж начал писать пост. выкладываю скрипт для backup конфигурации системы и openhab-a У меня для backup-a вставлена дополнительная флэшка медленная, которая монтируется по UUID cat /ets/fstab Код: #USB FLASH UUID=cb54c8f3-6efb-408e-bce8-6bada3fcde9e /mnt/backup ext4 defaults,noatime 0 0 скрипт backup. sh запускается по crontab раз в сутки, делать копии каталога /etc и /opt/openhab и хранит их 7 дней .. более старые копии удаляются. Спойлер: backup. sh Код: #!/bin/sh #Purpose = Backup config dir #Created on 15-03-2015 #Author = Oleg Pyzhov #Version 2.0 BACKUP_DIR="/etc /opt/openhab" DEST_DIR="/mnt/backup/" MAX_DAYS=7 BASE_FILENAME=systembackup_ #destfilename=$BASE_FILENAME`date "+%Y%m%d_%T"`.tar.gz destfilename=$BASE_FILENAME`date "+%Y%m%d"`.tar.gz /bin/tar -cPzf $DEST_DIR/$destfilename ${BACKUP_DIR} find $DEST_DIR -maxdepth 1 -mtime +$MAX_DAYS -name "${BASE_FILENAME}*.tar.gz" -exec /bin/rm -f '{}' + #unpack archive #tar xvzf ___.tar.gz
Сейчас получилось настроить Siri в связке с openHAB. При настройке есть несколько неочивидных подводных камней. Использую вот этот проект https://github.com/htreu/OpenHAB-HomeKit-Bridge Код: # версия OS Raspberry 2015-11-21-raspbian-jessie.jmg #Удаляем node и nodejs.. они каких то старых версий и не работают с сервисом.. sudo apt-get remove node sudo apt-get remove nodejs sudo apt-get auto remove #устанавливаем node sudo wget http://node-arm.herokuapp.com/node_latest_armhf.deb sudo dpkg -i node_latest_armhf.deb #далее по инструкции sudo apt-get install libavahi-compat-libdnssd-dev # скачиваем и распаковываем с github архив скажем в /opt ... cd /opt/OpenHAB-HomeKit-Bridge-master/ npm install npm test #пару полезных программ для Linux sudo apt-get install htop sudo apt-get install tmux tmux #запуск самого сервиса npm start -- --name "myOpenHAB" --server localhost:8080 --sitemap home сервис как я понял анализирует sitemaps и берет оттуда переменные. лучше убрать все сложно форматирование и оставить только переменные. тк с русскими названиями в Frame label у него проблемы .. русские комментарии к названиям понимает... иногда после разных настроек пересевал опозноваться на IOS .. помогало переименование сервиса при запуске -name "myOpenHAB" .. почему не знаю. потерял на этом много временни. В целом все работает. работают сценарии, можно объединять и включать группы светильников. при наличие Apple TV >= 3 поколения можно это делать вне дома. нюансы работы .. нельзя одинаковые комментарии давать к светильникам. например "бра" и "бра" даже если переменные разные. Switch Light_Koridor_Bra1 "Бра коридор" (Koridor) { modbus="slave1:3" } Switch Light_Deti_Bra "Бра Детская" (Deti,Lights) { modbus="slave1:13" } и Siri не понимает две люстры. даже если они относятся к разным комнатам. топишь все источники света в доме должны называться по разному... "сложности перевода" не понимает слова "ванна", "витрина" .. Siri правильно ловит эти слова но не может сопоставить... самые страшные слова "включи свет" она блин включает ВЕСЬ свет в доме и все приборы привязанные врубает. и выключает также. надо говорить аккуратнее. "включи свет в зале" и на последок скрин экранов настройки на IOS.
Когда OH принимает данные с Modbus, он автоматом пишет в топики в MQTT, даже если состояние сигнала не поменялось. А там должна быть логика, как в event log - сигнал изменился - публикуется сообщение. Как я писал тут ранее, у меня тач-панели управления на MQTT сделаны. В общем не нравится мне этот лишний трафик. Тю, а чё ему будет пару десятков байт туда-сюда погонять? Я уверен, что он и за 50мс справился бы. Может у Вас что-то притормаживает? А в чем смысл периодически бекапить конфигурацию OpenHAB? Она ж сама по себе не меняется? Я просто засунул ее в SVN, и когда изменения делаю - коммит в репозиторий, с комментарием. Всегда можно вернуться на рабочую версию, если что-то испорчу.
Не дает пост редактировать... выкладываю картинку как обещал @lingvo, > Как я писал тут ранее, у меня тач-панели управления на MQTT сделаны. а картинки не выкладывали? любопытно