Explorar el Código

Gaqqee KWS-302-WF: add support for KWS-303-WF

- Made many dps optional (they are supported by both, but not present in the
diagnostics capture).

- Added 3 new dps only present on the KWS-303-WF.

Issue #3129
Jason Rumney hace 11 meses
padre
commit
5799e6bfa2

+ 89 - 0
custom_components/tuya_local/devices/gaqqee_kws302wf_energymeter.yaml

@@ -3,6 +3,9 @@ products:
   - id: tadm13agjigbdtxd
   - id: tadm13agjigbdtxd
     manufacturer: Gaqqee
     manufacturer: Gaqqee
     model: KWS-302-WF
     model: KWS-302-WF
+  - id: bjawzodf
+    manufacturer: Gaqqee
+    model: KWS-303-WF
 entities:
 entities:
   - entity: sensor
   - entity: sensor
     class: energy
     class: energy
@@ -70,6 +73,7 @@ entities:
     dps:
     dps:
       - id: 104
       - id: 104
         type: integer
         type: integer
+        optional: true
         name: sensor
         name: sensor
         unit: min
         unit: min
         class: measurement
         class: measurement
@@ -79,6 +83,7 @@ entities:
     dps:
     dps:
       - id: 106
       - id: 106
         type: integer
         type: integer
+        optional: true
         name: sensor
         name: sensor
         unit: "%"
         unit: "%"
         class: measurement
         class: measurement
@@ -97,6 +102,7 @@ entities:
     dps:
     dps:
       - id: 108
       - id: 108
         type: integer
         type: integer
+        optional: true
         name: sensor
         name: sensor
         unit: C
         unit: C
         class: measurement
         class: measurement
@@ -107,6 +113,7 @@ entities:
     dps:
     dps:
       - id: 109
       - id: 109
         type: integer
         type: integer
+        optional: true
         name: value
         name: value
         unit: V
         unit: V
         range:
         range:
@@ -119,6 +126,7 @@ entities:
     dps:
     dps:
       - id: 110
       - id: 110
         type: integer
         type: integer
+        optional: true
         name: value
         name: value
         unit: V
         unit: V
         range:
         range:
@@ -131,6 +139,7 @@ entities:
     dps:
     dps:
       - id: 111
       - id: 111
         type: integer
         type: integer
+        optional: true
         name: value
         name: value
         unit: A
         unit: A
         range:
         range:
@@ -161,6 +170,7 @@ entities:
     dps:
     dps:
       - id: 113
       - id: 113
         type: integer
         type: integer
+        optional: true
         name: value
         name: value
         unit: kWh
         unit: kWh
         range:
         range:
@@ -175,6 +185,7 @@ entities:
     dps:
     dps:
       - id: 114
       - id: 114
         type: integer
         type: integer
+        optional: true
         name: value
         name: value
         unit: kW
         unit: kW
         range:
         range:
@@ -189,6 +200,7 @@ entities:
     dps:
     dps:
       - id: 115
       - id: 115
         type: integer
         type: integer
+        optional: true
         name: value
         name: value
         unit: C
         unit: C
         range:
         range:
@@ -211,6 +223,7 @@ entities:
     dps:
     dps:
       - id: 119
       - id: 119
         type: integer
         type: integer
+        optional: true
         name: value
         name: value
         unit: min
         unit: min
         range:
         range:
@@ -248,3 +261,79 @@ entities:
         type: boolean
         type: boolean
         name: switch
         name: switch
         optional: true
         optional: true
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    hidden: unavailable
+    dps:
+      - id: 10
+        type: bitfield
+        optional: true
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - dps_val: null
+            value: false
+          - value: true
+      - id: 10
+        type: bitfield
+        optional: true        
+        name: fault_code
+      - id: 10
+        type: bitfield
+        optional: true
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
+  - entity: select
+    name: Screen orientation
+    icon: "mdi:screen-rotation"
+    category: config
+    hidden: unavailable
+    dps:
+      - id: 124
+        type: boolean
+        optional: true
+        name: option
+        mapping:
+          - dps_val: false
+            value: Normal
+          - dps_val: true
+            value: Inverted
+          - value: Normal
+            hidden: true
+      - id: 10
+        type: bitfield
+        optional: true
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
+  - entity: select
+    translation_key: initial_state
+    category: config
+    hidden: unavailable
+    dps:
+      - id: 125
+        type: string
+        optional: true
+        name: option
+        mapping:
+          - dps_val: "off"
+            value: "off"
+          - dps_val: "on"
+            value: "on"
+          - dps_val: memory
+            value: memory
+      - id: 10
+        type: bitfield
+        optional: true
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true