Quellcode durchsuchen

Add support for KKMoon knob thermostat

Issue #1727
Jason Rumney vor 2 Jahren
Ursprung
Commit
d0e1a42973
3 geänderte Dateien mit 165 neuen und 0 gelöschten Zeilen
  1. 1 0
      ACKNOWLEDGEMENTS.md
  2. 1 0
      DEVICES.md
  3. 163 0
      custom_components/tuya_local/devices/kkmoon_thermostat.yaml

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -521,3 +521,4 @@ Further device support has been made with the assistance of users. Please consid
 - [Dexter-Lucky](https://github.com/Dexter-Lucky) for assisting with support for Zigbee PY321-Z-TY energy meters.
 - [teeodor](https://github.com/teeodor) for assisting with support for Maxico aroma diffusers.
 - [gvermaat](https://github.com/gvermaat) for assisting with support for Hysen HY02TP thermostats.
+- [korzeniewski36](https://github.com/korzeniewski36) for assisting with support for KKMoon knob thermostats.

+ 1 - 0
DEVICES.md

@@ -150,6 +150,7 @@
 - Inkbird ITC306A thermostat smartplug
 - Inkbird ITC308 thermostat smartplug
 - Jiahong ET-72W thermostat
+- KKMoon knob thermostat
 - Ledlux thermostat
 - ME80 touchscreen thermostat
 - Minco MH-1823D thermostat

+ 163 - 0
custom_components/tuya_local/devices/kkmoon_thermostat.yaml

@@ -0,0 +1,163 @@
+name: Thermostat
+products:
+  - id: ixmi1hbw0omzpbjy
+    name: KKMoon Knob thermostat
+primary_entity:
+  entity: climate
+  dps:
+    - id: 1
+      type: boolean
+      name: hvac_mode
+      mapping:
+        - dps_val: false
+          value: "off"
+        - dps_val: true
+          constraint: mode
+          conditions:
+            - dps_val: auto
+              value: auto
+            - dps_val: manual
+              value: heat
+    - id: 2
+      type: string
+      name: mode
+      hidden: true
+    - id: 3
+      type: string
+      name: hvac_action
+      mapping:
+        - constraint: hvac_mode
+          conditions:
+            - dps_val: false
+              value: "off"
+            - dps_val: true
+              mapping:
+                - dps_val: open
+                  value: heating
+                - dps_val: close
+                  value: idle
+    - id: 16
+      type: integer
+      name: temperature
+      unit: C
+      range:
+        min: 50
+        max: 450
+      mapping:
+        - scale: 10
+          step: 5
+    - id: 24
+      type: integer
+      name: current_temperature
+      mapping:
+        - scale: 10
+    - id: 71
+      type: string
+      optional: true
+      name: schedule
+secondary_entities:
+  - entity: number
+    name: Temperature correction
+    category: config
+    icon: "mdi:thermometer-check"
+    dps:
+      - id: 27
+        type: integer
+        name: value
+        unit: °
+        range:
+          min: -9
+          max: 9
+  - entity: valve
+    class: water
+    category: diagnostic
+    dps:
+      - id: 36
+        type: string
+        name: valve
+        readonly: true
+        mapping:
+          - dps_val: open
+            value: true
+          - dps_val: close
+            value: false
+  - entity: light
+    name: Backlight
+    icon: "mdi:television-ambient-light"
+    category: config
+    dps:
+      - id: 44
+        name: brightness
+        type: integer
+        range:
+          min: 0
+          max: 100
+  - entity: sensor
+    name: Floor temperature
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 101
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: select
+    name: Temperature sensor
+    icon: "mdi:home-thermometer"
+    category: config
+    dps:
+      - id: 102
+        type: string
+        name: option
+        mapping:
+          - dps_val: IN
+            value: Internal
+          - dps_val: OU
+            value: Floor
+          - dps_val: AL
+            value: Both
+  - entity: number
+    name: Temperature hysteresis
+    category: config
+    icon: "mdi:thermometer-plus"
+    dps:
+      - id: 103
+        type: integer
+        name: value
+        unit: °
+        range:
+          min: 0
+          max: 5
+  - entity: number
+    name: Overheat protection limit
+    category: config
+    icon: "mdi:thermometer-chevron-up"
+    dps:
+      - id: 104
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 100
+          max: 700
+        mapping:
+          - scale: 10
+            step: 10
+  - entity: number
+    name: Anti-frost protection limit
+    category: config
+    icon: "mdi:snowflake-thermometer"
+    dps:
+      - id: 105
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 0
+          max: 100
+        mapping:
+          - scale: 10
+            step: 10