1 2 3 4 5 6 7 8 9 10 10/10 10,00оценок: 5

OpenHAB - обмен опытом, совместное изучение и т. п

Тема в разделе "Умный дом", создана пользователем Anton66, 15.03.14.

  1. sly2k
    Регистрация:
    22.02.08
    Сообщения:
    529
    Благодарности:
    122

    sly2k

    Живу здесь

    sly2k

    Живу здесь

    Регистрация:
    22.02.08
    Сообщения:
    529
    Благодарности:
    122
    Адрес:
    деревня Мякинино
    Подскажите как лучше организовать передачу от ОН "настойчивого" сообщения о критической ситуации? В идеале в виде звонка на телефон до тех пор, пока не снимут трубку.
    Сейчас я это пока решил передачей обычного оповещения на клиент через sendNotification - с периодичностью 5 минут до тех пор пока не сбросят Switch. Но хотелось бы повысить уровень настойчивости оповещения
     
  2. Smith2007
    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746

    Smith2007

    Живу здесь

    Smith2007

    Живу здесь

    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746
    Адрес:
    Россия
    @sly2k, добавьте в свою систему FreePBX (ip АТС). Ресурсов много не требует но существенно расширяет возможности оповещения, звонков и пр. Можно синтезировать текст ошибки с указанием какие параметры вышли за пределы и "сказать" фактические. Громкая связь (интерком) в доме и много-много другого.
     
  3. opyzhov
    Регистрация:
    03.10.11
    Сообщения:
    542
    Благодарности:
    140

    opyzhov

    Живу здесь

    opyzhov

    Живу здесь

    Регистрация:
    03.10.11
    Сообщения:
    542
    Благодарности:
    140
    Адрес:
    Санкт-Петербург
    @Smith2007, FreePBX
    Если только для оповещения - я бы ставил чистый Asterisk .. особенно на железки с невысокой вычислительной мощностью.

    PS если делать доступ SIP клиентов из интернета - хорошо защититься. у меня постоянный попытки взлома были .. подбор паролей и тд (статический белый IP) пока не перешел на шифрованный канал с TLS
     
  4. Smith2007
    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746

    Smith2007

    Живу здесь

    Smith2007

    Живу здесь

    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746
    Адрес:
    Россия
    @opyzhov, Fail2ban спасает очень хорошо. А freepbx это для тех кому лень разбираться в тонкостях настройки.
     
  5. opyzhov
    Регистрация:
    03.10.11
    Сообщения:
    542
    Благодарности:
    140

    opyzhov

    Живу здесь

    opyzhov

    Живу здесь

    Регистрация:
    03.10.11
    Сообщения:
    542
    Благодарности:
    140
    Адрес:
    Санкт-Петербург
    Бьюсь со своей проблемой по зависанию 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)
    (второй вариант)

    чтобы это значило
     
  6. sly2k
    Регистрация:
    22.02.08
    Сообщения:
    529
    Благодарности:
    122

    sly2k

    Живу здесь

    sly2k

    Живу здесь

    Регистрация:
    22.02.08
    Сообщения:
    529
    Благодарности:
    122
    Адрес:
    деревня Мякинино
    Периодически появляется вот такое предупреждение:

    Нужно с этим бороться?
     
    Последнее редактирование: 11.01.16
  7. Smith2007
    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746

    Smith2007

    Живу здесь

    Smith2007

    Живу здесь

    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746
    Адрес:
    Россия
    @sly2k, у меня тоже такие сообщения появились. Просто забил на них. Все работает без сбоев.
     
  8. opyzhov
    Регистрация:
    03.10.11
    Сообщения:
    542
    Благодарности:
    140

    opyzhov

    Живу здесь

    opyzhov

    Живу здесь

    Регистрация:
    03.10.11
    Сообщения:
    542
    Благодарности:
    140
    Адрес:
    Санкт-Петербург
    Друзья .. нужно концептуальное мнение единомышленников.

    Хочу организовать резервный канал оповещение о тревожных событиях...

    Есть система домашней автоматизации на базе ПЛК (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».. интересно как она такой режим перенесет.
     
    Последнее редактирование: 18.01.16
  9. lingvo
    Регистрация:
    25.11.15
    Сообщения:
    1.416
    Благодарности:
    458

    lingvo

    Живу здесь

    lingvo

    Живу здесь

    Регистрация:
    25.11.15
    Сообщения:
    1.416
    Благодарности:
    458
    Попробовал связать мой OpenHAB на Raspberry с ПЛК Codesys, работающем на том же Raspberry, через Modbus TCP.
    Работает нормально, только проблема в том, что OH опрашивает Modbus шину периодически (я установил на 200мс, но надо бы чаще), и когда он получает ответ, он пишет в event log новое состояние сигналов, привязанных к этому слейву, даже если состояние не изменилось. В общем флудит ненужной инфой. Также из-за этого он флудит и в MQTT биндинге
    Пока не знаю, как с этим бороться - баг (или фича?) известная.
     
  10. opyzhov
    Регистрация:
    03.10.11
    Сообщения:
    542
    Благодарности:
    140

    opyzhov

    Живу здесь

    opyzhov

    Живу здесь

    Регистрация:
    03.10.11
    Сообщения:
    542
    Благодарности:
    140
    Адрес:
    Санкт-Петербург
    Тоже мучался по началу с такой проблемой.
    За уровень логов отвечает файл
    /opt/openhab/configurations/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 лишнее звено.
     
    Последнее редактирование: 25.01.16
  11. opyzhov
    Регистрация:
    03.10.11
    Сообщения:
    542
    Благодарности:
    140

    opyzhov

    Живу здесь

    opyzhov

    Живу здесь

    Регистрация:
    03.10.11
    Сообщения:
    542
    Благодарности:
    140
    Адрес:
    Санкт-Петербург
    Коли уж начал писать пост. выкладываю скрипт для 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 дней .. более старые копии удаляются.
    Код:
    #!/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
     
  12. opyzhov
    Регистрация:
    03.10.11
    Сообщения:
    542
    Благодарности:
    140

    opyzhov

    Живу здесь

    opyzhov

    Живу здесь

    Регистрация:
    03.10.11
    Сообщения:
    542
    Благодарности:
    140
    Адрес:
    Санкт-Петербург
    Сейчас получилось настроить 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.
     
    Последнее редактирование: 25.01.16
  13. Smith2007
    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746

    Smith2007

    Живу здесь

    Smith2007

    Живу здесь

    Регистрация:
    27.05.12
    Сообщения:
    1.265
    Благодарности:
    746
    Адрес:
    Россия
    Вы уверены, что за 200 мс он успевает считать данные?
    Я на более солидной железке увеличил до 300 мс
     
  14. lingvo
    Регистрация:
    25.11.15
    Сообщения:
    1.416
    Благодарности:
    458

    lingvo

    Живу здесь

    lingvo

    Живу здесь

    Регистрация:
    25.11.15
    Сообщения:
    1.416
    Благодарности:
    458
    Когда OH принимает данные с Modbus, он автоматом пишет в топики в MQTT, даже если состояние сигнала не поменялось. А там должна быть логика, как в event log - сигнал изменился - публикуется сообщение. Как я писал тут ранее, у меня тач-панели управления на MQTT сделаны. В общем не нравится мне этот лишний трафик.

    Тю, а чё ему будет пару десятков байт туда-сюда погонять? Я уверен, что он и за 50мс справился бы.
    Может у Вас что-то притормаживает?

    А в чем смысл периодически бекапить конфигурацию OpenHAB? Она ж сама по себе не меняется?
    Я просто засунул ее в SVN, и когда изменения делаю - коммит в репозиторий, с комментарием. Всегда можно вернуться на рабочую версию, если что-то испорчу.
     
    Последнее редактирование: 25.01.16
  15. opyzhov
    Регистрация:
    03.10.11
    Сообщения:
    542
    Благодарности:
    140

    opyzhov

    Живу здесь

    opyzhov

    Живу здесь

    Регистрация:
    03.10.11
    Сообщения:
    542
    Благодарности:
    140
    Адрес:
    Санкт-Петербург
    Не дает пост редактировать...
    выкладываю картинку как обещал
    IMG_0736.PNG
    @lingvo,
    > Как я писал тут ранее, у меня тач-панели управления на MQTT сделаны.
    а картинки не выкладывали? любопытно