Просмотр исходного кода

feat (tompd_63lw_breaker): use integer sensors if available

We support phase_a sensors for voltage, current, power, but some compatible
devices have integer sensors for these on dps 116, 117, 118 and do not
always report the combined phase info on dp 6. Cater to both these
possibilities.

Issue #4731
Jason Rumney 1 день назад
Родитель
Сommit
839e096fb9
1 измененных файлов с 30 добавлено и 5 удалено
  1. 30 5
      custom_components/tuya_local/devices/tompd_63lw_breaker.yaml

+ 30 - 5
custom_components/tuya_local/devices/tompd_63lw_breaker.yaml

@@ -116,11 +116,19 @@ entities:
     class: voltage
     class: voltage
     category: diagnostic
     category: diagnostic
     dps:
     dps:
+      - id: 116
+        type: integer
+        optional: true
+        name: sensor
+        unit: V
+        mapping:
+          - dps_val: null
+            value_redirect: phase_a
+          - scale: 10
       - id: 6
       - id: 6
         type: base64
         type: base64
-        name: sensor
+        name: phase_a
         optional: true
         optional: true
-        unit: V
         mask: "FFFF000000000000"
         mask: "FFFF000000000000"
         mapping:
         mapping:
           - scale: 10
           - scale: 10
@@ -128,11 +136,19 @@ entities:
     class: current
     class: current
     category: diagnostic
     category: diagnostic
     dps:
     dps:
+      - id: 117
+        type: integer
+        optional: true
+        name: sensor
+        unit: A
+        mapping:
+          - dps_val: null
+            value_redirect: phase_a
+          - scale: 1000
       - id: 6
       - id: 6
         type: base64
         type: base64
-        name: sensor
+        name: phase_a
         optional: true
         optional: true
-        unit: A
         mask: "0000FFFFFF000000"
         mask: "0000FFFFFF000000"
         mapping:
         mapping:
           - scale: 1000
           - scale: 1000
@@ -140,9 +156,18 @@ entities:
     class: power
     class: power
     category: diagnostic
     category: diagnostic
     dps:
     dps:
+      - id: 118
+        type: integer
+        optional: true
+        name: sensor
+        unit: kW
+        mapping:
+          - dps_val: null
+            value_redirect: phase_a
+          - scale: 1000
       - id: 6
       - id: 6
         type: base64
         type: base64
-        name: sensor
+        name: phase_a
         optional: true
         optional: true
         unit: kW
         unit: kW
         mask: "0000000000FFFFFF"
         mask: "0000000000FFFFFF"