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

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

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

  1. lego23
    Регистрация:
    06.12.11
    Сообщения:
    7
    Благодарности:
    0

    lego23

    Участник

    lego23

    Участник

    Регистрация:
    06.12.11
    Сообщения:
    7
    Благодарности:
    0
    Адрес:
    Краснодар
    Подскажите пожалуйста, есть OpenHab2 на RPi c mqtt брокером, есть ардуино с Ethernet шилдом, ардуина периодически публикует показания с датчика температуры, как реализовать чтобы при отключении ардуины, не оставались старые данные в OH, а было видно, что связь потеряна?
     
  2. Andrei81
    Регистрация:
    11.01.11
    Сообщения:
    1.305
    Благодарности:
    1.497

    Andrei81

    Проектирую

    Andrei81

    Проектирую

    Регистрация:
    11.01.11
    Сообщения:
    1.305
    Благодарности:
    1.497
    Адрес:
    Глаголево
    @lego23, установить network binding и слать себе имэйлы как что-то отвалилось и в UI отслеживать
     

    Вложения:

    • Screenshot_2019-07-15-20-23-05.png
  3. kam711
    Регистрация:
    26.04.09
    Сообщения:
    20.747
    Благодарности:
    43.039

    kam711

    Строю дом...

    kam711

    Строю дом...

    Регистрация:
    26.04.09
    Сообщения:
    20.747
    Благодарности:
    43.039
    Адрес:
    Москва
    можно timestamp в показания температуры добавить, но опять же фиксировать предыдущие показания по timestamp из разночтений по времени. Но тогда в общем-то достаточно просто версии показаний
     
  4. TFD
    Регистрация:
    25.02.11
    Сообщения:
    3.306
    Благодарности:
    7.059

    TFD

    Живу здесь

    TFD

    Живу здесь

    Регистрация:
    25.02.11
    Сообщения:
    3.306
    Благодарности:
    7.059
    Адрес:
    Новосибирск
    Это делает брокер - публикует топики LWT при отключении клиента. В LWT обычно пишется "offline".
    Почитайте описание протокола MQTT - там все понятно.
     
  5. kam711
    Регистрация:
    26.04.09
    Сообщения:
    20.747
    Благодарности:
    43.039

    kam711

    Строю дом...

    kam711

    Строю дом...

    Регистрация:
    26.04.09
    Сообщения:
    20.747
    Благодарности:
    43.039
    Адрес:
    Москва
    должна библиотека поддерживать, но есть еще потенциальная возможность клсяков на опросе датчика
     
  6. kirill_snow1
    Регистрация:
    23.06.19
    Сообщения:
    8
    Благодарности:
    1

    kirill_snow1

    Участник

    kirill_snow1

    Участник

    Регистрация:
    23.06.19
    Сообщения:
    8
    Благодарности:
    1
    когда разбирался с телеграм ботом - то по форуму опенхаба - у народа за кордоном все пашет.
    Мне он в логе говорил - таймаут соединения (на той строке где коннект).
    И в итоге решил что смысла в общем-то именно в телеграм-боте мало (ну только полезно что фотку может с камеры прислать сразу) - но в принципе уведомление в приложение тоже вполне норм.

    Так что, у кого то есть несколько работающих камер с openhab?
     
  7. TFD
    Регистрация:
    25.02.11
    Сообщения:
    3.306
    Благодарности:
    7.059

    TFD

    Живу здесь

    TFD

    Живу здесь

    Регистрация:
    25.02.11
    Сообщения:
    3.306
    Благодарности:
    7.059
    Адрес:
    Новосибирск
    Нет, это просто сообщение с флагом retain. Его рассылает брокер после потери соединения с клиентом. Эти сообщения должен поддерживать любой брокер. Библиотеки клиента вообще не при чем.

    Служебные сообщения
    В качестве служебных сообщений используются в основном два типа сообщений

    Birth Message - которое сообщает миру что "я родился и живой"

    и

    Last Will and Testament (LWT) которое сообщает, что "после этого сообщения считать меня мертвым".

    Ну плюс еще используется Keep Alive сообщения, которые сообщают брокеру что "я все еще живой" и стандартно посылаются каждые 60 секунд. Если брокер не получил это сообщение от клиента, то он принудительно пингует его, чтобы выяснить, живой ли тот, и если выясняется что он неживой, то брокер публикует за клиента LWT сообщение, чтобы все узнали что тот скончался.

    Соответственно получение брокером Birth Message от устройства, переводит устройство в понимании брокера в режим ONLINE, а после того как брокер получает от устройства LWT сообщение или когда сам принимает решения что тот скончался проверив устройство на доступность, то переводит статус устройства в режим OFFLINE.
     
  8. kam711
    Регистрация:
    26.04.09
    Сообщения:
    20.747
    Благодарности:
    43.039

    kam711

    Строю дом...

    kam711

    Строю дом...

    Регистрация:
    26.04.09
    Сообщения:
    20.747
    Благодарности:
    43.039
    Адрес:
    Москва
    брокер поддерживает, к этому вопросов нет. Но вот основная mqtt библиотека ардуины pubsubclient поддерживает только QoS 0 и это уж точно не гарантирует доставку сообщений. Если смотреть библиотеки для codesys так там вообще понятия LWT может не быть.
     
  9. TFD
    Регистрация:
    25.02.11
    Сообщения:
    3.306
    Благодарности:
    7.059

    TFD

    Живу здесь

    TFD

    Живу здесь

    Регистрация:
    25.02.11
    Сообщения:
    3.306
    Благодарности:
    7.059
    Адрес:
    Новосибирск
    Еще раз. К QoS это тоже не имеет отношения.

    При коннекте клиент сообщает брокеру, какое сообщение отправить всем, если он скоропостижно отвалится. Это называется Last Will and Testament (LWT) (последняя воля и завещание). Сообщение хранится на брокере. И это сообщение отправляет брокер, когда "понимает", что соединение с этим клиентом утеряно (т.е. перестали приходить регулярные сообщения KeepAlive от него), тем самым извещая всех остальных, что этот клиент (датчик, устройство и т. п.) уже не в сети. Брокер. Вместо устройства.

    Кстати, вот кусок документации от pubsubclient про то, как нужно коннектиться к брокеру, чтобы потом он мог выступать "душеприказчиком" :aga: устройства: https://pubsubclient.knolleary.net/api.html#connect4
     
    Последнее редактирование: 16.07.19
  10. Conrad66
    Регистрация:
    22.03.16
    Сообщения:
    524
    Благодарности:
    131

    Conrad66

    Живу здесь

    Conrad66

    Живу здесь

    Регистрация:
    22.03.16
    Сообщения:
    524
    Благодарности:
    131
    Тут была информация о прикручивание зонта к ОН через нодеред.
    Был бы признателен за код ноде ред по работе с апи зонт.
     
  11. sly2k
    Регистрация:
    22.02.08
    Сообщения:
    529
    Благодарности:
    122

    sly2k

    Живу здесь

    sly2k

    Живу здесь

    Регистрация:
    22.02.08
    Сообщения:
    529
    Благодарности:
    122
    Адрес:
    деревня Мякинино
    Спасибо в курсе. Пока что неделю она крутится на почти ноунэйм карте, хотя первая SD именитого производителя отказала почти сразу. Но для обучения сойдет (основной сетап 1.8 под виндами продолжает крутиться), а потом буду думать о надежном переходнике с SATA на USB, они как я понял тоже слабое звено.

    Вопрос по OH2.4: я довольно быстро подключил его к шлюзу Xiaomi средствами Paper UI (items, things). и возник вопрос, а где эти настройки фиксируются? я ожидал что будут созданы файлы ".items" в этом расшаренном ресурсе: ..\openHAB-share\openhab2-conf\items - но там пусто.
    т. е. интерактивная модель и файлоконфигурационная существуют независимо?
     
  12. Sturgeon
    Регистрация:
    25.10.12
    Сообщения:
    3.294
    Благодарности:
    1.782

    Sturgeon

    Живу здесь

    Sturgeon

    Живу здесь

    Регистрация:
    25.10.12
    Сообщения:
    3.294
    Благодарности:
    1.782
    Адрес:
    Ногинск
    Thing и Item, которые создаются через Paper UI, хранятся в отдельной папке
    /var/lib/openhab2/jsondb/org.eclipse.smarthome.core.items.Items.json, например для айтемов.
    И формат этих файлов отличается от тех, которые создаются в ручном режиме. Вроде как это формат jsondb. Вот несколько ссылок, может будут полезными:

    https://community.openhab.org/t/location-for-items-and-thing-created-on-paperui/64304
    https://community.openhab.org/t/were-are-my-files-please/58230
    https://community.openhab.org/t/storage-of-items-authored-in-paperui/29427
     
  13. 1Fedor
    Регистрация:
    15.05.15
    Сообщения:
    6
    Благодарности:
    0

    1Fedor

    Участник

    1Fedor

    Участник

    Регистрация:
    15.05.15
    Сообщения:
    6
    Благодарности:
    0
    Добрый день! Ребят, пытаюсь настроить голосовое управление без настройки самого Google Assistant. Реально ли! При использовании приложения на андроид от OH нажимаю на микрофон (в правом верхнем углу), говорю команду. Эта команда отображается в логах (events.log) "Item 'VoiceCommand' received command включить". Пытаюсь отловить это в правилах, но ничего не происходит.
    rule "voice"
    when
    Item VoiceCommand received command
    then
    logWarn("myLog", "TEST_VOICE")
    TestButtom. sendCommand (ON)
    end

    Сильно не пинайте, только начал изучать OH2.
     
  14. kam711
    Регистрация:
    26.04.09
    Сообщения:
    20.747
    Благодарности:
    43.039

    kam711

    Строю дом...

    kam711

    Строю дом...

    Регистрация:
    26.04.09
    Сообщения:
    20.747
    Благодарности:
    43.039
    Адрес:
    Москва
    Пару лет назад экспериментировал. Все отлично работало.

    В Items нужно прописать переменную

    String VoiceCommand /*управление голосом*/

    отдельно правило

    Код:
    rule "Voice control"
    when
        Item VoiceCommand received command
    then
        var String command = VoiceCommand.state.toString.toLowerCase
        logInfo("Voice.Rec","VoiceCommand received "+command)
        if (command.contains("режим") && command.contains("день")) {
            myMode.sendCommand(0)
        }
        else if (command.contains("режим")&& command.contains("ночь"))  {
            myMode.sendCommand(2)
        }
        else if (command.contains("гости")&& command.contains("едут"))  {
            myMode.sendCommand(1)
        }
        else if (command.contains("ворота")&& command.contains("открыть"))  {
            Owen_Switch1.sendCommand(ON)
        }
        else if (command.contains("ворота")&& command.contains("закрыть"))  {
            Owen_Switch1.sendCommand(OFF)
        }
    end
    Может еще чего забыл - типа в сервисе включить распознавалку.
     
  15. 1Fedor
    Регистрация:
    15.05.15
    Сообщения:
    6
    Благодарности:
    0

    1Fedor

    Участник

    1Fedor

    Участник

    Регистрация:
    15.05.15
    Сообщения:
    6
    Благодарности:
    0
    Спасибо, прописал переменную и всё заработало.