Explorar el Código

feat (devices): add Beca BAC-2005ALW fan coil thermostat

Issue #4374
Jason Rumney hace 6 días
padre
commit
03c878fc77

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -1269,3 +1269,4 @@ Further device support has been made with the assistance of users. Please consid
 - [Moss51](https://github.com/Moss51) for assisting with support for Bestherm Nessa Connect panel heater.
 - [Moss51](https://github.com/Moss51) for assisting with support for Bestherm Nessa Connect panel heater.
 - [Aaronhrndz](https://github.com/Aaronhrndz) for assisting with support for Haoyunma BD100 aroma diffuser.
 - [Aaronhrndz](https://github.com/Aaronhrndz) for assisting with support for Haoyunma BD100 aroma diffuser.
 - [henrique-veiga](https://github.com/henrique-veiga) for assisting with support for Novadigital ceiling fan with light.
 - [henrique-veiga](https://github.com/henrique-veiga) for assisting with support for Novadigital ceiling fan with light.
+- [andreufontb](https://github.com/andreufontb) for assisting with support for Beca BAC-2005ALW thermostat.

+ 1 - 1
DEVICES.md

@@ -224,7 +224,7 @@ devices # Supported
 - Atorch S1TW thermostat smart switch
 - Atorch S1TW thermostat smart switch
 - Avatto ME81, WS20R and WT100 thermostats
 - Avatto ME81, WS20R and WT100 thermostats
 - Awow/Mi-heat TH213 thermostat (two variants)
 - Awow/Mi-heat TH213 thermostat (two variants)
-- Beca BAC-002, BAC-006, BHT-002/3000, BHP-6000 thermostats
+- Beca BAC-002, BAC-006, BAC-2005ALW, BHT-002/3000, BHP-6000 thermostats
 - Beca BHT-12 thermostat smartplug
 - Beca BHT-12 thermostat smartplug
 - Beok TCB/W38 thermostat (also sold as RT-70 under other brands)
 - Beok TCB/W38 thermostat (also sold as RT-70 under other brands)
 - Beok TGR81 thermostat _(also reported working with Myuet ME98, Avatto WT81/ME81)_
 - Beok TGR81 thermostat _(also reported working with Myuet ME98, Avatto WT81/ME81)_

+ 296 - 0
custom_components/tuya_local/devices/beca_bac2005alw_thermostat.yaml

@@ -0,0 +1,296 @@
+name: Fan coil thermostat
+products:
+  - id: j0gm33igit25kye2
+    manufacturer: Beca
+    model: BAC-2005ALW
+entities:
+  - entity: climate
+    translation_key: thermostat
+    dps:
+      - id: 1
+        type: boolean
+        name: hvac_mode
+        mapping:
+          - dps_val: false
+            value: "off"
+          - dps_val: true
+            constraint: mode
+            conditions:
+              - dps_val: Cool
+                value: cool
+              - dps_val: Heat
+                value: heat
+              - dps_val: ventilation
+                value: fan_only
+      - id: 2
+        type: string
+        name: mode
+        hidden: true
+      - id: 4
+        type: boolean
+        name: preset_mode
+        mapping:
+          - dps_val: false
+            value: comfort
+          - dps_val: true
+            value: eco
+      - id: 16
+        type: integer
+        name: temperature
+        unit: C
+        range:
+          min: 50
+          max: 450
+        mapping:
+          - scale: 10
+            step: 5
+      - id: 19
+        type: integer
+        name: max_temperature
+        mapping:
+          - scale: 10
+      - id: 24
+        type: integer
+        name: current_temperature
+        mapping:
+          - scale: 10
+      - id: 26
+        type: integer
+        name: min_temperature
+        mapping:
+          - scale: 10
+      - id: 28
+        type: string
+        name: fan_mode
+        mapping:
+          - dps_val: auto
+            value: auto
+          - dps_val: low
+            value: low
+          - dps_val: middle
+            value: medium
+          - dps_val: hight
+            value: high
+      - id: 32
+        type: string
+        name: hvac_mode
+        mapping:
+          - dps_val: close
+            value_redirect: valve_only_state
+          - value_redirect: valve_state
+      - id: 36
+        type: string
+        name: valve_state
+        hidden: true
+        mapping:
+          - dps_val: close
+            value: fan
+          - constraint: mode
+            value: fan
+            conditions:
+              - dps_val: Cool
+                value: cooling
+              - dps_val: Heat
+                value: heating
+      - id: 36
+        type: string
+        name: valve_only_state
+        hidden: true
+        mapping:
+          - dps_val: close
+            value: idle
+          - value: defrosting
+            constraint: mode
+            conditions:
+              - dps_val: Heat
+                value: preheating
+  - entity: number
+    translation_key: maximum_temperature
+    class: temperature
+    category: config
+    dps:
+      - id: 19
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 150
+          max: 450
+        mapping:
+          - scale: 10
+            step: 10
+  - entity: number
+    translation_key: minimum_temperature
+    class: temperature
+    category: config
+    dps:
+      - id: 26
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 50
+          max: 150
+        mapping:
+          - scale: 10
+            step: 10
+  - entity: number
+    translation_key: temperature_calibration
+    category: config
+    dps:
+      - id: 27
+        type: integer
+        name: value
+        unit: °
+        range:
+          min: -14
+          max: 14
+  - entity: button
+    translation_key: factory_reset
+    category: config
+    hidden: true
+    dps:
+      - id: 39
+        type: boolean
+        optional: true
+        name: button
+  - entity: lock
+    translation_key: child_lock
+    category: config
+    dps:
+      - id: 40
+        type: boolean
+        name: lock
+  - entity: text
+    name: Program 1
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 101
+        type: base64
+        optional: true
+        name: value
+  - entity: text
+    name: Program 2
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 102
+        type: base64
+        optional: true
+        name: value
+  - entity: text
+    name: Program 3
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 103
+        type: base64
+        optional: true
+        name: value
+  - entity: number
+    name: Eco cool temperature
+    class: temperature
+    category: config
+    dps:
+      - id: 104
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 0
+          max: 300
+        mapping:
+          - scale: 10
+            step: 10
+  - entity: number
+    name: Eco heat temperature
+    class: temperature
+    category: config
+    dps:
+      - id: 105
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 0
+          max: 300
+        mapping:
+          - scale: 10
+            step: 10
+  - entity: text
+    name: Program 4
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 106
+        type: base64
+        optional: true
+        name: value
+  - entity: text
+    name: Program 5
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 107
+        type: base64
+        optional: true
+        name: value
+  - entity: text
+    name: Program 6
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 108
+        type: base64
+        optional: true
+        name: value
+  - entity: text
+    name: Program 7
+    category: config
+    icon: "mdi:calendar-clock"
+    hidden: true
+    dps:
+      - id: 109
+        type: base64
+        optional: true
+        name: value
+  - entity: select
+    translation_key: mode
+    dps:
+      - id: 110
+        type: string
+        name: option
+        mapping:
+          - dps_val: auto
+            value: auto
+          - dps_val: manual
+            value: manual
+  - entity: number
+    name: Temperature hysteresis
+    category: config
+    icon: "mdi:arrow-expand-vertical"
+    dps:
+      - id: 111
+        type: integer
+        name: value
+        unit: °
+        range:
+          min: 1
+          max: 5
+  - entity: light
+    translation_key: display
+    category: config
+    dps:
+      - id: 114
+        name: brightness
+        type: integer
+        range:
+          min: 0
+          max: 10