Updated apps
This commit is contained in:
@@ -42,6 +42,14 @@ TEMPLATE_CATEGORIES: dict[str, dict[str, str]] = {
|
||||
"name_uk": "Транспорт",
|
||||
"name_pt": "Veículo",
|
||||
"name_zh": "机动车",
|
||||
"name_pl": "Pojazd",
|
||||
"name_cs": "Vozidlo",
|
||||
"name_sv": "Fordon",
|
||||
"name_da": "Køretøj",
|
||||
"name_nb": "Kjøretøy",
|
||||
"name_fi": "Ajoneuvo",
|
||||
"name_ja": "乗り物",
|
||||
"name_hi": "वाहन",
|
||||
},
|
||||
"home": {
|
||||
"icon": "mdi:home",
|
||||
@@ -54,6 +62,15 @@ TEMPLATE_CATEGORIES: dict[str, dict[str, str]] = {
|
||||
"name_ru": "Дом и климат",
|
||||
"name_uk": "Житло та кліматичні системи",
|
||||
"name_zh": "家",
|
||||
"name_pt": "Casa & AVAC",
|
||||
"name_pl": "Dom i instalacje",
|
||||
"name_cs": "Dům a technika",
|
||||
"name_sv": "Hem & VVS",
|
||||
"name_da": "Hjem & VVS",
|
||||
"name_nb": "Hjem & VVS",
|
||||
"name_fi": "Koti ja LVI",
|
||||
"name_ja": "住宅設備",
|
||||
"name_hi": "घर और HVAC",
|
||||
},
|
||||
# v2.27: two extra top-level groups keep the growing catalog scannable —
|
||||
# recurring HOUSEHOLD routines split from device-centric "home", and
|
||||
@@ -113,6 +130,14 @@ TEMPLATE_CATEGORIES: dict[str, dict[str, str]] = {
|
||||
"name_uk": "Басейн",
|
||||
"name_pt": "Piscina",
|
||||
"name_zh": "泳池",
|
||||
"name_pl": "Basen",
|
||||
"name_cs": "Bazén",
|
||||
"name_sv": "Pool",
|
||||
"name_da": "Pool",
|
||||
"name_nb": "Basseng",
|
||||
"name_fi": "Uima-allas",
|
||||
"name_ja": "プール",
|
||||
"name_hi": "पूल",
|
||||
},
|
||||
"appliance": {
|
||||
"icon": "mdi:washing-machine",
|
||||
@@ -126,6 +151,56 @@ TEMPLATE_CATEGORIES: dict[str, dict[str, str]] = {
|
||||
"name_uk": "Побутова техніка",
|
||||
"name_pt": "Eletrodomésticos",
|
||||
"name_zh": "家用电器",
|
||||
"name_pl": "Sprzęt AGD",
|
||||
"name_cs": "Spotřebiče",
|
||||
"name_sv": "Vitvaror",
|
||||
"name_da": "Hvidevarer",
|
||||
"name_nb": "Hvitevarer",
|
||||
"name_fi": "Kodinkoneet",
|
||||
"name_ja": "家電",
|
||||
"name_hi": "उपकरण",
|
||||
},
|
||||
"pets": {
|
||||
"icon": "mdi:paw",
|
||||
"name_en": "Pets",
|
||||
"name_de": "Haustiere",
|
||||
"name_nl": "Huisdieren",
|
||||
"name_fr": "Animaux",
|
||||
"name_it": "Animali",
|
||||
"name_es": "Mascotas",
|
||||
"name_ru": "Питомцы",
|
||||
"name_uk": "Улюбленці",
|
||||
"name_pt": "Animais",
|
||||
"name_zh": "宠物",
|
||||
"name_pl": "Zwierzęta",
|
||||
"name_cs": "Mazlíčci",
|
||||
"name_sv": "Husdjur",
|
||||
"name_da": "Kæledyr",
|
||||
"name_nb": "Kjæledyr",
|
||||
"name_fi": "Lemmikit",
|
||||
"name_ja": "ペット",
|
||||
"name_hi": "पालतू जानवर",
|
||||
},
|
||||
"tech": {
|
||||
"icon": "mdi:server",
|
||||
"name_en": "Tech & IT",
|
||||
"name_de": "Technik & IT",
|
||||
"name_nl": "Techniek & IT",
|
||||
"name_fr": "Technique & IT",
|
||||
"name_it": "Tecnologia & IT",
|
||||
"name_es": "Tecnología e IT",
|
||||
"name_ru": "Техника и ИТ",
|
||||
"name_uk": "Техніка та ІТ",
|
||||
"name_pt": "Tecnologia e TI",
|
||||
"name_zh": "科技与IT",
|
||||
"name_pl": "Technika i IT",
|
||||
"name_cs": "Technika a IT",
|
||||
"name_sv": "Teknik & IT",
|
||||
"name_da": "Teknik & IT",
|
||||
"name_nb": "Teknikk & IT",
|
||||
"name_fi": "Tekniikka ja IT",
|
||||
"name_ja": "テクノロジー・IT",
|
||||
"name_hi": "टेक और IT",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -405,6 +480,77 @@ TEMPLATES: list[ObjectTemplate] = [
|
||||
TaskTemplate("Pump Oil Check", "inspection", "time_based", 365, 30),
|
||||
],
|
||||
),
|
||||
ObjectTemplate(
|
||||
id="garden_robot_mower",
|
||||
name="Robot Lawn Mower",
|
||||
category="garden",
|
||||
tasks=[
|
||||
TaskTemplate(
|
||||
"Replace Blades",
|
||||
"replacement",
|
||||
"time_based",
|
||||
60,
|
||||
7,
|
||||
"Dull pivoting blades tear the grass instead of cutting it — supported integrations expose blade-usage sensors that can trigger this instead of the calendar.",
|
||||
),
|
||||
TaskTemplate("Clean Undercarriage", "cleaning", "time_based", 30, 7),
|
||||
TaskTemplate("Clean Charging Contacts", "cleaning", "time_based", 90, 14),
|
||||
TaskTemplate(
|
||||
"Winter Storage",
|
||||
"service",
|
||||
"time_based",
|
||||
365,
|
||||
21,
|
||||
"Store indoors over winter with the battery at partial charge — frost and a fully drained battery both age the cells.",
|
||||
),
|
||||
],
|
||||
),
|
||||
ObjectTemplate(
|
||||
id="garden_lawn",
|
||||
name="Lawn Care",
|
||||
category="garden",
|
||||
tasks=[
|
||||
TaskTemplate(
|
||||
"Mowing",
|
||||
"service",
|
||||
"time_based",
|
||||
10,
|
||||
2,
|
||||
"During the growing season — add a seasonal window (task dialog, e.g. Apr–Oct) or pause the object over winter.",
|
||||
),
|
||||
TaskTemplate(
|
||||
"Watering",
|
||||
"service",
|
||||
"time_based",
|
||||
7,
|
||||
1,
|
||||
"In dry periods — a soil-moisture or rain sensor makes a good sensor trigger instead of the fixed interval.",
|
||||
),
|
||||
TaskTemplate("Fertilising", "service", "time_based", 120, 14),
|
||||
TaskTemplate("Scarifying", "service", "time_based", 365, 30),
|
||||
TaskTemplate("Aerating", "service", "time_based", 365, 30),
|
||||
TaskTemplate("Overseeding", "service", "time_based", 365, 30),
|
||||
TaskTemplate("Weeding", "service", "time_based", 90, 14),
|
||||
],
|
||||
),
|
||||
ObjectTemplate(
|
||||
id="garden_hedge",
|
||||
name="Hedge Care",
|
||||
category="garden",
|
||||
tasks=[
|
||||
TaskTemplate(
|
||||
"Trimming",
|
||||
"service",
|
||||
"time_based",
|
||||
180,
|
||||
21,
|
||||
"1–3 times per year depending on the species — mind local rules protecting nesting birds in spring.",
|
||||
),
|
||||
TaskTemplate("Watering", "service", "time_based", 7, 1),
|
||||
TaskTemplate("Fertilising", "service", "time_based", 365, 30),
|
||||
TaskTemplate("Mulching", "service", "time_based", 365, 30),
|
||||
],
|
||||
),
|
||||
ObjectTemplate(
|
||||
id="garden_house_exterior",
|
||||
name="House Exterior",
|
||||
@@ -494,6 +640,171 @@ TEMPLATES: list[ObjectTemplate] = [
|
||||
TaskTemplate("Wash Mop Pads", "cleaning", "time_based", 60, 7),
|
||||
],
|
||||
),
|
||||
ObjectTemplate(
|
||||
id="pets_litter_box",
|
||||
name="Cat Litter Box",
|
||||
category="pets",
|
||||
tasks=[
|
||||
TaskTemplate("Scoop Litter", "cleaning", "time_based", 2, 1),
|
||||
TaskTemplate("Change Litter", "replacement", "time_based", 14, 3),
|
||||
TaskTemplate(
|
||||
"Wash Litter Box",
|
||||
"cleaning",
|
||||
"time_based",
|
||||
30,
|
||||
7,
|
||||
"Mild soap and hot water — strong chemicals can drive cats away from the box.",
|
||||
),
|
||||
],
|
||||
),
|
||||
ObjectTemplate(
|
||||
id="tech_printer",
|
||||
name="Printer",
|
||||
category="tech",
|
||||
tasks=[
|
||||
TaskTemplate(
|
||||
"Nozzle Check",
|
||||
"inspection",
|
||||
"time_based",
|
||||
30,
|
||||
7,
|
||||
"A monthly test print keeps inkjet nozzles from drying out — supported printers also report ink/toner levels for automatic triggers.",
|
||||
),
|
||||
TaskTemplate("Replace Maintenance Box", "replacement", "time_based", 365, 30),
|
||||
TaskTemplate("Clean Printer", "cleaning", "time_based", 180, 14),
|
||||
],
|
||||
),
|
||||
ObjectTemplate(
|
||||
id="tech_smart_lock",
|
||||
name="Smart Lock",
|
||||
category="tech",
|
||||
tasks=[
|
||||
TaskTemplate("Charge Battery", "service", "time_based", 60, 7),
|
||||
TaskTemplate(
|
||||
"Lubricate Cylinder",
|
||||
"service",
|
||||
"time_based",
|
||||
180,
|
||||
14,
|
||||
"Graphite or PTFE lock lubricant only — oil gums up the pins.",
|
||||
),
|
||||
TaskTemplate("Recalibrate Lock", "service", "time_based", 180, 14),
|
||||
],
|
||||
),
|
||||
ObjectTemplate(
|
||||
id="tech_wallbox",
|
||||
name="EV Wallbox",
|
||||
category="tech",
|
||||
tasks=[
|
||||
TaskTemplate(
|
||||
"Test RCD",
|
||||
"inspection",
|
||||
"time_based",
|
||||
183,
|
||||
14,
|
||||
"Press the test button twice a year — a residual-current device only protects if it still trips.",
|
||||
),
|
||||
TaskTemplate("Inspect Cable and Plug", "inspection", "time_based", 90, 7),
|
||||
TaskTemplate("Clean Housing", "cleaning", "time_based", 365, 30),
|
||||
],
|
||||
),
|
||||
ObjectTemplate(
|
||||
id="tech_nas",
|
||||
name="Home Server / NAS",
|
||||
category="tech",
|
||||
tasks=[
|
||||
TaskTemplate(
|
||||
"Test Backup Restore",
|
||||
"inspection",
|
||||
"time_based",
|
||||
90,
|
||||
14,
|
||||
"A backup only exists once a restore has been proven to work.",
|
||||
),
|
||||
TaskTemplate("Check Disk Health", "inspection", "time_based", 30, 7),
|
||||
TaskTemplate("Storage Cleanup", "cleaning", "time_based", 90, 14),
|
||||
TaskTemplate("Update Firmware", "service", "time_based", 60, 7),
|
||||
TaskTemplate("Dust Out Device", "cleaning", "time_based", 365, 30),
|
||||
],
|
||||
),
|
||||
ObjectTemplate(
|
||||
id="tech_camera",
|
||||
name="Security Camera",
|
||||
category="tech",
|
||||
tasks=[
|
||||
TaskTemplate("Clean Lens", "cleaning", "time_based", 90, 14),
|
||||
TaskTemplate("Check Mounting", "inspection", "time_based", 183, 14),
|
||||
TaskTemplate("Update Firmware", "service", "time_based", 90, 14),
|
||||
],
|
||||
),
|
||||
ObjectTemplate(
|
||||
id="household_fitness",
|
||||
name="Fitness Equipment",
|
||||
category="household",
|
||||
tasks=[
|
||||
TaskTemplate("Wipe Down Equipment", "cleaning", "time_based", 7, 2),
|
||||
TaskTemplate("Check Bolts and Fasteners", "inspection", "time_based", 90, 14),
|
||||
TaskTemplate(
|
||||
"Lubricate Moving Parts",
|
||||
"service",
|
||||
"time_based",
|
||||
90,
|
||||
14,
|
||||
"Treadmill belts, trainer chains and pivots — follow the manufacturer's lubricant spec.",
|
||||
),
|
||||
],
|
||||
),
|
||||
ObjectTemplate(
|
||||
id="garden_pond",
|
||||
name="Garden Pond",
|
||||
category="garden",
|
||||
tasks=[
|
||||
TaskTemplate("Clean Pond Filter", "cleaning", "time_based", 30, 7),
|
||||
TaskTemplate("Water Test", "inspection", "time_based", 30, 7),
|
||||
TaskTemplate(
|
||||
"Install Leaf Net",
|
||||
"service",
|
||||
"time_based",
|
||||
365,
|
||||
21,
|
||||
"Before autumn leaf fall — decomposing leaves feed algae and sludge.",
|
||||
),
|
||||
TaskTemplate("Winterize System", "service", "time_based", 365, 21),
|
||||
],
|
||||
),
|
||||
ObjectTemplate(
|
||||
id="appliance_3d_printer",
|
||||
name="3D Printer",
|
||||
category="appliance",
|
||||
tasks=[
|
||||
TaskTemplate(
|
||||
"Clean Print Bed",
|
||||
"cleaning",
|
||||
"time_based",
|
||||
14,
|
||||
3,
|
||||
"Grease and dust ruin first-layer adhesion — clean with isopropyl alcohol, not household cleaners.",
|
||||
),
|
||||
TaskTemplate("Clean or Replace Nozzle", "service", "time_based", 90, 14),
|
||||
TaskTemplate(
|
||||
"Lubricate Rails and Rods",
|
||||
"service",
|
||||
"time_based",
|
||||
180,
|
||||
21,
|
||||
"Follow the manufacturer's lubricant spec — the wrong grease attracts dust and wears the bearings faster.",
|
||||
),
|
||||
TaskTemplate("Check Belt Tension", "inspection", "time_based", 180, 21),
|
||||
TaskTemplate(
|
||||
"Dry Filament Stock",
|
||||
"service",
|
||||
"time_based",
|
||||
90,
|
||||
14,
|
||||
"Moist filament pops and strings — hygroscopic materials (PETG, PA, TPU) need drying well before PLA does.",
|
||||
),
|
||||
],
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user