Преглед на файлове

Add support for Avatto ME81 thermostat

Issue #1560
Jason Rumney преди 2 години
родител
ревизия
20c53861b4
променени са 3 файла, в които са добавени 203 реда и са изтрити 0 реда
  1. 1 0
      ACKNOWLEDGEMENTS.md
  2. 1 0
      DEVICES.md
  3. 201 0
      custom_components/tuya_local/devices/avatto_me81_thermostat.yaml

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -480,3 +480,4 @@ Further device support has been made with the assistance of users. Please consid
 - [Geek-MD](https://github.com/Geek-MD) for contributing support for generic 2 outlet + 2 USB smartplugs.
 - [TwoWheelPro](https://github.com/TwoWheelPro) for contributing support for Holman WX8 irrigation controllers.
 - [scrampker](https://github.com/scrampker) for assisting with support for Ironzon fingerprint locks.
+- [sergeymatsay](https://github.com/sergeymatsay) for assisting with support for Avatto ME81 thermostats.

+ 1 - 0
DEVICES.md

@@ -122,6 +122,7 @@
 ### Thermostats
 
 - Arlec PCTH01HA temperature/humidity smart switch
+- Avatto ME81 thermostat
 - Avatto WT100 thermostat
 - Awow/Mi-heat TH213 thermostat (two variants)
 - Beca BAC-002 thermostat

+ 201 - 0
custom_components/tuya_local/devices/avatto_me81_thermostat.yaml

@@ -0,0 +1,201 @@
+name: Thermostat
+products:
+  - id: gogb05wrtredz3bs
+    name: Avatto ME81
+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: 16
+      type: integer
+      name: temperature
+      unit: C
+      range:
+        min: 5
+        max: 90
+    - id: 19
+      type: integer
+      name: max_temperature
+      optional: true
+    - id: 26
+      type: integer
+      name: min_temperature
+      optional: true
+    - id: 24
+      type: integer
+      name: current_temperature
+      mapping:
+        - scale: 10
+    - id: 36
+      type: string
+      name: hvac_action
+      mapping:
+        - constraint: hvac_mode
+          conditions:
+            - dps_val: false
+              value: "off"
+            - mapping:
+                - dps_val: open
+                  value: heating
+                - value: idle
+    - id: 38
+      type: string
+      optional: true
+      name: week_program
+secondary_entities:
+  - entity: switch
+    name: Anti-frost
+    icon: "mdi:snowflake"
+    category: config
+    dps:
+      - id: 10
+        type: boolean
+        name: switch
+        optional: true
+        mapping:
+          - dps_val: null
+            value: false
+            hidden: true
+  - entity: number
+    name: Maximum temperature
+    class: temperature
+    category: config
+    icon: "mdi:thermometer-chevron-up"
+    dps:
+      - id: 19
+        type: integer
+        name: value
+        optional: true
+        unit: C
+        range:
+          min: 30
+          max: 90
+  - entity: number
+    name: Minimum temperature
+    class: temperature
+    category: config
+    icon: "mdi:thermometer-chevron-down"
+    dps:
+      - id: 26
+        type: integer
+        name: value
+        optional: true
+        unit: C
+        range:
+          min: 5
+          max: 20
+  - entity: number
+    name: Temperature calibration
+    category: config
+    icon: "mdi:thermometer-check"
+    dps:
+      - id: 27
+        type: integer
+        optional: true
+        name: value
+        unit: °
+        range:
+          min: -9
+          max: 9
+  - entity: button
+    name: Factory reset
+    category: config
+    dps:
+      - id: 39
+        type: boolean
+        name: button
+        optional: true
+  - entity: lock
+    name: Child lock
+    icon: "mdi:hand-back-right-off"
+    category: config
+    dps:
+      - id: 40
+        type: boolean
+        name: lock
+        optional: true
+        mapping:
+          - dps_val: null
+            value: false
+            hidden: true
+  - entity: select
+    name: Temperature sensor
+    icon: "mdi:home-thermometer"
+    category: config
+    dps:
+      - id: 43
+        type: string
+        optional: true
+        name: option
+        mapping:
+          - dps_val: in
+            value: Internal
+          - dps_val: out
+            value: External
+          - dps_val: all
+            value: Both
+          - dps_val: null
+            value: Internal
+            hidden: true
+  - entity: binary_sensor
+    name: Fault
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 45
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - value: true
+      - id: 45
+        type: bitfield
+        name: fault_code
+  - entity: number
+    name: Temperature hysteresis
+    category: config
+    icon: "mdi:thermometer-plus"
+    dps:
+      - id: 101
+        type: integer
+        optional: true
+        name: value
+        unit: °
+        range:
+          min: 1
+          max: 5
+  - entity: select
+    name: Program type
+    icon: "mdi:calendar-week"
+    category: config
+    dps:
+      - id: 102
+        type: string
+        optional: true
+        name: option
+        mapping:
+          - dps_val: "00"
+            value: Disabled
+          - dps_val: "52"
+            value: Weekdays+Weekend
+          - dps_val: "61"
+            value: Six working days
+          - dps_val: "70"
+            value: Daily