Бюджетный шлюз ESPHome на базе ESP32

12 сентября 2019, 13:22
С установкой некоторых устройств  у меня появилась проблема, которую необходимо решить. Суть проблемы в том, что: 
  1. Малина, с установленным HomeAsisstant, находится далеко от датчиков mi Flora, которые стоят на балконе (4 стены мешают прохождению сигнала).
  2. В HomeBridge одновременно не работало два плагина homebridge-mi-flower-care и cmdSwitch2, оба плагина управляются с помощью Bluetooth.
Если вторую проблему как-то можно побороть, то первую я решить никак не смог.

Оборудование

  1. ESP-32S Wi-Fi Беспроводной Bluetooth.
  2. Обычный блок питания с проводом microUSB (подойдет от любого старого телефона).

Как установить ESPHome Dashboard, я рассказывать не стану, на портале об этом имеется статья от Николай, он все прекрасно описал. Так что перейду к самой сути. ESPHome Dashboard у меня стоит прямо в HomeAssistant, у кого нет, заходим http://ip малины:6052/

Создаем новый проект: нажимаем на "+" в верхнем правом углу, далее всплывает окно, в котором пишем название проекта, вторым пунктом выбираем свой ESP-32S (у меня nodemcu-32s), потом все просто - вводим логин и пароль от WiFi и submit.

1600x_image.png?1566331630
1600x_image.png?1566331630
1600x_image.png?1566331630
1600x_image.png?1566331630
1600x_image.png?1566331631
1600x_image.png?1566331631

Так у нас появился проект. В списке находим его, после чего заходим "изменить". Тут у нас первоначальные настройки, надо дополнить нашими датчиками. Тут есть все необходимое.

Главное - необходимо включить Bluetooth трекер и интервал сканирования. 

esp32_ble_tracker:
  scan_interval: 300s

Теперь мы можем добавить наши датчики xiaomi (пример mi flora).

sensor:
  - platform: xiaomi_miflora
    mac_address: XX:XX:XX:XX:XX:XX
    temperature:
      name: "Xiaomi MiFlora Temperature"
    moisture:
      name: "Xiaomi MiFlora Moisture"
    illuminance:
      name: "Xiaomi MiFlora Illuminance"
    conductivity:
      name: "Xiaomi MiFlora Soil Conductivity"
    battery_level:
      name: "Xiaomi MiFlora Battery Level"

  • mac_address:  Мак адрес устройства 
  • temperature: 
  •   name: "Имя сенсора температуры" 
  • moisture: 
  •   name: "Имя сенсора Влажность
  • illuminance: 
  •  name: "Имя сенсора Освещенность
  • conductivity: 
  •   name: "Имя сенсора Плодородность почвы"

Есть сенсор "Уровень заряда батареи", но он не работает.

Какое количество устройств можно подключить к шлюзу? Я не смогу ответить, так как не нашел никакой информации в сети. Я использую два, и все прекрасно работает.

После того, как проект готов, мы должны его проверить, нажав VALIDATE. Если палец вверх, то все готово. Закрываем окно и переходим к загрузке прошивки на устройство.

Для начала подключаем нашу плату к малине по microUSB, зажимаем кнопку boot и однократно нажимаем cn, после чего отпускаем boot, наша плата переведена в режим программирования.

В ESPHome Dashboard выбираем наш usb в верхнем правом углу и загружаем прошивку с помощью кнопки UPLOAD.

После загрузки прошивки переносим поближе к Дендрарию и подальше от малины, то есть на место.

HomeAssistant

Заходим в настройки -> интеграции, видим наш HUB, соглашаемся со всеми условиями. После чего датчики (mi Flora и температурный) появятся в нашей экосистеме.

Все в ESP32 входит в притирку, по воздуху прошить не получится (У меня не получилось), удалять и добавлять датчики во время работы по воздуху - это не проблема. 

Тут может возникнуть проблема "host": "ip устройства". Его можно сделать статическим. Заходим в ESPHome Dashboard, редактируем файл проекта и обновляем по воздуху.

 manual_ip:
  static_ip: 192.168.0.123
  geteway: 192.168.0.1
  subnet: 255.255.255.0
  
P.S. Спасибо Николаю за помощь с Docker. 

Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. (meta11ist87)
    (meta11ist87) 6 дней назад

    Можно ли с помощью такого шлюза мониторить наличие айфона дома? 

    • Илья Яшин (yshinig)
      Илья Яшин (yshinig) отредактировано 6 дней назад
      binary_sensor:
        - platform: ble_presence
          mac_address: AC:37:43:77:5F:4C
          name: "ESP32 BLE Tracker Google Home Mini"
      
      Попробуй добавить!
      
  2. Николай Васильчук (anonym.tsk)

    > Все в ESP32 входит в притирку, по воздуху прошить не получится (У меня не получилось)

    Напиши, что не получилось. Попробую помочь. В ESP32 полно места и обновляться по воздуху она должна без проблем.


  3. (Brain)
    (Brain) 6 дней назад

    Цитата : 

    " Какое количество устройств можно подключить к шлюзу? Я не смогу ответить, так как не нашел никакой информации в сети. Я использую два, и все прекрасно работает. "

    Много.  ESPHome просто прослушивает пакеты. 

    • Илья Яшин (yshinig)
      Илья Яшин (yshinig) 6 дней назад

      После какого количества начнет тормозить??

      • (Brain)
        (Brain) 6 дней назад

        Такая информация может быть только у производителей, после лабораторных нагрузочных испытаний. Нам, обывателям, сложно будет повесить сотни датчиков, чтобы перегрузить. Да и то, при  паре сотен датчиков можно будет рулить интервалом и очередностью передачи данных (пакетов). 

К списку статей

Похожие статьи

04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
02 ноября 2018, 12:14
Кнопка звонка с уведомлениями в HomeKit
15 октября 2018, 09:05
Прошивка для Sonoff c нативным HomeKit
15 ноября 2018, 09:42
Способы автоматизации механических ворот
27 октября 2018, 12:20
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
01 октября 2018, 07:43
Нативный HomeKit на ESP8266
24 августа 2018, 12:18
Пошаговая установка HomeAssistant
15 июня 2018, 12:13
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
27 августа 2018, 10:14
Интегрируем ХА в HomeKit
02 октября 2018, 18:41
Установка SDK для компиляции прошивок под HomeKit