name: Temperature probe hub
products:
  - id: ojlc1dnjbrybk7di
    manufacturer: Inkbird
    model: IBS-M1S
entities:
  - entity: sensor
    name: Temperature probe 1
    class: temperature
    dps:
      - id: 110
        type: integer
        name: dummy
      - id: 111
        type: boolean
        name: dummy2
      - id: 114
        optional: true
        type: base64
        name: type
        persist: false
        endianness: little
        mask: "FF"
      - id: 114
        optional: true
        type: base64
        name: sensor
        unit: C
        class: measurement
        endianness: little
        mask: "FFFF00"
        mapping:
          - scale: 10
            constraint: type
            conditions:
              - dps_val: 0
                invalid: true
  - entity: sensor
    name: Battery 1
    class: battery
    category: diagnostic
    dps:
      - id: 114
        optional: true
        type: base64
        name: type
        persist: false
        endianness: little
        mask: "FF"
      - id: 114
        optional: true
        type: base64
        name: sensor
        unit: "%"
        endianness: little
        mask: "FF000000000000000000"
        mapping:
          - constraint: type
            conditions:
              - dps_val: 0
                invalid: true
  - entity: sensor
    name: Temperature probe 2
    class: temperature
    dps:
      - id: 114
        optional: true
        type: base64
        name: type
        persist: false
        endianness: little
        mask: "FF00000000000000000000"
      - id: 114
        optional: true
        type: base64
        name: sensor
        unit: C
        class: measurement
        endianness: little
        mask: "FFFF0000000000000000000000"
        mapping:
          - scale: 10
            constraint: type
            conditions:
              - dps_val: 0
                invalid: true
  - entity: sensor
    name: Battery 2
    class: battery
    category: diagnostic
    dps:
      - id: 114
        optional: true
        type: base64
        name: type
        persist: false
        endianness: little
        mask: "FF00000000000000000000"
      - id: 114
        optional: true
        type: base64
        name: sensor
        unit: "%"
        endianness: little
        mask: "FF00000000000000000000000000000000000000"
        mapping:
          - constraint: type
            conditions:
              - dps_val: 0
                invalid: true
  - entity: sensor
    name: Temperature probe 3
    class: temperature
    dps:
      - id: 114
        optional: true
        type: base64
        name: type
        persist: false
        endianness: little
        mask: "FF0000000000000000000000000000000000000000"
      - id: 114
        optional: true
        type: base64
        name: sensor
        unit: C
        class: measurement
        endianness: little
        mask: "FFFF000000000000000000000000000000000000000000"
        mapping:
          - scale: 10
            constraint: type
            conditions:
              - dps_val: 0
                invalid: true
  - entity: sensor
    name: Battery 3
    class: battery
    category: diagnostic
    dps:
      - id: 114
        optional: true
        type: base64
        name: type
        persist: false
        endianness: little
        mask: "FF0000000000000000000000000000000000000000"
      - id: 114
        optional: true
        type: base64
        name: sensor
        unit: "%"
        endianness: little
        mask: "FF0000000000000000000000000000000000000000000000000000000000"
        mapping:
          - constraint: type
            conditions:
              - dps_val: 0
                invalid: true
  - entity: sensor
    name: Temperature probe 4
    class: temperature
    dps:
      - id: 114
        optional: true
        type: base64
        name: type
        persist: false
        endianness: little
        mask: FF000000000000000000000000000000000000000000000000000000000000
      - id: 114
        optional: true
        type: base64
        name: sensor
        unit: C
        class: measurement
        endianness: little
        mask: >-
          FFFF00000000000000000000000000000000000000000000000000000000000000
        mapping:
          - scale: 10
            constraint: type
            conditions:
              - dps_val: 0
                invalid: true
  - entity: sensor
    name: Battery 4
    class: battery
    category: diagnostic
    dps:
      - id: 114
        optional: true
        type: base64
        name: type
        persist: false
        endianness: little
        mask: FF000000000000000000000000000000000000000000000000000000000000
      - id: 114
        optional: true
        type: base64
        name: sensor
        unit: "%"
        endianness: little
        mask: "FF000000000000000000000000000000000000000\
          000000000000000000000000000000000000000"
        mapping:
          - constraint: type
            conditions:
              - dps_val: 0
                invalid: true
  - entity: sensor
    name: Temperature probe 5
    class: temperature
    dps:
      - id: 114
        optional: true
        type: base64
        name: type
        persist: false
        endianness: little
        mask: "FF00000000000000000000000000000000000000000000\
          000000000000000000000000000000000000"
      - id: 114
        optional: true
        type: base64
        name: sensor
        unit: C
        class: measurement
        endianness: little
        mask: "FFFF00000000000000000000000000000000000000\
          00000000000000000000000000000000000000000000"
        mapping:
          - scale: 10
            constraint: type
            conditions:
              - dps_val: 0
                invalid: true
  - entity: sensor
    name: Battery 5
    class: battery
    category: diagnostic
    dps:
      - id: 114
        optional: true
        type: base64
        name: type
        persist: false
        endianness: little
        mask: "FF000000000000000000000000000000000000000000000\
          00000000000000000000000000000000000"
      - id: 114
        optional: true
        type: base64
        name: sensor
        unit: "%"
        endianness: little
        mask: "FF000000000000000000000000000000000000000000000\
          00000000000000000000000000000000000000000000000000000"
        mapping:
          - constraint: type
            conditions:
              - dps_val: 0
                invalid: true
  - entity: sensor
    name: Temperature probe 6
    class: temperature
    dps:
      - id: 114
        optional: true
        type: base64
        name: type
        persist: false
        endianness: little
        mask: "FF000000000000000000000000000000000000000000\
          0000000000000000000000000000000000000000000000000000000000"
      - id: 114
        optional: true
        type: base64
        name: sensor
        unit: C
        class: measurement
        endianness: little
        mask: "FFFF00000000000000000000000000000000000000000000000\
          0000000000000000000000000000000000000000000000000000000"
        mapping:
          - scale: 10
            constraint: type
            conditions:
              - dps_val: 0
                invalid: true
  - entity: sensor
    name: Battery 6
    class: battery
    category: diagnostic
    dps:
      - id: 114
        optional: true
        type: base64
        name: type
        persist: false
        endianness: little
        mask: "FF00000000000000000000000000000000000000000000000\
          00000000000000000000000000000000000000000000000000000"
      - id: 114
        optional: true
        type: base64
        name: sensor
        unit: "%"
        endianness: little
        mask: "FF00000000000000000000000000000000000000000000000000000000\
          00000000000000000000000000000000000000000000000000000000000000"
        mapping:
          - constraint: type
            conditions:
              - dps_val: 0
                invalid: true
