Преглед на файлове

Add support for Rohnson SmartChef XL air fryer.

Issue #2746
Jason Rumney преди 1 година
родител
ревизия
f6d46a108a

+ 1 - 1
ACKNOWLEDGEMENTS.md

@@ -810,7 +810,7 @@ Further device support has been made with the assistance of users. Please consid
 - [Ramon-E80](https://github.com/Ramon-E80) for assisting with support for Clean Air Optima CA-702 dehumidifier.
 - [fate8383](https://github.com/fate8383) for assisting with support for Siguro AP-K50 purifier.
 - [szemkhel](https://github.com/szemkhel) for assisting with support for Protmex PT-19DW alarm clock with temperature and humidity monitor.
-- [dimis7](https://github.com/dimis7) for assisting with support for Inventor Rise Pro dehumidifier.
+- [dimis7](https://github.com/dimis7) for assisting with support for Inventor Rise Pro dehumidifier and contributing support for Rohnson SmartChef XL air fryer.
 - [Bryla2507](https://github.com/Bryla2507) for assisting with support for LSC dual band outdoor camera.
 - [PaPa1ya](https://github.com/PaPa1ya) for assisting with support for generic RGB "dreamlight" garland.
 - [jcconnell](https://github.com/jcconnell) for contributing support for Gosund SW2 dimmer switch.

+ 1 - 0
DEVICES.md

@@ -429,6 +429,7 @@
 - Klarstein Amazonia dishwasher
 - Kogan glass 1.7L smart kettle
 - Leoffen LFIM6000 ice cube maker
+- Rohnson R-2858 SmartChef XL soft cooking air fryer
 - Setti+ KT950W smart kettle
 - Silvercrest 1.7L smart kettle
 - Silvercrest coffee maker

+ 221 - 0
custom_components/tuya_local/devices/rohnson_r28858_airfryer.yaml

@@ -0,0 +1,221 @@
+name: Air fryer
+products:
+  - id: dsyz4tnrkwgo2fma
+    manufacturer: Rohnson
+    model: SmartChef XL2
+    model_id: R-2858
+entities:
+  - entity: climate
+    translation_only_key: oven
+    dps:
+      - id: 1
+        type: boolean
+        name: hvac_mode
+        mapping:
+          - dps_val: false
+            value: "off"
+          - dps_val: true
+            value: heat
+      - id: 2
+        type: boolean
+        name: hvac_action
+        mapping:
+          - dps_val: false
+            value: heating
+          - dps_val: true
+            value: idle
+      - id: 6
+        type: integer
+        name: temperature
+        range:
+          min: 80
+          max: 220
+        mapping:
+          - step: 5
+            constraint: temperature_unit
+            conditions:
+              - dps_val: false
+                range:
+                  min: 180
+                  max: 440
+      - id: 103
+        type: boolean
+        name: temperature_unit
+        mapping:
+          - dps_val: true
+            value: C
+          - dps_val: false
+            value: F
+  - entity: button
+    name: Start
+    icon: "mdi:play"
+    dps:
+      - id: 1
+        type: boolean
+        name: available
+      - id: 2
+        type: boolean
+        name: button
+        mapping:
+          - dps_val: false
+            value: true
+          - dps_val: true
+            value: false
+  - entity: button
+    name: Pause
+    icon: "mdi:pause"
+    dps:
+      - id: 1
+        type: boolean
+        name: available
+      - id: 2
+        type: boolean
+        name: button
+  - entity: select
+    translation_key: recipe
+    category: config
+    dps:
+      - id: 1
+        type: boolean
+        name: available
+      - id: 3
+        type: string
+        name: option
+        mapping:
+          - dps_val: drumsticks
+            value: chicken_drumsticks
+          - dps_val: steak
+            value: steak
+          - dps_val: fish
+            value: fish
+          - dps_val: cake
+            value: cake
+          - dps_val: pizza
+            value: pizza
+          - dps_val: sausage
+            value: sausage
+          - dps_val: chips
+            value: fries
+          - dps_val: dryfruit
+            value: dry_fruit
+  - entity: number
+    name: Cloud recipe
+    category: config
+    icon: "mdi:pot-mix"
+    dps:
+      - id: 1
+        type: boolean
+        name: available
+      - id: 4
+        type: integer
+        name: value
+        range:
+          min: 0
+          max: 999999999
+  - entity: number
+    name: Cooking time
+    class: duration
+    translation_key: timer
+    dps:
+      - id: 1
+        type: boolean
+        name: available
+      - id: 9
+        type: integer
+        name: value
+        unit: min
+        range:
+          min: 0
+          max: 1440
+  - entity: sensor
+    translation_key: time_remaining
+    class: duration
+    dps:
+      - id: 10
+        type: integer
+        name: sensor
+        unit: min
+  - entity: binary_sensor
+    class: problem
+    category: diagnostic
+    dps:
+      - id: 12
+        type: bitfield
+        name: sensor
+        mapping:
+          - dps_val: 0
+            value: false
+          - value: true
+      - id: 12
+        type: bitfield
+        name: fault_code
+  - entity: light
+    category: config
+    dps:
+      - id: 1
+        type: boolean
+        name: available
+      - id: 101
+        type: boolean
+        name: switch
+  - entity: sensor
+    name: Cooling time
+    class: duration
+    translation_key: time_remaining
+    category: diagnostic
+    dps:
+      - id: 107
+        type: integer
+        optional: true
+        name: sensor
+        unit: s
+        class: measurement
+  - entity: select
+    name: Operating state
+    icon: "mdi:toaster-oven"
+    category: config
+    dps:
+      - id: 1
+        type: boolean
+        name: available
+      - id: 108
+        type: string
+        name: option
+        mapping:
+          - dps_val: wait_mode
+            value: Wait
+          - dps_val: set_mode
+            value: Settings
+          - dps_val: run_mode
+            value: Run
+          - dps_val: stop_mode
+            value: Stop
+          - dps_val: pause_mode
+            value: Pause
+          - dps_val: time_out
+            value: Timeout
+  - entity: event
+    name: Cooked
+    dps:
+      - id: 109
+        type: string
+        name: event
+        optional: true
+        mapping:
+          - dps_val: nothing
+            value: null
+          - dps_val: alarm
+            value: turn_over
+          - dps_val: finish_cooking
+            value: done
+  - entity: switch
+    name: Tender griller
+    icon: "mdi:grill"
+    category: config
+    dps:
+      - id: 1
+        type: boolean
+        name: available
+      - id: 110
+        type: boolean
+        name: switch

+ 2 - 0
custom_components/tuya_local/translations/bg.json

@@ -440,6 +440,8 @@
                     "cake": "Торта",
                     "bread": "Хляб",
                     "toast": "Тост",
+                    "sausage": "Наденица",
+                    "dry_fruit": "Сухи плодове",
                     "custom": "Потребителски",
                     "cloud_recipe": "Облак рецепта",
                     "default": "По подразбиране",

+ 2 - 0
custom_components/tuya_local/translations/cz.json

@@ -440,6 +440,8 @@
                     "cake": "Koláč",
                     "bread": "Chléb",
                     "toast": "Topinka",
+                    "sausage": "Klobása",
+                    "dry_fruit": "Sušené ovoce",
                     "custom": "Vlastní",
                     "cloud_recipe": "Recept z cloudu",
                     "default": "Výchozí",

+ 2 - 0
custom_components/tuya_local/translations/de.json

@@ -439,6 +439,8 @@
                     "cake": "Kuchen",
                     "bread": "Brot",
                     "toast": "Toast",
+                    "sausage": "Wurst",
+                    "dry_fruit": "Trockenfrüchte",
                     "custom": "Benutzerdefiniert",
                     "cloud_recipe": "Cloud-Rezept",
                     "default": "Standard",

+ 2 - 0
custom_components/tuya_local/translations/el.json

@@ -440,6 +440,8 @@
                     "cake": "Κέικ",
                     "bread": "Ψωμί",
                     "toast": "Ψωμί",
+                    "sausage": "Λουκάνικο",
+                    "dry_fruit": "Ξηροί καρποί",
                     "custom": "Προσαρμοσμένο",
                     "cloud_recipe": "Συνταγή από το cloud",
                     "default": "Προεπιλογή",

+ 2 - 0
custom_components/tuya_local/translations/en.json

@@ -440,6 +440,8 @@
                     "cake": "Cake",
                     "bread": "Bread",
                     "toast": "Toast",
+                    "sausage": "Sausage",
+                    "dry_fruit": "Dry Fruit",
                     "custom": "Custom",
                     "cloud_recipe": "Cloud Recipe",
                     "default": "Default",

+ 2 - 0
custom_components/tuya_local/translations/es.json

@@ -440,6 +440,8 @@
                     "cake": "Pastel",
                     "bread": "Pan",
                     "toast": "Tostada",
+                    "sausage": "Salchicha",
+                    "dry_fruit": "Fruta seca",
                     "custom": "Personalizado",
                     "cloud_recipe": "Receta de la nube",
                     "default": "Predeterminado",

+ 2 - 0
custom_components/tuya_local/translations/fr.json

@@ -440,6 +440,8 @@
                     "cake": "Gâteau",
                     "bread": "Pain",
                     "toast": "Toast",
+                    "sausage": "Saucisse",
+                    "dry_fruit": "Fruits secs",
                     "custom": "Personnalisé",
                     "cloud_recipe": "Recette Cloud",
                     "default": "Défaut",

+ 2 - 0
custom_components/tuya_local/translations/hu.json

@@ -441,6 +441,8 @@
                     "cake": "Sütemény",
                     "bread": "Kenyér",
                     "toast": "Pirítós",
+                    "sausage": "Kolbász",
+                    "dry_fruit": "Szárított gyümölcs",
                     "custom": "Egyéni",
                     "cloud_recipe": "Felhő recept",
                     "default": "Alapértelmezett",

+ 2 - 0
custom_components/tuya_local/translations/id.json

@@ -440,6 +440,8 @@
                     "cake": "Kue",
                     "bread": "Roti",
                     "toast": "Roti panggang",
+                    "sausage": "Sosis",
+                    "dry_fruit": "Buah kering",
                     "custom": "Kustom",
                     "cloud_recipe": "Resep awan",
                     "default": "Default",

+ 2 - 0
custom_components/tuya_local/translations/it.json

@@ -441,6 +441,8 @@
                     "cake": "Torta",
                     "bread": "Pane",
                     "toast": "Tostare",
+                    "sausage": "Salsiccia",
+                    "dry_fruit": "Frutta secca",
                     "custom": "Personalizzato",
                     "cloud_recipe": "Ricetta cloud",
                     "default": "Predefinito",

+ 2 - 0
custom_components/tuya_local/translations/ja.json

@@ -440,6 +440,8 @@
                     "cake": "ケーキ",
                     "bread": "パン",
                     "toast": "トースト",
+                    "sausage": "ソーセージ",
+                    "dry_fruit": "ドライフルーツ",
                     "custom": "カスタム",
                     "cloud_recipe": "クラウドレシピ",
                     "default": "デフォルト",

+ 2 - 0
custom_components/tuya_local/translations/no-NB.json

@@ -441,6 +441,8 @@
                     "cake": "Kake",
                     "bread": "Brød",
                     "toast": "Toast",
+                    "sausage": "Pølse",
+                    "dry_fruit": "Tørket frukt",
                     "custom": "Egendefinert",
                     "cloud_recipe": "Skyoppskrift",
                     "default": "Standard",

+ 2 - 0
custom_components/tuya_local/translations/pl.json

@@ -440,6 +440,8 @@
                     "cake": "Ciasto",
                     "bread": "Chleb",
                     "toast": "Tost",
+                    "sausage": "Kiełbasa",
+                    "dry_fruit": "Owoce suszone",
                     "custom": "Niestandardowy",
                     "cloud_recipe": "Przepis z chmury",
                     "default": "Domyślny",

+ 2 - 0
custom_components/tuya_local/translations/pt-BR.json

@@ -440,6 +440,8 @@
                     "cake": "Bolo",
                     "bread": "Pão",
                     "toast": "Torrada",
+                    "sausage": "Salsicha",
+                    "dry_fruit": "Fruta seca",
                     "custom": "Personalizado",
                     "cloud_recipe": "Receita da nuvem",
                     "default": "Padrão",

+ 2 - 0
custom_components/tuya_local/translations/ru.json

@@ -440,6 +440,8 @@
                     "cake": "Торт",
                     "bread": "Хлеб",
                     "toast": "Тост",
+                    "sausage": "Сосиски",
+                    "dry_fruit": "Сухофрукты",
                     "custom": "Пользовательский",
                     "cloud_recipe": "Облако",
                     "default": "По умолчанию",

+ 2 - 0
custom_components/tuya_local/translations/uk.json

@@ -443,6 +443,8 @@
                     "cake": "Торт",
                     "bread": "Хліб",
                     "toast": "Тост",
+                    "sausage": "Ковбаса",
+                    "dry_fruit": "Сухофрукти",
                     "custom": "Користувацький",
                     "cloud_recipe": "Хмарний рецепт",
                     "default": "За замовчуванням",

+ 2 - 0
custom_components/tuya_local/translations/ur.json

@@ -443,6 +443,8 @@
                     "cake": "کیک",
                     "bread": "روٹی",
                     "toast": "ٹوسٹ",
+                    "sausage": "سوسیج",
+                    "dry_fruit": "خشک پھل",
                     "custom": "اپنی مرضی",
                     "cloud_recipe": "کلاؤڈ ریسیپی",
                     "default": "پہلے سے طے شدہ",

+ 2 - 0
custom_components/tuya_local/translations/zh-Hans.json

@@ -440,6 +440,8 @@
                     "cake": "蛋糕",
                     "bread": "面包",
                     "toast": "吐司",
+                    "sausage": "香肠",
+                    "dry_fruit": "干果",
                     "custom": "自定义",
                     "cloud_recipe": "云菜谱",
                     "default": "默认",

+ 2 - 0
custom_components/tuya_local/translations/zh-Hant.json

@@ -441,6 +441,8 @@
                     "cake": "蛋糕",
                     "bread": "麵包",
                     "toast": "吐司",
+                    "sausage": "香腸",
+                    "dry_fruit": "乾果",
                     "custom": "自訂",
                     "cloud_recipe": "雲端食譜",
                     "default": "預設",