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

Holman WX8: review changes

- fix up mask usage, move some dps to attributes, fix naming.
Jason Rumney 2 лет назад
Родитель
Сommit
f3a95b2a03

+ 88 - 91
custom_components/tuya_local/devices/holman_wx8_irrigation_controller.yaml

@@ -1,11 +1,10 @@
-name: Holman WX8
+name: Irrigation Controller
 products:
   - id: 3c8bxnseywh7radc
     model: WX8
     manufacturer: Holman
 primary_entity:
   entity: binary_sensor
-  name: Irrigation Controller
   class: running
   icon: mdi:sprinkler-variant
   dps:
@@ -13,16 +12,13 @@ primary_entity:
       name: sensor
       type: boolean
     - id: 116
-      name: Firmware Version
+      name: firmware_version
       type: integer
+    - id: 101
+      name: programming
+      type: string
+      optional: true
 secondary_entities:
-# ----- Value is encoded string, Value in Home assistant is unkown
-  # - entity: sensor
-    # name: Programming
-    # dps:
-      # - id: 101
-        # name: sensor
-        # type: string
   - entity: switch
     name: Zone 1
     icon: mdi:sprinkler-variant
@@ -80,28 +76,29 @@ secondary_entities:
         type: boolean
         name: switch
   - entity: switch
-    name: Start A # This is actually prgram A but Stat is the vendor terminology, stays on while programming is running can be stoped mid way.
+    name: Program A  # This is actually prgram A but Stat is the vendor terminology, stays on while programming is running can be stoped mid way.
     icon: mdi:timetable
     dps:
       - id: 113
         type: boolean
         name: switch
   - entity: switch
-    name: Start B
+    name: Program B
     icon: mdi:timetable
     dps:
       - id: 114
         type: boolean
         name: switch
   - entity: switch
-    name: Start C
+    name: Program C
     icon: mdi:timetable
     dps:
       - id: 115
         type: boolean
         name: switch 
   - entity: sensor
-    name: Power Supply Voltage
+    class: voltage
+    name: Power supply voltage
     category: diagnostic
     dps:
       - id: 117
@@ -110,8 +107,14 @@ secondary_entities:
         unit: "V"
         mapping:
           - scale: 10
+      - id: 119
+        name: catchup_voltage  # not sure what this is exactly, and it does not show in the manual, so made an attribute
+        type: integer
+        mapping:
+          - scale: 10
   - entity: sensor
-    name: Battery Voltage
+    name: Battery voltage
+    class: voltage
     category: diagnostic
     dps:
       - id: 118
@@ -120,87 +123,87 @@ secondary_entities:
         unit: "V"
         mapping:
           - scale: 10
-  - entity: sensor
-    name: Catchup Voltage
+  - entity: binary_sensor
+    class: battery
+    dps:
+      - id: 120
+        name: sensor
+        type: base64
+        mapping:
+          - mask: "F0000000"
+            dps_val: 0
+            value: true
+          - value: false
+  - entity: binary_sensor
+    name: Watering
+    dps:
+      - id: 120
+        name: sensor
+        type: base64
+        mapping:
+          - mask: "00F00000"
+            dps_val: 0
+            value: false
+          - value: true
+  - entity: binary_sensor
+    name: Rain sensor
+    class: moisture
+    dps:
+      - id: 120
+        name: sensor
+        type: base64
+        mapping:
+          - mask: "000F0000"
+            dps_val: 0
+            value: false
+          - value: true
+  - entity: binary_sensor
+    name: Evie connected
     category: diagnostic
+    class: connectivity
     dps:
-      - id: 119
-        type: integer
+      - id: 120
         name: sensor
-        unit: "V"
+        type: base64
         mapping:
-          - scale: 10
-  # - entity: binary_sensor            ----- I can't work this one out, value shows as int in Home assistant, some work but with inverted value
-    # name: 9V Battery OK
-    # class: battery
-    # dps:
-      # - id: 120
-        # name: sensor
-        # type: base64
-        # mapping:
-          # - mask: "F0000000"
-          # - dps_val: 1
-            # value: 0
-          # - dps_val: 0
-            # value: 1
-  # - entity: binary_sensor
-    # name: Watering
-    # dps:
-      # - id: 120
-        # name: sensor
-        # type: base64
-        # mapping:
-          # - mask: "00F00000"
-  # - entity: binary_sensor
-    # name: Rain Sensor Wet
-    # class: moisture
-    # dps:
-      # - id: 120
-        # name: sensor
-        # type: base64
-        # mapping:
-          # - mask: "000F0000"
-  # - entity: binary_sensor
-    # name: Evie Connected
-    # category: diagnostic
-    # class: connectivity
-    # dps:
-      # - id: 120
-        # optional: true
-        # name: sensor
-        # type: base64
-        # mapping:
-          # - mask: "00000F00"
-  # - entity: binary_sensor
-    # name: Evie Battery OK
-    # class: battery
-    # dps:
-      # - id: 120
-        # optional: true
-        # name: Evie Battery Good 
-        # type: base64
-        # mapping:
-          # - mask: "000000F0"
-  # - entity: binary_sensor
-    # name: Evie Sensor Wet
-    # class: moisture
-    # dps:
-      # - id: 120
-        # optional: true
-        # name: Evie Wet
-        # type: base64
-        # mapping:
-          # - mask: "0000000F"        
+          - mask: "00000F00"
+            dps_val: 0
+            value: false
+          - value: true
+  - entity: binary_sensor
+    name: Evie battery
+    class: battery
+    dps:
+      - id: 120
+        name: sensor 
+        type: base64
+        mapping:
+          - mask: "000000F0"
+            dps_val: 0
+            value: true
+          - value: false
+  - entity: binary_sensor
+    name: Evie sensor
+    class: moisture
+    dps:
+      - id: 120
+        name: sensor
+        type: base64
+        mapping:
+          - mask: "0000000F"
+            dps_val: 0
+            value: false
+          - value: true
   - entity: sensor
-    name: Time left
-    icon: "mdi:timer"
+    name: Time remaining
+    class: duration
     dps:
       - id: 121
         type: integer
         name: sensor
         unit: min
   - entity: sensor
-    name: Dial Position
+    name: Dial position
     class: enum
     icon: "mdi:knob"
     dps:
@@ -232,9 +235,3 @@ secondary_entities:
             value: "Run"
           - dps_val: 12
             value: "Test"
-  - entity: binary_sensor
-    name: Master Valve
-    dps:
-      - id: 123
-        type: boolean
-        name: sensor