Advertisement
Wykop

Czas pracy HA

Dec 18th, 2022 (edited)
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. Czas pracy HA
  2. W sensor.yaml
  3.  
  4. # Czas pracy HA
  5.  
  6.  
  7. - platform: template
  8. sensors:
  9. czas_pracy_ha:
  10. friendly_name: "Home Assistant czas pracy"
  11. value_template: >-
  12. {% set up_time = as_timestamp(now()) - as_timestamp(states('sensor.uptime')) %}
  13.  
  14. {% if up_time == 0 %}
  15. Właśnie uruchomiony ponownie...
  16. {% else %}
  17. {% set minutes = (up_time // 60) | int %}
  18. {% set hours = (minutes // 60) %}
  19. {% set days = (hours // 24) %}
  20. {% set weeks = (days // 7) %}
  21.  
  22. {% set minutes = (minutes % 60) %}
  23. {% set hours = (hours % 24) %}
  24. {% set days = (days % 7) %}
  25.  
  26. {% macro phrase(value, name) %}
  27. {%- set value = value %}
  28. {%- set end = 's' if value > 1 else '' %}
  29. {{- '{} {}{}'.format(value, name, end) if value | int > 0 else '' }}
  30. {%- endmacro %}
  31.  
  32. {% set text = [ phrase(weeks, 'tyg'), phrase(days, 'dn'), phrase(hours, 'godz'), phrase(minutes, 'min') ] | select('!=','') | list | join(', ') %}
  33. {% set last_comma = text.rfind(',') %}
  34. {% if last_comma != -1 %}
  35. {% set text = text[:last_comma] + ' and' + text[last_comma + 1:] %}
  36. {% endif %}
  37.  
  38. {{ text }}
  39.  
  40. {% endif %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement