Skip to content

Sensors

Add sensors to your BTHome configuration to broadcast their values:

sensor:
- platform: bme280_i2c
temperature:
id: my_temperature
name: "Temperature"
humidity:
id: my_humidity
name: "Humidity"
bthome:
sensors:
- type: temperature
id: my_temperature
- type: humidity
id: my_humidity
sensor:
- platform: bme280_i2c
address: 0x76
temperature:
id: bme_temp
name: "Temperature"
humidity:
id: bme_humidity
name: "Humidity"
pressure:
id: bme_pressure
name: "Pressure"
update_interval: 30s
bthome:
sensors:
- type: temperature
id: bme_temp
- type: humidity
id: bme_humidity
- type: pressure
id: bme_pressure
sensor:
- platform: adc
pin: GPIO34
id: battery_voltage
name: "Battery Voltage"
update_interval: 60s
filters:
- multiply: 2.0 # If using voltage divider
- platform: template
id: battery_percent
name: "Battery"
unit_of_measurement: "%"
lambda: |-
float voltage = id(battery_voltage).state;
float percent = (voltage - 3.0) / (4.2 - 3.0) * 100.0;
return clamp(percent, 0.0f, 100.0f);
update_interval: 60s
bthome:
sensors:
- type: battery
id: battery_percent
sensor:
- platform: bh1750
name: "Illuminance"
id: light_level
address: 0x23
update_interval: 30s
bthome:
sensors:
- type: illuminance
id: light_level
sensor:
- platform: scd4x
co2:
id: co2_level
name: "CO2"
temperature:
id: scd_temp
name: "Temperature"
humidity:
id: scd_humidity
name: "Humidity"
bthome:
sensors:
- type: co2
id: co2_level
- type: temperature
id: scd_temp
- type: humidity
id: scd_humidity
sensor:
- platform: hlw8012
voltage:
id: mains_voltage
name: "Voltage"
current:
id: mains_current
name: "Current"
power:
id: mains_power
name: "Power"
bthome:
sensors:
- type: voltage
id: mains_voltage
- type: current
id: mains_current
- type: power
id: mains_power

For sensors that need to report changes quickly:

bthome:
sensors:
- type: temperature
id: my_temperature
advertise_immediately: true # Broadcast on every change