Home assistant / esphome (делимся примерами и наработками в данной области).

Тема в разделе "Глядите, что я сделал", создана пользователем Securbond, 6 ноя 2020.

  1. ИгорьК

    ИгорьК Гуру

    Очень прошу, объясните внятно этот тезис.
    Вот вам картинка чтобы было легче объяснить. Кстати, включению в тему ну не более двух недель.

    upload_2020-12-12_21-55-26.png
     
    Последнее редактирование: 12 дек 2020
  2. S_E_R_G_I_O

    S_E_R_G_I_O Нерд

    Или нет связи НА с MQTT или у Вас ни одного устройства, которое видится MQTT
    [​IMG]

    То что Вы показали, это дашборд, это всего лишь визуализация, сделайте такой скрин
    Вопрос: как устройство посылает данные в MQTT? Как это выглядит в MQTT Explorer
    Вот пример как устройство АМ43 через ESP32 подает свои сенсоры в MQTT, можете сделать скрин как у Вас
    [​IMG]
    Это пример устройства ам43 (управление жалюзями), которое по блютузу через ESP32, посылает данные сенсоров в топик MQTT, а уже НА читает MQTT и видит устройство и объекты (сенсоры)
    В файле configuration.yaml прописано вот это?
    mqtt:
    broker: core-mosquitto
    discovery: true
    discovery_prefix: homeassistant
    username: ваш логин MQTT Broker
    password: ваш пароль MQTT Broker
     
    Последнее редактирование: 12 дек 2020
  3. S_E_R_G_I_O

    S_E_R_G_I_O Нерд

    Я решил сократить нашу переписку и потому лучше 1 раз увидеть, чем 100 раз ....
    Вот это видео точно поможет Вам разобраться с топиками (можно смотреть с 4 минуты)

     
  4. ИгорьК

    ИгорьК Гуру


    Ну наконец все стало ясно.
     
  5. SergeiL

    SergeiL Оракул Модератор

    В выходные забэкапился, поставил node-red, добавил Алису.
    С node-red раньше не сталкивался, с концепцией умного дома от Яндекса и интеграцией Алисы - тоже.
    Ну я бы не сказал, что это на раз - два. Особенно когда впервые видишь.
    По сути решение с node-red home и node-red-contrib-alice - это работа через еще один облачный сервис.
    То есть голос с колонки (я пока без колонки, с приложение Яндекс разбирался) гонится на сервера Яндекс, там разбирается и далее в виде команд на сервера contrib-alice, а уже от туда - на домашний node-red.
    То есть, второй контрол - уже просто, но на старте - пришлось почитать документацию Яндекса.
     
  6. ИгорьК

    ИгорьК Гуру

    Таки все колонки всех систем так работают, или есть которые делают это без инета? Вроде нет.
     
  7. ИгорьК

    ИгорьК Гуру

    Нынче подключил к НА свой авто. Прикольно.
     
  8. SergeiL

    SergeiL Оракул Модератор

    Что позволяет?
     
  9. SergeiL

    SergeiL Оракул Модератор

    Я имел в виду, что в варианте с node-red и node-red-contrib-alice команды через два облака проходят.
    Яндекс, с Алисой без него не обойтись, и contrib-alice.
    В варианте ТС, как я понимаю, - только Яндекс. Но тут приходится заморачиваться сертификатом, доменным именем и внешнем IP.
     
  10. ИгорьК

    ИгорьК Гуру

    upload_2020-12-15_10-3-38.png
    Что главное - машина завелась из приложения. А это - прямой путь к "Алиса, заведи машину".
     
    SergeiL нравится это.
  11. ИгорьК

    ИгорьК Гуру

    А оно того стоит? Ну включается свет на участке или новогодняя гирлянда через секунду, что это меняет.
     
  12. SergeiL

    SergeiL Оракул Модератор

    Прикольно!
    А родного приложения нет?
    Или это как раз из родного аккаунта и вытаскивается?
     
  13. ИгорьК

    ИгорьК Гуру

    Есть родное и работает отлично. Но... "где-то телефон, сейчас возьму... вот сейчас заведу..." А тут - "Алиса, заведи машину!"
    Установка в НА - элементарно, ввел логин/пароль, что надо захватить и все.

    А ещё просто сделать графики дневного/месячного пробега, средней скорости и расхода топлива. С расходом надо будет поразмышлять.
    Пользы, конечно, никакой, но интересно.
     
    Последнее редактирование: 16 дек 2020
    SergeiL нравится это.
  14. ИгорьК

    ИгорьК Гуру

    Бинарный сенсор (вкл/выкл) через REST, что получает в ответ JSON.

    Задача. Забрать с сервера данные в формате JSON и вытащить из них то что необходимо.

    Данные забираются запросом:
    Код (Bash):
    http://user:password@192.168.55.12:8080/json.htm?type=devices&rid=4
    В ответ приходит:
    Код (Javascript):
    {
        "ActTime" : 1608041887,
        "AstrTwilightEnd" : "18:17",
        "AstrTwilightStart" : "06:33",
        "CivTwilightEnd" : "16:43",
        "CivTwilightStart" : "08:07",
        "DayLength" : "07:03",
        "NautTwilightEnd" : "17:32",
        "NautTwilightStart" : "07:18",
        "ServerTime" : "2020-12-15 17:18:07",
        "SunAtSouth" : "12:25",
        "Sunrise" : "08:53",
        "Sunset" : "15:56",
        "app_version" : "2020.2 (build 12279)",
        "result" :
        [
            {
                "AddjMulti" : 1.0,
                "AddjMulti2" : 1.0,
                "AddjValue" : 0.0,
                "AddjValue2" : 0.0,
                "BatteryLevel" : 255,
                "CustomImage" : 0,
                "Data" : "Off",
                "Description" : "",
                "DimmerType" : "none",
                "Favorite" : 1,
                "HardwareID" : 2,
                "HardwareName" : "MyDummy",
                "HardwareType" : "Dummy (Does nothing, use for virtual switches only)",
                "HardwareTypeVal" : 15,
                "HaveDimmer" : true,
                "HaveGroupCmd" : true,
                "HaveTimeout" : false,
                "ID" : "00014054",
                "Image" : "Light",
                "IsSubDevice" : false,
                "LastUpdate" : "2020-12-15 17:17:03",
                "Level" : 0,
                "LevelInt" : 0,
                "MaxDimLevel" : 100,
                "Name" : "\u0417\u0435\u043b\u0435\u043d\u044b\u0439 \u041e\u0433\u043e\u043d\u0435\u043a",
                "Notifications" : "false",
                "PlanID" : "0",
                "PlanIDs" :
                [
                    0
                ],
                "Protected" : false,
                "ShowNotifications" : true,
                "SignalLevel" : "-",
                "Status" : "Off",
                "StrParam1" : "aHR0cDovL0lnb3I6Nzc0MDc3NDBAMTkyLjE2OC4yNy4xMDo4MDgwL2pzb24uaHRtP3R5cGU9Y29tbWFuZCZwYXJhbT1zd2l0Y2hsaWdodCZpZHg9MjYmc3dpdGNoY21kPU9u",
                "StrParam2" : "",
                "SubType" : "Switch",
                "SwitchType" : "On/Off",
                "SwitchTypeVal" : 0,
                "Timers" : "false",
                "Type" : "Light/Switch",
                "TypeImg" : "lightbulb",
                "Unit" : 1,
                "Used" : 1,
                "UsedByCamera" : false,
                "XOffset" : "0",
                "YOffset" : "0",
                "idx" : "4"
            }
        ],
        "status" : "OK",
        "title" : "Devices"
    }

    Добыть надо это:
    upload_2020-12-16_12-46-36.png

    Решение:
    Код (Bash):
    binary_sensor:
      - platform: rest
        name: "Зеленый"
        resource: http://user:password@192.168.55.12:8080/json.htm?type=devices&rid=4
        device_class: light
        value_template: '{{ value_json.result[0].Status }}'
     
    Итог:
    upload_2020-12-16_12-52-27.png
     
    Последнее редактирование: 16 дек 2020
  15. ИгорьК

    ИгорьК Гуру

    Алиса получает команду и выкидывает ее на MQTT брокер с участием Node Red.
    Попробую обобщить.

    1. Устанавливаем Node Red, если еще не установлен. Ссылок не привожу, инструкций полно.
    2. Жмем.
    upload_2020-12-21_15-40-59.png

    3. Устанавливаем плагин
    upload_2020-12-21_15-43-21.png

    4. Переходим по ссылке https://dialogs.yandex.ru/store/skills/d4f5cc21-nodered-home?action=donation и благодарим автора:
    upload_2020-12-21_15-51-41.png
    5. Вытаскиваем блок:
    upload_2020-12-21_15-53-8.png

    6. Бьем по нему мышью и жмем сюда:
    upload_2020-12-21_15-54-20.png

    7. Потом сюда:
    upload_2020-12-21_15-56-41.png

    8. Регистрируемся:

    upload_2020-12-21_15-57-55.png

    9. Получив регистрацию, заполняем, например, так:
    upload_2020-12-21_16-41-37.png
    10. Закрываем и видим:
    upload_2020-12-21_16-5-36.png
     
    Последнее редактирование: 21 дек 2020
    KindMan, Andrey12 и SergeiL нравится это.
  16. ИгорьК

    ИгорьК Гуру

    Продолжение.
    11. Собираем такую картинку:
    upload_2020-12-21_16-9-54.png

    Номер 1 раскрывается так:
    upload_2020-12-21_16-11-48.png
    Номер 2 определяет что следует отправить на MQTT брокер и выглядит приблизительно так:
    upload_2020-12-21_16-13-51.png
    У меня на самом деле по-другому.

    12. Делаем так и видим "Online":
    upload_2020-12-21_16-18-22.png
    13. Можно добавить, если не увидели зеленого огонька:
    upload_2020-12-21_16-21-6.png

    14. Идете в свои устройства на Яндексе: https://yandex.ru/quasar

    upload_2020-12-21_16-23-54.png
    15. Жать:
    upload_2020-12-21_16-25-15.png

    16. Выбрать:
    upload_2020-12-21_16-26-3.png

    17. Оно:
    upload_2020-12-21_16-26-58.png

    18...

    Вот здесь надо соединить два аккаунта Яндекс Станции и этого плагина. Я это уже сделал и показать не могу, но там все просто, видимо.

    19. Обновляем список устройств, будет огромная клавиша, увидите. Наше устройство найдено. Жмем "Далее":
    upload_2020-12-21_16-29-16.png

    Видим:
    ....
     
    SergeiL нравится это.
  17. ИгорьК

    ИгорьК Гуру

    Видим, у меня уже там есть устройства:

    upload_2020-12-21_16-32-10.png

    Все:
    upload_2020-12-21_16-38-53.png
    Даем команду Алисе голосом: "Алиса, включи свет в коридоре":

    А в Node Red видим:
    upload_2020-12-21_16-47-48.png

    (Это то что у меня отправляется на брокер)

    Последнее. Присобачиваем MQTT брокер.

    upload_2020-12-21_17-3-14.png
     

    Вложения:

    Последнее редактирование: 21 дек 2020
    SergeiL нравится это.
  18. SergeiL

    SergeiL Оракул Модератор

    Делал так же, но без опыта с node-red. :( Долго провозился разбираясь именно с Алисой в node-red.
    Спасибо, за пошаговую инструкцию - людям будет легче.
    Пока замечено - переставали отвечать устройства в Яндексе.
    Только что проверил - обнаружил эту проблему во второй раз. До этого давно не проверял.
    На голосовую команду отвечает - "Устройство недоступно".
    На попытку переключить состояние в устройствах Яндекса - аналогично.
    Причем открываю node-red - в дебаге вижу, что mqtt сообщения выводятся в дебаг, значит не node-red отвис.
    Попробовал обновить устройства в Яндексе (с шага 14) - не помогло.
    Переразвернул в nodered - все начинало работать.
    Не было такого?
     
  19. ИгорьК

    ИгорьК Гуру

    Да, надо перегрузить Node Red.

    Писали об этой проблеме и ее решении, но тогда... у меня и в мыслях не было этой темой заниматься а сейчас не найду.
    Найдется. Точно помню что решается.

    Но это не проблема NodeRed, это что-то в установках сети надо подшаманить.
     
  20. SergeyTver

    SergeyTver Нерд

    Может кто поможет с конфигом esphome для обычного двухклавишного выключателя, чтобы была возможность включать/отключать обычным способом (физическим выключателем на стене) и в Home Assistant. Подключил релюху к Nodemcu v3 esp8266 с прошивкой ESPHOME набросал в конфиге вот это - в HA кнопка работает и релюха щелкает: Насколько я понимаю нужно прописать замыкание двух gpio на gnd и по этим событиям вкл или откл living1 living2. Я не программист, а разобраться хочется - буду признателен за помощь.
    switch:
    - platform: gpio
    name: "living room 1"
    pin: GPIO12
    id: 'living1'