Finally got this working! Thanks for the help and hints!
Here is my config:
In input_number.yaml:
midnight_power_consumption_low:
name: Midnight Power Level Low
min: 0
max: 999999999
midnight_power_consumption_normal:
name: Midnight Power Level Normal
min: 0
max: 999999999
In sensors.yaml:
- platform: template
sensors:
todays_power_consumption_low:
value_template: >
{{ (float(states.sensor.power_consumption_low.state) - float(states.input_number.midnight_power_consumption_low.state)) | round(3) }}
unit_of_measurement: 'kWh'
friendly_name: "Today's Power Consumption Low"
- platform: template
sensors:
todays_power_consumption_normal:
value_template: >
{{ (float(states.sensor.power_consumption_normal.state) - float(states.input_number.midnight_power_consumption_normal.state)) | round(3) }}
unit_of_measurement: 'kWh'
friendly_name: "Today's Power Consumption Normal"
- platform: template
sensors:
todays_power_consumption:
value_template: >
{{ ((float(states.sensor.power_consumption_normal.state) - float(states.input_number.midnight_power_consumption_normal.state)) +
(float(states.sensor.power_consumption_low.state) - float(states.input_number.midnight_power_consumption_low.state))) | round(3) }}
unit_of_measurement: 'kWh'
friendly_name: "Today's Power Consumption"
In automations.yaml:
- alias: Power Consumption Low at start of the day
trigger:
platform: time
at: '00:00:00'
action:
service: input_number.set_value
data_template:
entity_id: input_number.midnight_power_consumption_low
value: "{{ states.sensor.power_consumption_low.state }}"
- alias: Power Consumption High at start of the day
trigger:
platform: time
at: '00:00:00'
action:
service: input_number.set_value
data_template:
entity_id: input_number.midnight_power_consumption_normal
value: "{{ states.sensor.power_consumption_normal.state }}"
You can add to groups if you like of course.
Any optimizations are welcome!
Thanks!
Gerben