Для реализации нам понадобится:
Xiaomi градусник: http://ali.pub/58qrm4
ESP32: http://ali.pub/5e1frn
или M5stick: http://alli.pub/5q8df4
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
В одной из прошлых статей я показывал как добавить замечательный градусник Xiaomi в систему умного дома Home Assistant. Статья:
Подключение датчика Xiaomi LYWSD03MMC с стоковой прошивкой к Home Assistant.
Там-же я показывал как прошить градусник, чтоб к примеру уменьшить время обновления датчика. Дело в том, что на стоковой прошивке показания отправляются где-то раз в 5 минут. На кастомной я сделал один раз в минуту. Спустя 8 месяцев использования датчиков, выяснилось почему было такое время (5 минут). У меня было 3 датчика. Один я прошил под кастомную прошивку. А 2 оставил с стоковой. Так вот спустя 8 месяцев градусники под стоковой прошивкой имели заряд батареи 100%. А вот в кастомной осталось 60%.
По этому подумайте для чего вы увеличиваете время опроса. Если использовать просто как комнатный термометр, то стоковой Вам за глаза. Да еще и прослужит гораздо дольше.
Так-же в той статье я показывал как добавить термометр в Home Assistant установленный на Raspberry pi 4. Это было Важно. Так-как в raspberry pi 4 есть встроенный блютуз. И мы его использовали для синхронизации датчиков. Так как датчики работают по bluetooth.
После того как я выложил статью и видео в сеть с данным примером релизации. Некоторые люди писали мне, что мол у них не получается реализовать данный способ, так как на их сервере нет блютуза. Один из таких людей ипользовал Home Assistant установленный на Synology.
И вот для таких вот серверов с Home Assistant на которых нет блютуза. Этот способ и описываю.
Для реализации берем ESP32. (В видео я использую M5stick он тоже на esp32. Но не важно какая плата у Вас будет).
Естественно у Вас должен быть установлен на сервере Home assistant или где-то еще ESPHome. Как его установить на сервер HA описано и показано тут:
Знакомство с ESPHome. Настройка ds18b20 на esp8266. Интеграция ESPHome в Home Assistant.
Едем дальше. Создаем новое устройство. Добавляем как обычно имя устройства, выбираем плату которую используем. Вводит SSID и пароль от wi-fi сети.
После того как создали устройство. Открываем его в режиме редактирования. И вводим туда следующее:
esphome:
name: livingroom
platform: ESP32
board: esp32doit-devkit-v1
wifi:
ssid: "MyWifiName"
password: "MyWifiPassword"
# specify address ip to use
use_address: "192.168.1.20"
# Enable logging
logger:
# Enable Home Assistant API
api:
# Add webserver on port 80
web_server:
port: 80
# Enable update Over-The-Air
ota:
# Enable Bluetooth scanning for this ESP32
esp32_ble_tracker:
sensor:
- platform: xiaomi_lywsd03mmc
mac_address: XX:XX:XX:XX:XX:XX
bindkey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
temperature:
name: "LYWSD03MMC Temperature"
humidity:
name: "LYWSD03MMC Humidity"
battery_level:
name: "LYWSD03MMC Battery Level"
# Show the status of ESP32
binary_sensor:
- platform: status
name: "Living Room Status"
Некоторые значения из этого у Вас уже будут созданы. По этому сверьте и добавьте только то, чего не достает.
После этого сохраняем и заливаем прошивку в ESP32.
После заливки у нас появится устройство вот с таким значком:
И если мы по этому значку нажмем, то перейдем в веб интерфейс ESP32. Где увидим табличку с показаниями от датчика, Лог устройства и там будет возможность прошить еспшку с помощью .bin файла. Выглядит это все вот так:
Ну а как добавить новую интеграцию с этим устройством в Home Assistant, также описано в статье которая указана выше. в “Знакомстве с ESPHome”.
Так-же на официальном сайте ESPHome хорошо описаны возможности платформы. И там же описаны и другие устройства Xiaomi подключающиеся по Bluetooth. https://esphome.io/components/sensor/xiaomi_ble.html
Ну и по традиции все описанное здесь, можно увидеть в видео: