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

feat (devices): add Eureka ERK-S62 adjustable desk

Issue #4238
Jason Rumney 1 месяц назад
Родитель
Сommit
d13a9900a8
3 измененных файлов с 135 добавлено и 0 удалено
  1. 1 0
      ACKNOWLEDGEMENTS.md
  2. 1 0
      DEVICES.md
  3. 133 0
      custom_components/tuya_local/devices/eureka_erks62_desk.yaml

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -1211,3 +1211,4 @@ Further device support has been made with the assistance of users. Please consid
 - [bitcoin1192](https://github.com/bitcoin1192) for assisting with support for Taffware 1P-J-63 circuit breaker.
 - [PawelSwaczyna](https://github.com/PawelSwaczyna) for contributing support for Klarta Humea Grande humidifier.
 - [laskas-p](https://github.com/laskas-p) for contributing support for Wellio D008A 20L dehumidifier.
+- [akritikos](https://github.com/akritikos) for assisting with support for Eureka ERK-S62 adjustable desk.

+ 1 - 0
DEVICES.md

@@ -1140,6 +1140,7 @@ port and password.
 - EM3390TF weather station (tested with Viflykoo branded device, probably identical to the same model number branded as Uzoli, Jely and others)
 - Emax EM3378 Weather Station (selling as Hiper P1 and other rebrands)
 - EPT ultrasonic 3m tank level sensor
+- Eureka ERK-S62 adjustable desk
 - Goldair Platinum SleepSmart electric blanket
 - GratKit filament dryer
 - GZAIR radon gas detector

+ 133 - 0
custom_components/tuya_local/devices/eureka_erks62_desk.yaml

@@ -0,0 +1,133 @@
+name: Desk
+products:
+  - id: dqjkmn7gja7qil06
+    manufacturer: Eureka
+    model: ERK-S62
+entities:
+  - entity: button
+    name: Up
+    icon: "mdi:arrow-up-bold"
+    dps:
+      - id: 1
+        type: string
+        optional: true
+        name: button
+        mapping:
+          - dps_val: up
+            value: true
+  - entity: button
+    name: Down
+    icon: "mdi:arrow-down-bold"
+    dps:
+      - id: 1
+        type: string
+        optional: true
+        name: button
+        mapping:
+          - dps_val: down
+            value: true
+  - entity: button
+    name: Stop
+    icon: "mdi:stop"
+    dps:
+      - id: 1
+        type: string
+        optional: true
+        name: button
+        mapping:
+          - dps_val: stop
+            value: true
+  - entity: button
+    name: Continue
+    icon: "mdi:play"
+    dps:
+      - id: 1
+        type: string
+        optional: true
+        name: button
+        mapping:
+          - dps_val: continue
+            value: true
+  - entity: sensor
+    translation_key: status
+    class: enum
+    dps:
+      - id: 2
+        type: string
+        optional: true
+        name: sensor
+        mapping:
+          - dps_val: up
+            value: ascending
+          - dps_val: down
+            value: descending
+          - dps_val: stop
+            value: idle
+  - entity: button
+    name: Preset 1
+    icon: "mdi:numeric-1-box"
+    dps:
+      - id: 3
+        type: string
+        optional: true
+        name: button
+        mapping:
+          - dps_val: level_1
+            value: true
+  - entity: button
+    name: Preset 2
+    icon: "mdi:numeric-2-box"
+    dps:
+      - id: 3
+        type: string
+        optional: true
+        name: button
+        mapping:
+          - dps_val: level_2
+            value: true
+  - entity: button
+    name: Preset 3
+    icon: "mdi:numeric-3-box"
+    dps:
+      - id: 3
+        type: string
+        optional: true
+        name: button
+        mapping:
+          - dps_val: level_3
+            value: true
+  - entity: button
+    name: Preset 4
+    icon: "mdi:numeric-4-box"
+    dps:
+      - id: 3
+        type: string
+        optional: true
+        name: button
+        mapping:
+          - dps_val: level_4
+            value: true
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 5
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - value: true
+      - id: 5
+        type: bitfield
+        name: fault_code
+  - entity: sensor
+    name: Height
+    class: distance
+    category: diagnostic
+    dps:
+      - id: 8
+        type: integer
+        name: sensor
+        unit: mm
+        class: measurement