ESPHome Idasen Desk Controller 使用教程
项目介绍
ESPHome Idasen Desk Controller 是一个用于控制 Ikea Idasen 桌子的开源项目。该项目通过 ESPHome 和 ESP32 设备创建了一个蓝牙桥接器,使得 Idasen 桌子可以与 Home Assistant 集成。该项目支持使用 cover 集成或 Linak Desk Card 来控制桌子,Linak Desk Card 可在 Home Assistant 的 HACS 中获取。
项目快速启动
安装依赖
该项目需要 ESP32 设备和 ESPHome 2021.10.0 或更高版本。您可以通过 ESPHome 的外部组件功能来安装此组件:
external_components:
- source: github://j5lien/esphome-idasen-desk-controller@v4.0.0
配置 BLE 客户端
首先,您需要在 ESPHome 中配置 BLE 客户端。请参考以下示例:
esp32_ble_tracker:
ble_client:
- mac_address: "00:00:00:00:00:00" # 替换为桌子的 MAC 地址
完整配置示例
以下是一个完整的配置示例,包括 BLE 客户端和传感器配置:
esphome:
name: idasen_desk
platform: ESP32
board: esp32dev
external_components:
- source: github://j5lien/esphome-idasen-desk-controller@v4.0.0
esp32_ble_tracker:
ble_client:
- mac_address: "00:00:00:00:00:00" # 替换为桌子的 MAC 地址
sensor:
- platform: ble_client
type: characteristic
ble_client_id: idasen_desk
id: desk_height
name: "Desk Height"
应用案例和最佳实践
案例一:远程控制桌子高度
通过 Home Assistant 的自动化功能,您可以实现远程控制桌子的高度。例如,设置一个自动化,当您离开家时,桌子自动降低到最低高度。
automation:
- alias: "Lower Desk When Leaving Home"
trigger:
- platform: state
entity_id: device_tracker.your_device
from: "home"
to: "not_home"
action:
- service: cover.set_cover_position
data:
entity_id: cover.idasen_desk
position: 0
案例二:监测桌子使用时间
通过监测桌子的高度变化,您可以计算出桌子的使用时间,并设置提醒,以鼓励定期站立工作。
sensor:
- platform: template
name: "Desk Usage Time"
id: desk_usage_time
lambda: |-
if (id(desk_height).state > 70) {
return id(desk_usage_time).state + 1;
} else {
return id(desk_usage_time).state;
}
典型生态项目
Home Assistant
Home Assistant 是一个开源的家庭自动化平台,可以与 ESPHome 集成,实现对 Idasen 桌子的全面控制和管理。
HACS
HACS (Home Assistant Community Store) 是一个 Home Assistant 的扩展库,提供了 Linak Desk Card 等社区开发的组件,增强了 Home Assistant 的功能。
ESPHome
ESPHome 是一个用于构建和控制 ESP8266/ESP32 设备的平台,通过简单的 YAML 配置文件,可以实现对设备的自动化控制。
通过这些生态项目的结合使用,您可以构建一个完整的家庭自动化系统,实现对 Idasen 桌子的智能控制和管理。