diff --git a/ACKNOWLEDGEMENTS.md b/ACKNOWLEDGEMENTS.md index 70a1be78df..29574ad420 100644 --- a/ACKNOWLEDGEMENTS.md +++ b/ACKNOWLEDGEMENTS.md @@ -684,3 +684,4 @@ Further device support has been made with the assistance of users. Please consid - [Jabber-se](https://github.com/Jabber-se) for contributing support for HRT AS90 climate alarm. - [Elliottmonaghan](https://github.com/Elliottmonaghan) for contributing support for Holman Helios weather station. - [maddijoyce](https://github.com/maddijoyce) for contributing support for a second type of illuminance sensor. +- [rege245](https://github.com/rege245) for contributing support for WDYK 4P100A energy meter circuit breaker. diff --git a/DEVICES.md b/DEVICES.md index a9115be61d..e7404308c7 100644 --- a/DEVICES.md +++ b/DEVICES.md @@ -411,8 +411,9 @@ - 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 2P63A energy meter circuit breaker - WDYK 3 phase 4 pole 400V energy meter circuit breaker +- WDYK 4P100A energy meter circuit breaker - Yagusmart 3PN 63A 3-phase eneregy meter - ZM-Wi-Fi smart meter diff --git a/custom_components/tuya_local/devices/wdyk_4p100a_energymeter.yaml b/custom_components/tuya_local/devices/wdyk_4p100a_energymeter.yaml new file mode 100644 index 0000000000..5aaac22edd --- /dev/null +++ b/custom_components/tuya_local/devices/wdyk_4p100a_energymeter.yaml @@ -0,0 +1,502 @@ +name: Energy meter +# products: +# - id: UNKNOWN +# name: WDYK 4P100A +primary_entity: + entity: sensor + class: energy + dps: + - id: 1 + type: integer + name: sensor + unit: kWh + class: total_increasing + optional: true + mapping: + - scale: 100 + - id: 6 + name: phase_a + type: base64 + optional: true + force: true + - id: 7 + name: phase_b + type: base64 + optional: true + force: true + - id: 8 + name: phase_c + type: base64 + optional: true + force: true + - id: 9 + type: bitfield + name: fault_code + - id: 19 + type: string + name: breaker_number + - id: 116 + type: string + name: card_id + optional: true +secondary_entities: + - entity: binary_sensor + name: Short circuit + class: problem + category: diagnostic + dps: + - id: 9 + type: bitfield + name: sensor + mapping: + - dps_val: 1 + value: true + - value: false + - entity: binary_sensor + name: Surge + class: problem + category: diagnostic + dps: + - id: 9 + type: bitfield + name: sensor + mapping: + - dps_val: 2 + value: true + - value: false + - entity: binary_sensor + name: Overload + class: problem + category: diagnostic + dps: + - id: 9 + type: bitfield + name: sensor + mapping: + - dps_val: 4 + value: true + - value: false + - entity: binary_sensor + name: Current leak + class: safety + category: diagnostic + dps: + - id: 9 + type: bitfield + name: sensor + mapping: + - dps_val: 8 + value: true + - value: false + - entity: binary_sensor + name: Overheat + class: heat + category: diagnostic + dps: + - id: 9 + type: bitfield + name: sensor + mapping: + - dps_val: 16 + value: true + - value: false + - entity: binary_sensor + name: Fire + class: smoke + category: diagnostic + dps: + - id: 9 + type: bitfield + name: sensor + mapping: + - dps_val: 32 + value: true + - value: false + - entity: binary_sensor + name: Over power + class: problem + category: diagnostic + dps: + - id: 9 + type: bitfield + name: sensor + mapping: + - dps_val: 64 + value: true + - value: false + - entity: binary_sensor + name: Self test + class: running + category: diagnostic + dps: + - id: 9 + type: bitfield + name: sensor + mapping: + - dps_val: 128 + value: true + - value: false + - entity: binary_sensor + name: Over current + class: problem + category: diagnostic + dps: + - id: 9 + type: bitfield + name: sensor + mapping: + - dps_val: 256 + value: true + - value: false + - entity: binary_sensor + name: Unbalanced + class: problem + category: diagnostic + dps: + - id: 9 + type: bitfield + name: sensor + mapping: + - dps_val: 512 + value: true + - value: false + - entity: binary_sensor + name: Over voltage + class: problem + category: diagnostic + dps: + - id: 9 + type: bitfield + name: sensor + mapping: + - dps_val: 1024 + value: true + - value: false + - entity: binary_sensor + name: Under voltage + class: problem + category: diagnostic + dps: + - id: 9 + type: bitfield + name: sensor + mapping: + - dps_val: 2048 + value: true + - value: false + - entity: binary_sensor + name: Out of phase + class: problem + category: diagnostic + dps: + - id: 9 + type: bitfield + name: sensor + mapping: + - dps_val: 4096 + value: true + - value: false + - entity: binary_sensor + name: Outage + class: power + category: diagnostic + dps: + - id: 9 + type: bitfield + name: sensor + mapping: + - dps_val: 8192 + value: false + - value: true + - entity: binary_sensor + name: Magnetism + class: tamper + category: diagnostic + dps: + - id: 9 + type: bitfield + name: sensor + mapping: + - dps_val: 16384 + value: true + - value: false + - entity: binary_sensor + name: Credit low + class: problem + icon: "mdi:cash" + category: diagnostic + dps: + - id: 9 + type: bitfield + name: sensor + mapping: + - dps_val: 32768 + value: true + - value: false + - entity: binary_sensor + name: "No balance" + class: problem + category: diagnostic + dps: + - id: 9 + type: bitfield + name: sensor + mapping: + - dps_val: 65536 + value: true + - value: false + - entity: switch + name: Prepay + category: config + icon: "mdi:cash" + dps: + - id: 11 + type: boolean + name: switch + - entity: button + name: Reset energy + category: config + class: restart + dps: + - id: 12 + type: boolean + name: button + - entity: sensor + name: Energy balance + class: energy_storage + category: diagnostic + dps: + - id: 13 + type: integer + name: sensor + unit: kWh + class: measurement + mapping: + - scale: 100 + - entity: number + name: Charge energy + category: config + class: energy_storage + icon: "mdi:cash" + dps: + - id: 14 + type: integer + name: value + unit: kWh + optional: true + range: + min: 0 + max: 999999 + mapping: + - scale: 100 + - entity: switch + name: Circuit breaker + icon: "mdi:fuse" + category: config + dps: + - id: 16 + type: boolean + name: switch + optional: true + - entity: sensor + name: Voltage A + class: voltage + category: diagnostic + dps: + - id: 6 + type: base64 + name: sensor + optional: true + unit: V + mapping: + - mask: "FFFFFF0000000000000000" + scale: 10 + - entity: sensor + name: Current A + class: current + category: diagnostic + dps: + - id: 6 + type: base64 + name: sensor + optional: true + unit: A + mapping: + - mask: "000000FFFFFF0000000000" + scale: 1000 + - entity: sensor + name: Power A + class: power + category: diagnostic + dps: + - id: 6 + type: base64 + name: sensor + optional: true + unit: kW + mapping: + - mask: "000000000000FFFFFF0000" + scale: 1000 + - entity: sensor + name: Voltage B + class: voltage + category: diagnostic + dps: + - id: 7 + type: base64 + name: sensor + optional: true + unit: V + mapping: + - mask: "FFFFFF000000000000" + scale: 10 + - entity: sensor + name: Current B + class: current + category: diagnostic + dps: + - id: 7 + type: base64 + name: sensor + optional: true + unit: A + mapping: + - mask: "000000FFFFFF000000" + scale: 1000 + - entity: sensor + name: Power B + class: power + category: diagnostic + dps: + - id: 7 + type: base64 + name: sensor + optional: true + unit: kW + mapping: + - mask: "000000000000FFFFFF" + scale: 1000 + - entity: sensor + name: Voltage C + class: voltage + category: diagnostic + dps: + - id: 8 + type: base64 + name: sensor + optional: true + unit: V + mapping: + - mask: "FFFFFF000000000000" + scale: 10 + - entity: sensor + name: Current C + class: current + category: diagnostic + dps: + - id: 8 + type: base64 + name: sensor + optional: true + unit: A + mapping: + - mask: "000000FFFFFF000000" + scale: 1000 + - entity: sensor + name: Power C + class: power + category: diagnostic + dps: + - id: 8 + type: base64 + name: sensor + optional: true + unit: kW + mapping: + - mask: "000000000000FFFFFF" + scale: 1000 + - entity: number + name: Overvoltage threshold + category: config + class: voltage + icon: "mdi:flash-alert" + dps: + - id: 101 + type: integer + name: value + unit: V + range: + min: 230 + max: 300 + - entity: number + name: Undervoltage threshold + category: config + class: voltage + icon: "mdi:flash-alert" + dps: + - id: 102 + type: integer + name: value + unit: V + range: + min: 90 + max: 210 + - entity: number + name: Overcurrent threshold + category: config + class: current + icon: "mdi:fuse-alert" + dps: + - id: 103 + type: integer + name: value + unit: A + range: + min: 1 + max: 63 + - entity: number + name: Leakage current + category: config + class: current + dps: + - id: 104 + type: integer + name: value + unit: mA + range: + min: 10 + max: 100 + - entity: switch + name: Mute alarm + icon: "mdi:volume-mute" + category: config + dps: + - id: 105 + type: boolean + name: switch + - entity: binary_sensor + name: Earth leak + class: safety + category: diagnostic + dps: + - id: 106 + type: boolean + name: sensor + - entity: button + name: Reset total energy + class: restart + category: config + dps: + - id: 115 + type: boolean + name: button + optional: true + - entity: button + name: Reset balance energy + class: restart + category: config + dps: + - id: 12 + type: boolean + name: button + optional: true