Просмотр исходного кода

feat (devices): add Avatto ZWT198 thermostat

Issue #4253
Jason Rumney 2 недель назад
Родитель
Сommit
1e5dc21d2e
3 измененных файлов с 190 добавлено и 1 удалено
  1. 1 1
      ACKNOWLEDGEMENTS.md
  2. 1 0
      DEVICES.md
  3. 188 0
      custom_components/tuya_local/devices/avatto_zwt198_thermostat.yaml

+ 1 - 1
ACKNOWLEDGEMENTS.md

@@ -1227,5 +1227,5 @@ 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.
+- [pacopaues](https://github.com/pacopaues) for assisting with support for RTI-Tek T5Z and Avatto ZWT198 thermostats.
 - [ivan-mendez](https://github.com/ivan-mendez) for assisting with support for Brokton BRST12 air conditioner.

+ 1 - 0
DEVICES.md

@@ -1284,6 +1284,7 @@ entity types as sub devices.
 
 - Aubess temperature and humidity sensor
 - Avatto TRV06 radiator valve (also sold branded as Thaleos)
+- Avatto ZWT198 thermostat
 - Generic Zigbee Door Sensor
 - Haozee RB-SRAIN01 solar rain sensor
 - Haozee ZG-302ZM mmWave presence dual light switch

+ 188 - 0
custom_components/tuya_local/devices/avatto_zwt198_thermostat.yaml

@@ -0,0 +1,188 @@
+name: Thermostat
+products:
+  - id: viy9ihs7
+    manufacturer: Avatto
+    model: ZWT198
+entities:
+  - entity: climate
+    translation_key: thermostat
+    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
+        unit: C
+        range:
+          min: 50
+          max: 950
+        mapping:
+          - scale: 10
+            step: 5
+      - id: 3
+        type: integer
+        name: current_temperature
+        mapping:
+          - scale: 10
+      - id: 4
+        type: string
+        name: preset_mode
+        mapping:
+          - dps_val: auto
+            value: program
+          - dps_val: home
+            value: home
+          - dps_val: temporary
+            value: temp_override
+      - id: 15
+        type: integer
+        name: max_temperature
+        mapping:
+          - scale: 10
+      - id: 16
+        type: integer
+        optional: true
+        name: min_temperature
+        mapping:
+          - scale: 10
+      - id: 101
+        type: string
+        name: hvac_action
+        mapping:
+          - dps_val: "0"
+            value: idle
+          - dps_val: "1"
+            value: heating
+  - entity: lock
+    translation_key: child_lock
+    category: config
+    dps:
+      - id: 9
+        type: boolean
+        name: lock
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 11
+        type: bitfield
+        optional: true
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - dps_val: null
+            value: false
+          - value: true
+      - id: 11
+        type: bitfield
+        optional: true
+        name: fault_code
+  - entity: number
+    translation_key: maximum_temperature
+    category: config
+    dps:
+      - id: 15
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 150
+          max: 950
+        mapping:
+          - scale: 10
+            step: 5
+  - entity: number
+    translation_key: minximum_temperature
+    category: config
+    dps:
+      - id: 16
+        type: integer
+        optional: true
+        name: value
+        unit: C
+        range:
+          min: 50
+          max: 150
+        mapping:
+          - scale: 10
+            step: 5
+  - entity: switch
+    translation_key: anti_frost
+    category: config
+    dps:
+      - id: 102
+        type: boolean
+        name: switch
+  - entity: button
+    translation_key: factory_reset
+    category: config
+    hidden: true
+    dps:
+      - id: 103
+        type: boolean
+        name: button
+  - entity: select
+    name: Schedule
+    icon: "mdi:calendar-clock"
+    category: config
+    dps:
+      - id: 104
+        type: string
+        name: option
+        mapping:
+          - dps_val: "0"
+            value: Disabled
+          - dps_val: "1"
+            value: Weekday+Weekend
+          - dps_val: "2"
+            value: Mon-Sat+Sun
+          - dps_val: "3"
+            value: Daily
+  - entity: text
+    name: Schedule
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 109
+        type: base64
+        optional: true
+        name: value
+  - entity: number
+    name: Temperature hysteresis
+    category: config
+    icon: "mdi:thermometer-plus"
+    dps:
+      - id: 107
+        type: integer
+        name: value
+        unit: °
+        range:
+          min: 5
+          max: 100
+        mapping:
+          - scale: 10
+            step: 5
+  - entity: light
+    translation_key: backlight
+    category: config
+    dps:
+      - id: 110
+        name: brightness
+        type: string
+        mapping:
+          - dps_val: "0"
+            value: 0
+          - dps_val: "1"
+            value: 85
+          - dps_val: "2"
+            value: 170
+          - dps_val: "3"
+            value: 255