Unit Watering 组件用于读取电容式土壤湿度数据,并提供灌溉输出控制。
| 项目 | 信息 |
|---|---|
| 产品名称 | Unit Watering |
| SKU | U101 |
| 主要功能 | 土壤湿度检测和水泵控制 |
| 通信接口 | ADC、GPIO |
| ESPHome 组件 | adc、template、gpio |
| ESPHome 版本要求 | / |
Unit Watering 使用 ESPHome 官方 ADC 传感器 读取土壤湿度探头电压,并使用 GPIO Switch 控制水泵。需要显示湿度等级时,可通过 Template 传感器 或 Template 文本传感器 换算 ADC 读数。
电容式土壤湿度探头输出模拟电压,ADC 引脚需要根据所用主控配置:
sensor:
- platform: adc
pin: GPIOXX
name: "Soil Sensor Voltage"
update_interval: 10s 配置水泵开关:
switch:
- platform: gpio
pin: GPIOXX
name: "Water pump" 连接 Home Assistant 后,可以通过对应的开关实体控制水泵。
template 传感器可以根据实际标定结果将 ADC 读数换算为土壤湿润程度;阈值会受到供电电压、主控 ADC 和土壤环境影响,应以实际测量结果为准。
sensor:
- platform: adc
pin: GPIOXX
id: voltage
name: "Voltage"
attenuation: auto
update_interval: 10s
- platform: template
id: adc_reading
name: "ADC Reading"
lambda: |-
return roundf( id(voltage).state * 1000.0f );
update_interval: 10s
text_sensor:
- platform: template
name: "Soil Moisture"
icon: "mdi:water-percent"
lambda: |-
const int ADC_DRY = 1550; // Dry threshold
const int ADC_WET = 1450; // Wet threshold
if ( id(adc_reading).state >= ADC_DRY) {
return {"Dry"};
} else if ( id(adc_reading).state >= ADC_WET) {
return {"Wet"};
} else {
return {"Saturated"};
}
update_interval: 10s
switch:
- platform: gpio
pin: GPIOXX
id: water_pump
name: "Water pump"
icon: "mdi:water-pump"
restore_mode: RESTORE_DEFAULT_OFF完成配置后,您可以在 Home Assistant 中查看传感器数据: