I have some BLE climate sensors which use their mac address by default. Instead of changing the sensor name which I would have to do in the event of a SNAFU or setup change, I currently have a ridiculous number of lines doing this for every device. [ I also check to see if a remote Pi Zero is active which is closer to the devices and use that if it hasn’t shat itself ]
sensor:
- platform: template
sensors:
temperature_kitchen:
friendly_name: Kitchen Temperature
unit_of_measurement: "°C"
value_template: >
{% set t1 = states('sensor.ble_temperature_A4C1381992C6') %}
{% set t2 = states('sensor.ble_temperature_') %}
{{ t2 if t1 == 'unknown' else t1 }}
humidity_kitchen:
friendly_name: Kitchen Humidity
unit_of_measurement: "%"
value_template: >
{% set t1 = states('sensor.pz_ble_humidity_kitchen') %}
{% set t2 = states('sensor.ble_humidity_A4C1381992C6') %}
{{ t2 if t1 == 'unknown' else t1 }}
battery_kitchen:
friendly_name: Kitchen Battery
unit_of_measurement: "%"
value_template: >
{% set t1 = states('sensor.pz_ble_humidity_kitchen') %}
{% set t2 = states('sensor.ble_battery_A4C1381992C6') %}
{{ t2 if t1 == 'unknown' else t1 }}
Is it possible to setup the above sensors with a for loop in configuration.yaml? How would I word it with these details?
The sensors are all
sensor.ble_temperature_A4C1381992C6
sensor.ble_humidity_A4C1381992C6
sensor.ble_battery_A4C1381992C6
example
sensorList = {kitchen: 'A4C1381992C6', bathroom: 'a4c138229679', kids: 'a4c138103809'}
for name, mac in sensorList.interitems():