Add Stain Type #105

This commit is contained in:
Andre Basche 2023-10-02 03:33:45 +02:00
parent 020ab4b452
commit 5e17081feb
26 changed files with 920 additions and 3 deletions

View file

@ -14,7 +14,7 @@ Home Assistant integration for [Haier's mobile app hOn](https://hon-smarthome.co
[![Supported Languages](https://img.shields.io/badge/Languages-19-royalblue)](https://github.com/Andre0512/hon#supported-languages) [![Supported Languages](https://img.shields.io/badge/Languages-19-royalblue)](https://github.com/Andre0512/hon#supported-languages)
[![Supported Appliances](https://img.shields.io/badge/Appliances-11-forestgreen)](https://github.com/Andre0512/hon#supported-appliances) [![Supported Appliances](https://img.shields.io/badge/Appliances-11-forestgreen)](https://github.com/Andre0512/hon#supported-appliances)
[![Supported Models](https://img.shields.io/badge/Models-72-yellowgreen)](https://github.com/Andre0512/hon#supported-models) [![Supported Models](https://img.shields.io/badge/Models-72-yellowgreen)](https://github.com/Andre0512/hon#supported-models)
[![Supported Entities](https://img.shields.io/badge/Entities-241-crimson)](https://github.com/Andre0512/hon#appliance-features) [![Supported Entities](https://img.shields.io/badge/Entities-313-crimson)](https://github.com/Andre0512/hon#appliance-features)
## Supported Appliances ## Supported Appliances
- [Washing Machine](https://github.com/Andre0512/hon#washing-machine) - [Washing Machine](https://github.com/Andre0512/hon#washing-machine)
@ -471,6 +471,7 @@ For every device exists a button under diagnostics which can be used to log all
| Rinse Iterations | `rotate-right` | `number` | `startProgram.rinseIterations` | | Rinse Iterations | `rotate-right` | `number` | `startProgram.rinseIterations` |
| Soak Prewash Selection | `tshirt-crew` | `switch` | `startProgram.haier_SoakPrewashSelection` | | Soak Prewash Selection | `tshirt-crew` | `switch` | `startProgram.haier_SoakPrewashSelection` |
| Spin speed | `numeric` | `select` | `startProgram.spinSpeed` | | Spin speed | `numeric` | `select` | `startProgram.spinSpeed` |
| Stain Type | `liquid-spot` | `select` | `startProgram.extendedStainType` |
| Steam Type | `weather-dust` | `sensor` | `steamType` | | Steam Type | `weather-dust` | `sensor` | `steamType` |
| Steam level | `weather-dust` | `select` | `startProgram.steamLevel` | | Steam level | `weather-dust` | `select` | `startProgram.steamLevel` |
| Sterilization | `lotion-plus` | `switch` | `startProgram.sterilizationStatus` | | Sterilization | `lotion-plus` | `switch` | `startProgram.sterilizationStatus` |
@ -506,6 +507,7 @@ For every device exists a button under diagnostics which can be used to log all
| Remaining Time | `timer` | `sensor` | `remainingTimeMM` | | Remaining Time | `timer` | `sensor` | `remainingTimeMM` |
| Remote Control | `remote` | `binary_sensor` | `attributes.lastConnEvent.category` | | Remote Control | `remote` | `binary_sensor` | `attributes.lastConnEvent.category` |
| Spin Speed | `speedometer` | `sensor` | `spinSpeed` | | Spin Speed | `speedometer` | `sensor` | `spinSpeed` |
| Stain Type | `liquid-spot` | `sensor` | `stainType` |
| Start Time | `clock-start` | `sensor` | `delayTime` | | Start Time | `clock-start` | `sensor` | `delayTime` |
| Steam level | `weather-dust` | `sensor` | `steamLevel` | | Steam level | `weather-dust` | `sensor` | `steamLevel` |
| Temperature level | `thermometer` | `sensor` | `tempLevel` | | Temperature level | `thermometer` | `sensor` | `tempLevel` |
@ -548,6 +550,7 @@ For every device exists a button under diagnostics which can be used to log all
| Rinse Iterations | `rotate-right` | `number` | `startProgram.rinseIterations` | | Rinse Iterations | `rotate-right` | `number` | `startProgram.rinseIterations` |
| Soak Prewash Selection | `tshirt-crew` | `switch` | `startProgram.haier_SoakPrewashSelection` | | Soak Prewash Selection | `tshirt-crew` | `switch` | `startProgram.haier_SoakPrewashSelection` |
| Spin speed | `numeric` | `select` | `startProgram.spinSpeed` | | Spin speed | `numeric` | `select` | `startProgram.spinSpeed` |
| Stain Type | `liquid-spot` | `select` | `startProgram.extendedStainType` |
| Steam level | `weather-dust` | `select` | `startProgram.steamLevel` | | Steam level | `weather-dust` | `select` | `startProgram.steamLevel` |
| Suggested Load | `weight-kilogram` | `sensor` | `startProgram.suggestedLoadW` | | Suggested Load | `weight-kilogram` | `sensor` | `startProgram.suggestedLoadW` |
| Suggested weight | `weight-kilogram` | `sensor` | `startProgram.weight` | | Suggested weight | `weight-kilogram` | `sensor` | `startProgram.weight` |
@ -576,6 +579,7 @@ For every device exists a button under diagnostics which can be used to log all
| Remaining Time | `timer` | `sensor` | `remainingTimeMM` | | Remaining Time | `timer` | `sensor` | `remainingTimeMM` |
| Remote Control | `remote` | `binary_sensor` | `attributes.lastConnEvent.category` | | Remote Control | `remote` | `binary_sensor` | `attributes.lastConnEvent.category` |
| Spin Speed | `speedometer` | `sensor` | `spinSpeed` | | Spin Speed | `speedometer` | `sensor` | `spinSpeed` |
| Stain Type | `liquid-spot` | `sensor` | `stainType` |
| Steam level | `weather-dust` | `sensor` | `steamLevel` | | Steam level | `weather-dust` | `sensor` | `steamLevel` |
| Total Power | | `sensor` | `totalElectricityUsed` | | Total Power | | `sensor` | `totalElectricityUsed` |
| Total Wash Cycle | `counter` | `sensor` | `totalWashCycle` | | Total Wash Cycle | `counter` | `sensor` | `totalWashCycle` |

View file

@ -226,3 +226,41 @@ AP_DIFFUSER_LEVEL: dict[int, str] = {
} }
REF_HUMIDITY_LEVELS: dict[int, str] = {1: "low", 2: "mid", 3: "high"} REF_HUMIDITY_LEVELS: dict[int, str] = {1: "low", 2: "mid", 3: "high"}
STAIN_TYPES: dict[int, str] = {
0: "unknown",
1: "wine",
2: "grass",
3: "soil",
4: "blood",
5: "milk",
# 6: "butter",
6: "cooking_oil",
7: "tea",
8: "coffee",
# 9: "chocolate",
9: "ice_cream",
10: "lip_gloss",
11: "curry",
12: "milk_tea",
# 13: "chili_oil",
13: "rust",
14: "blue_ink",
# 14: "mech_grease",
# 15: "color_pencil",
# 15: "deodorant",
15: "perfume",
# 16: "glue",
16: "shoe_cream",
17: "oil_pastel",
18: "blueberry",
19: "sweat",
20: "egg",
# 20: "mayonnaise",
21: "ketchup",
22: "baby_food",
23: "soy_sauce",
24: "bean_paste",
25: "chili_sauce",
26: "fruit",
}

View file

@ -9,7 +9,7 @@
"iot_class": "cloud_polling", "iot_class": "cloud_polling",
"issue_tracker": "https://github.com/Andre0512/hon/issues", "issue_tracker": "https://github.com/Andre0512/hon/issues",
"requirements": [ "requirements": [
"pyhOn==0.15.5" "pyhOn==0.15.8"
], ],
"version": "0.9.1" "version": "0.10.0-beta.1"
} }

View file

@ -64,6 +64,12 @@ SELECTS: dict[str, tuple[SelectEntityDescription, ...]] = {
translation_key="dirt_level", translation_key="dirt_level",
option_list=const.DIRTY_LEVEL, option_list=const.DIRTY_LEVEL,
), ),
HonConfigSelectEntityDescription(
key="startProgram.extendedStainType",
name="Stain Type",
icon="mdi:liquid-spot",
translation_key="stain_type",
),
), ),
"TD": ( "TD": (
HonConfigSelectEntityDescription( HonConfigSelectEntityDescription(

View file

@ -195,6 +195,14 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = {
translation_key="steam_level", translation_key="steam_level",
option_list=const.STEAM_LEVEL, option_list=const.STEAM_LEVEL,
), ),
HonSensorEntityDescription(
key="stainType",
name="Stain Type",
icon="mdi:liquid-spot",
device_class=SensorDeviceClass.ENUM,
translation_key="stain_type",
option_list=const.STAIN_TYPES,
),
), ),
"TD": ( "TD": (
HonSensorEntityDescription( HonSensorEntityDescription(

View file

@ -1721,6 +1721,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "Míra znečištění" "name": "Míra znečištění"
},
"stain_type": {
"state": {
"baby_food": "Dětská výživa",
"bean_paste": "Fazolová polévka",
"blood": "Krev",
"blueberry": "Borůvka",
"blue_ink": "Modrý inkoust",
"butter": "Máslo",
"chili_oil": "Chilli olej",
"chili_sauce": "Chilli omáčka",
"chocolate": "Čokoláda",
"coffe": "Káva",
"coffee": "Káva",
"color_pencil": "Tužka",
"cooking_oil": "Kuchyňský olej",
"curry": "Kari",
"deodorant": "Deodorant",
"egg": "Vejce",
"fruit": "Ovoce",
"glue": "Lepidlo",
"grass": "Tráva",
"ice_cream": "Zmrzlina",
"ketchup": "Kečup",
"lip_gloss": "Lesk na rty",
"mayonnaise": "Majonéza",
"mech_grease": "Strojní mazivo",
"milk": "Mléko",
"milk_tea": "Čaj s mlékem",
"oil": "Olej",
"oil_pastel": "Olejový pastel",
"perfume": "Parfém",
"rust": "Rez",
"shoe_cream": "Krém na obuv",
"soil": "Hlína",
"soy_sauce": "Sójová Omáčka",
"stain_level": "Úroveň znečištění",
"sweat": "Skvrny od potu",
"tea": "Čaj",
"wine": "Víno",
"unknown": "unknown"
},
"name": "Úroveň znečištění"
} }
}, },
"switch": { "switch": {

View file

@ -1721,6 +1721,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "Verschmutzungsgrad" "name": "Verschmutzungsgrad"
},
"stain_type": {
"state": {
"baby_food": "Babynahrung",
"bean_paste": "Bohnensuppe",
"blood": "Blut",
"blueberry": "Blaubeere",
"blue_ink": "Blaue Tinte",
"butter": "Butter",
"chili_oil": "Chili-Öl",
"chili_sauce": "Chili-Sauce",
"chocolate": "Schokolade",
"coffe": "Kaffee",
"coffee": "Kaffee",
"color_pencil": "Bleistift",
"cooking_oil": "Speiseöl",
"curry": "Curry",
"deodorant": "Deodorant",
"egg": "Ei",
"fruit": "Obst",
"glue": "Klebstoff",
"grass": "Gras",
"ice_cream": "Eiscreme",
"ketchup": "Ketchup",
"lip_gloss": "Lipgloss",
"mayonnaise": "Mayonaise",
"mech_grease": "Mechanisches Fett",
"milk": "Milch",
"milk_tea": "Milchtee",
"oil": "Öl",
"oil_pastel": "Ölpastell",
"perfume": "Parfüm",
"rust": "Rostflecken",
"shoe_cream": "Schuhcreme",
"soil": "Boden",
"soy_sauce": "Sojasosse",
"stain_level": "Grad der Verschmutzung",
"sweat": "Schweiß",
"tea": "Tee",
"wine": "Wein",
"unknown": "unknown"
},
"name": "Grad der Verschmutzung"
} }
}, },
"switch": { "switch": {

View file

@ -1721,6 +1721,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "Επίπεδο βρωμιάς" "name": "Επίπεδο βρωμιάς"
},
"stain_type": {
"state": {
"baby_food": "Βρεφικές τροφές",
"bean_paste": "Σούπα φασολιών",
"blood": "Αίμα",
"blueberry": "Μπλε μύρτιλο (μπλούμπερι)",
"blue_ink": "Μπλε μελάνι",
"butter": "Βούτυρο",
"chili_oil": "Λάδι τσίλι",
"chili_sauce": "Σάλτσα τσίλι",
"chocolate": "Σοκολάτα",
"coffe": "Καφές",
"coffee": "Καφές",
"color_pencil": "Μολύβι",
"cooking_oil": "Μαγειρικό λάδι",
"curry": "Κάρι",
"deodorant": "Αποσμητικό",
"egg": "Αυγό",
"fruit": "Φρουτα",
"glue": "Κόλλα",
"grass": "Γρασίδι",
"ice_cream": "Παγωτό",
"ketchup": "Κέτσαπ",
"lip_gloss": "Lip gloss",
"mayonnaise": "Μαγιονέζα",
"mech_grease": "Λάδι μηχανής",
"milk": "Γάλα",
"milk_tea": "Τσάι με γάλα",
"oil": "Λάδι",
"oil_pastel": "Χρώμα λαδιού",
"perfume": "Άρωμα",
"rust": "Σκουριά",
"shoe_cream": "Βερνίκι παπουτσιών",
"soil": "Χώμα",
"soy_sauce": "Σαλτσα Σογιας",
"stain_level": "Επίπεδο λεκέδων",
"sweat": "Ιδρώτας",
"tea": "Τσάι",
"wine": "Κρασί",
"unknown": "unknown"
},
"name": "Επίπεδο λεκέδων"
} }
}, },
"switch": { "switch": {

View file

@ -1750,6 +1750,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "Dirt level" "name": "Dirt level"
},
"stain_type": {
"state": {
"baby_food": "Baby food",
"bean_paste": "Bean soup",
"blood": "Blood",
"blueberry": "Blueberry",
"blue_ink": "Blue ink",
"butter": "Butter",
"chili_oil": "Chili oil",
"chili_sauce": "Chili sauce",
"chocolate": "Chocolate",
"coffe": "Coffee",
"coffee": "Coffee",
"color_pencil": "Pencil",
"cooking_oil": "Cooking oil",
"curry": "Curry",
"deodorant": "Deodorant",
"egg": "Egg",
"fruit": "Fruit",
"glue": "Glue",
"grass": "Grass",
"ice_cream": "Ice cream",
"ketchup": "Ketchup",
"lip_gloss": "Lip gloss",
"mayonnaise": "Mayonnaise",
"mech_grease": "Mech grease",
"milk": "Milk",
"milk_tea": "Milk tea",
"oil": "Oil",
"oil_pastel": "Oil pastel",
"perfume": "Perfume",
"rust": "Rust",
"shoe_cream": "Shoe cream",
"soil": "Soil",
"soy_sauce": "Soy sauce",
"stain_level": "Stain level",
"sweat": "Sweat",
"tea": "Tea",
"wine": "Wine",
"unknown": "unknown"
},
"name": "Stain level"
} }
}, },
"switch": { "switch": {

View file

@ -1721,6 +1721,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "Nivel de suciedad" "name": "Nivel de suciedad"
},
"stain_type": {
"state": {
"baby_food": "Comida de bebé",
"bean_paste": "Sopa de alubias",
"blood": "Sangre",
"blueberry": "Arándano",
"blue_ink": "Tinta azul",
"butter": "Mantequilla",
"chili_oil": "Aceite de chile",
"chili_sauce": "Salsa de chile",
"chocolate": "Chocolate",
"coffe": "Café",
"coffee": "Café",
"color_pencil": "Lápiz",
"cooking_oil": "Aceite de cocina",
"curry": "Curry",
"deodorant": "Desodorante",
"egg": "Huevo",
"fruit": "Fruta",
"glue": "Pegamento",
"grass": "Césped",
"ice_cream": "Helado",
"ketchup": "Kétchup",
"lip_gloss": "Brillo de labios",
"mayonnaise": "Mayonesa",
"mech_grease": "Grasa mecánica",
"milk": "Leche",
"milk_tea": "Té con leche",
"oil": "Aceite",
"oil_pastel": "Pastel al óleo",
"perfume": "Perfume",
"rust": "Óxido",
"shoe_cream": "Betún",
"soil": "Tierra",
"soy_sauce": "Salsa De Soja",
"stain_level": "Nivel de manchas",
"sweat": "Sudor",
"tea": "Té",
"wine": "Vino",
"unknown": "unknown"
},
"name": "Nivel de manchas"
} }
}, },
"switch": { "switch": {

View file

@ -1721,6 +1721,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "Niveau de saleté" "name": "Niveau de saleté"
},
"stain_type": {
"state": {
"baby_food": "Aliments pour bébés",
"bean_paste": "Soupe de haricots",
"blood": "Sang",
"blueberry": "Myrtilles",
"blue_ink": "Encre bleue",
"butter": "Beurre",
"chili_oil": "Huile piquante",
"chili_sauce": "Sauce chili",
"chocolate": "Chocolat",
"coffe": "Café",
"coffee": "Café",
"color_pencil": "Crayon",
"cooking_oil": "Huile de cuisson",
"curry": "Curry",
"deodorant": "Déodorant",
"egg": "Œuf",
"fruit": "Fruits",
"glue": "Colle",
"grass": "Herbe",
"ice_cream": "Glace",
"ketchup": "Ketchup",
"lip_gloss": "Brillant à lèvres",
"mayonnaise": "Mayonnaise",
"mech_grease": "Graisse mécanique",
"milk": "Lait",
"milk_tea": "Thé au lait",
"oil": "Huile",
"oil_pastel": "Pastel à l'huile",
"perfume": "Parfum",
"rust": "Rouille",
"shoe_cream": "Cirage pour chaussures",
"soil": "Sol",
"soy_sauce": "Sauce Soja",
"stain_level": "Niveau de salissure",
"sweat": "Sueur",
"tea": "Thé",
"wine": "Vin",
"unknown": "unknown"
},
"name": "Niveau de salissure"
} }
}, },
"switch": { "switch": {

View file

@ -786,6 +786,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "רמת עפר" "name": "רמת עפר"
},
"stain_type": {
"state": {
"baby_food": "Baby food",
"bean_paste": "Bean soup",
"blood": "Blood",
"blueberry": "Blueberry",
"blue_ink": "Blue ink",
"butter": "Butter",
"chili_oil": "Chili oil",
"chili_sauce": "Chili sauce",
"chocolate": "שוקולד",
"coffe": "Coffee",
"coffee": "Coffee",
"color_pencil": "Pencil",
"cooking_oil": "Cooking oil",
"curry": "Curry",
"deodorant": "Deodorant",
"egg": "Egg",
"fruit": "פרי",
"glue": "Glue",
"grass": "Grass",
"ice_cream": "Ice cream",
"ketchup": "Ketchup",
"lip_gloss": "Lip gloss",
"mayonnaise": "Mayonnaise",
"mech_grease": "Mech grease",
"milk": "Milk",
"milk_tea": "Milk tea",
"oil": "Oil",
"oil_pastel": "Oil pastel",
"perfume": "Perfume",
"rust": "Rust",
"shoe_cream": "Shoe cream",
"soil": "Soil",
"soy_sauce": "רוטב סויה",
"stain_level": "Stain level",
"sweat": "Sweat",
"tea": "תה",
"wine": "Wine",
"unknown": "unknown"
},
"name": "Stain level"
} }
}, },
"switch": { "switch": {

View file

@ -1721,6 +1721,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "Stupanj zaprljanosti" "name": "Stupanj zaprljanosti"
},
"stain_type": {
"state": {
"baby_food": "Hrana za bebe",
"bean_paste": "Juha od graha",
"blood": "Krv",
"blueberry": "Borovnica",
"blue_ink": "Plava tinta",
"butter": "Maslac",
"chili_oil": "Ulje čilija",
"chili_sauce": "Umak od čilija",
"chocolate": "Čokolada",
"coffe": "Kava",
"coffee": "Kava",
"color_pencil": "Olovka",
"cooking_oil": "Ulje za kuhanje",
"curry": "Curry",
"deodorant": "Dezodorans",
"egg": "Jaje",
"fruit": "Voće",
"glue": "Ljepilo",
"grass": "Trava",
"ice_cream": "Sladoled",
"ketchup": "Kečap",
"lip_gloss": "Sjajilo za usne",
"mayonnaise": "Majoneza",
"mech_grease": "Mech mast",
"milk": "Mlijeko",
"milk_tea": "Čaj s mlijekom",
"oil": "Ulje",
"oil_pastel": "Uljne pastele",
"perfume": "Parfem",
"rust": "Hrđa",
"shoe_cream": "Krema za cipele",
"soil": "Tlo",
"soy_sauce": "Umak Od Soje",
"stain_level": "Razina mrlja",
"sweat": "Znoj",
"tea": "Čaj",
"wine": "Vino",
"unknown": "unknown"
},
"name": "Razina mrlja"
} }
}, },
"switch": { "switch": {

View file

@ -1730,6 +1730,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "Livello di sporco" "name": "Livello di sporco"
},
"stain_type": {
"state": {
"baby_food": "Cibo per bambini",
"bean_paste": "Crema di fagioli",
"blood": "Sangue",
"blueberry": "Mirtillo",
"blue_ink": "Inchiostro blu",
"butter": "Burro",
"chili_oil": "Olio piccante",
"chili_sauce": "Salsa piccante",
"chocolate": "Cioccolato",
"coffe": "Caffè",
"coffee": "Caffè",
"color_pencil": "Matita",
"cooking_oil": "Olio di cottura",
"curry": "Curry",
"deodorant": "Deodorante",
"egg": "Uovo",
"fruit": "Frutta",
"glue": "Colla",
"grass": "Erba",
"ice_cream": "Gelato",
"ketchup": "Ketchup",
"lip_gloss": "Lucidalabbra",
"mayonnaise": "Maionese",
"mech_grease": "Grasso meccanico",
"milk": "Latte",
"milk_tea": "Tè con latte",
"oil": "Olio",
"oil_pastel": "Pastello ad olio",
"perfume": "Profumo",
"rust": "Ruggine",
"shoe_cream": "Crema lucidascarpe",
"soil": "Terra",
"soy_sauce": "Salsa di soia",
"stain_level": "Livello di sporco",
"sweat": "Sudore",
"tea": "Tè",
"wine": "Vino",
"unknown": "unknown"
},
"name": "Livello di sporco"
} }
}, },
"switch": { "switch": {

View file

@ -1721,6 +1721,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "Vuilheid" "name": "Vuilheid"
},
"stain_type": {
"state": {
"baby_food": "Babyvoeding",
"bean_paste": "Bonensoep",
"blood": "Bloed",
"blueberry": "Blauwe bessen",
"blue_ink": "Blauwe inkt",
"butter": "Boter",
"chili_oil": "Chili-olie",
"chili_sauce": "Chilisaus",
"chocolate": "Chocolade",
"coffe": "Koffie",
"coffee": "Koffie",
"color_pencil": "Potlood",
"cooking_oil": "Bakolie",
"curry": "Curry",
"deodorant": "Deodorant",
"egg": "Ei",
"fruit": "Fruit",
"glue": "Lijm",
"grass": "Gras",
"ice_cream": "IJs",
"ketchup": "Ketchup",
"lip_gloss": "Lipgloss",
"mayonnaise": "Mayonaise",
"mech_grease": "Smeervet",
"milk": "Melk",
"milk_tea": "Thee met melk",
"oil": "Olie",
"oil_pastel": "Oliepastel",
"perfume": "Parfum",
"rust": "Roest",
"shoe_cream": "Schoensmeer",
"soil": "Aarde",
"soy_sauce": "Sojasaus",
"stain_level": "Vlekniveau",
"sweat": "Zweet",
"tea": "Thee",
"wine": "Wijn",
"unknown": "unknown"
},
"name": "Vlekniveau"
} }
}, },
"switch": { "switch": {

View file

@ -1721,6 +1721,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "Stopień zabrudzenia" "name": "Stopień zabrudzenia"
},
"stain_type": {
"state": {
"baby_food": "Jedzenie dla dzieci",
"bean_paste": "Zupa fasolowa",
"blood": "Krew",
"blueberry": "Borówka amerykańska",
"blue_ink": "Niebieski atrament",
"butter": "Masło",
"chili_oil": "Olej z chili",
"chili_sauce": "Sos chili",
"chocolate": "Czekolada",
"coffe": "Kawa",
"coffee": "Kawa",
"color_pencil": "Ołówek",
"cooking_oil": "Olej do gotowania",
"curry": "Curry",
"deodorant": "Dezodorant",
"egg": "Jajko",
"fruit": "Owoce",
"glue": "Klej",
"grass": "Trawa",
"ice_cream": "Lody",
"ketchup": "Ketchup",
"lip_gloss": "Błyszczyk",
"mayonnaise": "Majonez",
"mech_grease": "Smar mechaniczny",
"milk": "Mleko",
"milk_tea": "Herbata z mlekiem",
"oil": "Olej",
"oil_pastel": "Pastele olejne",
"perfume": "Perfumy",
"rust": "Rdza",
"shoe_cream": "pasta do butów",
"soil": "Ziemia",
"soy_sauce": "Sos Sojowy",
"stain_level": "Stopień zabrudzenia",
"sweat": "Pot",
"tea": "Herbata",
"wine": "Wino",
"unknown": "unknown"
},
"name": "Stopień zabrudzenia"
} }
}, },
"switch": { "switch": {

View file

@ -1721,6 +1721,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "Nível de sujidade" "name": "Nível de sujidade"
},
"stain_type": {
"state": {
"baby_food": "Alimentos para bebés",
"bean_paste": "Sopa de feijão",
"blood": "Sangue",
"blueberry": "Mirtilo",
"blue_ink": "Tinta azul",
"butter": "Manteiga",
"chili_oil": "Óleo de pimentão",
"chili_sauce": "Molho de chili",
"chocolate": "Chocolate",
"coffe": "Café",
"coffee": "Café",
"color_pencil": "Lápis",
"cooking_oil": "Óleo alimentar",
"curry": "Caril",
"deodorant": "Desodorizante",
"egg": "Ovo",
"fruit": "Fruta",
"glue": "Cola",
"grass": "Relva",
"ice_cream": "Gelado",
"ketchup": "Ketchup",
"lip_gloss": "Brilho labial",
"mayonnaise": "Maionese",
"mech_grease": "Massa lubrificante mecânica",
"milk": "Leite",
"milk_tea": "Chá com leite",
"oil": "Petróleo",
"oil_pastel": "Pastel de óleo",
"perfume": "Perfume",
"rust": "Ferrugem",
"shoe_cream": "Graxa para sapatos",
"soil": "Solo",
"soy_sauce": "Molho De Soja",
"stain_level": "Nível da nódoa",
"sweat": "Suor",
"tea": "Chá",
"wine": "Vinho",
"unknown": "unknown"
},
"name": "Nível da nódoa"
} }
}, },
"switch": { "switch": {

View file

@ -1721,6 +1721,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "Nivel de murdărie" "name": "Nivel de murdărie"
},
"stain_type": {
"state": {
"baby_food": "Alimente pentru copii",
"bean_paste": "Supă de fasole",
"blood": "Sânge",
"blueberry": "Afine",
"blue_ink": "Cerneală albastră",
"butter": "Unt",
"chili_oil": "Ulei de chili",
"chili_sauce": "Sos de chili",
"chocolate": "Ciocolată",
"coffe": "Cafea",
"coffee": "Cafea",
"color_pencil": "Creion",
"cooking_oil": "Ulei de gătit",
"curry": "Curry",
"deodorant": "Deodorant",
"egg": "Ou",
"fruit": "Fructe",
"glue": "Lipici",
"grass": "Iarbă",
"ice_cream": "Înghețată",
"ketchup": "Ketchup",
"lip_gloss": "Luciu de buze",
"mayonnaise": "Maioneză",
"mech_grease": "Unsoare mecanică",
"milk": "Lapte",
"milk_tea": "Ceai cu lapte",
"oil": "Ulei",
"oil_pastel": "Culori pe bază de ulei",
"perfume": "Parfum",
"rust": "Rugină",
"shoe_cream": "Cremă pentru pantofi",
"soil": "Pământ",
"soy_sauce": "Sos de soia",
"stain_level": "Nivelul de pătare",
"sweat": "Sudoare",
"tea": "Ceai",
"wine": "Vin",
"unknown": "unknown"
},
"name": "Nivelul de pătare"
} }
}, },
"switch": { "switch": {

View file

@ -1721,6 +1721,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "Уровень загрязнения" "name": "Уровень загрязнения"
},
"stain_type": {
"state": {
"baby_food": "Детское питание",
"bean_paste": "Фасолевый суп",
"blood": "Кровь",
"blueberry": "Голубика",
"blue_ink": "Синие чернила",
"butter": "Масло",
"chili_oil": "Масло чили",
"chili_sauce": "Соус чили",
"chocolate": "Шоколад",
"coffe": "Кофе",
"coffee": "Кофе",
"color_pencil": "Карандаш",
"cooking_oil": "Растительное масло",
"curry": "Карри",
"deodorant": "Дезодорант",
"egg": "Яйцо",
"fruit": "Фрукты",
"glue": "Клей",
"grass": "Трава",
"ice_cream": "Мороженое",
"ketchup": "Кетчуп",
"lip_gloss": "Блеск для губ",
"mayonnaise": "Майонез",
"mech_grease": "Мех. смазка",
"milk": "Молоко",
"milk_tea": "Молочный чай",
"oil": "Растительное масло",
"oil_pastel": "Масляная пастель",
"perfume": "Парфюмерия",
"rust": "Ржавчина",
"shoe_cream": "Крем для обуви",
"soil": "Почва",
"soy_sauce": "Соевый Соус",
"stain_level": "Уровень загрязнения",
"sweat": "Пот",
"tea": "Чай",
"wine": "Вино",
"unknown": "unknown"
},
"name": "Уровень загрязнения"
} }
}, },
"switch": { "switch": {

View file

@ -1721,6 +1721,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "Úroveň znečistenia" "name": "Úroveň znečistenia"
},
"stain_type": {
"state": {
"baby_food": "Detská výživa",
"bean_paste": "Fazuľová polievka",
"blood": "Krv",
"blueberry": "Čučoriedka",
"blue_ink": "Modrý atrament",
"butter": "Maslo",
"chili_oil": "Čili olej",
"chili_sauce": "Čili omáčka",
"chocolate": "Čokoláda",
"coffe": "Káva",
"coffee": "Káva",
"color_pencil": "Ceruzka",
"cooking_oil": "Olej na varenie",
"curry": "Karí",
"deodorant": "Dezodorant",
"egg": "Vajíčko",
"fruit": "Ovocie",
"glue": "Lepidlo",
"grass": "Tráva",
"ice_cream": "Zmrzlina",
"ketchup": "Kečup",
"lip_gloss": "Lesk na pery",
"mayonnaise": "Majonéza",
"mech_grease": "Mechanické mazivo",
"milk": "Mlieko",
"milk_tea": "Mliečny čaj",
"oil": "Olej",
"oil_pastel": "Olejový pastel",
"perfume": "Parfém",
"rust": "Hrdza",
"shoe_cream": "Krém na topánky",
"soil": "Pôda",
"soy_sauce": "Sójovej Omáčky",
"stain_level": "Úroveň škvŕn",
"sweat": "Pot",
"tea": "Čaj",
"wine": "Víno",
"unknown": "unknown"
},
"name": "Úroveň škvŕn"
} }
}, },
"switch": { "switch": {

View file

@ -1721,6 +1721,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "Stopnja umazanije" "name": "Stopnja umazanije"
},
"stain_type": {
"state": {
"baby_food": "Otroška hrana",
"bean_paste": "Fižolova juha",
"blood": "Kri",
"blueberry": "Borovnica",
"blue_ink": "Modro črnilo",
"butter": "Maslo",
"chili_oil": "Čilijevo olje",
"chili_sauce": "Čili omaka",
"chocolate": "Čokolada",
"coffe": "Kava",
"coffee": "Kava",
"color_pencil": "Svinčnik",
"cooking_oil": "Olje za kuhanje",
"curry": "Kari",
"deodorant": "Dezodorant",
"egg": "Jajce",
"fruit": "Sadje",
"glue": "Lepilo",
"grass": "Trava",
"ice_cream": "Sladoled",
"ketchup": "Kečap",
"lip_gloss": "Balzam za ustnice",
"mayonnaise": "Majoneza",
"mech_grease": "Strojna mast",
"milk": "Mleko",
"milk_tea": "Mlečni čaj",
"oil": "Olje",
"oil_pastel": "Oljni pastel",
"perfume": "Parfum",
"rust": "Rja",
"shoe_cream": "Krema za čevlje",
"soil": "Tla",
"soy_sauce": "Sojina Omaka",
"stain_level": "Stopnja madežev",
"sweat": "Pot",
"tea": "Čaj",
"wine": "Vino",
"unknown": "unknown"
},
"name": "Stopnja madežev"
} }
}, },
"switch": { "switch": {

View file

@ -1721,6 +1721,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "Nivo zaprljanosti" "name": "Nivo zaprljanosti"
},
"stain_type": {
"state": {
"baby_food": "Hrana za bebe",
"bean_paste": "Pasulj",
"blood": "Krv",
"blueberry": "Borovnica",
"blue_ink": "Plavo mastilo",
"butter": "Maslac",
"chili_oil": "Ulje sa čilijem",
"chili_sauce": "Čili sos",
"chocolate": "Čokolada",
"coffe": "Kafa",
"coffee": "Kafa",
"color_pencil": "Olovka",
"cooking_oil": "Kuhinjsko ulje",
"curry": "Kari",
"deodorant": "Dezodorans",
"egg": "Jaje",
"fruit": "Voće",
"glue": "Lepak",
"grass": "Trava",
"ice_cream": "Sladoled",
"ketchup": "Kečap",
"lip_gloss": "Sjaj za usne",
"mayonnaise": "Majonez",
"mech_grease": "Mehaničko mazivo",
"milk": "Mleko",
"milk_tea": "Čaj sa mlekom",
"oil": "Ulje",
"oil_pastel": "Voštane boje",
"perfume": "Parfem",
"rust": "Rđa",
"shoe_cream": "Krema za cipele",
"soil": "Zemlja",
"soy_sauce": "Soja Sos",
"stain_level": "Nivo mrlje",
"sweat": "Znoj",
"tea": "Čaj",
"wine": "Vino",
"unknown": "unknown"
},
"name": "Nivo mrlje"
} }
}, },
"switch": { "switch": {

View file

@ -1721,6 +1721,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "Kir seviyesi" "name": "Kir seviyesi"
},
"stain_type": {
"state": {
"baby_food": "Bebek maması",
"bean_paste": "Fasulye çorbası",
"blood": "Kan",
"blueberry": "Yabanmersini",
"blue_ink": "Mavi mürekkep",
"butter": "Tereyağı",
"chili_oil": "Biber yağı",
"chili_sauce": "Acı sos",
"chocolate": "Çikolata",
"coffe": "Kahve",
"coffee": "Kahve",
"color_pencil": "Kalem",
"cooking_oil": "Yemek yağı",
"curry": "Köri",
"deodorant": "Deodorant",
"egg": "Yumurta",
"fruit": "Meyve",
"glue": "Tutkal",
"grass": "Çim",
"ice_cream": "Dondurma",
"ketchup": "Ketçap",
"lip_gloss": "Dudak parlatıcısı",
"mayonnaise": "Mayonez",
"mech_grease": "Makine gresi",
"milk": "Süt",
"milk_tea": "Sütlü çay",
"oil": "Sıvı yağ",
"oil_pastel": "Yağlı pastel",
"perfume": "Parfüm",
"rust": "Pas",
"shoe_cream": "Ayakkabı kremi",
"soil": "Toprak",
"soy_sauce": "Soya Sosu",
"stain_level": "Leke seviyesi",
"sweat": "Ter",
"tea": "Çay",
"wine": "Şarap",
"unknown": "unknown"
},
"name": "Leke seviyesi"
} }
}, },
"switch": { "switch": {

View file

@ -1707,6 +1707,49 @@
"unknown": "unknown" "unknown": "unknown"
}, },
"name": "脏污程度" "name": "脏污程度"
},
"stain_type": {
"state": {
"baby_food": "婴儿食品",
"bean_paste": "豆汤",
"blood": "血渍",
"blueberry": "蓝莓",
"blue_ink": "蓝色墨水",
"butter": "黄油",
"chili_oil": "辣椒油",
"chili_sauce": "辣椒酱",
"chocolate": "巧克力",
"coffe": "咖啡",
"coffee": "咖啡",
"color_pencil": "铅笔",
"cooking_oil": "食用油",
"curry": "咖喱",
"deodorant": "除臭剂",
"egg": "鸡蛋",
"fruit": "水果",
"glue": "胶水",
"grass": "青草",
"ice_cream": "冰淇淋",
"ketchup": "调味蕃茄酱",
"lip_gloss": "唇彩",
"mayonnaise": "蛋黄酱",
"mech_grease": "机械润滑油",
"milk": "牛奶",
"milk_tea": "奶茶",
"oil": "油",
"oil_pastel": "油画棒",
"perfume": "香水",
"rust": "锈",
"shoe_cream": "鞋油",
"soil": "土壤",
"soy_sauce": "酱油",
"stain_level": "污渍水平",
"sweat": "汗水",
"tea": "茶渍",
"wine": "酒类",
"unknown": "unknown"
},
"name": "污渍水平"
} }
}, },
"switch": { "switch": {

View file

@ -79,5 +79,7 @@ readme = re.sub(
readme, readme,
re.DOTALL, re.DOTALL,
) )
entities = sum(len(x) for cat in result.values() for x in cat.values())
readme = re.sub("badge/Entities-\\d+", f"badge/Entities-{entities}", readme)
with open(Path(__file__).parent.parent / "README.md", "w") as file: with open(Path(__file__).parent.parent / "README.md", "w") as file:
file.write(readme) file.write(readme)

View file

@ -115,6 +115,46 @@ REF_HUMIDITY_LEVELS = {
"high": "GLOBALS.GENERAL.HIGH", "high": "GLOBALS.GENERAL.HIGH",
} }
STAINS = {
"baby_food": "STAIN_TYPE_LIST.STAINS.BABY_FOOD",
"bean_paste": "STAIN_TYPE_LIST.STAINS.BEAN_PASTE",
"blood": "STAIN_TYPE_LIST.STAINS.BLOOD",
"blueberry": "STAIN_TYPE_LIST.STAINS.BLUEBERRY",
"blue_ink": "STAIN_TYPE_LIST.STAINS.BLUE_INK",
"butter": "STAIN_TYPE_LIST.STAINS.BUTTER",
"chili_oil": "STAIN_TYPE_LIST.STAINS.CHILI_OIL",
"chili_sauce": "STAIN_TYPE_LIST.STAINS.CHILI_SAUCE",
"chocolate": "STAIN_TYPE_LIST.STAINS.CHOCOLATE",
"coffe": "STAIN_TYPE_LIST.STAINS.COFFE",
"coffee": "STAIN_TYPE_LIST.STAINS.COFFEE",
"color_pencil": "STAIN_TYPE_LIST.STAINS.COLOR_PENCIL",
"cooking_oil": "STAIN_TYPE_LIST.STAINS.COOKING_OIL",
"curry": "STAIN_TYPE_LIST.STAINS.CURRY",
"deodorant": "STAIN_TYPE_LIST.STAINS.DEODORANT",
"egg": "STAIN_TYPE_LIST.STAINS.EGG",
"fruit": "STAIN_TYPE_LIST.STAINS.FRUIT",
"glue": "STAIN_TYPE_LIST.STAINS.GLUE",
"grass": "STAIN_TYPE_LIST.STAINS.GRASS",
"ice_cream": "STAIN_TYPE_LIST.STAINS.ICE_CREAM",
"ketchup": "STAIN_TYPE_LIST.STAINS.KETCHUP",
"lip_gloss": "STAIN_TYPE_LIST.STAINS.LIP_GLOSS",
"mayonnaise": "STAIN_TYPE_LIST.STAINS.MAYONNAISE",
"mech_grease": "STAIN_TYPE_LIST.STAINS.MECH_GREASE",
"milk": "STAIN_TYPE_LIST.STAINS.MILK",
"milk_tea": "STAIN_TYPE_LIST.STAINS.MILK_TEA",
"oil": "STAIN_TYPE_LIST.STAINS.OIL",
"oil_pastel": "STAIN_TYPE_LIST.STAINS.OIL_PASTEL",
"perfume": "STAIN_TYPE_LIST.STAINS.PERFUME",
"rust": "STAIN_TYPE_LIST.STAINS.RUST",
"shoe_cream": "STAIN_TYPE_LIST.STAINS.SHOE_CREAM",
"soil": "STAIN_TYPE_LIST.STAINS.SOIL",
"soy_sauce": "STAIN_TYPE_LIST.STAINS.SOY_SAUCE",
"sweat": "STAIN_TYPE_LIST.STAINS.SWEAT",
"tea": "STAIN_TYPE_LIST.STAINS.TEA",
"wine": "STAIN_TYPE_LIST.STAINS.WINE",
"unknown": "unknown",
}
SENSOR = { SENSOR = {
"washing_modes": MACH_MODE, "washing_modes": MACH_MODE,
@ -137,6 +177,7 @@ SELECT = {
"mode": AP_MACH_MODE, "mode": AP_MACH_MODE,
"diffuser": AP_DIFFUSER_LEVEL, "diffuser": AP_DIFFUSER_LEVEL,
"dirt_level": DIRTY_LEVEL, "dirt_level": DIRTY_LEVEL,
"stain_type": STAINS,
} }
PROGRAMS = { PROGRAMS = {
@ -302,6 +343,7 @@ NAMES = {
"mode": "CUBE90_GLOBAL.GENERAL.MODE", "mode": "CUBE90_GLOBAL.GENERAL.MODE",
"steam_level": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.STEAM_LEVEL", "steam_level": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.STEAM_LEVEL",
"dirt_level": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.DIRTY_LEVEL", "dirt_level": "WASHING_CMD&CTRL.PROGRAM_CYCLE_DETAIL_MAIN_OPTIONS.DIRTY_LEVEL",
"stain_type": "STAIN_TYPE_LIST.STAINS.STAIN_LEVEL",
}, },
"sensor": { "sensor": {
"dry_levels": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_LEVEL", "dry_levels": "WASHING_CMD&CTRL.DRAWER_CYCLE_DRYING.TAB_LEVEL",