Bladeren bron

Add support for Tongou QCB2-WB circuit breakers.

Issue #1429
Jason Rumney 2 jaren geleden
bovenliggende
commit
f7a60c8972
3 gewijzigde bestanden met toevoegingen van 481 en 0 verwijderingen
  1. 1 0
      ACKNOWLEDGEMENTS.md
  2. 1 0
      DEVICES.md
  3. 479 0
      custom_components/tuya_local/devices/tongou_qcb2_circuitbreaker.yaml

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -456,3 +456,4 @@ Further device support has been made with the assistance of users. Please consid
 - [lundyfpv](https://github.com/lundyfpv) for assisting with support for Touchstone Sideline electric fireplaces.
 - [tsaouste](https://github.com/tsaouste) for assisting with support for CNC YCB9ZF-100W circuit breakers.
 - [MakeItBetterSAGL](https://github.com/MakeItBetterSAGL) for assisting with support for Sonnenkonig ECO 700 heaters.
+- [aver-ua](https://github.com/aver-ua) for assisting with support for Tongou QCB2-WB circuit breakers.

+ 1 - 0
DEVICES.md

@@ -307,6 +307,7 @@
 - SmartMCB SMT006 energy meter (10 byte and 8 byte phase info variants)
 - Taxnele circuit breaker and energy meter
 - TOMPD-63LW energy meter circuit breaker
+- Tongou QCB2-WB WiFi 4P circuit breaker
 - V-WIFI-DL02-ES energy consumption clamp meter
 - WDYK 2P63A energy meter
 - WDYK 3 phase 4 pole 400V energy meter circuit breaker

+ 479 - 0
custom_components/tuya_local/devices/tongou_qcb2_circuitbreaker.yaml

@@ -0,0 +1,479 @@
+name: Circuit breaker
+products:
+  - id: a0k7kwt5wkqdswnm
+    name: Tongou QCB2-WB
+primary_entity:
+  - entity: switch
+    icon: "mdi:fuse"
+    dps:
+      - id: 16
+        type: boolean
+        name: switch
+secondary_entities:
+  - entity: sensor
+    class: energy
+    dps:
+      - id: 1
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Voltage A
+    class: voltage
+    category: diagnostic
+    dps:
+      - id: 6
+        type: base64
+        name: sensor
+        unit: V
+        class: measurement
+        optional: true
+        mapping:
+          - scale: 10
+            mask: "FFFF000000000000"
+  - entity: sensor
+    name: Current A
+    class: current
+    category: diagnostic
+    dps:
+      - id: 6
+        type: base64
+        name: sensor
+        unit: A
+        class: measurement
+        optional: true
+        mapping:
+          - scale: 1000
+            mask: "0000FFFFFF000000"
+  - entity: sensor
+    name: Power A
+    class: power
+    category: diagnostic
+    dps:
+      - id: 6
+        type: base64
+        name: sensor
+        unit: kW
+        class: measurement
+        optional: true
+        mapping:
+          - scale: 1000
+            mask: "0000000000FFFFFF"
+  - entity: sensor
+    name: Voltage B
+    class: voltage
+    category: diagnostic
+    dps:
+      - id: 7
+        type: base64
+        name: sensor
+        unit: V
+        class: measurement
+        optional: true
+        mapping:
+          - scale: 10
+            mask: "FFFF000000000000"
+  - entity: sensor
+    name: Current B
+    class: current
+    category: diagnostic
+    dps:
+      - id: 7
+        type: base64
+        name: sensor
+        unit: A
+        class: measurement
+        optional: true
+        mapping:
+          - scale: 1000
+            mask: "0000FFFFFF000000"
+  - entity: sensor
+    name: Power B
+    class: power
+    category: diagnostic
+    dps:
+      - id: 7
+        type: base64
+        name: sensor
+        unit: kW
+        class: measurement
+        optional: true
+        mapping:
+          - scale: 1000
+            mask: "0000000000FFFFFF"
+  - entity: sensor
+    name: Voltage C
+    class: voltage
+    category: diagnostic
+    dps:
+      - id: 8
+        type: base64
+        name: sensor
+        unit: V
+        class: measurement
+        optional: true
+        mapping:
+          - scale: 10
+            mask: "FFFF000000000000"
+  - entity: sensor
+    name: Current C
+    class: current
+    category: diagnostic
+    dps:
+      - id: 8
+        type: base64
+        name: sensor
+        unit: A
+        class: measurement
+        optional: true
+        mapping:
+          - scale: 1000
+            mask: "0000FFFFFF000000"
+  - entity: sensor
+    name: Power C
+    class: power
+    category: diagnostic
+    dps:
+      - id: 8
+        type: base64
+        name: sensor
+        unit: kW
+        class: measurement
+        optional: true
+        mapping:
+          - scale: 1000
+            mask: "0000000000FFFFFF"
+  - entity: select
+    name: Overvoltage action
+    category: config
+    dps:
+      - id: 102
+        type: string
+        name: option
+        mapping:
+          - dps_val: Closed
+            value: Remain closed
+            icon: "mdi:electric-switch-closed"
+          - dps_val: Alarm
+            value: Alarm
+            icon: "mdi:bell-alert"
+          - dps_val: Trip
+            value: Trip
+            icon: "mdi:electric-switch"
+  - entity: select
+    name: Undervoltage action
+    category: config
+    dps:
+      - id: 103
+        type: string
+        name: option
+        mapping:
+          - dps_val: Closed
+            value: Remain closed
+            icon: "mdi:electric-switch-closed"
+          - dps_val: Alarm
+            value: Alarm
+            icon: "mdi:bell-alert"
+          - dps_val: Trip
+            value: Trip
+            icon: "mdi:electric-switch"
+  - entity: select
+    name: Overcurrent action
+    category: config
+    dps:
+      - id: 104
+        type: string
+        name: option
+        mapping:
+          - dps_val: Closed
+            value: Remain closed
+            icon: "mdi:electric-switch-closed"
+          - dps_val: Alarm
+            value: Alarm
+            icon: "mdi:bell-alert"
+          - dps_val: Trip
+            value: Trip
+            icon: "mdi:electric-switch"
+  - entity: select
+    name: Overpower action
+    category: config
+    dps:
+      - id: 105
+        type: string
+        name: option
+        mapping:
+          - dps_val: Closed
+            value: Remain closed
+            icon: "mdi:electric-switch-closed"
+          - dps_val: Alarm
+            value: Alarm
+            icon: "mdi:bell-alert"
+          - dps_val: Trip
+            value: Trip
+            icon: "mdi:electric-switch"
+  - entity: select
+    name: Temperature action
+    category: config
+    dps:
+      - id: 107
+        type: string
+        name: option
+        mapping:
+          - dps_val: Closed
+            value: Remain closed
+            icon: "mdi:electric-switch-closed"
+          - dps_val: Alarm
+            value: Alarm
+            icon: "mdi:bell-alert"
+          - dps_val: Trip
+            value: Trip
+            icon: "mdi:electric-switch"
+  - 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: event
+    dps:
+      - id: 110
+        name: event
+        type: string
+        mapping:
+          - dps_val: Normal
+            value: Normal
+          - dps_val: Over_Current_Trip
+            value: Over_Current_Trip
+          - dps_val: Over_Power_Trip
+            value: Over_Power_Trip
+          - dps_val: High_Temp_Trip
+            value: High_Temp_Trip
+          - dps_val: Over_Voltage_Trip
+            value: Over_Voltage_Trip
+          - dps_val: Under_Voltage_Trip
+            value: Under_Voltage_Trip
+          - dps_val: Over_Current_Alarm
+            value: Over_Current_Alarm
+          - dps_val: Over_Power_Alarm
+            value: Over_Power_Alarm
+          - dps_val: High_Temp_Alarm
+            value: High_Temp_Alarm
+          - dps_val: Over_Voltage_Alarm
+            value: Over_Voltage_Alarm
+          - dps_val: Under_Voltage_Alarm
+            value: Under_Voltage_Alarm
+          - dps_val: Remote_ON
+            value: Remote_ON
+          - dps_val: Remote_OFF
+            value: Remote_OFF
+          - dps_val: Manual_ON
+            value: Manual_ON
+          - dps_val: Manual_OFF
+            value: Manual_OFF
+          - dps_val: Leakage_Trip
+            value: Leakage_Trip
+          - dps_val: Leakage_Alarm
+            value: Leakage_Alarm
+          - dps_val: Restore_Default
+            value: Restore_Default
+          - dps_val: Automatic_Closing
+            value: Automatic_Closing
+          - dps_val: Electricity_Shortage
+            value: Electricity_Shortage
+          - dps_val: Electricity_Shortage_Alarm
+            value: Electricity_Shortage_Alarm
+  - entity: switch
+    name: Auto reset
+    icon: "mdi:refresh-auto"
+    category: config
+    dps:
+      - id: 112
+        type: boolean
+        name: switch
+  - entity: button
+    name: Factory reset
+    class: restart
+    category: config
+    dps:
+      - id: 113
+        type: boolean
+        name: button
+        optional: true
+  - entity: number
+    name: Overcurrent threshold
+    class: current
+    category: config
+    icon: "mdi:arrow-collapse-up"
+    dps:
+      - id: 114
+        type: integer
+        name: value
+        unit: A
+        range:
+          min: 1
+          max: 63
+  - entity: number
+    name: Overvoltage threshold
+    class: voltage
+    category: config
+    icon: "mdi:arrow-collapse-up"
+    dps:
+      - id: 115
+        type: integer
+        name: value
+        unit: V
+        range:
+          min: 245
+          max: 295
+  - entity: number
+    name: Undervoltage threshold
+    class: voltage
+    category: config
+    icon: "mdi:arrow-collapse-down"
+    dps:
+      - id: 116
+        type: integer
+        name: value
+        unit: V
+        range:
+          min: 145
+          max: 220
+  - entity: number
+    name: Temperature threshold
+    class: temperature
+    category: config
+    icon: "mdi:thermometer-alert"
+    dps:
+      - id: 118
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: -250
+          max: 1000
+        mapping:
+          - scale: 10
+  - entity: number
+    name: Over power threshold
+    class: power
+    category: config
+    icon: "mdi:arrow-collapse-up"
+    dps:
+      - id: 119
+        type: integer
+        name: value
+        unit: W
+        range:
+          min: 10
+          max: 25000
+        mapping:
+          - step: 10
+  - entity: sensor
+    name: Energy A
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 125
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Energy B
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 126
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Energy C
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 127
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Temperature A
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 131
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Temperature B
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 132
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Temperature C
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 133
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Temperature Neutral
+    class: temperature
+    category: diagnostic
+    dps:
+      - id: 134
+        type: integer
+        name: sensor
+        unit: C
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Total power
+    class: power
+    category: diagnostic
+    dps:
+      - id: 139
+        type: integer
+        name: sensor
+        unit: kW
+        class: measurement
+        mapping:
+          - scale: 1000
+
+
+
+