Ver Fonte

feat (devices): add RTI-Tek T5Z zigbee thermostat

Issue #4248
Jason Rumney há 3 semanas atrás
pai
commit
db225e0688

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -1227,3 +1227,4 @@ Further device support has been made with the assistance of users. Please consid
 - [Keou0007](https://github.com/Keou0007) for contributing support for Waterco Electroheat ECO-VS pool heat pump.
 - [ben-h-a](https://github.com/ben-h-a) for contributing support for Xtuos dual pet feeder.
 - [drkn](https://github.com/drkn) for contributing support for Eberg HUMI humidifier.
+- [pacopaues](https://github.com/pacopaues) for assisting with support for RTI-Tek T5Z thermostat.

+ 1 - 0
DEVICES.md

@@ -1302,6 +1302,7 @@ entity types as sub devices.
 - Nedis ZBSC10WT temperature and humidity sensor
 - Neo Siren Alarm 2
 - PY321-Z-TY energy meter
+- RTI-Tek T5Z thermostat
 - Smart air box BR V2
 - Temperature and humidity sensor with alarm feature
 - TH02 Z3-P3Z temperature and humidity sensor

+ 182 - 0
custom_components/tuya_local/devices/rtitek_t5z_thermostat.yaml

@@ -0,0 +1,182 @@
+name: Thermostat
+products:
+  - id: g9a3awaj
+    manufacturer: RTI-Tek
+    model: T5Z
+entities:
+  - entity: climate
+    translation_only_key: thermostat
+    dps:
+      - id: 1
+        name: hvac_mode
+        type: boolean
+        mapping:
+          - dps_val: true
+            constraint: mode
+            conditions:
+              - dps_val: auto
+                value: auto
+              - dps_val: manual
+                value: heat
+          - dps_val: false
+            value: "off"
+      - id: 2
+        name: mode
+        type: string
+        hidden: true
+      - id: 16
+        type: integer
+        name: temperature
+        unit: C
+        range:
+          min: 50
+          max: 950
+        mapping:
+          - scale: 10
+            step: 5
+      - id: 18
+        type: integer
+        optional: true
+        name: min_temperature
+        mapping:
+          - scale: 10
+      - id: 19
+        type: integer
+        optional: true
+        name: max_temperature
+        mapping:
+          - scale: 10
+      - id: 24
+        type: integer
+        name: current_temperature
+        mapping:
+          - scale: 10
+      - id: 36
+        type: string
+        name: hvac_action
+        optional: true
+        mapping:
+          - dps_val: close
+            value: idle
+          - dps_val: open
+            value: heating
+  - entity: sensor
+    class: battery
+    dps:
+      - id: 9
+        type: integer
+        name: sensor
+        unit: "%"
+        class: measurement
+  - entity: number
+    translation_key: temperature_calibration
+    category: config
+    dps:
+      - id: 109
+        type: integer
+        optional: true
+        name: value
+        unit: °
+        range:
+          min: -99
+          max: 99
+        mapping:
+          - scale: 10
+  - entity: switch
+    translation_key: anti_frost
+    category: config
+    dps:
+      - id: 10
+        type: boolean
+        optional: true
+        name: switch
+        mapping:
+          - dps_val: null
+            value: false
+            hidden: true
+  - entity: lock
+    translation_key: child_lock
+    category: config
+    dps:
+      - id: 40
+        optional: true
+        type: boolean
+        name: lock
+  - entity: binary_sensor
+    category: diagnostic
+    class: problem
+    dps:
+      - id: 45
+        type: bitfield
+        name: sensor
+        optional: true
+        mapping:
+          - dps_val: 0
+            value: false
+          - value: true
+      - id: 45
+        name: fault_code
+        optional: true
+        type: bitfield
+      - id: 105
+        name: product_info
+        optional: true
+        type: string
+  - entity: number
+    translation_key: maximum_temperature
+    category: config
+    class: temperature
+    dps:
+      - id: 19
+        type: integer
+        name: value
+        unit: C
+        optional: true
+        range:
+          min: 210
+          max: 950
+        mapping:
+          - scale: 10
+            step: 10
+  - entity: number
+    translation_key: minimum_temperature
+    category: config
+    class: temperature
+    dps:
+      - id: 18
+        optional: true
+        name: value
+        type: integer
+        unit: C
+        range:
+          min: 50
+          max: 200
+        mapping:
+          - scale: 10
+            step: 10
+  - entity: select
+    name: Working week
+    icon: "mdi:calendar-clock"
+    category: config
+    dps:
+      - id: 31
+        type: string
+        name: option
+        optional: true
+        mapping:
+          - dps_val: "5_2"
+            value: "5 days"
+          - dps_val: "6_1"
+            value: "6 days"
+          - dps_val: "7"
+            value: "7 days"
+  - entity: text
+    name: Week program
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 67
+        type: base64
+        optional: true
+        name: value