Преглед изворни кода

Add support for Tongou TO-Q-SYS-WT circuit breaker

Issue #2285
Jason Rumney пре 1 година
родитељ
комит
b9365d03de
3 измењених фајлова са 433 додато и 0 уклоњено
  1. 1 0
      ACKNOWLEDGEMENTS.md
  2. 1 0
      DEVICES.md
  3. 431 0
      custom_components/tuya_local/devices/tongou_toqsyswt_breaker.yaml

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -671,3 +671,4 @@ Further device support has been made with the assistance of users. Please consid
 - [dkvk](https://github.com/dkvk) for contributing support for Malmbergs single and dual dimmer modules.
 - [guffy1234](https://github.com/guffy1234) for contributing support for Atorch AT4PW energy meter.
 - [larronni](https://github.com/larronni) for contributing support for Calex aroma diffuser.
+- [JennyIglesias](https://github.com/JennyIglesias) for assisting with support for Tongou TO-Q-SYS-WT circuit breaker

+ 1 - 0
DEVICES.md

@@ -401,6 +401,7 @@
 - Tongou QCB2-WB WiFi 4P circuit breaker (3-phase and single phase variants)
 - Tongou SMR1 circuit breaker
 - Tongou ST463JWT 4P 3-phase circuit breaker
+- Tongou TO-Q-SYS-WT energy monitoring circuit breaker
 - V-WIFI-DL02-ES energy consumption clamp meter
 - WDYK 2P63A energy meter
 - WDYK 3 phase 4 pole 400V energy meter circuit breaker

+ 431 - 0
custom_components/tuya_local/devices/tongou_toqsyswt_breaker.yaml

@@ -0,0 +1,431 @@
+name: Energy meter
+products:
+  - id: kmnzgh4yn8pa0lqh
+    name: Tongou TO-Q-SYS-WT
+primary_entity:
+  entity: sensor
+  class: energy
+  category: diagnostic
+  dps:
+    - id: 1
+      type: integer
+      name: sensor
+      unit: kWh
+      class: total_increasing
+      mapping:
+        - scale: 100
+    - id: 125
+      type: integer
+      name: fap_a
+      mapping:
+        - scale: 100
+    - id: 138
+      type: string
+      name: cycle_time
+secondary_entities:
+  - entity: sensor
+    name: Voltage A
+    class: voltage
+    category: diagnostic
+    dps:
+      - id: 6
+        type: base64
+        name: sensor
+        optional: true
+        unit: V
+        mapping:
+          - mask: "FFFF000000000000"
+            scale: 10
+  - entity: sensor
+    name: Current A
+    class: current
+    category: diagnostic
+    dps:
+      - id: 6
+        type: base64
+        name: sensor
+        optional: true
+        unit: A
+        mapping:
+          - mask: "0000FFFFFF000000"
+            scale: 1000
+  - entity: sensor
+    name: Power A
+    class: power
+    category: diagnostic
+    dps:
+      - id: 6
+        type: base64
+        name: sensor
+        optional: true
+        unit: kW
+        mapping:
+          - mask: "0000000000FFFFFF"
+            scale: 1000
+  - entity: switch
+    name: Prepay
+    icon: "mdi:cash"
+    category: config
+    dps:
+      - id: 11
+        type: boolean
+        name: switch
+  - entity: button
+    name: Clear energy
+    category: config
+    dps:
+      - id: 12
+        type: boolean
+        name: button
+        optional: true
+  - entity: sensor
+    name: Balance energy
+    class: energy_storage
+    category: diagnostic
+    dps:
+      - id: 13
+        type: integer
+        optional: true
+        name: sensor
+        unit: kWh
+        class: measurement
+        mapping:
+          - scale: 100
+  - entity: number
+    name: Charge energy
+    category: config
+    class: energy_storage
+    dps:
+      - id: 14
+        type: integer
+        optional: true
+        name: value
+        unit: kWh
+        range:
+          min: 0
+          max: 999999
+        mapping:
+          - scale: 100
+  - entity: switch
+    name: Breaker
+    icon: "mdi:fuse"
+    dps:
+      - id: 16
+        type: boolean
+        name: switch
+  - entity: select
+    name: Prepay shortage action
+    icon: "mdi:cash"
+    category: config
+    dps:
+      - id: 101
+        type: string
+        name: option
+        mapping:
+          - dps_val: Closed
+            value: Ignore
+          - dps_val: Alarm
+            value: Alarm
+  - entity: select
+    name: Over voltage action
+    icon: "mdi:flash-triangle"
+    category: config
+    dps:
+      - id: 102
+        type: string
+        name: option
+        mapping:
+          - dps_val: Closed
+            value: Ignore
+          - dps_val: Alarm
+            value: Alarm
+          - dps_val: Trip
+            value: Trip
+  - entity: select
+    name: Undervoltage action
+    icon: "mdi:flash-triangle"
+    category: config
+    dps:
+      - id: 103
+        type: string
+        name: option
+        mapping:
+          - dps_val: Closed
+            value: Ignore
+          - dps_val: Alarm
+            value: Alarm
+          - dps_val: Trip
+            value: Trip
+  - entity: select
+    name: Over current action
+    icon: "mdi:flash-triangle"
+    category: config
+    dps:
+      - id: 104
+        type: string
+        name: option
+        mapping:
+          - dps_val: Closed
+            value: Ignore
+          - dps_val: Alarm
+            value: Alarm
+          - dps_val: Trip
+            value: Trip
+  - entity: select
+    name: Over power action
+    icon: "mdi:flash-triangle"
+    category: config
+    dps:
+      - id: 105
+        type: string
+        name: option
+        mapping:
+          - dps_val: Closed
+            value: Ignore
+          - dps_val: Alarm
+            value: Alarm
+          - dps_val: Trip
+            value: Trip
+  - entity: select
+    name: High temperature action
+    icon: "mdi:fire"
+    category: config
+    dps:
+      - id: 107
+        type: string
+        name: option
+        mapping:
+          - dps_val: Closed
+            value: Ignore
+          - dps_val: Alarm
+            value: Alarm
+          - dps_val: Trip
+            value: Trip
+  - entity: binary_sensor
+    class: connectivity
+    category: diagnostic
+    dps:
+      - id: 109
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: online
+            value: true
+          - dps_val: offline
+            value: false
+  - entity: sensor
+    name: Status
+    class: enum
+    icon: "mdi:flash-alert"
+    category: diagnostic
+    dps:
+      - id: 110
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: Normal
+            value: Normal
+            icon: "mdi:flash"
+          - dps_val: Over_Current_Trip
+            value: Tripped over current
+          - dps_val: Over_Power_Trip
+            value: Tripped over power
+          - dps_val: High_Temp_Trip
+            value: Tripped high temperature
+          - dps_val: Over_Voltage_Trip
+            value: Tripped over voltage
+          - dps_val: Under_Voltage_Trip
+            value: Tripped under voltage
+          - dps_val: Over_Current_Alarm
+            value: Alarm over current
+          - dps_val: Over_Power_Alarm
+            value: Alarm over power
+          - dps_val: High_Temp_Alarm
+            value: Alarm high temperature
+          - dps_val: Over_Voltage_Alarm
+            value: Alarm over voltage
+          - dps_val: Under_Voltage_Alarm
+            value: Alarm under voltage
+          - dps_val: Remote_ON
+            value: Turned on remotely
+            icon: "mdi:flash"
+          - dps_val: Remote_OFF
+            value: Turned off remotely
+            icon: "mdi:flash"
+          - dps_val: Manual_ON
+            value: Turned on manually
+            icon: "mdi:flash"
+          - dps_val: Manual_OFF
+            value: Turned off manually
+            icon: "mdi:flash"
+          - dps_val: Leakage_Trip
+            value: Tripped earth leakage
+          - dps_val: Leakage_Alarm
+            value: Alarm earth leakage
+          - dps_val: Restore_Default
+            value: Factory reset
+            icon: "mdi:reload"
+          - dps_val: Automatic_Closing
+            value: Auto reset
+            icon: "mdi:flash-auto"
+          - dps_val: Electricity_Shortage
+            value: Prepay ran out
+            icon: "mdi:cash-minus"
+          - dps_val: Electricity_Shortage_Alarm
+            value: Alarm prepay ran out
+            icon: "mdi:cash-minus"
+          - dps_val: Timing_switch_ON
+            value: Turned on by timer
+            icon: "mdi:clock"
+          - dps_val: Timing_switch_OFF
+            value: Turned off by timer
+            icon: "mdi:clock"
+  - entity: switch
+    name: Report state changes
+    icon: "mdi:toggle-switch"
+    category: config
+    dps:
+      - id: 111
+        type: boolean
+        name: switch
+  - entity: switch
+    name: Auto reset
+    icon: "mdi:refresh-auto"
+    category: config
+    dps:
+      - id: 112
+        type: boolean
+        name: switch
+  - entity: number
+    name: Over current threshold
+    category: config
+    class: current
+    dps:
+      - id: 114
+        type: integer
+        name: value
+        unit: A
+        range:
+          min: 1
+          max: 50
+  - entity: number
+    name: Over voltage threshold
+    category: config
+    class: voltage
+    dps:
+      - id: 115
+        type: integer
+        name: value
+        unit: V
+        range:
+          min: 100
+          max: 280
+  - entity: number
+    name: Under voltage threshold
+    category: config
+    class: voltage
+    dps:
+      - id: 116
+        type: integer
+        name: value
+        unit: V
+        range:
+          min: 100
+          max: 280
+  - entity: number
+    name: Temperature threshold
+    category: config
+    class: temperature
+    dps:
+      - id: 118
+        type: integer
+        optional: true
+        name: value
+        unit: C
+        range:
+          min: -250
+          max: 800
+        mapping:
+          - scale: 10
+  - entity: number
+    name: Over power threshold
+    category: config
+    class: power
+    dps:
+      - id: 119
+        type: integer
+        name: value
+        unit: W
+        range:
+          min: 10
+          max: 12500
+        mapping:
+          - step: 10
+  - entity: number
+    name: Prepay shortage threshold
+    category: config
+    class: energy_storage
+    dps:
+      - id: 120
+        type: integer
+        name: value
+        unit: kWh
+        range:
+          min: 10
+          max: 500
+  - entity: sensor
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 131
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: number
+    name: Report frequency
+    category: config
+    icon: "mdi:send-clock"
+    dps:
+      - id: 137
+        type: integer
+        name: value
+        unit: s
+        range:
+          min: 60
+          max: 600
+  - entity: light
+    class: display
+    category: config
+    dps:
+      - id: 141
+        name: switch
+        type: boolean
+        mapping:
+          - dps_val: true
+            value: false
+          - dps_val: false
+            value: true
+      - id: 140
+        name: brightness
+        type: integer
+        range:
+          min: 1
+          max: 5
+  - entity: select
+    name: Initial state
+    icon: "mdi:toggle-switch"
+    category: config
+    dps:
+      - id: 142
+        type: string
+        name: option
+        mapping:
+          - dps_val: "off"
+            value: "Off"
+          - dps_val: "on"
+            value: "On"
+          - dps_val: memory
+            value: Last state