name: Grill
products:
  - id: pcxrbwousudyvl8t
    manufacturer: RecTeq
    model: RT-1250
entities:
  - entity: climate
    icon: "mdi:grill"
    dps:
      - id: 1
        type: boolean
        name: hvac_mode
        mapping:
          - dps_val: false
            value: "off"
          - dps_val: true
            value: heat
      - id: 101
        type: integer
        name: temperature
        range:
          min: 180
          max: 500
        unit: F
        mapping:
          - step: 5
      - id: 102
        type: integer
        name: current_temperature
  - entity: number
    name: Minimum feed rate
    dps:
      - id: 103
        type: integer
        name: value
        range:
          min: 5
          max: 255
        mapping:
          - step: 5
  - entity: sensor
    name: Probe A temperature
    class: temperature
    dps:
      - id: 104
        type: integer
        name: sensor
        unit: F
  - entity: sensor
    name: Probe B temperature
    class: temperature
    dps:
      - id: 105
        type: integer
        name: sensor
        unit: F
  - entity: number
    name: Temperature compensation
    class: temperature_delta
    dps:
      - id: 106
        type: integer
        name: value
        unit: F
        range:
          min: -127
          max: 128
  - entity: binary_sensor
    name: Power failure
    class: problem
    dps:
      - id: 108
        type: boolean
        name: sensor
  - entity: binary_sensor
    name: Ignition failure
    class: problem
    dps:
      - id: 109
        type: boolean
        name: sensor
  - entity: binary_sensor
    name: Overheat
    class: heat
    dps:
      - id: 110
        type: boolean
        name: sensor

  # The following DPs are specified in the model but don't actually seem
  # to be implemented.  Probe set point temperatures are always 0, no
  # matter the value pushed. I was hoping to be able to use these DPs to
  # generate notifications.
  # 107 is also documented as a write-only dp for setting temperature unit.
  # without feedback this is not useful if it changes the temperature sensor
  # reported value, so I haven't included it at all.
  - entity: number
    name: Probe A target
    class: temperature
    hidden: true
    dps:
      - id: 115
        type: integer
        name: value
        range:
          min: 0
          max: 255
  - entity: number
    name: Probe B target
    class: temperature
    hidden: true
    dps:
      - id: 116
        type: integer
        name: value
        range:
          min: 0
          max: 255
  - entity: binary_sensor
    name: Probe A target reached
    class: heat
    hidden: true
    dps:
      - id: 111
        type: boolean
        name: sensor
  - entity: binary_sensor
    name: Probe B target reached
    class: heat
    hidden: true
    dps:
      - id: 112
        type: boolean
        name: sensor
  - entity: binary_sensor
    name: Under temperature
    class: cold
    hidden: true
    dps:
      - id: 113
        type: boolean
        name: sensor
  - entity: binary_sensor
    name: Over temperature
    class: heat
    hidden: true
    dps:
      - id: 114
        type: boolean
        name: sensor
  - entity: number
    name: Target deviation
    category: config
    hidden: true
    dps:
      - id: 117
        type: integer
        name: value
        range:
          min: 0
          max: 255
