Writing a component for Luxtronik Heatpumps

sensor:
  - platform: template
    sensors:  
      verdichter_stand_zeit:
        friendly_name: Verdichter Standzeit
        value_template: >- 
          {% set time = (states.luxtronik.id_web_time_vdstd_akt.state | int) | int %}
          {% set minutes = ((time % 3600) / 60) | int %}
          {% set hours = ((time % 86400) / 3600) | int %}
          {% set days = (time / 86400) | int %}        
          {%- if time < 60 -%}
            0
            {%- else -%}
            {%- if days > 0 -%}
              {{ days }}d
            {%- endif -%}
            {%- if hours > 0 -%}
              {%- if days > 0 -%}
                {{ ' ' }}
              {%- endif -%}
              {{ hours }}h
            {%- endif -%}
            {%- if minutes > 0 -%}
              {%- if days > 0 or hours > 0 -%}
                {{ ' ' }}
              {%- endif -%}
              {{ minutes }}m
            {%- endif -%}
          {%- endif -%}