name: Heater
products:
  - id: cior1o59zipid8xo
    name: Create Warm Towel Advance
primary_entity:
  entity: climate
  translation_only_key: heater
  dps:
    - id: 1
      type: boolean
      name: hvac_mode
      mapping:
        - dps_val: false
          value: "off"
        - dps_val: true
          constraint: preset_mode
          conditions:
            - dps_val: P1
              value: auto
            - dps_val: [P2, P3]
              value: auto
              hidden: true
            - dps_val: CF
              value: heat
            - dps_val: [EC, AF]
              value: heat
              hidden: true
            - dps_val: ST
              value: "off"
              hidden: true
            - dps_val: D2
              value: dry
            - dps_val: [D3, D4]
              value: dry
              hidden: true
    - id: 2
      type: integer
      name: temperature
      range:
        min: 5
        max: 35
      unit: C
      mapping:
        - constraint: preset_mode
          conditions:
            - dps_val: EC
              range:
                min: 1
                max: 31
            - dps_val: AF
              invalid: true
    - id: 3
      type: integer
      name: current_temperature
    - id: 4
      type: string
      name: preset_mode
      mapping:
        - dps_val: CF
          value: comfort
        - dps_val: EC
          value: eco
        - dps_val: P1
          value: Daytime
        - dps_val: P2
          value: Morning+Evening
        - dps_val: P3
          value: Program
        - dps_val: AF
          value: away
        - dps_val: ST
          value: ST
          hidden: true
        - dps_val: D2
          value: Dry 2
        - dps_val: D3
          value: Dry 3
        - dps_val: D4
          value: Dry 4
    - id: 11
      type: string
      name: hvac_action
      mapping:
        - dps_val: standby
          value: idle
        - dps_val: working
          value: heating
          constraint: preset_mode
          conditions:
            - dps_val: [D2, D3, D4]
              value: drying
    - id: 26
      type: string
      optional: true
      name: custom_program
    - id: 109
      type: boolean
      name: fan_mode
      mapping:
        - dps_val: true
          value: "on"
        - dps_val: false
          value: "off"
secondary_entities:
  - entity: lock
    translation_key: child_lock
    category: config
    dps:
      - id: 7
        type: boolean
        name: lock
  - entity: select
    translation_key: timer
    category: config
    dps:
      - id: 19
        type: string
        name: option
        mapping:
          - dps_val: cancel
            value: cancel
          - dps_val: 1h
            value: 1h
          - dps_val: 2h
            value: 2h
          - dps_val: 3h
            value: 3h
          - dps_val: 4h
            value: 4h
          - dps_val: 5h
            value: 5h
          - dps_val: 6h
            value: 6h
          - dps_val: 7h
            value: 7h
          - dps_val: 8h
            value: 8h
          - dps_val: 9h
            value: 9h
          - dps_val: 10h
            value: 10h
          - dps_val: 11h
            value: 11h
          - dps_val: 12h
            value: 12h
          - dps_val: 13h
            value: 13h
          - dps_val: 14h
            value: 14h
          - dps_val: 15h
            value: 15h
          - dps_val: 16h
            value: 16h
          - dps_val: 17h
            value: 17h
          - dps_val: 18h
            value: 18h
          - dps_val: 19h
            value: 19h
          - dps_val: 20h
            value: 20h
          - dps_val: 21h
            value: 21h
          - dps_val: 22h
            value: 22h
          - dps_val: 23h
            value: 23h
          - dps_val: 24h
            value: 24h
  - entity: sensor
    translation_key: time_remaining
    class: duration
    category: diagnostic
    dps:
      - id: 20
        type: integer
        name: sensor
        unit: min
  - entity: binary_sensor
    class: problem
    category: diagnostic
    dps:
      - id: 21
        type: bitfield
        optional: true
        name: sensor
        mapping:
          - dps_val: 0
            value: false
          - dps_val: null
            value: false
          - value: true
      - id: 21
        type: bitfield
        name: fault_code
        optional: true
  - entity: switch
    name: Night mode
    icon: "mdi:weather-night"
    category: config
    dps:
      - id: 103
        type: boolean
        name: switch
  - entity: switch
    name: Window check
    icon: "mdi:window-open-variant"
    category: config
    dps:
      - id: 104
        type: boolean
        name: switch
  - entity: binary_sensor
    class: window
    category: diagnostic
    dps:
      - id: 105
        type: boolean
        name: sensor
  - entity: number
    name: Temperature calibration
    category: config
    icon: "mdi:thermometer-check"
    dps:
      - id: 106
        type: integer
        optional: true
        name: value
        unit: C
        range:
          min: 0
          max: 40
        mapping:
          - dps_val: null
            value_mirror: current_temperature
      - id: 3
        type: integer
        name: current_temperature
        hidden: true
