Przeglądaj źródła

Add support for QH-GD Elegant IR heaters.

Issue #1354
Jason Rumney 2 lat temu
rodzic
commit
fad9302038

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -445,3 +445,4 @@ Further device support has been made with the assistance of users. Please consid
 - [mountfordg](https://github.com/mountfordg) for contributing support for Klarstein Wonderwall Art Smart IR heaters.
 - [Balya](https://github.com/Balya) for contributing support for Smartmi E1 air purifiers and improvments to Russian translations.
 - [convicte](https://github.com/convicte) for assisting with support for Inna 7 channel underfloor heating controllers.
+- [mrtn1988](https://github.com/mrtn1988) for assisting with support for QH-GD Elegant IR heaters.

+ 1 - 0
DEVICES.md

@@ -39,6 +39,7 @@
 - Orion OWH-PTC2000 heater
 - Princess 350 panel heater
 - Purline Hoti M100 heater
+- Quality Heating QH-GD Elegant Series IR panel heaters
 - Rumba bathroom heater
 - Wetair WCH-750 heater
 

+ 144 - 0
custom_components/tuya_local/devices/qh_gd_elegant_heater.yaml

@@ -0,0 +1,144 @@
+name: IR panel heater
+products:
+  - id: 4iuq3mlns7b2zi7q
+    name: QH-GD Elegant Series
+primary_entity:
+  entity: climate
+  dps:
+    - id: 1
+      type: boolean
+      name: hvac_mode
+      mapping:
+        - dps_val: false
+          value: "off"
+        - dps_val: true
+          value: heat
+    - id: 2
+      type: integer
+      name: temperature
+      range:
+        min: 10
+        max: 45
+      unit: C
+    - id: 3
+      type: integer
+      name: current_temperature
+    - id: 6
+      type: boolean
+      name: preset_mode
+      mapping:
+        - dps_val: false
+          value: comfort
+        - dps_val: true
+          value: eco
+    - id: 11
+      type: string
+      name: hvac_action
+      mapping:
+        - constraint: hvac_mode
+          conditions:
+            - dps_val: false
+              value: "off"
+              icon: "mdi:radiator-off"
+            - dps_val: true
+              mapping:
+                - dps_val: heating
+                  value: heating
+                  icon: "mdi:radiator"
+                - dps_val: standby
+                  value: idle
+                  icon: "mdi:radiator-disabled"
+    - id: 21
+      name: fault_code
+      type: bitfield
+secondary_entities:
+  - entity: lock
+    name: Child lock
+    icon: "mdi:hand-back-right-off"
+    category: config
+    dps:
+      - id: 7
+        type: boolean
+        name: lock
+  - entity: select
+    name: Timer
+    icon: "mdi:timer"
+    category: config
+    dps:
+      - id: 19
+        type: string
+        name: option
+        mapping:
+          - dps_val: cancel
+            value: "Off"
+          - dps_val: "1h"
+            value: "1 hour"
+          - dps_val: "2h"
+            value: "2 hours"
+          - dps_val: "3h"
+            value: "3 hours"
+          - dps_val: "4h"
+            value: "4 hours"
+          - dps_val: "5h"
+            value: "5 hours"
+          - dps_val: "6h"
+            value: "6 hours"
+          - dps_val: "7h"
+            value: "7 hours"
+          - dps_val: "8h"
+            value: "8 hours"
+          - dps_val: "9h"
+            value: "9 hours"
+          - dps_val: "10h"
+            value: "10 hours"
+          - dps_val: "11h"
+            value: "11 hours"
+          - dps_val: "12h"
+            value: "12 hours"
+          - dps_val: "13h"
+            value: "13 hours"
+          - dps_val: "14h"
+            value: "14 hours"
+          - dps_val: "15h"
+            value: "15 hours"
+          - dps_val: "16h"
+            value: "16 hours"
+          - dps_val: "17h"
+            value: "17 hours"
+          - dps_val: "18h"
+            value: "18 hours"
+          - dps_val: "19h"
+            value: "19 hours"
+          - dps_val: "20h"
+            value: "20 hours"
+          - dps_val: "21h"
+            value: "21 hours"
+          - dps_val: "22h"
+            value: "22 hours"
+          - dps_val: "23h"
+            value: "23 hours"
+          - dps_val: "24h"
+            value: "24 hours"
+  - entity: sensor
+    name: Time remaining
+    class: duration
+    category: diagnostic
+    dps:
+      - id: 20
+        type: integer
+        name: sensor
+        unit: min
+  - entity: binary_sensor
+    name: Fault
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 21
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - value: true
+
+