Explorar o código

Add support for Inkbird iBBQ-4T thermometer

Issue #750
Jason Rumney %!s(int64=2) %!d(string=hai) anos
pai
achega
ea1a966be3

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -293,3 +293,4 @@ Further device support has been made with the assistance of users.  Please consi
 - [g470258](https://github.com/g470258) for contributing support for Thermex IF water heaters and Russian language translations.
 - [julianocomg](https://github.com/julianocomg) for contributing support for Adaprox fingerbot plus and 6-way simple switches.
 - [andyrak](https://github.com/andyrak) for assisting with support for Lytmi HDMI sync backlights.
+- [melvanderwal](https://github.com/melvanderwal) for assisting with support for Inkbird iBBQ-4T thermometers.

+ 1 - 0
DEVICES.md

@@ -197,6 +197,7 @@
 - Anko 1.7L smart kettle
 - Setti+ KT950W smart kettle
 - Inkbird iBBQ-4BW cooking probe thermometer
+- Inkbird iBBQ-4T cooking probe thermometer
 - Inkbird sous vide cooker (also supports Silvercrest sous vide sticks)
 - Kogan glass 1.7L smart kettle
 - Silvercrest 1.7L smart kettle

+ 131 - 0
custom_components/tuya_local/devices/inkbird_bbq4t_thermometer.yaml

@@ -0,0 +1,131 @@
+name: Inkbird BBQ thermometer
+products:
+  - id: coa4tu1646wdybzy
+    name: IBBQ-4BW
+primary_entity:
+  entity: sensor
+  name: Temperature probe 1
+  class: temperature
+  dps:
+    - id: 107
+      type: integer
+      name: sensor
+      class: measurement
+      mapping:
+        - scale: 100
+      unit: F
+    - id: 13
+      type: bitfield
+      name: fault_code
+      optional: true
+    - id: 111
+      type: integer
+      name: unknown_111
+    # - id: 19
+    #   type: string
+    #   name: unit
+secondary_entities:
+  - entity: sensor
+    name: Temperature probe 2
+    class: temperature
+    dps:
+      - id: 108
+        type: integer
+        name: sensor
+        class: measurement
+        optional: true
+        mapping:
+          - scale: 100
+        unit: F
+      # - id: 19
+      #   type: string
+      #   name: unit
+  - entity: sensor
+    name: Temperature probe 3
+    class: temperature
+    dps:
+      - id: 109
+        type: integer
+        name: sensor
+        class: measurement
+        optional: true
+        mapping:
+          - scale: 100
+        unit: F
+      # - id: 19
+      #   type: string
+      #   name: unit
+  - entity: sensor
+    name: Temperature probe 4
+    class: temperature
+    dps:
+      - id: 110
+        type: integer
+        name: sensor
+        class: measurement
+        optional: true
+        mapping:
+          - scale: 100
+        unit: F
+      # - id: 19
+      #   type: string
+      #   name: unit
+  - entity: switch
+    dps:
+      - id: 1
+        type: boolean
+        name: switch
+  - entity: binary_sensor
+    name: Fault
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 13
+        type: bitfield
+        name: sensor
+        optional: true
+        mapping:
+          - dps_val: 0
+            value: false
+          - value: true
+  - entity: select
+    name: Temperature unit
+    icon: "mdi:temperature-celsius"
+    category: config
+    dps:
+      - id: 19
+        type: string
+        name: option
+        mapping:
+          - dps_val: f
+            value: Fahrenheit
+          - dps_val: c
+            value: Celsius
+  - entity: sensor
+    name: Battery
+    class: battery
+    category: diagnostic
+    dps:
+      - id: 101
+        type: integer
+        name: sensor
+        unit: "%"
+  - entity: number
+    name: Screen timeout
+    category: config
+    icon: "mdi:camera-timer"
+    dps:
+      - id: 102
+        type: integer
+        name: value
+        unit: s
+        range:
+          min: 0
+          max: 3600
+  - entity: switch
+    name: Alarm
+    category: config
+    dps:
+      - id: 104
+        type: boolean
+        name: switch