Ver Fonte

Inkbird IBS-M2: changes from review

- use translations for temperature unit
- follow naming convention
- use available flags on probe sensors, and hide past probe 1 when they are not available (not yet working)

PR #3250
Jason Rumney há 8 meses atrás
pai
commit
e4d32bbbdf
1 ficheiros alterados com 162 adições e 94 exclusões
  1. 162 94
      custom_components/tuya_local/devices/inkbird_ibs_m2.yaml

+ 162 - 94
custom_components/tuya_local/devices/inkbird_ibs_m2.yaml

@@ -2,19 +2,19 @@ name: Temperature probe hub
 products:
   - id: cx7qfwsatomtk5p8
     manufacturer: Inkbird
-    model: IBS_M2
+    model: IBS-M2
 entities:
   - entity: select
-    name: Temperature unit
+    translation_key: temperature_unit
     dps:
       - id: 9
         type: string
         name: option
         mapping:
           - dps_val: "c"
-            value: "C"
+            value: celsius
           - dps_val: "f"
-            value: "F"
+            value: fahrenheit
   - entity: sensor
     name: Temperature probe 1
     class: temperature
@@ -29,12 +29,15 @@ entities:
         mask: "FFFF00"
         mapping:
           - scale: 10
-            constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+      - id: 103
+        type: string
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
-    name: Probe 1 Battery
+    name: Probe 1 battery
     class: battery
     category: diagnostic
     dps:
@@ -44,14 +47,17 @@ entities:
         name: sensor
         unit: "%"
         mask: "000000000000000000FF"
+      - id: 103
+        type: string
+        name: available
         mapping:
-          - constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
     name: Temperature probe 2
     class: temperature
+    hidden: unavailable
     dps:
       - id: 104
         optional: true
@@ -63,14 +69,18 @@ entities:
         mask: "FFFF00"
         mapping:
           - scale: 10
-            constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+      - id: 104
+        type: string
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
-    name: Probe 2 Battery
+    name: Probe 2 battery
     class: battery
     category: diagnostic
+    hidden: unavailable
     dps:
       - id: 104
         optional: true
@@ -78,14 +88,17 @@ entities:
         name: sensor
         unit: "%"
         mask: "000000000000000000FF"
+      - id: 104
+        type: string
+        name: available
         mapping:
-          - constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
     name: Temperature probe 3
     class: temperature
+    hidden: unavailable
     dps:
       - id: 105
         optional: true
@@ -97,14 +110,18 @@ entities:
         mask: "FFFF00"
         mapping:
           - scale: 10
-            constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+      - id: 105
+        type: string
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
-    name: Probe 3 Battery
+    name: Probe 3 battery
     class: battery
     category: diagnostic
+    hidden: unavailable
     dps:
       - id: 105
         optional: true
@@ -112,14 +129,17 @@ entities:
         name: sensor
         unit: "%"
         mask: "000000000000000000FF"
+      - id: 105
+        type: string
+        name: available
         mapping:
-          - constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
     name: Temperature probe 4
     class: temperature
+    hidden: unavailable
     dps:
       - id: 106
         optional: true
@@ -131,14 +151,18 @@ entities:
         mask: "FFFF00"
         mapping:
           - scale: 10
-            constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+      - id: 106
+        type: string
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
-    name: Probe 4 Battery
+    name: Probe 4 battery
     class: battery
     category: diagnostic
+    hidden: unavailable
     dps:
       - id: 106
         optional: true
@@ -146,14 +170,17 @@ entities:
         name: sensor
         unit: "%"
         mask: "000000000000000000FF"
+      - id: 106
+        type: string
+        name: available
         mapping:
-          - constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
     name: Temperature probe 5
     class: temperature
+    hidden: unavailable
     dps:
       - id: 107
         optional: true
@@ -165,14 +192,18 @@ entities:
         mask: "FFFF00"
         mapping:
           - scale: 10
-            constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+      - id: 107
+        type: string
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
-    name: Probe 5 Battery
+    name: Probe 5 battery
     class: battery
     category: diagnostic
+    hidden: unavailable
     dps:
       - id: 107
         optional: true
@@ -180,14 +211,17 @@ entities:
         name: sensor
         unit: "%"
         mask: "000000000000000000FF"
+      - id: 107
+        type: string
+        name: available
         mapping:
-          - constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
     name: Temperature probe 6
     class: temperature
+    hidden: unavailable
     dps:
       - id: 108
         optional: true
@@ -199,14 +233,18 @@ entities:
         mask: "FFFF00"
         mapping:
           - scale: 10
-            constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+      - id: 108
+        type: string
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
-    name: Probe 6 Battery
+    name: Probe 6 battery
     class: battery
     category: diagnostic
+    hidden: unavailable
     dps:
       - id: 108
         optional: true
@@ -214,14 +252,17 @@ entities:
         name: sensor
         unit: "%"
         mask: "000000000000000000FF"
+      - id: 108
+        type: string
+        name: available
         mapping:
-          - constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
     name: Temperature probe 7
     class: temperature
+    hidden: unavailable
     dps:
       - id: 109
         optional: true
@@ -233,14 +274,18 @@ entities:
         mask: "FFFF00"
         mapping:
           - scale: 10
-            constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+      - id: 109
+        type: string
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
-    name: Probe 7 Battery
+    name: Probe 7 battery
     class: battery
     category: diagnostic
+    hidden: unavailable
     dps:
       - id: 109
         optional: true
@@ -248,14 +293,17 @@ entities:
         name: sensor
         unit: "%"
         mask: "000000000000000000FF"
+      - id: 109
+        type: string
+        name: available
         mapping:
-          - constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
     name: Temperature probe 8
     class: temperature
+    hidden: unavailable
     dps:
       - id: 110
         optional: true
@@ -267,14 +315,18 @@ entities:
         mask: "FFFF00"
         mapping:
           - scale: 10
-            constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+      - id: 110
+        type: string
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
-    name: Probe 8 Battery
+    name: Probe 8 battery
     class: battery
     category: diagnostic
+    hidden: unavailable
     dps:
       - id: 110
         optional: true
@@ -282,14 +334,17 @@ entities:
         name: sensor
         unit: "%"
         mask: "000000000000000000FF"
+      - id: 110
+        type: string
+        name: available
         mapping:
-          - constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
     name: Temperature probe 9
     class: temperature
+    hidden: unavailable
     dps:
       - id: 111
         optional: true
@@ -301,14 +356,18 @@ entities:
         mask: "FFFF00"
         mapping:
           - scale: 10
-            constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+      - id: 111
+        type: string
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
-    name: Probe 9 Battery
+    name: Probe 9 battery
     class: battery
     category: diagnostic
+    hidden: unavailable
     dps:
       - id: 111
         optional: true
@@ -316,14 +375,17 @@ entities:
         name: sensor
         unit: "%"
         mask: "000000000000000000FF"
+      - id: 111
+        type: string
+        name: available
         mapping:
-          - constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
     name: Temperature probe 10
     class: temperature
+    hidden: unavailable
     dps:
       - id: 112
         optional: true
@@ -335,14 +397,18 @@ entities:
         mask: "FFFF00"
         mapping:
           - scale: 10
-            constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+      - id: 112
+        type: string
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
   - entity: sensor
-    name: Probe 10 Battery
+    name: Probe 10 battery
     class: battery
     category: diagnostic
+    hidden: unavailable
     dps:
       - id: 112
         optional: true
@@ -350,8 +416,10 @@ entities:
         name: sensor
         unit: "%"
         mask: "000000000000000000FF"
+      - id: 112
+        type: string
+        name: available
         mapping:
-          - constraint: type
-            conditions:
-              - dps_val: 0
-                invalid: true
+          - dps_val: null
+            value: false
+          - value: true