Sfoglia il codice sorgente

Add support for Moes BRT-100-TRV thermostatic radiator valves.

Issue #1780
Jason Rumney 1 anno fa
parent
commit
0e2775798c

+ 1 - 1
ACKNOWLEDGEMENTS.md

@@ -518,7 +518,7 @@ Further device support has been made with the assistance of users. Please consid
 - [popokio](https://github.com/popokio) for assisting with support for Plikc Neve X RFW thermostats.
 - [popeen](https://github.com/popeen) for contributing support for Silvercrest Coffee makers.
 - [ciotorcristian](https://github.com/ciotorcristian) for contributing support for HoneyGuardian S56 pet feeder.
-- [Dexter-Lucky](https://github.com/Dexter-Lucky) for assisting with support for Zigbee PY321-Z-TY energy meters.
+- [Dexter-Lucky](https://github.com/Dexter-Lucky) for assisting with support for Zigbee PY321-Z-TY energy meters and Moes BRT-100-TRV radiator valves.
 - [teeodor](https://github.com/teeodor) for assisting with support for Maxico aroma diffusers.
 - [gvermaat](https://github.com/gvermaat) for assisting with support for Hysen HY02TP thermostats.
 - [korzeniewski36](https://github.com/korzeniewski36) for assisting with support for KKMoon knob thermostats.

+ 1 - 0
DEVICES.md

@@ -724,6 +724,7 @@ port and password.
 - LoraTap QCSC400ZB-V2 curtain switch
 - LoraTap SC500ZB-V2 curtain controller
 - Loratap SS9600ZB 6 button remote control
+- Moes BRT-100-TRV radiator valve
 - Moes RGBCW lightbulb
 - Moes ZHT-002 thermostat
 - MultiIR MIR-TE100-TY temperature and humidity sensor

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

@@ -0,0 +1,201 @@
+name: Radiator valve
+products:
+  - id: b6wax7g0
+    name: Moes Zigbee BRT-100-TRV
+primary_entity:
+  entity: climate
+  translation_key: thermostat
+  dps:
+    - id: 1
+      type: string
+      optional: true
+      name: hvac_mode
+      mapping:
+        - dps_val: auto
+          value: auto
+        - dps_val: manual
+          value: heat
+        - value: heat
+          hidden: true
+    - id: 2
+      type: integer
+      optional: true
+      name: temperature
+      unit: C
+      range:
+        min: 0
+        max: 45
+      mapping:
+        - constraint: preset_mode
+          conditions:
+            - dps_val: true
+              value_redirect: eco_temp
+    - id: 3
+      type: integer
+      optional: true
+      name: current_temperature
+      mapping:
+        - scale: 10
+    - id: 7
+      type: string
+      optional: true
+      name: hvac_action
+      mapping:
+        - dps_val: opened
+          value: heating
+        - dps_val: closed
+          value: idle
+    - id: 105
+      type: integer
+      optional: true
+      name: fill_temp
+    - id: 106
+      type: boolean
+      optional: true
+      name: preset_mode
+      mapping:
+        - dps_val: true
+          value: eco
+        - dps_val: false
+          constraint: boost_mode
+          conditions:
+            - dps_val: true
+              value: boost
+            - dps_val: false
+              value: comfort
+            - dps_val: null
+              value: comfort
+              hidden: true
+        - dps_val: null
+          constraint: boost_mode
+          conditions:
+            - dps_val: true
+              value: boost
+              hidden: true
+            - dps_val: false
+              value: comfort
+              hidden: true
+            - dps_val: null
+              value: comfort
+              hidden: true
+    - id: 107
+      type: integer
+      optional: true
+      name: eco_temp
+      range:
+        min: 5
+        max: 35
+    - id: 108
+      type: integer
+      optional: true
+      name: max_temperature
+    - id: 109
+      type: integer
+      optional: true
+      name: min_temperature
+secondary_entities:
+  - entity: switch
+    name: Holiday mode
+    icon: "mdi:caravan"
+    category: config
+    dps:
+      - id: 1
+        type: string
+        name: switch
+        mapping:
+          - dps_val: holidays
+            value: true
+          - dps_val: auto
+            value: false
+          - value: false
+            hidden: true
+  - entity: number
+    name: Boost timer
+    icon: "mdi:timer"
+    category: config
+    dps:
+      - id: 5
+        type: integer
+        optional: true
+        name: value
+        unit: min
+        range:
+          min: 0
+          max: 720
+        mapping:
+          - step: 15
+      - id: 101
+        type: base64
+        optional: true
+        name: schedule
+      - id: 103
+        type: integer
+        optional: true
+        name: boost_time
+  - entity: switch
+    name: Window open detection
+    category: config
+    dps:
+      - id: 8
+        type: boolean
+        optional: true
+        name: switch
+  - entity: binary_sensor
+    class: window
+    category: diagnostic
+    dps:
+      - id: 9
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: opened
+            value: true
+          - dps_val: closed
+            value: false
+  - entity: lock
+    translation_key: child_lock
+    category: config
+    dps:
+      - id: 13
+        type: boolean
+        optional: true
+        name: lock
+  - entity: sensor
+    class: battery
+    category: diagnostic
+    dps:
+      - id: 14
+        type: integer
+        name: sensor
+        unit: "%"
+  - entity: valve
+    dps:
+      - id: 104
+        type: integer
+        optional: true
+        name: valve
+        readonly: true
+  - entity: number
+    name: Maximum temperature
+    category: config
+    icon: "mdi:thermometer-chevron-up"
+    dps:
+      - id: 108
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 15
+          max: 45
+  - entity: number
+    name: Minimum temperature
+    category: config
+    icon: "mdi:thermometer-chevron-down"
+    dps:
+      - id: 109
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 0
+          max: 15