Quellcode durchsuchen

Add initial Support for Ultenic T10 Robot Vacuum

Stephen Quinn vor 2 Jahren
Ursprung
Commit
457d51a11e
1 geänderte Dateien mit 123 neuen und 0 gelöschten Zeilen
  1. 123 0
      custom_components/tuya_local/devices/ultenic_t10_vacuum.yaml

+ 123 - 0
custom_components/tuya_local/devices/ultenic_t10_vacuum.yaml

@@ -0,0 +1,123 @@
+name: Ultenic T10 Robot vacuum
+products:
+  - id: skn6zhhv0uxrylrk
+    name: Ultenic T10
+primary_entity:
+  entity: vacuum
+  dps:
+    - id: 1
+      type: boolean
+      name: activate
+      optional: true
+    - id: 2
+      type: boolean
+      name: pause
+      optional: true
+    - id: 13
+      type: boolean
+      name: locate
+      optional: true
+    - id: 3
+      type: string
+      name: command
+      mapping:
+        - dps_val: smart
+          value: smart
+        - dps_val: zone
+          value: zone
+        - dps_val: pose
+          value: go_to_position
+        - dps_val: part
+          value: clean_spot
+        - dps_val: chargego
+          value: return_to_base
+        - dps_val: selectroom
+          value: select_room
+        - dps_val: standby
+          value: stand by
+    - id: 5
+      type: string
+      name: status
+      mapping:
+        - dps_val: standby
+          value: standby
+        - dps_val: smart_clean
+          value: cleaning
+        - dps_val: zone_clean
+          value: cleaning
+        - dps_val: part_clean
+          value: cleaning
+        - dps_val: paused
+          value: pause
+        - dps_val: goto_pos
+          value: going_to_location
+        - dps_val: pos_arrived
+          value: on_location
+        - dps_val: pos_unarrive
+          value: cannot_find_location
+        - dps_val: to_charge
+          value: returning
+        - dps_val: charging
+          value: charging
+        - dps_val: charge_done
+          value: charged
+        - dps_val: sleep
+          value: sleep
+        - dps_val: fault
+          value: error
+        - dps_val: wall_follow
+          value: wall_follow
+        - dps_val: direction_control
+          value: direction_control
+        - dps_val: selectroom
+          value: select_room
+    - id: 14
+      type: string
+      name: fan_speed
+      #tuya constants are interpretted backwards by Ultenic
+      #Ultenic App has a 4th "Strong" suction speed but observing
+      #the DP always seems to call it gentle when selected - so dont know what custom logic they are doing
+      mapping:
+        - dps_val: strong
+          value: "Off"
+        - dps_val: normal
+          value: Gentle
+        - dps_val: gentle
+          value: Normal
+
+    - id: 110
+      type: bitfield
+      name: error
+      #have no idea what the fields are for this bit field.  The Robot upside down reports as -2601
+      optional: true
+
+secondary_entities:
+  - entity: sensor
+    class: battery
+    dps:
+      - id: 6
+        type: integer
+        name: sensor
+        unit: "%"
+        class: measurement
+
+  - entity: sensor
+    name: Unknown Value always 6132
+    category: diagnostic
+    optional: true
+    dps:
+      - id: 111
+        type: bitfield
+        name: sensor
+
+
+#The following can be retrieved by using the Tuya Uncover app at https://github.com/blakadder/tuya-uncover but are never seen by tuya local
+# DP 109 is BASE 64 encoded Device ID
+# DP 108 is BASE 64 encoded UUID - reports the same value as is called UUID in the Ultenic App under Device Information
+# DP 107 is BASE 64 encoded JSON that looks like cleaning statistics - {"data":{"counts":40,"mopArea":0,"sweepArea":504,"time":27208},"infoType":21009}
+# DP 106 is BASE 64 encoded identifier LXT10033006392B
+# DP 102 is BASE 64 encode  JSON that looks like an event stream, different data everytime you look - {"dInfo":{"ts":1694541823927,"userId":"XXXXXXXXXXXX"},"data":{"battery":27208,"filter":27208,"mainBrush":27208,"sensors":27208,"sideBrush":27208},"infoType":21015,"message":"ok"} 
+# DP 101 always ""
+# DP 103 always 1
+# DP 104 always 1
+# DP 105 always 1