Răsfoiți Sursa

Add support for Cecofry 5500 Connected air fryer

Issue #2261

Add translations for recipe selector. #1708
Jason Rumney 1 an în urmă
părinte
comite
a432f148fc

+ 1 - 0
ACKNOWLEDGEMENTS.md

@@ -663,3 +663,4 @@ Further device support has been made with the assistance of users. Please consid
 - [bramhoosemans](https://github.com/bramhoosemans) for contributing support for Duux Bright air purifier.
 - [alexps70](https://github.com/alexps70) for assisting with support for Gaqqee KWS-302-WF energy meter.
 - [zaubara](https://github.com/zaubara) for assisting with support for Ciarra CBCS4850 range hood.
+- [ap20132022](https://github.com/ap20132022) for assisting with support for Cecofry 5500 air fryer.

+ 1 - 0
DEVICES.md

@@ -350,6 +350,7 @@
 - Anko 1.7L smart kettle
 - Ciarra CBCS4850 range hood 
 - Casdon TD Pro 2 oven
+- Cecofry 5500 Connected air fryer
 - Inkbird iBBQ-4BW cooking probe thermometer
 - Inkbird iBBQ-4T cooking probe thermometer (separate and combined measurement variants)
 - Inkbird IBS-M1S temperature probe hub

+ 154 - 0
custom_components/tuya_local/devices/cecofry_5500_airfryer.yaml

@@ -0,0 +1,154 @@
+name: Air fryer
+products:
+  - id: xxwvfk9qrn56r4n6
+    name: Cecofry 5500 Connected
+primary_entity:
+  entity: switch
+  icon: "mdi:toaster-oven"
+  dps:
+    - id: 1
+      type: boolean
+      optional: true
+      name: switch
+    - id: 11
+      type: string
+      optional: true
+      name: multistep
+    - id: 22
+      type: string
+      optional: true
+      name: cloud_recipe_id
+    - id: 23
+      type: string
+      optional: true
+      name: cooking_history_id
+    - id: 101
+      type: string
+      optional: true
+      name: device_version
+secondary_entities:
+  - entity: button
+    name: Start
+    icon: "mdi:play"
+    dps:
+      - id: 2
+        type: boolean
+        name: button
+  - entity: button
+    name: Pause
+    icon: "mdi:pause"
+    dps:
+      - id: 13
+        type: boolean
+        name: button
+  - entity: select
+    name: Mode
+    translation_key: recipe
+    dps:
+      - id: 3
+        type: string
+        name: option
+        mapping:
+          - dps_val: pizza
+            value: pizza
+          - dps_val: fries
+            value: fries
+          - dps_val: chicken
+            value: chicken
+          - dps_val: shrimp
+            value: shrimp
+          - dps_val: fish
+            value: fish
+          - dps_val: chicken_drumsticks
+            value: chicken_drumsticks
+          - dps_val: vegetables
+            value: vegetables
+          - dps_val: desserts
+            value: desserts
+          - dps_val: none
+            value: none
+  - entity: sensor
+    name: Status
+    class: enum
+    dps:
+      - id: 5
+        type: string
+        name: sensor
+        mapping:
+          - dps_val: standby
+            value: Standby
+          - dps_val: cooking
+            value: Cooking
+          - dps_val: done
+            value: Done
+          - dps_val: door_open
+            value: Door open
+          - dps_val: 1_done
+            value: Done stage 1
+          - dps_val: 2_done
+            value: Done stage 2
+          - dps_val: 3_done
+            value: Done stage 3
+          - dps_val: 4_done
+            value: Done stage 4
+          - dps_val: 5_done
+            value: Done stage 5
+          - dps_val: 6_done
+            value: Done stage 6
+          - dps_val: 7_done
+            value: Done stage 7
+          - dps_val: 8_done
+            value: Done stage 8
+          - dps_val: 9_done
+            value: Done stage 9
+          - dps_val: 10_done
+            value: Done stage 10
+  - entity: number
+    class: temperature
+    dps:
+      - id: 6
+        type: integer
+        name: value
+        unit: C
+        range:
+          min: 80
+          max: 200
+        mapping:
+          - step: 5
+  - entity: number
+    name: Cooking time
+    translation_key: timer
+    dps:
+      - id: 9
+        type: integer
+        name: value
+        unit: min
+        range:
+          min: 0
+          max: 60
+  - 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
+        optional: true
+        mapping:
+          - dps_val: 0
+            value: false
+          - dps_val: null
+            value: false
+          - value: true
+      - id: 12
+        type: bitfield
+        optional: true
+        name: fault_code

+ 12 - 0
custom_components/tuya_local/icons.json

@@ -110,6 +110,18 @@
             }
         },
         "select": {
+            "recipe": {
+                "default": "mdi:nutrition",
+                "state": {
+                    "pizza": "mdi:pizza",
+                    "fries": "mdi:french-fries",
+                    "chicken": "mdi:food-turkey",
+                    "fish": "mdi:food-fish",
+                    "chicken_drumsticks": "mdi:food-drumstick",
+                    "vegetables": "mdi:leek",
+                    "desserts": "mdi:cupcake",
+                }
+            },
             "timer": {
                 "default": "mdi:timer"
             },

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

@@ -317,6 +317,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "Рецепта",
+                "state": {
+                    "pizza": "Пица",
+                    "fries": "Картофи",
+                    "chicken": "Пиле",
+                    "shrimp": "Козици",
+                    "fish": "Риба",
+                    "chicken_drumsticks": "Пилешки крака",
+                    "vegetables": "Зеленчуци",
+                    "desserts": "Десерти",
+                    "none": "Няма"
+                }
+            },
             "timer": {
                 "name": "Таймер",
                 "state": {

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

@@ -317,6 +317,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "Recept",
+                "state": {
+                    "pizza": "Pizza",
+                    "fries": "Hranolky",
+                    "chicken": "Kuře",
+                    "shrimp": "Krevety",
+                    "fish": "Ryba",
+                    "chicken_drumsticks": "Kuřecí stehna",
+                    "vegetables": "Zelenina",
+                    "desserts": "Dezerty",
+                    "none": "Žádný"
+                }
+            },
             "timer": {
                 "name": "Časovač",
                 "state": {

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

@@ -317,6 +317,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "Rezept",
+                "state": {
+                    "pizza": "Pizza",
+                    "fries": "Pommes",
+                    "chicken": "Hähnchen",
+                    "shrimp": "Garnelen",
+                    "fish": "Fisch",
+                    "chicken_drumsticks": "Hähnchenschenkel",
+                    "vegetables": "Gemüse",
+                    "desserts": "Desserts",
+                    "none": "Kein Rezept"
+                }
+            },
             "timer": {
                 "name": "Timer",
                 "state": {

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

@@ -317,6 +317,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "Συνταγή",
+                "state": {
+                    "pizza": "Πίτσα",
+                    "fries": "Πατάτες",
+                    "chicken": "Κοτόπουλο",
+                    "shrimp": "Γαρίδες",
+                    "fish": "Ψάρι",
+                    "chicken_drumsticks": "Μπατονέτες κοτόπουλου",
+                    "vegetables": "Λαχανικά",
+                    "desserts": "Γλυκά",
+                    "none": "Καμία"
+                }
+            },
             "timer": {
                 "name": "Χρονοδιακόπτης",
                 "state": {

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

@@ -364,6 +364,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "Recipe",
+                "state": {
+                    "pizza": "Pizza",
+                    "fries": "Fries",
+                    "chicken": "Chicken",
+                    "shrimp": "Shrimp",
+                    "fish": "Fish",
+                    "chicken_drumsticks": "Chicken Drumsticks",
+                    "vegetables": "Vegetables",
+                    "desserts": "Desserts",
+                    "none": "None"
+                }
+            },
             "timer": {
                 "name": "Timer",
                 "state": {

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

@@ -357,6 +357,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "Receta",
+                "state": {
+                    "pizza": "Pizza",
+                    "fries": "Papas fritas",
+                    "chicken": "Pollo",
+                    "shrimp": "Camarones",
+                    "fish": "Pescado",
+                    "chicken_drumsticks", "Muslos de pollo",
+                    "vegetables": "Verduras",
+                    "desserts": "Postres",
+                    "none": "Ninguno"
+                }
+            }
             "timer": {
                 "name": "Temporizador"
             },

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

@@ -317,6 +317,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "Recette",
+                "state": {
+                    "pizza": "Pizza",
+                    "fries": "Frites",
+                    "chicken": "Poulet",
+                    "shrimp": "Crevettes",
+                    "fish": "Poisson",
+                    "chicken_drumsticks": "Cuisses de poulet",
+                    "vegetables": "Légumes",
+                    "desserts": "Desserts",
+                    "none": "Aucun"
+                }
+            }
             "timer": {
                 "name": "Minuteur",
                 "state": {

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

@@ -317,6 +317,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "Recept",
+                "state": {
+                    "pizza": "Pizza",
+                    "fries": "Sült krumpli",
+                    "chicken": "Csirke",
+                    "shrimp": "Rák",
+                    "fish": "Hal",
+                    "chicken_drumsticks": "Csirkecomb",
+                    "vegetables": "Zöldségek",
+                    "desserts": "Desszert",
+                    "none": "Nincs"
+                }
+            },
             "timer": {
                 "name": "Időzítő",
                 "state": {

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

@@ -317,6 +317,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "Resep",
+                "state": {
+                    "pizza": "Pizza",
+                    "fries": "Kentang goreng",
+                    "chicken": "Ayam",
+                    "shrimp": "Udang",
+                    "fish": "Ikan",
+                    "chicken_drumsticks": "Paha ayam",
+                    "vegetables": "Sayuran",
+                    "desserts": "Makanan penutup",
+                    "none": "Tidak ada"
+                }
+            },
             "timer": {
                 "name": "Pengatur waktu",
                 "state": {

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

@@ -317,6 +317,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "Ricetta",
+                "state": {
+                    "pizza": "Pizza",
+                    "fries": "Patatine fritte",
+                    "chicken": "Pollo",
+                    "shrimp": "Gamberetti",
+                    "fish": "Pesce",
+                    "chicken_drumsticks": "Cosce di pollo",
+                    "vegetables": "Verdure",
+                    "desserts": "Dolci",
+                    "none": "Nessuno"
+                }
+            },
             "timer": {
                 "name": "Timer",
                 "state": {

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

@@ -317,6 +317,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "レシピ",
+                "state": {
+                    "pizza": "ピザ",
+                    "fries": "フライ",
+                    "chicken": "チキン",
+                    "shrimp": "エビ",
+                    "fish": "魚",
+                    "chicken_drumsticks": "チキンのドラムスティック",
+                    "vegetables": "野菜",
+                    "desserts": "デザート",
+                    "none": "なし"
+                }
+            },
             "timer": {
                 "name": "タイマー",
                 "state": {

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

@@ -317,6 +317,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "Oppskrift",
+                "state": {
+                    "pizza": "Pizza",
+                    "fries": "Pommes frites",
+                    "chicken": "Kylling",
+                    "shrimp": "Reker",
+                    "fish": "Fisk",
+                    "chicken_drumsticks": "Kyllinglår",
+                    "vegetables": "Grønnsaker",
+                    "desserts": "Desserter",
+                    "none": "Ingen"
+                }
+            },
             "timer": {
                 "name": "Timer",
                 "state": {

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

@@ -317,6 +317,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "Przepis",
+                "state": {
+                    "pizza": "Pizza",
+                    "fries": "Frytki",
+                    "chicken": "Kurczak",
+                    "shrimp": "Krewetki",
+                    "fish": "Ryba",
+                    "chicken_drumsticks": "Udko z kurczaka",
+                    "vegetables": "Warzywa",
+                    "desserts": "Desery",
+                    "none": "Brak"
+                }
+            },
             "timer": {
                 "name": "Regulator czasowy",
                 "state": {

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

@@ -317,6 +317,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "Receita",
+                "state": {
+                    "pizza": "Pizza",
+                    "fries": "Batatas fritas",
+                    "chicken": "Frango",
+                    "shrimp": "Camarão",
+                    "fish": "Peixe",
+                    "chicken_drumsticks": "Coxas de frango",
+                    "vegetables": "Legumes",
+                    "desserts": "Sobremesas",
+                    "none": "Nenhum"
+                }
+            },
             "timer": {
                 "name": "Cronômetro",
                 "state": {

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

@@ -317,6 +317,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "Рецепт",
+                "state": {
+                    "pizza": "Пицца",
+                    "fries": "Картофель фри",
+                    "chicken": "Курица",
+                    "shrimp": "Креветки",
+                    "fish": "Рыба",
+                    "chicken_drumsticks": "Куриные ножки",
+                    "vegetables": "Овощи",
+                    "desserts": "Десерты",
+                    "none": "Нет"
+                }
+            },
             "timer": {
                 "name": "Таймер",
                 "state": {

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

@@ -317,6 +317,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "Рецепт",
+                "state": {
+                    "pizza": "Піца",
+                    "fries": "Картопля фрі",
+                    "chicken": "Курка",
+                    "shrimp": "Креветки",
+                    "fish": "Риба",
+                    "chicken_drumsticks": "Курячі гомілки",
+                    "vegetables": "Овочі",
+                    "desserts": "Десерти",
+                    "none": "Нічого"
+                }
+            },
             "timer": {
                 "name": "Таймер",
                 "state": {

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

@@ -317,6 +317,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "ریسیپی",
+                "state": {
+                    "pizza": "پزا",
+                    "fries": "فرائز",
+                    "chicken": "چکن",
+                    "shrimp": "جھینگا",
+                    "fish": "مچھلی",
+                    "chicken_drumsticks": "چکن ڈرم اسٹکس",
+                    "vegetables": "سبزیاں",
+                    "desserts": "میٹھا",
+                    "none": "کوئی نہیں"
+                }
+            },
             "timer": {
                 "name": "ٹائمر",
                 "state": {

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

@@ -364,6 +364,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "菜谱",
+                "state": {
+                    "pizza": "披萨",
+                    "fries": "薯条",
+                    "chicken": "鸡肉",
+                    "shrimp": "虾",
+                    "fish": "鱼",
+                    "chicken_drumsticks": "鸡腿",
+                    "vegetables": "蔬菜",
+                    "desserts": "甜点",
+                    "none": "无"
+                }
+            },
             "timer": {
                 "name": "计时器",
                 "state": {

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

@@ -317,6 +317,20 @@
             }
         },
         "select": {
+            "recipe": {
+                "name": "食譜",
+                "state": {
+                    "pizza": "比薩",
+                    "fries": "薯條",
+                    "chicken": "雞肉",
+                    "shrimp": "蝦",
+                    "fish": "魚",
+                    "chicken_drumsticks": "雞腿",
+                    "vegetables": "蔬菜",
+                    "desserts": "甜點",
+                    "none": "無"
+                }
+            }
             "timer": {
                 "name": "計時器",
                 "state": {