Browse Source

Add support for Silvercrest kettle

Issue #516
Jason Rumney 2 years ago
parent
commit
e0b1768b7d
3 changed files with 84 additions and 2 deletions
  1. 1 1
      ACKNOWLEDGEMENTS.md
  2. 2 1
      DEVICES.md
  3. 81 0
      custom_components/tuya_local/devices/silvercrest_kettle.yaml

+ 1 - 1
ACKNOWLEDGEMENTS.md

@@ -177,7 +177,7 @@ Further device support has been made with the assistance of users.  Please consi
 - [ShayGus](https://github.com/ShayGus) for contributing support for Avatto curtain and light switch.
 - [garry0garry](https://github.com/garry0garry) for assistance supporting TOMPD circuit breakers.
 - [romicaiarca](https://github.com/romicaiarca) for contributing Aleco D12 Home dehumidifier support.
-- [spitfire](https://github.com/spitfire) for assistance supporting Gosund P1 powerstrips and Czajnik Setti+ kettles.
+- [spitfire](https://github.com/spitfire) for assistance supporting Gosund P1 powerstrips and Setti+ and Silvercrest kettles.
 - [berdahl](https://github.com/bergdahl) for contributing support for Stadler Eva humidifiers.
 - [dezinc57](https://github.com/dezinc57) for assistance supporting Fanco ceiling fan and light and Deta dimmer switch.
 - [hasio144](https://github.com/hasio144) for assistance supporting WF96L water level controllers.

+ 2 - 1
DEVICES.md

@@ -171,9 +171,10 @@
 ### Kitchen Appliances
 
 - Anko 1.7L smart kettle
-- Czajnik Setti+ KT950W smart kettle
+- Setti+ KT950W smart kettle
 - Inkbird sous vide cooker
 - Kogan glass 1.7L smart kettle
+- Silvercrest 1.7L smart kettle
 
 ### Smart Meter/Circuit Breaker
 

+ 81 - 0
custom_components/tuya_local/devices/silvercrest_kettle.yaml

@@ -0,0 +1,81 @@
+name: Silvercrest kettle
+products:
+  - id: il4ofqon04yai1xe
+    name: WK0828RT
+primary_entity:
+  entity: water_heater
+  icon: "mdi:kettle"
+  dps:
+    - id: 1
+      type: boolean
+      name: operation_mode
+      mapping:
+        - dps_val: false
+          value: "Off"
+        - dps_val: true
+          constraint: warm
+          conditions:
+            - dps_val: true
+              value: Keep warm
+            - dps_val: false
+              value: Boil
+            - value: Boil
+    - id: 2
+      type: integer
+      name: current_temperature
+    - id: 8
+      type: integer
+      name: temperature
+      unit: C
+      range:
+        min: 40
+        max: 100
+      mapping:
+        - step: 5
+      # One of these unknowns should be the "16 preset programs". Both are numeric strings (so probably enums)
+    - id: 13
+      type: boolean
+      name: warm
+      optional: true
+      hidden: true
+    - id: 15
+      type: string
+      name: unknown_15
+    - id: 16
+      type: string
+      name: unknown_16
+    - id: 103
+      type: boolean
+      name: unknown_103
+    - id: 104
+      type: integer
+      name: unknown_104
+secondary_entities:
+  # Portal docs say there is a number to set, and also a countdown remaining.
+  # This might be the remaining (log was 5, which is not a 30 minute step)
+  # with the other unknown string above a 0/30/60/90/120 selection
+  - entity: number
+    name: Warm time
+    category: config
+    icon: "mdi:timer"
+    dps:
+      - id: 14
+        type: integer
+        name: value
+        unit: min
+        range:
+          min: 0
+          max: 120
+        mapping:
+          - step: 30
+  - entity: sensor
+    name: Time remaining
+    class: duration
+    category: diagnostic
+    dps:
+      - id: 18
+        type: integer
+        name: sensor
+        unit: min
+        optional: true
+