Просмотр исходного кода

Add Casdon TD Pro 3 steam oven config (#5297)

* feat: add Casdon TD Pro 3 steam oven config

* fix: address self-review findings

* Change translation_only_key to translation_key

No reason not to use the full translation here

* Move unknown dps to attributes

No need to have an entity for each of these, they will leave a mess in the entity registry if the names are changed later once the purpose has been discovered.

---------

Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Jason Rumney <make-all@users.noreply.github.com>
Matt Van Horn 3 недель назад
Родитель
Сommit
8cf90e180c
1 измененных файлов с 171 добавлено и 0 удалено
  1. 171 0
      custom_components/tuya_local/devices/casdon_td_pro_3.yaml

+ 171 - 0
custom_components/tuya_local/devices/casdon_td_pro_3.yaml

@@ -0,0 +1,171 @@
+name: Oven
+products:
+  - id: bewmlg02cpi6vupq
+    manufacturer: Casdon
+    model: TD Pro 3
+entities:
+  - entity: climate
+    translation_key: oven
+    dps:
+      - id: 1
+        name: hvac_mode
+        type: boolean
+        mapping:
+          - dps_val: true
+            value: "heat"
+          - dps_val: false
+            value: "off"
+      - id: 7
+        name: temperature
+        type: integer
+        unit: C
+        range:
+          min: 0
+          max: 500
+        mapping:
+          - step: 5
+      - id: 8
+        name: current_temperature
+        type: integer
+      - id: 102
+        type: string
+        name: hvac_action
+        mapping:
+          - dps_val: cooking
+            value: heating
+          - dps_val: preheating
+            value: preheating
+          - dps_val: preheat_warming
+            value: preheating
+          - dps_val: reservation
+            value: idle
+          - dps_val: cancel
+            value: idle
+          - dps_val: done
+            value: idle
+          - dps_val: pause
+            value: idle
+          - dps_val: "wait"
+            value: idle
+      - id: 101
+        name: unknown_101
+        type: boolean
+      - id: 108
+        name: unknown_108
+        type: integer
+      - id: 109
+        name: unknown_109
+        type: integer
+  - entity: switch
+    name: Start
+    icon: "mdi:play-pause"
+    dps:
+      - id: 2
+        name: switch
+        type: boolean
+  - entity: time
+    name: Start time
+    translation_key: timer
+    dps:
+      - id: 9
+        name: minute
+        type: integer
+        optional: true
+        range:
+          min: 0
+          max: 1440
+  - entity: time
+    translation_key: cooking_time
+    dps:
+      - id: 10
+        name: minute
+        type: integer
+        range:
+          min: 0
+          max: 1440
+  - entity: sensor
+    translation_key: time_remaining
+    class: duration
+    dps:
+      - id: 11
+        name: sensor
+        type: integer
+        range:
+          min: 0
+          max: 1440
+        unit: min
+        class: measurement
+  - entity: binary_sensor
+    category: diagnostic
+    class: problem
+    translation_key: problem
+    dps:
+      - id: 13
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - value: true
+      - id: 13
+        type: bitfield
+        name: fault_code
+      - id: 13
+        type: bitfield
+        name: description
+        mapping:
+          - value: unknown
+          - dps_val: 0
+            value: ok
+          - dps_val: 1
+            value: chamber_overheat
+          - dps_val: 2
+            value: evaporation_tray_overheat
+          - dps_val: 4
+            value: chamber_low_temperature
+          - dps_val: 8
+            value: evaporation_tray_low_temperature
+          - dps_val: 16
+            value: sensor_open_circuit
+          - dps_val: 32
+            value: sensor_short_circuit
+          - dps_val: 64
+            value: communication_error
+          - dps_val: 128
+            value: water_removed_or_empty
+  - entity: sensor
+    class: enum
+    translation_key: cooking_status
+    dps:
+      - id: 102
+        name: sensor
+        type: string
+        mapping:
+          - dps_val: wait
+            value: wait
+          - dps_val: reservation
+            value: reservation
+          - dps_val: cooking
+            value: cooking
+          - dps_val: preheating
+            value: preheating
+          - dps_val: preheat_warming
+            value: preheat_warming
+          - dps_val: cancel
+            value: cancel
+          - dps_val: done
+            value: done
+          - dps_val: pause
+            value: pause
+  - entity: light
+    dps:
+      - id: 103
+        name: switch
+        type: boolean
+  - entity: sensor
+    name: Working program
+    dps:
+      - id: 105
+        name: sensor
+        type: integer
+        optional: true