4
0
Эх сурвалжийг харах

Add support for another variant of MatSee Plus energy meter.

Issue #2336
Jason Rumney 1 жил өмнө
parent
commit
bd1ac7c5a7

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -696,3 +696,4 @@ Further device support has been made with the assistance of users. Please consid
 - [rmf1995](https://github.com/rmf1995) for contributing support for Giatsu VAW 2 heat pump water heater.
 - [murch1](https://github.com/murch1) for contributing support for Brilliant ceiling fan with light.
 - [NashHome](https://github.com/NashHome) for contributing support for Avatto curtain with double light switch.
+- [ciscolyon69](https://github.com/ciscolyon69) for assisting with support for another variant of MatSee Plus 2ch bidirectional clamp meter.

+ 1 - 1
DEVICES.md

@@ -400,7 +400,7 @@
 - eMylo EAI-90 smart meter
 - ERZ04C smart meter
 - Gaqqee KWS-302-WF energy meter
-- MatSee Plus bidirectional two channel clamp meter
+- MatSee Plus bidirectional two channel clamp meter (multiple variants)
 - Meterk single phase clamp meter
 - Parkside PG/PMW-300 solar inverter
 - PC311-TY 2 phase power clamp meter

+ 375 - 0
custom_components/tuya_local/devices/matsee_2wayv2_energymeter.yaml

@@ -0,0 +1,375 @@
+name: Bidirectional energy meter
+products:
+  - id: v5jlnn5hwyffkhp3
+    name: MatSee Plus bidirectional 2 channel clamp meter
+primary_entity:
+  entity: sensor
+  class: energy
+  dps:
+    - id: 1
+      type: integer
+      name: sensor
+      unit: kWh
+      mapping:
+        - scale: 100
+      class: total_increasing
+    - id: 122
+      type: integer
+      name: hourly
+      mapping:
+        - scale: 100
+secondary_entities:
+  - entity: sensor
+    name: Energy produced
+    class: energy
+    dps:
+      - id: 2
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+      - id: 123
+        type: integer
+        name: hourly
+        mapping:
+          - scale: 100
+  - entity: sensor
+    class: voltage
+    category: diagnostic
+    dps:
+      - id: 101
+        type: integer
+        name: sensor
+        unit: V
+        class: measurement
+        mapping:
+          - scale: 10
+      - id: 127
+        type: integer
+        optional: true
+        name: calibration
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    class: frequency
+    category: diagnostic
+    dps:
+      - id: 102
+        type: integer
+        name: sensor
+        unit: Hz
+        class: measurement
+        mapping:
+          - scale: 100
+      - id: 128
+        type: integer
+        optional: true
+        name: calibration
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    class: power
+    category: diagnostic
+    dps:
+      - id: 103
+        type: integer
+        name: sensor
+        unit: W
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: sensor
+    name: Power factor A
+    class: power_factor
+    category: diagnostic
+    dps:
+      - id: 104
+        type: integer
+        name: sensor
+        class: measurement
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Current A
+    class: current
+    category: diagnostic
+    dps:
+      - id: 105
+        type: integer
+        name: sensor
+        unit: A
+        class: measurement
+        mapping:
+          - scale: 1000
+      - id: 129
+        type: integer
+        optional: true
+        name: calibration
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    name: Power A
+    class: power
+    category: diagnostic
+    dps:
+      - id: 106
+        type: integer
+        name: sensor
+        unit: W
+        class: measurement
+        mapping:
+          - scale: 10
+      - id: 130
+        type: integer
+        optional: true
+        name: calibration
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    name: Energy consumption A
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 107
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+      - id: 114
+        type: integer
+        name: total
+        mapping:
+          - scale: 100
+      - id: 118
+        type: integer
+        name: hourly
+        mapping:
+          - scale: 100
+      - id: 131
+        type: integer
+        optional: true
+        name: calibration
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    name: Energy produced A
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 108
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+      - id: 115
+        type: integer
+        name: total
+        mapping:
+          - scale: 100
+      - id: 119
+        type: integer
+        name: hourly
+        mapping:
+          - scale: 100
+      - id: 132
+        type: integer
+        optional: true
+        name: calibration
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    name: Power factor B
+    class: power_factor
+    category: diagnostic
+    dps:
+      - id: 109
+        type: integer
+        name: sensor
+        class: measurement
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Current B
+    class: current
+    category: diagnostic
+    dps:
+      - id: 110
+        type: integer
+        name: sensor
+        unit: A
+        class: measurement
+        mapping:
+          - scale: 1000
+      - id: 133
+        type: integer
+        optional: true
+        name: calibration
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    name: Power B
+    class: power
+    category: diagnostic
+    dps:
+      - id: 111
+        type: integer
+        name: sensor
+        unit: W
+        class: measurement
+        mapping:
+          - scale: 10
+      - id: 134
+        type: integer
+        optional: true
+        name: calibration
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    name: Energy consumption B
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 112
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+      - id: 116
+        type: integer
+        name: total
+        mapping:
+          - scale: 100
+      - id: 120
+        type: integer
+        name: hourly
+        mapping:
+          - scale: 100
+      - id: 135
+        type: integer
+        optional: true
+        name: calibration
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    name: Energy produced B
+    class: energy
+    category: diagnostic
+    dps:
+      - id: 113
+        type: integer
+        name: sensor
+        unit: kWh
+        class: total_increasing
+        mapping:
+          - scale: 100
+      - id: 117
+        type: integer
+        name: total
+        mapping:
+          - scale: 100
+      - id: 121
+        type: integer
+        name: hourly
+        mapping:
+          - scale: 100
+      - id: 136
+        type: integer
+        optional: true
+        name: calibration
+        mapping:
+          - scale: 1000
+  - entity: sensor
+    name: Direction A
+    class: enum
+    category: diagnostic
+    dps:
+      - id: 124
+        type: boolean
+        name: sensor
+        mapping:
+          - dps_val: true
+            value: out
+          - dps_val: false
+            value: in
+  - entity: sensor
+    name: Direction B
+    class: enum
+    category: diagnostic
+    dps:
+      - id: 125
+        type: boolean
+        name: sensor
+        mapping:
+          - dps_val: true
+            value: out
+          - dps_val: false
+            value: in
+  - entity: number
+    name: Reporting rate
+    category: config
+    icon: "mdi:camera-timer"
+    dps:
+      - id: 126
+        type: integer
+        optional: true
+        name: value
+        unit: s
+        range:
+          min: 10
+          max: 180
+        mapping:
+          - step: 10
+  - entity: number
+    name: Power setting 1
+    category: config
+    icon: "mdi:lightning-bolt"
+    dps:
+      - id: 137
+        type: integer
+        optional: true
+        name: value
+        unit: W
+        range:
+          min: 200
+          max: 20000
+        mapping:
+          - step: 100
+  - entity: switch
+    name: Power alarm 1
+    icon: "mdi:flash-alert"
+    category: config
+    dps:
+      - id: 138
+        type: boolean
+        name: switch
+  - entity: number
+    name: Power setting 2
+    category: config
+    icon: "mdi:lightning-bolt"
+    dps:
+      - id: 139
+        type: integer
+        optional: true
+        name: value
+        unit: W
+        range:
+          min: 200
+          max: 20000
+        mapping:
+          - step: 100
+  - entity: switch
+    name: Power alarm 2
+    icon: "mdi:flash-alert"
+    category: config
+    dps:
+      - id: 140
+        type: boolean
+        name: switch