I’ve seen in https://github.com/home-assistant/home-assistant/blob/master/homeassistant/helpers/template.py that templates support a multiply
function which can be used to massage the units of a sensor to suit the user’s needs in the UI (such as converting Mb/s to Kb/s) but there isn’t a matching divide
which was a little surprising.
I’m currently using a multiply
operation of 0.001 to convert my disk free sensor from GB to approximate TB, but it’s a little crude. Would anyone else prefer to have an explicit divide
function that they can use in the configuration YAML?
Ideally, I’d prefer this:
disk_free_tb:
value_template: '{{ states.sensor.disk_free_.state | divide(1024) }}'
friendly_name: 'Disk Free'
unit_of_measurement: 'TB'
Over this:
disk_free_tb:
value_template: '{{ states.sensor.disk_free_.state | multiply(0.001) }}' # close enough
friendly_name: 'Disk Free'
unit_of_measurement: 'TB'
1 Like
Voted! This would be handy indeed, converting division into multiplication isn’t always ideal.
E.g.: I have a template in which I have to divide a number by 11.25 so I have to use multiply(0.088888888888889)
jayjay
(JJ)
January 23, 2017, 11:54pm
3
Yes I vote for, I am busy to change wind direction in a compass terms and that needs divide too, so yes please add the option of DIVIDE
jayjay
(JJ)
January 24, 2017, 7:55pm
5
Nordlead you are absolutely right, in jinja it is possible, thanks for poiting that out to me. So topic closed?!
MattP
(Matthew Purnell)
April 9, 2018, 8:09am
6
I am trying to do a simply addition and subtraction - nothing works…
The template I am trying to do, is (for example) add a number like 100 to an output like this:
Output: ‘{{ states(“input_number.bedlight_temperature”) }}’
Addition: ‘{{ (states(“input_number.bedlight_temperature”) + 30 ) }}’
I have tried all sorts, nothing I try works… it doesn’t return any error, just goes blank
States are strings so to apply math functions to them, you need to cast them to the right type. This should work for you:
Addition: ‘{{ (states(“input_number.bedlight_temperature”) | int) + 30 }}’
1 Like