瀏覽代碼

feat (devices): add support for Ryakka 7-in-1 smart pool monitor

Issue #3769
Jason Rumney 4 月之前
父節點
當前提交
eb5d7d6905
共有 3 個文件被更改,包括 140 次插入0 次删除
  1. 1 0
      ACKNOWLEDGEMENTS.md
  2. 1 0
      DEVICES.md
  3. 138 0
      custom_components/tuya_local/devices/ryakka_7in1_poolmonitor.yaml

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -1073,3 +1073,4 @@ Further device support has been made with the assistance of users. Please consid
 - [3ek](https://github.com/3ek) for contributing support for Motorized pop-up smart sockets.
 - [den4ikmega](https://github.com/den4ikmega) for assisting with support for Digma DiSense G1 gas leak detector.
 - [StodgyWaif](https://github.com/StodgyWaif) for assisting with support for idoo Smart Bloom 8 hydroponic system.
+- [Veuchez](https://github.com/Veuchez) for assisting with support for Ryakka 7-in-1 pool monitor.

+ 1 - 0
DEVICES.md

@@ -1083,6 +1083,7 @@ port and password.
 - RQ400A gas alarm
 - RSE TY-WFH v3.01 gate controller
 - RTCZ-03 human presence sensor
+- Ryakka 7-in-1 smart pool monitor
 - Sai Me Tei towel rail
 - SD123 HPR01 human presence radar
 - SNT957W-TDE temperature sensor

+ 138 - 0
custom_components/tuya_local/devices/ryakka_7in1_poolmonitor.yaml

@@ -0,0 +1,138 @@
+name: Pool monitor
+products:
+  - id: p2mgaks6ic4ptxl1
+    manufacturer: Ryakka
+    model: "7-in-1 water monitor 9.0"
+entities:
+  - entity: sensor
+    name: TDS
+    dps:
+      - id: 1
+        type: integer
+        name: sensor
+        unit: ppm
+        class: measurement
+  - entity: sensor
+    class: temperature
+    dps:
+      - id: 2
+        type: integer
+        name: sensor
+        class: measurement
+        mapping:
+          - scale: 10
+            constraint: unit
+            conditions:
+              - dps_val: f
+                value_redirect: current_f
+      - id: 113
+        type: string
+        name: unit
+        mapping:
+          - dps_val: c
+            value: C
+          - dps_val: f
+            value: F
+      - id: 129
+        type: integer
+        optional: true
+        name: current_f
+        hidden: true
+        mapping:
+          - scale: 10
+  - entity: sensor
+    class: battery
+    category: diagnostic
+    dps:
+      - id: 7
+        type: integer
+        name: sensor
+        unit: "%"
+        class: measurement
+  - entity: sensor
+    class: ph
+    dps:
+      - id: 10
+        type: integer
+        name: sensor
+        class: measurement
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Conductivity
+    dps:
+      - id: 11
+        type: integer
+        name: sensor
+        unit: μS/cm
+        class: measurement
+  - entity: sensor
+    name: ORP
+    class: voltage
+    dps:
+      - id: 12
+        type: integer
+        name: sensor
+        unit: mV
+        class: measurement
+  - entity: sensor
+    name: Chlorine
+    dps:
+      - id: 13
+        type: integer
+        name: sensor
+        unit: mg/L
+        class: measurement
+        mapping:
+          - scale: 10
+  - entity: switch
+    category: config
+    dps:
+      - id: 101
+        type: boolean
+        name: switch
+  - entity: sensor
+    name: Salinity
+    category: diagnostic
+    dps:
+      - id: 102
+        type: integer
+        name: sensor
+        unit: ppm
+        class: measurement
+        mapping:
+          - scale: 100
+  - entity: sensor
+    name: Specific gravity
+    category: diagnostic
+    dps:
+      - id: 103
+        type: integer
+        name: sensor
+        class: measurement
+        mapping:
+          - scale: 1000
+  - entity: select
+    translation_key: temperature_unit
+    category: config
+    dps:
+      - id: 113
+        type: string
+        name: option
+        mapping:
+          - dps_val: c
+            value: celsius
+          - dps_val: f
+            value: fahrenheit
+  - entity: sensor
+    class: volume_flow_rate
+    category: diagnostic
+    dps:
+      - id: 122
+        type: integer
+        optional: true
+        name: sensor
+        unit: L/min
+        class: measurement
+        mapping:
+          - scale: 10