• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Одноплатные ПК
      • Orange pi
      • Raspberry pi
        • Raspberry pi pico
        • Raspberry pi server
        • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • Умный дом
    • Home Assistant
      • Автоматизации
    • Tuya
    • Bluetooth
    • ESPHome
    • Frigate
    • Telegram
    • Яндекс
  • ЧПУ
  • 3d печать
  • Об авторе

Знакомство с ESPHome. Настройка ds18b20 на esp8266. Интеграция ESPHome в Home Assistant.

14 апреля, 2021

 

В этом примере используются:

Raspberry pi: http://ali.pub/58qrm4

esp8266: http://ali.pub/3dpoub

ds18b20: http://alli.pub/5pka1o

Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.

 

ESPHome  – это система для управления вашим ESP8266 / ESP32 с помощью простых, но мощных файлов конфигурации и удаленного управления ими через системы домашней автоматизации.

Основное преимущество ESPHome от просто написания кода. Это то, что ESPHome заточен работать как умный дом и у него существует интеграция с Home Assistant. По этому разработка очень сильно упрощается. И очень просто добавить любой датчик с помощью ESPHome и контроллера esp в Home Assistant.

В этой статье покажу Вариант установки ESPHome непосредственно на сервер Home Assistant. И с него прошивать будем микроконтроллер ESP.

Чтоб установить ESPHome в Home Assistant необходимо зайти в Supervisor далее Add-ONs и там найти ESPHome и установить его.

После установки, включим ползунок “Показывать на боковой панели”

Теперь зайдем в ESPHome и там увидим пустое поле. И только значек “+” в правом нижнем углу.

Нажав его мы начнем создавать устройство. Создание устройства состоит из 5 пунктов:

Первый пункт – это приветствие

Второй пункт – это имя нашей ноды которую мы создаем выполняя 5  этих пунктов.

Третий пункт – это выбор устройства которое мы будем прошивать.

 

Четвертый пункт – тут указываются SSID и Пароль от wifi сети. И также устанавливается пароль на прошивку по воздуху OTA. ESPHome сразу поддерживает прошивку по воздуху. После того как установим первый раз его.

Ну и пятый пункт – где мы просто соглашаемся и нажимаем готово.

Итак устройство создано. И если мы нажмем теперь edit на нем. То попадем в окно где можно писать конфиг.

А писать для примера мы будем код, для работы с датчиком температуры от компании dallas. Это ds18b20.

Для этого открываем вкладку edit и видим следующее:

Эти параметры создались автоматически на основе тех данных которые мы ввели при создании данной ноды.

Чтоб настроить датчик ds18b20. Ниже нужно дописать следующее:

dallas:
pin: D4
update_interval: 360s

где D4 это пин к которому подключается датчик. И загружаем получившийся код подключив контроллер к серверу Home Assistant. Выбрав в верхнем углу ком порт к которому подключен микроконтроллер. И нажать кнопку UPLOAD.

После этого откроется окно консоли и начнет загружаться программа с помощью PlatformIO.

После окончания загрузки у нас в консоли произойдет подключение к WI-fi сети которую мы указали. В случае успешного подключения к сети. Начнется опрос датчика ds18b20 и покажется в консоли его адрес. Этот адрес нужно скопировать и сохранить пока.

Ну а теперь дописываем код следующим образом:

===========================================================


esphome:
  name: temperature_test
  platform: ESP8266
  board: nodemcuv2

wifi:
  ssid: "test"
  password: "test"

# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
  ssid: "Temperature Test"
  password: "nTCpBwKGatQw"

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:
  password: "test"
  
ota:
  password: "test"

#D4 - это пин к которому подключен датчик. update_interval: задается в секундах. Время через которое будет опрашиваться датчик.
dallas:
  pin: D4
  update_interval: 10s
  
# address: это адрес который получается при сканировании датчика. Его нужно копировать из консоли.  
sensor:
 - platform: dallas
   name: "temperature_test"
   address: "0xA104166427CCFF28"

==================================================================

А так будет выглядеть код с Выводом значений температуры на дисплей m5stack:


spi:
  clk_pin: 18
  mosi_pin: 23
  miso_pin: 19

#D4 - это пин к которому подключен датчик. update_interval: задается в секундах. Время через которое будет опрашиваться датчик.
dallas:
  pin: 26
  update_interval: 10s
  
# address: это адрес который получается при сканировании датчика. Его нужно копировать из консоли.  
sensor:
 - platform: dallas
   name: "temperature_ds18b20"
   id: temperature_ds18b20
   address: "0xA104166427CCFF28"
   
font:
  - file: "fonts/Roboto-Medium.ttf"
    id: font_roboto_medium22
    size: 22
color:
  - id: RED
    red: 100%
    green: 0%
    blue: 0%
  - id: BLUE
    red: 0%
    green: 0%
    blue: 100%
  - id: WHITE
    red: 100%
    green: 100%
    blue: 100%
      
display:
  - platform: ili9341
    id: m5stack_display
    model: M5Stack
    cs_pin: 14
    dc_pin: 27
    led_pin: 32
    reset_pin: 33
    rotation: 0
    lambda: |-
      it.rectangle(0,  0, it.get_width(), it.get_height(), WHITE);
      it.rectangle(0, 22, it.get_width(), it.get_height(), WHITE);   // header bar
      it.print(it.get_width() / 2, 11, id(font_roboto_medium22), WHITE, TextAlign::CENTER, "DS18b20");
      it.print(11,  33, id(font_roboto_medium22), WHITE, TextAlign::LEFT, "Temperature");
      it.printf(it.get_width() - 11,  33, id(font_roboto_medium22), WHITE, TextAlign::RIGHT, "%.1f ", id(temperature_ds18b20).state);

Все. После этого сохраняем конфиг и загружаем в контроллер. Теперь можно выбрать даже метод OTA. ESPHome сам поймет какой адрес у устройства и прошьет его по воздуху.

На этом настройка устройства закончена. Теперь давайте его добавим в Home Assistant.

Для этого перейдем в Настройки -> Интеграции -> найдем интеграцию ESPHome.

Здесь у нас запросит пароль. Пароль нужно вводить тот который вы указали в конфиге созданной ноды в блоке Api 

После этого создастся новый сенсор с именем sensor.”имя которое указали в блоке sensor при создании ноды”

На этом все. Интеграция в Home Assistant закончена.

 

Все данные шаги я проделал в видео ниже. Если что-то непонятно в статье, то советую посмотреть его:

Primary Sidebar

Поиск

Новые записи

  • Выводим уведомления из умного дома Home Assistant на Android TV с помощью программы TvOverlay.
  • Автоматизация оповещения о надвигающимся дожде в Home Assistant
  • Автоматизация перезагрузки устройства по команде Ping.
  • Разблокирование и добавление шлюза Xiaomi gateway 3 в Home Assistant для управления Bluetooth устройствами из экосистемы Xiaomi Home (mihome)
  • Интеграция для локального управления (без интернета) ик пультом Tuya работающим по wifi из Home Assistant

Официальный YouTube Канал M5Stack:

Подписывайтесь на Телеграм канал

https://t.me/ypavla

Подписаться на YouTube!

Secondary Sidebar




Подписывайтесь на Telegram Канал!

У Павла!

Footer

Copyright_У Павла! © 2025 ·