name: Vacuum
products:
  - id: gejo2t2mgux3avdq
    name: iHome AutoVac Nova iHRV6
primary_entity:
  entity: vacuum
  dps:
    - id: 1
      type: boolean
      name: power
      optional: true
      mapping:
        - dps_val: null
          value: false
          hidden: true
    - id: 2
      type: boolean
      name: command
      optional: true
      mapping:
        - dps_val: true
          value: pause
        - dps_val: false
          constraint: mode
          conditions:
            - dps_val: standby
              value: stop
            - dps_val: random
              value: random
            - dps_val: smart
              value: smart
            - dps_val: wall_follow
              value: wall_follow
            - dps_val: mop
              value: mop
            - dps_val: spiral
              value: clean_spot
            - dps_val: left_spiral
              value: left_spiral
            - dps_val: right-spiral
              value: right_spiral
            - dps_val: bow
              value: bow
            - dps_val: left_bow
              value: left_bow
            - dps_val: right_bow
              value: right_bow
            - dps_val: partial_bow
              value: partial_bow
            - dps_val: chargego
              value: return_to_base
        - dps_val: null
          hidden: true
          constraint: mode
          conditions:
            - dps_val: standby
              value: stop
            - dps_val: random
              value: random
            - dps_val: smart
              value: smart
            - dps_val: wall_follow
              value: wall_follow
            - dps_val: mop
              value: mop
            - dps_val: spiral
              value: clean_spot
            - dps_val: left_spiral
              value: left_spiral
            - dps_val: right-spiral
              value: right_spiral
            - dps_val: bow
              value: bow
            - dps_val: left_bow
              value: left_bow
            - dps_val: right_bow
              value: right_bow
            - dps_val: partial_bow
              value: partial_bow
            - dps_val: chargego
              value: return_to_base
    - id: 3
      type: string
      name: mode
      hidden: true
      optional: true
    - id: 5
      type: string
      name: status
      mapping:
        - dps_val: standby
          value: standby
        - dps_val: smart_clean
          value: cleaning
        - dps_val: wall_clean
          value: cleaning
        - dps_val: spot_clean
          value: cleaning
        - dps_val: mop_clean
          value: mopping
        - dps_val: goto_charge
          value: returning
        - dps_val: charging
          value: charging
        - dps_val: charge_done
          value: charged
        - dps_val: paused
          value: pause
        - dps_val: cleaning
          value: cleaning
        - dps_val: sleep
          value: sleep
    - id: 13
      type: boolean
      name: locate
      optional: true
    - id: 14
      type: string
      name: fan_speed
      optional: true
      mapping:
        - dps_val: strong
          value: High
        - dps_val: normal
          value: Medium
        - dps_val: gentle
          value: Low
    - id: 102
      type: base64
      name: info
      optional: true
    - id: 110
      type: bitfield
      name: error
    - id: 111
      type: integer
      name: event_report
      optional: true
