doc: Simplify Home Assistant sensors, add device_class to allow changing measurement units #4472
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When reviewing #4470 I had a thought why are the Home Assistant sensors defined as template sensors rather than MQTT sensors with a transform in
value_template
. Then I went down a rabbit hole, why even have different sensors for different measurements (miles vs. km) at all if Home Assistant can automatically transform the unit of measurement(It's my assumption that Home Assistant automatically picks the correct unit of measurement based on the server's locale/region, but please correct me if I'm wrong)
So I made the following changes
binary_sensor.yaml
tomqtt_sensors.yaml
with avalue_template
transformdevice_class: distance
to the "main" sensor so the unit can be changedtesla_est_battery_range_km
totesla_est_battery_range
so they are not unit specific (since the unit can be changed)sensor.yaml
andbinary_sensor.yaml
files from the docsui-lovelace.yaml
to reference just the main sensors (and not both km/miles)I think this approach reduces the complexity of the sensor definitions but I'm not sure if there's any downsides I've missed.