瀏覽代碼

SmartMCB, Emylo smart meters: extract V, I, P from phase_a dp.

- Assume the same format as TOMPD meter, as the dp id is also the same.
- set phase_a to polled, as it does not seem to be reported by default.
- SmartMCB: remove deprecated switch (replaced with reset button)

Issue #110, #388, #529, #577
Jason Rumney 2 年之前
父節點
當前提交
bb4f0fd7cb

+ 38 - 0
custom_components/tuya_local/devices/emylo_energy_meter.yaml

@@ -18,6 +18,7 @@ primary_entity:
       type: string
       name: phase_a
       optional: true
+      force: true
     - id: 10
       type: bitfield
       name: fault_code
@@ -93,3 +94,40 @@ secondary_entities:
         type: boolean
         name: button
         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: mA
+        mapping:
+          - mask: "000000FFFFFF0000000000"
+  - entity: sensor
+    name: Power A
+    class: power
+    category: diagnostic
+    dps:
+      - id: 6
+        type: base64
+        name: sensor
+        optional: true
+        unit: W
+        mapping:
+          - mask: "000000000000FFFFFF0000"

+ 42 - 9
custom_components/tuya_local/devices/smartmcb_smt006_energymeter.yaml

@@ -7,6 +7,11 @@ primary_entity:
     - id: 16
       type: boolean
       name: switch
+    - id: 6
+      name: phase_a
+      type: base64
+      optional: true
+      force: true
     - id: 19
       type: string
       name: breaker_number
@@ -260,15 +265,6 @@ secondary_entities:
       - id: 12
         type: boolean
         name: button
-  - entity: switch
-    deprecated: button
-    name: Energy reset
-    category: config
-    icon: "mdi:cog-refresh"
-    dps:
-      - id: 12
-        type: boolean
-        name: switch
   - entity: sensor
     name: Balance energy
     category: diagnostic
@@ -280,3 +276,40 @@ secondary_entities:
         unit: kWh
         mapping:
           - scale: 100
+  - 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: mA
+        mapping:
+          - mask: "000000FFFFFF0000000000"
+  - entity: sensor
+    name: Power A
+    class: power
+    category: diagnostic
+    dps:
+      - id: 6
+        type: base64
+        name: sensor
+        optional: true
+        unit: W
+        mapping:
+          - mask: "000000000000FFFFFF0000"

+ 1 - 0
custom_components/tuya_local/devices/tompd_63lw_breaker.yaml

@@ -22,6 +22,7 @@ primary_entity:
       name: phase_a
       type: base64
       optional: true
+      force: true
     - id: 9
       name: fault
       type: bitfield