sensor:
  - platform: modbus_controller
    modbus_controller_id: ${modbus_controller_id}
    name: "${boiler1_name} Temperatur oben"
    id: ${lower_name}_Boiler_1_Temperatur_oben
    register_type: read
    address: 1630
    unit_of_measurement: "°C"
    device_class: temperature
    state_class: measurement
    value_type: S_WORD
    filters:
      - multiply: 0.5

  - platform: modbus_controller
    modbus_controller_id: ${modbus_controller_id}
    name: "${boiler1_name} Pumpe Ansteuerung"
    id: ${lower_name}_Boiler_1_Pumpe_Ansteuerung
    register_type: read
    address: 1632
    unit_of_measurement: "%"
    value_type: U_WORD

number:
  - platform: modbus_controller
    modbus_controller_id: ${modbus_controller_id}
    name: "${boiler1_name} Gewünschte Boilertemperatur"
    id: ${lower_name}_Boiler_1_Gewuenschte_Boilertemperatur
    address: 1631
    entity_category: config
    unit_of_measurement: "°C"
    value_type: S_WORD
    multiply: 2
    min_value: 10
    max_value: 100

  - platform: modbus_controller
    modbus_controller_id: ${modbus_controller_id}
    name: "${boiler1_name} Nachladen, wenn Boilertemperatur unter"
    id: ${lower_name}_Boiler_1_Nachladen_wenn_Boilertemperatur_unter
    address: 1632
    entity_category: config
    unit_of_measurement: "°C"
    value_type: S_WORD
    multiply: 2
    min_value: 1
    max_value: 90

binary_sensor:
  - platform: template
    name: "${boiler1_name} Pumpe Ansteuerung AN AUS"
    id: ${lower_name}_Boiler_1_Pumpe_Ansteuerung_AN_AUS
    lambda: |-
      if (id(${lower_name}_Boiler_1_Pumpe_Ansteuerung).state > 0) {
        return true;
      } else {
        return false;
      }