I have found when creating Helper history_stats sensors, that the preview value displays in the h:m format but in the frontend the value is in decimal format. So far I have just been creating a second sensor to convert the format. Seems odd.
If the helper is ot type ‘time’ then it is in h (not h:m), look at the entity itself and its unit_of_measurement. It provides a duration and a choice by the devs and to have to convert it is a very personal matter, there is no single good output that fits all. You can use the output in a a new entity/template-helper or directly in a card, some cards also allow to convert it to your requirements so you would not need the additional entity.
Yes, I understand that the UOM is set to hours but what I don’t understand is that the Helper preview displays the result as h:m. When displaying time values, using h:m is more reasonable than decimal hours or minutes. Maybe the Helper should have that option for time values so that the promise presented in the preview is what you see in the frontend. Not a big deal but it does require another sensor if you want to display time in an appropriate manner.
Can you please show where your entity(ies) displays as h:m, i.e. with the colon. Mine all show as expected, i.e. with a dot as decimal separator
The entities card then takes his own interpretation of that

This is a new ‘helper’ history template sensor that I set up. Note the preview section.
When the sensor is place on a Lovelace card the value appears as a decimal value, not the h:m as shown in the preview.
This is how all device_class: duration sensors work. The raw value itself is decimal, but it displays in frontend in a human friendly format.


