I have a DIY sensor, which sends ‘I am alive’ message every minute. As a part of this message it sends its uptime in minutes, just a number. What I would like to achieve with HA is:
- Record the uptime value (maybe I’ll make a monitor for the uptime value reset which will notify me if it resets)
- Show a human friendy text about the uptime
So, what I have so far:
sensor:
- platform: mqtt
name: "Water meter: Uptime"
unique_id: water_meter_uptime
state_topic: "/ESP/Wemos/Water/Debug/Uptime"
icon: mdi:av-timer
unit_of_measurement: 'min'
- platform: template
sensors:
water_meter_uptime_friendly:
friendly_name: "Water meter: Uptime"
entity_id: sensor.water_meter_uptime
value_template: >-
{% set value = states('sensor.water_meter_uptime') | int %}
{% set minutes = (value % 60) | int %}
{% set hours = ((value / 60) % 24) | int %}
{% set days = (value / 1440) | int %}
{{ days }} days {{ hours }} hours {{ minutes }} minutes
There are a few issues with this approach:
- water_meter_uptime_friendly sensor also updates every minute, it clutters the database with unnecessary records. Same for the logbook
- I removed original uptime sensor number from the lovelace UI, but added only uptime_friendly value. It shows me a nice ‘1 days 19 hours 38 minutes’ string, but if I open details window it shows me an odd multicolor strip indicating values changed every minute’
So the question is: is there a way to templatize value only for UI, while keeping original value in the database and avoid adding additional template sensor?