 - sensor:
      # 1. Lasketaan kokonaissähköteho (Watti) = Ampeerit * Voltit
      - name: "Ottoteho"
        unique_id: ottoteho
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement
        state: >
          {% set amps = states('sensor.Ampeerit') | float(0) %}
          {% set volts = states('sensor.Voltit') | float(0) %}
          {{ (amps * volts) | round(2) }}


 # 
      - name: "Heat Pump COP"
        unique_id: heat_pump_cop
        unit_of_measurement: ""
        icon: mdi:gauge
        state: >
          {% set heat_power = states('sensor.Antoteho') | float(0) %}
          {% set electrical_power = states('sensor.ottoteho') | float(0) %}
          {% if electrical_power > 0 and heat_power > 0 %}
            {{ (sensor.antoteho / sensor.ottoteho) | round(2) }}
          {% else %}
            0
          {% endif %}
        availability: >
          {{ has_value('sensor.Ampeerit') and has_value('sensor.Antoteho') }}
          

      - name: "Heat Pump Live COP"
        unique_id: heat_pump_live_cop
        state: >
          {% set flow_rate = states('sensor.Rotenso_water_flow_rate') | float(0) %}   # Liters per minute
          {% set temp_flow = states('sensor.Rotenso_leaving_water_temperature') | float(0) %} # °C
          {% set temp_return = states('sensor.Rotenso_return_water_temperature') | float(0) %} # °C
          {% set power_in = states('sensor.ottoteho') | float(0) %} # Watts # oli sensor.

          {% set delta_t = temp_flow - temp_return %}
          
          {# Calculate heat output in Watts: L/min * deltaT * 4184 Joules / 60 seconds #}
          {% set heat_out = (flow_rate * delta_t * 4184) / 60 %}

          {% if power_in > 100 and heat_out > 0 %}
            {{ (heat_out / power_in) | round(2) }}
          {% else %}
            0.0
          {% endif %}
        availability: >
          {{ is_number(states('sensor.Rotenso_water_flow_rate')) and 
             is_number(states('ottoteho')) }}
#
      - name: "Rotenso Heat Pump COP"
        unique_id: rotenso_heat_pump_cop
        unit_of_measurement: ""
        state_class: measurement
        device_class: power # or leave blank as a ratio
        state: >
          {% set vl = states('sensor.Rotenso_leaving_water_temperature') | float(0) %}
          {% set rl = states('sensor.Rotenso_return_water_temperature') | float(0) %}
          {% set vol = states('sensor.Rotenso_water_flow_rate') | float(0) * 60 %}
          {% set powercons = states('ottoteho') | float(0) %}
          {% set neg = -1 if is_state('sensor.Rotenso_operation_mode', 'Defrost') else 1 %}
          {{ neg * ((0, (((vl - rl) | abs) * vol * 1.16) / powercons, 8) | sort)[1] }}
        availability: >
          {{ states('sensor.Rotenso_water_flow_rate') | float(0) > 0 and 
             states('ottoteho') | float(0) > 0 and 
             states('ottoteho') | float(0) != 0 }}
             
      # 2. Lasketaan lämpöteho (kW) huomioiden hyötysuhde (esim. 95% -> 0.95)
#      - name: "Laitteen Lämpöteho"
 #       unique_id: laitteen_lampoteho_kw
 ########       unit_of_measurement: "kW"
 #######       device_class: power
 ######       state_class: measurement
 #####       state: >
 ####         {% set amps2 = states('sensor.Ampeerit') | float(0) %}
  ###        {% set volts2 = states('sensor.Voltit') | float(0) %}
  ##        {% set hyotysuhde = 0.95 %}
  #        
   #       {# Lasketaan watit, kerrotaan hyötysuhteella ja muutetaan kilowateiksi (/1000) #}
  #        {{ ((amps2 * volts2 * hyotysuhde) / 1000) | round(3) }}
          
        # 

