Ver Fonte

Add support for Geyserwise TSE1 geyser controller kit

Issue #765
Jason Rumney há 2 anos atrás
pai
commit
4f54e8e3d6

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -362,3 +362,4 @@ Further device support has been made with the assistance of users.  Please consi
 - [suyashrai](https://github.com/suyashrai) for contributing support for WF520D dual dimmers.
 - [sityware](https://github.com/sitiware) for contributing support for CT20W motion detectors.
 - [Eduardoct](https://github.com/Eduardoct) for assisting with support for MatSee Plus bidirectional 2-channel clamp meters.
+- [McAllstar](https://github.com/McAllstar) for assisting with support for Geyserwise TSE1 geyser controller kits.

+ 1 - 0
DEVICES.md

@@ -80,6 +80,7 @@
 
 - Aquatech Rapid/X6 heat pump water heaters
 - EMS Thermal 200L domestic heat pump hot water system
+- Geyserwise TSE1 Geyser controller kit
 - Hydrotherm Dynamic/X8 heat pump hot water systems
 - ITS-4.5HD super water heatpump
 - Thermex IF series V pro hot water systems

+ 163 - 0
custom_components/tuya_local/devices/geyserwise_water_heater.yaml

@@ -0,0 +1,163 @@
+name: Water heater
+products:
+  - id: ox9jyuavu5v78o2y
+    name: Geyserwise TSE geyser timer and controller
+primary_entity:
+  entity: water_heater
+  dps:
+    - id: 1
+      type: boolean
+      name: operation_mode
+      mapping:
+        - dps_val: false
+          value: "off"
+        - dps_val: true
+          value: electric
+    - id: 2
+      type: string
+      name: away_mode
+      mapping:
+        - dps_val: Timer
+          value: false
+        - dps_val: Holiday
+          value: true
+    - id: 10
+      type: integer
+      name: current_temperature
+    - id: 13
+      type: boolean
+      name: element
+    - id: 20
+      type: bitfield
+      name: fault_code
+      mapping:
+        - dps_val: 1
+          value: Earth leak
+        - dps_val: 2
+          value: Dry burn
+        - dps_val: 4
+          value: Wt sensor fault
+        - dps_val: 8
+          value: Heating loss
+        - dps_val: 16
+          value: Over temperature
+        - dps_val: 32
+          value: Water leak
+        - dps_val: 64
+          value: Comm failure
+        - dps_val: 128
+          value: Ct probe fault
+        - dps_val: 256
+          value: Pump failure
+    - id: 103
+      type: integer
+      name: temperature
+      range:
+        min: 30
+        max: 75
+      mapping:
+        - constraint: away_mode
+          conditions:
+            - dps_val: true
+              value_redirect: af_temp
+              range:
+                min: 0
+                max: 10
+    - id: 107
+      type: integer
+      name: af_temp
+      range:
+        min: 0
+        max: 10
+      hidden: true
+secondary_entities:
+  - entity: binary_sensor
+    name: Pump
+    class: running
+    category: diagnostic
+    dps:
+      - id: 101
+        type: boolean
+        name: sensor
+  - entity: number
+    name: Solar temperature difference
+    category: config
+    icon: "mdi:solar-power-variant"
+    dps:
+      - id: 102
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 7
+          max: 15
+  - entity: number
+    name: Block 1 temperature
+    category: config
+    icon: "mdi:thermometer"
+    dps:
+      - id: 103
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 30
+          max: 75
+  - entity: number
+    name: Block 2 temperature
+    category: config
+    icon: "mdi:thermometer"
+    dps:
+      - id: 104
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 30
+          max: 75
+  - entity: number
+    name: Block 3 temperature
+    category: config
+    icon: "mdi:thermometer"
+    dps:
+      - id: 105
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 30
+          max: 75
+  - entity: number
+    name: Block 4 temperature
+    category: config
+    icon: "mdi:thermometer"
+    dps:
+      - id: 106
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 30
+          max: 75
+  - entity: number
+    name: Anti-freeze temperature
+    category: config
+    icon: "mdi:snowflake-thermometer"
+    dps:
+      - id: 107
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 0
+          max: 10
+  - entity: sensor
+    name: Collector temperature
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 108
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement