소스 검색

Add support for Stahlmann Smart water leak control system (#5122)

* Add support for Stahlmann Smart water leak control system

* Rename meter sensors

* Make meter sensors hidden when unavailable

---------

Co-authored-by: Jason Rumney <make-all@users.noreply.github.com>
Artem Sorokin 2 일 전
부모
커밋
23b2b641ce
1개의 변경된 파일249개의 추가작업 그리고 0개의 파일을 삭제
  1. 249 0
      custom_components/tuya_local/devices/stahlmann_smart_waterleak.yaml

+ 249 - 0
custom_components/tuya_local/devices/stahlmann_smart_waterleak.yaml

@@ -0,0 +1,249 @@
+name: Water leak detector
+products:
+  - id: 13rpipcbxy5ih282
+    manufacturer: Stahlmann Smart
+entities:
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 133
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: null
+            value: false
+          - dps_val: 0
+            value: false
+          - value: true
+      - id: 133
+        type: bitfield
+        name: fault_code
+      - id: 133
+        type: bitfield
+        name: description
+        mapping:
+          - dps_val: 0
+            value: ok
+          - dps_val: 1
+            value: line_1_attention
+          - dps_val: 2
+            value: line_2_attention
+          - dps_val: 4
+            value: line_1_break
+          - dps_val: 8
+            value: line_2_break
+          - dps_val: 16
+            value: line_1_short
+          - dps_val: 32
+            value: line_2_short
+          - dps_val: 64
+            value: valve_1_break
+          - dps_val: 128
+            value: valve_2_break
+          - dps_val: 256
+            value: valve_1_overcurrent
+          - dps_val: 512
+            value: valve_2_overcurrent
+          - dps_val: 1024
+            value: wireless_attention
+          - dps_val: 2048
+            value: wireless_sensor_lost
+          - dps_val: 4096
+            value: wireless_battery_low
+          - dps_val: 8192
+            value: module_battery_low
+          - dps_val: 16384
+            value: counter_1_failure
+          - dps_val: 32768
+            value: counter_2_failure
+          - dps_val: 65536
+            value: counter_3_failure
+          - dps_val: 131072
+            value: counter_4_failure
+          - dps_val: 262144
+            value: counter_5_failure
+          - dps_val: 524288
+            value: counter_6_failure
+          - dps_val: 1048576
+            value: valve_1_not_rotate
+          - dps_val: 2097152
+            value: valve_2_not_rotate
+  - entity: switch
+    name: Floor cleaning
+    icon: "mdi:pail"
+    category: config
+    dps:
+      - id: 101
+        type: boolean
+        name: switch
+  - entity: lock
+    translation_key: child_lock
+    category: config
+    dps:
+      - id: 102
+        type: boolean
+        name: lock
+  - entity: valve
+    name: Zone 1
+    class: water
+    dps:
+      - id: 104
+        type: boolean
+        name: valve
+  - entity: valve
+    name: Zone 2
+    class: water
+    hidden: unavailable
+    dps:
+      - id: 105
+        type: boolean
+        name: valve
+      - id: 106
+        type: boolean
+        name: available
+  - entity: switch
+    name: Dual zone
+    icon: "mdi:select-group"
+    category: config
+    dps:
+      - id: 106
+        type: boolean
+        name: switch
+      - id: 107
+        type: string
+        name: name_zones
+  - entity: button
+    name: Add wireless sensor
+    icon: "mdi:attachment-plus"
+    category: config
+    dps:
+      - id: 108
+        type: boolean
+        name: button
+  - entity: sensor
+    name: Meter 1
+    class: water
+    hidden: unavailable
+    dps:
+      - id: 135
+        type: integer
+        optional: true
+        name: sensor
+        unit: m³
+        class: total_increasing
+        mapping:
+          - scale: 1000
+      - id: 135
+        type: integer
+        optional: true
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
+  - entity: sensor
+    name: Meter 2
+    class: water
+    hidden: unavailable
+    dps:
+      - id: 136
+        type: integer
+        optional: true
+        name: sensor
+        unit: m³
+        class: total_increasing
+        mapping:
+          - scale: 1000
+      - id: 136
+        type: integer
+        optional: true
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
+  - entity: sensor
+    name: Meter 3
+    class: water
+    hidden: true
+    dps:
+      - id: 137
+        type: integer
+        optional: true
+        name: sensor
+        unit: m³
+        class: total_increasing
+        mapping:
+          - scale: 1000
+      - id: 137
+        type: integer
+        optional: true
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
+  - entity: sensor
+    name: Meter 4
+    class: water
+    hidden: unavailable
+    dps:
+      - id: 138
+        type: integer
+        optional: true
+        name: sensor
+        unit: m³
+        class: total_increasing
+        mapping:
+          - scale: 1000
+      - id: 138
+        type: integer
+        optional: true
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
+  - entity: sensor
+    name: Meter 5
+    class: water
+    hidden: unavailable
+    dps:
+      - id: 139
+        type: integer
+        optional: true
+        name: sensor
+        unit: m³
+        class: total_increasing
+        mapping:
+          - scale: 1000
+      - id: 139
+        type: integer
+        optional: true
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true
+  - entity: sensor
+    name: Meter 6
+    class: water
+    hidden: unavailable
+    dps:
+      - id: 140
+        type: integer
+        optional: true
+        name: sensor
+        unit: m³
+        class: total_increasing
+        mapping:
+          - scale: 1000
+      - id: 140
+        type: integer
+        optional: true
+        name: available
+        mapping:
+          - dps_val: null
+            value: false
+          - value: true