name: Ceiling fan light
products:
  - id: ujya7f5twjovh1kf
    manufacturer: Lumary
    model: A1
    model_id: L-CFL18A1
entities:
  - entity: light
    icon: "mdi:ceiling-fan-light"
    dps:
      - id: 20
        type: boolean
        name: switch
      - id: 21
        name: color_mode
        type: string
        mapping:
          - dps_val: white
            value: color_temp
          - dps_val: colour
            value: hs
          - dps_val: scene
            value: Scene
          - dps_val: music
            value: Music
      - id: 22
        name: brightness
        type: integer
        range:
          min: 10
          max: 1000
      - id: 23
        name: color_temp
        type: integer
        range:
          min: 0
          max: 1000
        mapping:
          - target_range:
              min: 2700
              max: 6500
      - id: 24
        name: rgbhsv
        type: hex
        format:
          - name: h
            bytes: 2
            range:
              min: 0
              max: 360
          - name: s
            bytes: 2
            range:
              min: 0
              max: 1000
          - name: v
            bytes: 2
            range:
              min: 0
              max: 1000
      - id: 119
        type: boolean
        name: available
  - entity: number
    translation_key: timer
    name: Light timer
    category: config
    class: duration
    dps:
      - id: 26
        type: integer
        name: value
        unit: s
        range:
          min: 0
          max: 86400
      - id: 119
        type: boolean
        name: available
  - entity: text
    name: Music data
    category: config
    icon: "mdi:music"
    hidden: true
    dps:
      - id: 27
        type: string
        optional: true
        name: value
  - entity: text
    name: Control data
    category: config
    icon: "mdi:tune"
    hidden: true
    dps:
      - id: 28
        type: string
        optional: true
        name: value
  - entity: text
    name: Power memory
    category: config
    icon: "mdi:content-save"
    hidden: true
    dps:
      - id: 33
        type: base64
        optional: true
        name: value
  - entity: switch
    name: Do not disturb
    category: config
    icon: "mdi:sleep"
    dps:
      - id: 34
        type: boolean
        name: switch
        mapping:
          - dps_val: false
            icon: "mdi:sleep-off"
            icon_priority: 1
  - entity: text
    name: Fading
    category: config
    icon: "mdi:gradient-horizontal"
    hidden: true
    dps:
      - id: 35
        type: base64
        optional: true
        name: value
  - entity: text
    name: Mix RGBCW
    category: config
    icon: "mdi:palette"
    hidden: true
    dps:
      - id: 51
        type: base64
        optional: true
        name: value
  - entity: fan
    translation_only_key: fan_with_presets
    dps:
      - id: 60
        type: boolean
        name: switch
      - id: 61
        type: string
        name: preset_mode
        mapping:
          - dps_val: fresh
            value: fresh
          - dps_val: nature
            value: nature
      - id: 62
        type: integer
        name: speed
        range:
          min: 1
          max: 100
      - id: 63
        type: string
        name: direction
      - id: 106
        type: boolean
        name: oscillate
      - id: 119
        type: boolean
        name: available
  - entity: number
    name: Fan timer
    translation_key: timer
    class: duration
    category: config
    dps:
      - id: 64
        type: integer
        name: value
        unit: min
        range:
          min: 0
          max: 540
      - id: 119
        type: boolean
        name: available
  - entity: switch
    name: Beep
    category: config
    icon: "mdi:volume-high"
    dps:
      - id: 66
        type: boolean
        optional: true
        name: switch
        mapping:
          - dps_val: false
            icon: "mdi:volume-off"
            icon_priority: 1
          - dps_val: true
            icon: "mdi:volume-high"
            icon_priority: 1
          - dps_val: null
            value_redirect: alt
      - id: 103
        type: boolean
        name: alt
        mapping:
          - dps_val: false
            icon: "mdi:volume-off"
            icon_priority: 2
  - entity: text
    name: Segment dimming
    category: config
    icon: "mdi:chart-pie"
    hidden: true
    dps:
      - id: 101
        type: base64
        optional: true
        name: value
  - entity: light
    name: White
    category: config
    dps:
      - id: 107
        type: boolean
        name: switch
      - id: 22
        name: brightness
        type: integer
        range:
          min: 10
          max: 1000
      - id: 23
        name: color_temp
        type: integer
        range:
          min: 0
          max: 1000
        mapping:
          - target_range:
              min: 2700
              max: 6500
      - id: 20
        name: available
        type: boolean
        mapping:
          - dps_val: true
            constraint: main_switch
            conditions:
              - dps_val: false
                value: false
      - id: 119
        type: boolean
        name: main_switch
  - entity: light
    name: Color
    category: config
    dps:
      - id: 108
        type: boolean
        name: switch
      - id: 24
        name: rgbhsv
        type: hex
        format:
          - name: h
            bytes: 2
            range:
              min: 0
              max: 360
          - name: s
            bytes: 2
            range:
              min: 0
              max: 1000
          - name: v
            bytes: 2
            range:
              min: 0
              max: 1000
      - id: 20
        name: available
        type: boolean
        mapping:
          - dps_val: true
            constraint: main_switch
            conditions:
              - dps_val: false
                value: false
      - id: 119
        type: boolean
        name: main_switch
  - entity: text
    name: Scene
    category: config
    icon: "mdi:palette"
    hidden: true
    dps:
      - id: 109
        type: base64
        optional: true
        name: value
  - entity: number
    name: Light sequence adjust
    category: config
    icon: "mdi:rotate-left"
    dps:
      - id: 110
        type: integer
        name: value
        range:
          min: 0
          max: 5
        mapping:
          - scale: 10
  - entity: number
    name: Pixels
    category: config
    icon: "mdi:led-strip"
    dps:
      - id: 111
        type: integer
        name: value
        range:
          min: 10
          max: 130
  - entity: number
    translation_key: timer
    category: config
    dps:
      - id: 112
        type: integer
        name: value
        optional: true
        unit: s
        range:
          min: 0
          max: 86400
  - entity: switch
    category: config
    dps:
      - id: 119
        type: boolean
        name: switch
  - entity: text
    name: Music data1
    category: config
    icon: "mdi:music"
    hidden: true
    dps:
      - id: 121
        type: base64
        optional: true
        name: value
