【树莓派】树莓派使用HomeAssistant连接ESPHome 【Raspberry Raspberry Pi use HomeAssistant to connect ESPHome Author: @kkl
多图警告!请流量党抓紧连上WiFi,捂好钱包,我们,出发!
写在前面
HomeAssistant
是一个开源的智能家居自动化平台,它允许用户通过一个中心化的系统来控制和管理家中的各种智能设备。它的设计理念是为用户提供一个无需依赖特定制造商的解决方案,因此,它可以集成来自不同品牌的智能设备(如Xiaomi),为用户提供一个开放且可定制的智能家居体验。
ESPHome
is a system to control your microcontrollers by simple yet powerful configuration files and control them remotely through Home Automation systems.
HomeAssistant官网:https://www.home-assistant.io ESPHome官网:https://esphome.io
今天咱们使用HomeAssistant
接入ESPHome
,事不宜迟,趁热打铁,我们开始!
环境
硬件:Raspberry Pi 4B
镜像版本:HA-OS
版本 HomeAssistant
HomeAssistant 版本
HomeAssistant
一共推出了4种版本:HA-OS, Docker, Core, Supervised.
优先推荐安装HA-OS
版本官方详细教程戳这里:) ,因为该版本安装简易,同时有Add-on
和Superviser
,拥有加载项商店,可以方便地下载插件!
本篇文章将简述使用树莓派 HomeAssistant 的HA-OS
版本连接ESPHome
。
开始 下载ESPHome插件 So easy!!! Please just follow the pictures below:
添加新的Device
烧录ESPHome固件
生成在线烧录的bin文件:
以下为YAML
文件的模板,此文件将用于设置所有板配置。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 esphome: name: my-esp32s3 friendly name: my-esp32s3 platformio_options: build_flags: -DBOARD_HAS_PSRAM board_build.arduino.memory_type: qio_opi board_build.f_flash: 80000000L board_build.flash_mode: qio esp32: board: esp32-s3-devkitc-1 framework: type: arduino logger: api: encryption: key: "gbDi6S+wV/rr890ytxP1aD+lgdJOk/Wi52Q5RcK1BGc=" ota: - platform: esphome password: "1e7a2bdcdbcac1e989f1890679d09122" wifi: ssid: "your wifi name" password: "your wifi password" ap: ssid: "My-Esp32s3 Fallback Hotspot" password: "MoLTqZUvHwWI"
使用ESP32在线烧录工具:https://web.esphome.io/ ,将bin文件烧录到MCU当中:
烧录成功页面如下:
HomeAssistant连接Device
注意:Device连接的WiFi必须要与HomeAssistant在同一局域网之下!如果路由器WiFi分为2.4G和5G,最好都连接使用2.4G的(2.4G的WiFi对ESP32兼容,5G可能不行,不要一个使用2.4G,一个使用5G!
Plus:如果遇到以下错误,请检查:
HA和Device是否在同一局域网下,检查Device的ip地址是否填写正确; 确保已经在同一局域网下,ip地址无误,可能是网络信号差,连续多点几次提交
就能连接成功。
跟随以下图片分解步骤即可完成 HomeAssistant 连接新的 Device:
…
ESPHome的yaml文件编写(根据不同传感器需求
Binary LED + SPG30 + DHT11 (ESP32S3)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 esphome: name: my-esp32s3 friendly_name: my-esp32s3 esp32: board: esp32-s3-devkitc-1 framework: type: arduino logger: api: encryption: key: "gbDi6S+wV/rr890ytxP1aD+lgdJOk/Wi52Q5RcK1BGc=" ota: - platform: esphome password: "1e7a2bdcdbcac1e989f1890679d09122" wifi: ssid: "HUGO" password: "12345678" ap: ssid: "My-Esp32S3 Fallback Hotspot" password: "LakYDi3jZIKg" i2c: sda: GPIO5 scl: GPIO6 scan: True id: bus_a frequency: 400kHz switch: - platform: gpio pin: GPIO1 name: "Living Room light" captive_portal: sensor: - platform: dht pin: GPIO44 temperature: name: "Temperature" humidity: name: "Humidity" update_interval: 5s model: "DHT11" - platform: sgp30 eco2: name: "Workshop eCO2" accuracy_decimals: 1 tvoc: name: "Workshop TVOC" accuracy_decimals: 1 store_baseline: yes address: 0x58 update_interval: 5s
ESP-Camera (XIAO-ESP32S3)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 esphome: name: my-esp32s3-camera friendly_name: my-esp32s3-camera platformio_options: build_flags: -DBOARD_HAS_PSRAM board_build.arduino.memory_type: qio_opi board_build.f_flash: 80000000L board_build.flash_mode: qio esp32: board: esp32-s3-devkitc-1 framework: type: arduino logger: api: encryption: key: "0VVmbx1JdrIWI8sw+TneEf0oEi0vkQnNLuP3Vl6EvMQ=" ota: - platform: esphome password: "0237fcf68dea46990481fb72466c2cdc" wifi: ssid: "HUGO" password: "12345678" ap: ssid: "My-Esp32S3-Camera" password: "gqgYC1lZTiFD" captive_portal: esp32_camera: id: espcam name: My Camera external_clock: pin: GPIO10 frequency: 20MHz i2c_pins: sda: GPIO40 scl: GPIO39 data_pins: [GPIO15 , GPIO17 , GPIO18 , GPIO16 , GPIO14 , GPIO12 , GPIO11 , GPIO48 ] vsync_pin: GPIO38 href_pin: GPIO47 pixel_clock_pin: GPIO13 resolution: 800x600 esp32_camera_web_server: - port: 8080 mode: stream - port: 8081 mode: snapshot
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 esphome: name: my-esp32c3 friendly_name: my-esp32c3 esp32: board: esp32-c3-devkitm-1 framework: type: arduino logger: api: encryption: key: "giFi9MI6pdcoc+WdXm84dSaRFIbc8cn/TifIG6/V/Js=" ota: - platform: esphome password: "c73e533495a8ca7f3fcc39fd47a3182b" wifi: ssid: "HUGO" password: "12345678" ap: ssid: "My-Esp32C3 Fallback Hotspot" password: "uV72qROO5gCX" captive_portal: light: - platform: neopixelbus type: GRB variant: WS2812 pin: GPIO2 num_leds: 60 name: "RGB_LED"
写在后面
鸣谢: