Преглед изворни кода

Add support for BHT-002-GALW thermostats.

This is a different incompatible variant with the previously added
Beca and Moes BHT-002 thermostats.  BHT-002 seems to be
commonly used, perhaps in reference to the electrical interface rather
than the thermostat model.

Issue #464
Jason Rumney пре 2 година
родитељ
комит
6ac1eb917b
3 измењених фајлова са 147 додато и 1 уклоњено
  1. 1 1
      ACKNOWLEDGEMENTS.md
  2. 1 0
      DEVICES.md
  3. 145 0
      custom_components/tuya_local/devices/bht002_galw_thermostat.yaml

+ 1 - 1
ACKNOWLEDGEMENTS.md

@@ -239,4 +239,4 @@ Further device support has been made with the assistance of users.  Please consi
 - [matteozamu](https://github.com/matteozamu) for assisting with support for LoraTap garage doors.
 - [chemicalstorm](https://github.com/chemicalstorm) for contributing support for Catit pixi 6-meal pet feeder.
 - [darki73](https://github.com/darki73) for contributing support for SHerko smart curtain motorss.
-- [karolzamosc](https://github.com/karolzamosc) for assisting with support for Rumba bathroom heaters.
+- [karolzamosc](https://github.com/karolzamosc) for assisting with support for Rumba bathroom heaters, BHT-002-GALW thermostats.

+ 1 - 0
DEVICES.md

@@ -78,6 +78,7 @@
 - Beok TGR81 thermostat (also reported working with Myuet ME98, Avatto WT81/ME81)
 - Beok TOL47 thermostat
 - Beok TR9B thermostat _(rebadged as Vancoo and perhaps others)_
+- BHT-002-GALW thermostat _(rebadged as many different brands)_
 - ETOP-HP thermostat (CH7100)
 - ETOP-HT thermostat
 - Hysen HY08ACF thermostat

+ 145 - 0
custom_components/tuya_local/devices/bht002_galw_thermostat.yaml

@@ -0,0 +1,145 @@
+name: Thermostat
+primary_entity:
+  entity: climate
+  dps:
+    - id: 1
+      name: hvac_mode
+      type: boolean
+      mapping:
+        - dps_val: false
+          value: "off"
+        - dps_val: true
+          constraint: mode
+          conditions:
+            - dps_val: manual
+              value: heat
+            - dps_val: program
+              value: auto
+    - id: 2
+      name: mode
+      type: string
+    - id: 3
+      name: hvac_action
+      type: boolean
+      mapping:
+        - constraint: hvac_mode
+          conditions:
+            - dps_val: false
+              value: "off"
+            - dps_val: true
+              mapping:
+                - dps_val: false
+                  value: idle
+                - dps_val: true
+                  value: heating
+    - id: 16
+      name: temperature
+      type: integer
+      unit: C
+      range:
+        min: 50
+        max: 950
+      mapping:
+        - scale: 10
+          step: 5
+    - id: 19
+      name: max_temperature
+      type: integer
+      mapping:
+        - scale: 10
+    - id: 24
+      name: current_temperature
+      type: integer
+      mapping:
+        - scale: 10
+secondary_entities:
+  - entity: button
+    name: Factory reset
+    class: restart
+    category: config
+    dps:
+      - id: 39
+        type: boolean
+        name: button
+  - entity: switch
+    name: Window detect
+    category: config
+    icon: "mdi:window-open-variant"
+    dps:
+      - id: 8
+        type: boolean
+        name: switch
+  - entity: lock
+    name: Child lock
+    icon: "mdi:hand-back-right-off"
+    category: config
+    dps:
+      - id: 40
+        type: boolean
+        name: lock
+  - entity: switch
+    name: Anti-frost
+    category: config
+    icon: "mdi:snowflake"
+    dps:
+      - id: 10
+        type: boolean
+        name: switch
+  - entity: select
+    name: Temperature sensor
+    icon: "mdi:thermometer"
+    category: config
+    dps:
+      - id: 43
+        type: string
+        name: option
+        mapping:
+          - dps_val: in
+            value: Internal
+          - dps_val: out
+            value: External
+  - entity: number
+    name: Maximum temperature
+    category: config
+    icon: "mdi:thermometer-chevron-up"
+    dps:
+      - id: 19
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 350
+          max: 950
+        mapping:
+          - scale: 10
+            step: 5
+  - entity: binary_sensor
+    name: Window
+    class: window
+    category: diagnostic
+    dps:
+      - id: 25
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: "close"
+            value: false
+          - dps_val: "open"
+            value: true
+  - entity: number
+    name: Temperature correction
+    category: config
+    icon: "mdi:thermometer-check"
+    dps:
+      - id: 27
+        type: integer
+        name: value
+        range:
+          min: -9
+          max: 9
+
+
+
+
+
+