Explorar o código

Add support for Princess 350 panel heater

Issue #602
Jason Rumney %!s(int64=2) %!d(string=hai) anos
pai
achega
486e930f7e

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -244,3 +244,4 @@ Further device support has been made with the assistance of users.  Please consi
 - [jprasm](https://github.com/jprasm) for assisting with support for Inkbird air quality monitors.
 - [jprasm](https://github.com/jprasm) for assisting with support for Inkbird air quality monitors.
 - [Muelner](https://github.com/Muelner) for assisting with support for WDYK 3-phase energy meter circuit breakers.
 - [Muelner](https://github.com/Muelner) for assisting with support for WDYK 3-phase energy meter circuit breakers.
 - [Cyrelion](https://github.com/Cyrelion) for assisting with support for Lifubide X600 air purifiers.
 - [Cyrelion](https://github.com/Cyrelion) for assisting with support for Lifubide X600 air purifiers.
+- [mwkchan](https://github.com/mwkchan) for assisting with support for Princess 350 panel heater.

+ 1 - 0
DEVICES.md

@@ -22,6 +22,7 @@
 - Kogan Wi-Fi convection panel heaters - KAHTP and KAWFHTP models
 - Kogan Wi-Fi convection panel heaters - KAHTP and KAWFHTP models
 - Nedis convection heater - WIFIHTPL20F model
 - Nedis convection heater - WIFIHTPL20F model
 - Orion OWH-PTC2000 heater
 - Orion OWH-PTC2000 heater
+- Princess 350 panel heater
 - Purline Hoti M100 heater
 - Purline Hoti M100 heater
 - Rumba bathroom heater
 - Rumba bathroom heater
 - Wetair WCH-750 heater
 - Wetair WCH-750 heater

+ 68 - 0
custom_components/tuya_local/devices/princess_panel_heater.yaml

@@ -0,0 +1,68 @@
+name: Panel heater
+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: 0
+        max: 37
+      mapping:
+        - constraint: temperature_unit
+          conditions:
+            - dps_val: f
+              value_redirect: temp_set_f
+              range:
+                min: 32
+                max: 99
+    - id: 3
+      type: integer
+      name: current_temperature
+      mapping:
+        - constraint: temperature_unit
+          conditions:
+            - dps_val: f
+              value_redirect: cur_temp_f
+    - id: 13
+      type: string
+      name: temperature_unit
+      mapping:
+        - dps_val: c
+          value: C
+        - dps_val: f
+          value: F
+    - id: 14
+      type: integer
+      name: temp_set_f
+      range:
+        min: 32
+        max: 99
+      hidden: true
+    - id: 15
+      type: integer
+      name: cur_temp_f
+      hidden: true
+secondary_entities:
+  - entity: select
+    name: Temperature unit
+    icon: "mdi:temperature-celsius"
+    category: config
+    dps:
+      - id: 13
+        type: string
+        name: option
+        mapping:
+          - dps_val: c
+            value: Celsius
+          - dps_val: f
+            value: Fahrenheit
+