Arduino, ESP8266 Lua, Raspberry Pi 2 && OpenHab. Умный дом: азы управления.

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 12 май 2015.

  1. ИгорьК

    ИгорьК Гуру

    Я на Ардуиновском IDE ESP8266 не использую, поэтому отвечу только приблизительно.
    Если не отражаются данные с точкой, то (удивительный вывод) - они или не отправляются с точкой или не принимаются с точкой.
    MqttSpy - наше все. Именно им следует посмотреть что отправляет модуль.
    Именно им можно сформировать отправку данных и посмотреть, идет ли прием.
    Судя по вашему итему - опенхаб должен принимать данные с точкой. Скорее всего дело в библиотеке модуля.
    Вот ее надо и копать.
    Но, повторюсь, с Ардуино IDE дела не имею.
     
  2. Sachapda

    Sachapda Нерд

    И на том спасибо! Данные передаёт с точкой (Mqttspy)! Зимой на LUA перееду, книга уже есть )
    Роберто Иерузалимски 3е издание, пора переезжать) Кому нужно поделюсь, пишите в личку скину ya диск.
    Завтра ведро сниму, буду мозг на место ставить)
     
  3. ИгорьК

    ИгорьК Гуру

    То есть ОпенХаб удаляет то что после точки? На мой взгляд итем у Вас правильно объявлен.
     
  4. Sachapda

    Sachapda Нерд

    Угу, угу! Вот я и сам потерялся, вроде всё так, как оно должно быть, а оно не работает) В итеме менял f1 на f2 не то... Очередная загадка) Будем думать) Погоды на улице не будет, решу))) Просто домашка на даче сделана на esp, Дуньках+w5100, да на старых точках ))) Всё как у богатых)))
     
  5. ИгорьК

    ИгорьК Гуру

    Почти готово к новому топику:
    33333.jpg
    222222.jpg
    11111.jpg
    Nextion рулит!
     
    Sachapda нравится это.
  6. Sachapda

    Sachapda Нерд

    Последнее редактирование: 5 авг 2016
  7. woow

    woow Гик

    Я как всегда скажу что у меня не работает- эта строка:
    mosquitto_sub -t tes
    но я проверяю так:
    Test Mosquitto:
    Terminal window 1:
    mosquitto_sub -d -t hello/world
    Terminal window 2:
    mosquitto_pub -d -t hello/world -m "Greetings from Terminal window 2!"
    Ай ещё вопрос, а какую Java ставить оставить 7 или установить 8?
     
    Последнее редактирование: 5 авг 2016
  8. ИгорьК

    ИгорьК Гуру

    Это погреб. Вентиляция. Вентилятор и заслонки вытяжных труб. Цель - целевая температура в погребе.
    Только... их ещё физически нет. :) следующий проект. Но коль взялся за Nextion - решил сразу программу накидать.
     
  9. ИгорьК

    ИгорьК Гуру

    Восьмую. Об этом в wiki Опенхаб говорится.
     
  10. Sachapda

    Sachapda Нерд

    Сам грешу такими делами) Сначала код и интерфейс, потом железяки навяливаю) Посмотрел видео проNextion в озвуке очень смешного индуса) Загорелся! 4 провода, rx-tx, земля, 5v да ещё и эдитор, интересный TFT! Эх разорюсь! ) Игорь, у вас какая версия? (Size+Resolution)
     
  11. ИгорьК

    ИгорьК Гуру

    Диагональ 3.2. Разрешение 400х240.
    ИМХО, Nextion для домашней автоматизации - это бомба сродни ESP8266 только в своём классе.
    Берите расширенную версию. Там есть RTC. У меня нет её.
     
  12. woow

    woow Гик

    бесполезная штука. Раз уж так то тачскрен без палки ёмкостный а не резистивный, а так я думаю по месту есть монитор компьютерный, а отдалённый вариант андройд девайс, тем более эму есть уже аппликации.
     
  13. ИгорьК

    ИгорьК Гуру

    Здесь все зависит от личных предпочтений. Я люблю опенхаб за рудиментарный интерфейс. Но иногда интерфейс нужен.
    В частности на участке два прожектора с управлением от nooLite. Почему бы их не включать с дисплея.
    Никакой автоматизации их включение не поддается - они работают ситуационно.
    Идея тут была: отражение температуры в парной в комнате отдыха.
    Понятно, что без этого всего можно обойтись. Но иногда - хочется :)

    Тачскрин управляется пальцем отлично.
     
    Последнее редактирование: 5 авг 2016
  14. Sachapda

    Sachapda Нерд

    Разобрался! Я просто затупил! Теперь зарядочка точна!

    Было
    Код (C++):
    client.publish("/myhome/in/voltage",dtostrf(voltage, 0, 0, tempBuffer));
    Стало
    Код (C++):
    client.publish("/myhome/in/voltage",dtostrf(voltage, 0, 1, tempBuffer));
     
  15. dimraz

    dimraz Нуб

    Дополняю...
    Пишем код в опенхаб
    Код (C++):
    Switch    PWM_Koridor    "Свет в коридоре [%B]"    <switch>    { mqtt=">[mybroker:/dom/F_Floor/PWM_koridor/command:command:on:ON],>[mybroker:/dom/F_Floor/PWM_koridor/command:command:off:OFF],<[mybroker:/dom/F_Floor/PWM_koridor/state:state:default]" }
    Добавляем строку в Сайтмэп. На контроллере кода еще нет, захожу на сайт, включаю переключатель и в ответ на сайте загорается лампочка . Получается что ответа нет, а картинка с лампочкой меняется. Есть ли возможность избежать этого? Занимался кто-нибудь этим? Игрался с параметром "avtoupdate" - только хуже, не работает вообще выключатель.
     
    Последнее редактирование: 7 авг 2016
  16. ИгорьК

    ИгорьК Гуру

    С этим можно справиться. Что есть реальный физический выключатель?
    Нужно просто уточнить логику работы.
    1. Относитесь к выключателю (свитч1) не как к индикатору а как "командиру" - он отправил команду.
    2. Исполнительное устройство отправляет информацию о своём состоянии не на этот выключатель а на другой ищем - свитч2.
    3. Делается правило, которое при изменении состояния свитч1 запускает таймер и если свитч2 не изменился - возвращает свитч1 в исходное состояние.

    Ещё вариант, если исполнительное устройство периодически отправляет информацию о своём состоянии. Если оно ушло в даун (событие LWT) - сигнал об этом.
     
    Последнее редактирование: 7 авг 2016
    dimraz нравится это.
  17. dimraz

    dimraz Нуб

    значит с командиром не справиться...:). Придется просто на контакт вывести индикацию. Спасибо за подсказку! Есть физический выключатель и обратная связь через оптрон. Хотел сделать попроще и на одном итеме.
     
    Последнее редактирование: 7 авг 2016
  18. alp69

    alp69 Форумчанин

    Посмотрите в моей теме здесь. Реализовано в железе. Нужный фрагмент кода тоже там выбрать можете.
     
    dimraz нравится это.
  19. ИгорьК

    ИгорьК Гуру

    Итемов жалко? :)
    Вы так и не ответили как конкретно сделан выключатель. На ESP8266? Точнее, исполнительное устройство в состоянии подтверждать приём?
     
  20. woow

    woow Гик

    Пожалуйста дайте совет что не так, если OpenHAB инсталлирую по такому пути:

    Код (Bash):
    sudo mkdir /opt/openhab
    cd /opt/openhab
    sudo wget https://bintray.com/artifact/download/openhab/bin/distribution-1.8.3-runtime.zip
    sudo unzip distribution-1.8.3-runtime.zip
    sudo rm distribution-1.8.3-runtime.zip

    cd addons/
    sudo wget https://bintray.com/artifact/download/openhab/bin/distribution-1.8.3-addons.zip
    sudo unzip distribution-1.8.3-addons.zip
    sudo rm distribution-1.8.3-addons.zip

    cd /opt/openhab
    sudo wget https://bintray.com/artifact/download/openhab/bin/distribution-1.8.3-demo.zip
    sudo unzip distribution-1.8.3-demo.zip
    sudo rm distribution-1.8.3-demo.zip

    sudo chmod +x start.sh
    sudo ./start.sh
    всё работает до рестарта, потом поднять OpenHAB получается только повторения команд:

    Код (Bash):
    cd /opt/openhab
    sudo chmod +x start.sh
    sudo ./start.sh
    По рекомендациям сделал автостарт:
    Verzeichnisse kopieren.
    • Die Script-Datei openhab in das Verzeichnis /usr/bin kopieren
    • Das Autostart-Script openhab.service in /etc/systemd/system kopieren
    Um den Autostart einzurichten, müssen auf dem Raspberry noch folgende Schritte durchgeführt werden:
    1. In das Verzeichnis wechseln in dem das Script openhab liegt / kopiert wird
    Код (Bash):
    cd /usr/bin
    2. Die Dateieigenschaften ändern, damit diese ausgeführt werden kann
    Код (Bash):
    sudo chmod a+x openhab
    3. Die Gruppe und den Besitzer der Datei ändern
    Код (Bash):
    sudo chgrp root openhab
    sudo chown root openhab
    4. Überprüfen der Änderungen
    Код (Bash):
    ls -l
    Die Ausgabe müsste wie folgt aussehen:
    -rwxr-xr-x 1 root root 1757 Apr 16 23:27 openhab
    5. Sind die Schritte 1-4 erfolgt, kann mit folgenden Befehlen openHAB gestartet und beendet werden:
    Код (Bash):
    sudo service openhab start
    gestartet
    Код (Bash):
    sudo service openhab stop
    gestoppt und mit
    Код (Bash):
    sudo service openhab status
    der Status abgefragt werden
    6. Abschließend muss noch das System angewiesen werden, openhab beim booten zu starten
    sudo systemctl enable openhab.service

    Не помогло :(