441 lines
14 KiB
JSON
441 lines
14 KiB
JSON
{
|
|
"config": {
|
|
"step": {
|
|
"user": {
|
|
"title": "WashData-instellingen",
|
|
"description": "Configureer uw wasmachine of ander apparaat.\n\nVermogenssensor is vereist.\n\n**Vervolgens wordt u gevraagd of u uw eerste profiel wilt aanmaken.**",
|
|
"data": {
|
|
"name": "Apparaatnaam",
|
|
"device_type": "Apparaattype",
|
|
"power_sensor": "Vermogenssensor",
|
|
"min_power": "Minimale vermogensdrempel (W)"
|
|
},
|
|
"data_description": {
|
|
"name": "Een beschrijvende naam voor dit apparaat (bijvoorbeeld 'Wasmachine', 'Vaatwasser').",
|
|
"device_type": "Welk type apparaat is dit? Helpt bij het op maat maken van detectie en labeling.",
|
|
"power_sensor": "De sensorentiteit die het realtime energieverbruik (in watt) van uw slimme stekker rapporteert.",
|
|
"min_power": "Vermogensmetingen boven deze drempel (in watt) geven aan dat het apparaat werkt. Begin met 2W voor de meeste apparaten."
|
|
}
|
|
},
|
|
"reconfigure": {
|
|
"title": "WashData opnieuw configureren",
|
|
"description": "Werk de apparaatnaam, het type apparaat of de vermogenssensor bij.",
|
|
"data": {
|
|
"name": "Apparaatnaam",
|
|
"device_type": "Apparaattype",
|
|
"power_sensor": "Vermogenssensor",
|
|
"min_power": "Minimale vermogensdrempel (W)"
|
|
}
|
|
}
|
|
},
|
|
"error": {
|
|
"cannot_connect": "Kan geen verbinding maken",
|
|
"invalid_auth": "Ongeldige authenticatie",
|
|
"unknown": "Onverwachte fout",
|
|
"invalid_power": "Vermogensdrempel moet groter zijn dan 0"
|
|
},
|
|
"abort": {
|
|
"already_configured": "Apparaat is al geconfigureerd",
|
|
"reconfigure_successful": "Herconfiguratie was succesvol"
|
|
}
|
|
},
|
|
"options": {
|
|
"step": {
|
|
"init": {
|
|
"title": "WashData-instellingen",
|
|
"description": "Alle instellingen -- detectie, overeenkomst, timing, meldingen, profielen en cycli -- zijn beschikbaar in het WashData-paneel. Gebruik dit formulier alleen om de vermogenssensor, het apparaattype of de standbydrempel te wijzigen.",
|
|
"data": {
|
|
"name": "Apparaatnaam",
|
|
"device_type": "Apparaattype",
|
|
"power_sensor": "Vermogenssensor",
|
|
"min_power": "Minimale vermogensdrempel (W)"
|
|
}
|
|
}
|
|
},
|
|
"error": {
|
|
"timer_default_message": "{device}: timer van {minutes} min.",
|
|
"timer_pause_action_title": "Hervat cyclus",
|
|
"timer_pause_body_suffix": "De cyclus is gepauzeerd. Open het WashData-paneel om te hervatten.",
|
|
"notify_live_waiting_message": "{device}: nog geen profiel herkend.",
|
|
"vs_typical_longer": "{pct}% langer dan gebruikelijk",
|
|
"vs_typical_shorter": "{pct}% korter dan gebruikelijk",
|
|
"invalid_power": "Vermogensdrempel moet groter zijn dan 0"
|
|
}
|
|
},
|
|
"selector": {
|
|
"device_type": {
|
|
"options": {
|
|
"washing_machine": "Wasmachine",
|
|
"dryer": "Droger",
|
|
"washer_dryer": "Was-droog combinatie",
|
|
"dishwasher": "Afwasmachine",
|
|
"air_fryer": "Lucht friteuse",
|
|
"bread_maker": "Broodbakmachine",
|
|
"pump": "Pomp / Sumppomp",
|
|
"generic": "Anders (geavanceerd)",
|
|
"other": "Drempelapparaat"
|
|
}
|
|
}
|
|
},
|
|
"services": {
|
|
"label_cycle": {
|
|
"name": "Cyclus labelen",
|
|
"description": "Wijs een bestaand profiel toe aan een eerdere cyclus of verwijder het label.",
|
|
"fields": {
|
|
"device_id": {
|
|
"name": "Apparaat",
|
|
"description": "Het WashData-apparaat om te labelen."
|
|
},
|
|
"cycle_id": {
|
|
"name": "Cyclus-ID",
|
|
"description": "De ID van de te labelen cyclus."
|
|
},
|
|
"profile_name": {
|
|
"name": "Profielnaam",
|
|
"description": "De naam van een bestaand profiel (maak profielen aan in het menu Profielen beheren). Laat leeg om het label te verwijderen."
|
|
}
|
|
}
|
|
},
|
|
"create_profile": {
|
|
"name": "Profiel aanmaken",
|
|
"description": "Maak een nieuw profiel aan (zelfstandig of op basis van een referentiecyclus).",
|
|
"fields": {
|
|
"device_id": {
|
|
"name": "Apparaat",
|
|
"description": "Het WashData-apparaat."
|
|
},
|
|
"profile_name": {
|
|
"name": "Profielnaam",
|
|
"description": "Naam voor het nieuwe profiel (bijv. 'Intensief', 'Fijne was')."
|
|
},
|
|
"reference_cycle_id": {
|
|
"name": "Referentiecyclus-ID",
|
|
"description": "Optioneel cyclus-ID om dit profiel op te baseren."
|
|
}
|
|
}
|
|
},
|
|
"delete_profile": {
|
|
"name": "Profiel verwijderen",
|
|
"description": "Verwijder een profiel en verwijder optioneel het label van cycli die het gebruiken.",
|
|
"fields": {
|
|
"device_id": {
|
|
"name": "Apparaat",
|
|
"description": "Het WashData-apparaat."
|
|
},
|
|
"profile_name": {
|
|
"name": "Profielnaam",
|
|
"description": "Het te verwijderen profiel."
|
|
},
|
|
"unlabel_cycles": {
|
|
"name": "Labels van cycli verwijderen",
|
|
"description": "Verwijder het profiellabel van cycli die dit profiel gebruiken."
|
|
}
|
|
}
|
|
},
|
|
"auto_label_cycles": {
|
|
"name": "Oude cycli automatisch labelen",
|
|
"description": "Label ongelabelde cycli achteraf met behulp van profielmatching.",
|
|
"fields": {
|
|
"device_id": {
|
|
"name": "Apparaat",
|
|
"description": "Het WashData-apparaat."
|
|
},
|
|
"confidence_threshold": {
|
|
"name": "Betrouwbaarheidsdrempel",
|
|
"description": "Minimale matchbetrouwbaarheid (0,50-0,95) om labels toe te passen."
|
|
}
|
|
}
|
|
},
|
|
"export_config": {
|
|
"name": "Configuratie exporteren",
|
|
"description": "Exporteer de profielen, cycli en instellingen van dit apparaat naar een JSON-bestand (per apparaat).",
|
|
"fields": {
|
|
"device_id": {
|
|
"name": "Apparaat",
|
|
"description": "Het WashData-apparaat om te exporteren."
|
|
},
|
|
"path": {
|
|
"name": "Pad",
|
|
"description": "Optioneel absoluut bestandspad om naar te schrijven (standaard: /config/ha_washdata_export_{entry}.json)."
|
|
}
|
|
}
|
|
},
|
|
"import_config": {
|
|
"name": "Configuratie importeren",
|
|
"description": "Importeer profielen, cycli en instellingen voor dit apparaat vanuit een JSON-exportbestand (instellingen kunnen worden overschreven).",
|
|
"fields": {
|
|
"device_id": {
|
|
"name": "Apparaat",
|
|
"description": "Het WashData-apparaat om in te importeren."
|
|
},
|
|
"path": {
|
|
"name": "Pad",
|
|
"description": "Absoluut pad naar het te importeren JSON-exportbestand."
|
|
}
|
|
}
|
|
},
|
|
"submit_cycle_feedback": {
|
|
"name": "Cyclusfeedback indienen",
|
|
"description": "Bevestig of corrigeer een automatisch gedetecteerd programma na een voltooide cyclus. Geef `entry_id` (geavanceerd) of `device_id` (aanbevolen) op.",
|
|
"fields": {
|
|
"device_id": {
|
|
"name": "Apparaat",
|
|
"description": "Het WashData-apparaat (aanbevolen boven entry_id)."
|
|
},
|
|
"entry_id": {
|
|
"name": "Invoer-ID",
|
|
"description": "De configuratie-invoer-ID voor het apparaat (alternatief voor device_id)."
|
|
},
|
|
"cycle_id": {
|
|
"name": "Cyclus-ID",
|
|
"description": "De cyclus-ID zoals weergegeven in de feedbackmelding/logboeken."
|
|
},
|
|
"user_confirmed": {
|
|
"name": "Gedetecteerd programma bevestigen",
|
|
"description": "Stel 'true' in als het gedetecteerde programma correct is."
|
|
},
|
|
"corrected_profile": {
|
|
"name": "Gecorrigeerd profiel",
|
|
"description": "Als u niet bevestigt, geef dan de juiste profiel-/programmanaam op."
|
|
},
|
|
"corrected_duration": {
|
|
"name": "Gecorrigeerde duur (seconden)",
|
|
"description": "Optioneel gecorrigeerde duur in seconden."
|
|
},
|
|
"notes": {
|
|
"name": "Notities",
|
|
"description": "Optionele notities over deze cyclus."
|
|
}
|
|
}
|
|
},
|
|
"record_start": {
|
|
"name": "Cyclusstart opnemen",
|
|
"description": "Begin handmatig een schone cyclus op te nemen (omzeilt alle matchinglogica).",
|
|
"fields": {
|
|
"device_id": {
|
|
"name": "Apparaat",
|
|
"description": "Het WashData-apparaat om op te nemen."
|
|
}
|
|
}
|
|
},
|
|
"record_stop": {
|
|
"name": "Cyclusstop opnemen",
|
|
"description": "Handmatige opname stoppen.",
|
|
"fields": {
|
|
"device_id": {
|
|
"name": "Apparaat",
|
|
"description": "Het WashData-apparaat om de opname te stoppen."
|
|
}
|
|
}
|
|
},
|
|
"trim_cycle": {
|
|
"name": "Cyclus trimmen",
|
|
"description": "Trim de vermogensgegevens van een eerdere cyclus tot een specifiek tijdvenster.",
|
|
"fields": {
|
|
"device_id": {
|
|
"name": "Apparaat",
|
|
"description": "Het WashData-apparaat."
|
|
},
|
|
"cycle_id": {
|
|
"name": "Cyclus-ID",
|
|
"description": "De ID van de te trimmen cyclus."
|
|
},
|
|
"trim_start_s": {
|
|
"name": "Trim begin (seconden)",
|
|
"description": "Gegevens bewaren vanaf deze offset in seconden. Standaard 0."
|
|
},
|
|
"trim_end_s": {
|
|
"name": "Trim einde (seconden)",
|
|
"description": "Gegevens bewaren tot deze offset in seconden. Standaard = volledige duur."
|
|
}
|
|
}
|
|
},
|
|
"pause_cycle": {
|
|
"name": "Pauzeer cyclus",
|
|
"description": "Pauzeer de actieve cyclus voor een WashData-apparaat.",
|
|
"fields": {
|
|
"device_id": {
|
|
"name": "Apparaat",
|
|
"description": "Het WashData-apparaat om te pauzeren."
|
|
}
|
|
}
|
|
},
|
|
"resume_cycle": {
|
|
"name": "Hervat cyclus",
|
|
"description": "Hervat een gepauzeerde cyclus voor een WashData-apparaat.",
|
|
"fields": {
|
|
"device_id": {
|
|
"name": "Apparaat",
|
|
"description": "Het WashData-apparaat om te hervatten."
|
|
}
|
|
}
|
|
},
|
|
"trigger_ml_training": {
|
|
"name": "ML-training starten",
|
|
"description": "Hertrein de ML-modellen op het apparaat handmatig op basis van gelabelde cycli van dit apparaat (experimenteel).",
|
|
"fields": {
|
|
"device_id": {
|
|
"name": "Apparaat",
|
|
"description": "Het WashData-apparaat waarvoor modellen hertraind moeten worden."
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"entity": {
|
|
"binary_sensor": {
|
|
"running": {
|
|
"name": "Actief"
|
|
},
|
|
"match_ambiguity": {
|
|
"name": "Match-dubbelzinnigheid"
|
|
}
|
|
},
|
|
"sensor": {
|
|
"washer_state": {
|
|
"name": "Status",
|
|
"state": {
|
|
"off": "Uit",
|
|
"idle": "Inactief",
|
|
"starting": "Opstarten",
|
|
"running": "Actief",
|
|
"paused": "Gepauzeerd",
|
|
"user_paused": "Gepauzeerd door gebruiker",
|
|
"ending": "Eindigen",
|
|
"finished": "Voltooid",
|
|
"anti_wrinkle": "Anti-kreuk",
|
|
"interrupted": "Onderbroken",
|
|
"force_stopped": "Geforceerd gestopt",
|
|
"rinse": "Spoelen",
|
|
"unknown": "Onbekend",
|
|
"clean": "Schoon",
|
|
"delay_wait": "Wachten om te beginnen"
|
|
}
|
|
},
|
|
"washer_program": {
|
|
"name": "Programma"
|
|
},
|
|
"time_remaining": {
|
|
"name": "Resterende tijd"
|
|
},
|
|
"total_duration": {
|
|
"name": "Totale duur"
|
|
},
|
|
"cycle_progress": {
|
|
"name": "Voortgang"
|
|
},
|
|
"current_power": {
|
|
"name": "Huidig vermogen"
|
|
},
|
|
"elapsed_time": {
|
|
"name": "Verstreken tijd"
|
|
},
|
|
"debug_info": {
|
|
"name": "Debuginformatie"
|
|
},
|
|
"match_confidence": {
|
|
"name": "Matchbetrouwbaarheid"
|
|
},
|
|
"top_candidates": {
|
|
"name": "Topkandidaten",
|
|
"state": {
|
|
"none": "Geen"
|
|
}
|
|
},
|
|
"ambiguity": {
|
|
"name": "Ambiguïteitsscore"
|
|
},
|
|
"current_phase": {
|
|
"name": "Huidige fase"
|
|
},
|
|
"profile_cycle_count": {
|
|
"name": "Profiel {profile_name} aantal",
|
|
"unit_of_measurement": "cycli"
|
|
},
|
|
"suggestions": {
|
|
"name": "Beschikbare voorgestelde instellingen"
|
|
},
|
|
"pump_runs_today": {
|
|
"name": "Pomp draait (laatste 24 uur)"
|
|
},
|
|
"cycle_count": {
|
|
"name": "Cyclustelling"
|
|
},
|
|
"energy_total": {
|
|
"name": "Totale energie"
|
|
}
|
|
},
|
|
"select": {
|
|
"program_select": {
|
|
"name": "Cyclusprogramma",
|
|
"state": {
|
|
"auto_detect": "Automatisch detecteren"
|
|
}
|
|
}
|
|
},
|
|
"button": {
|
|
"force_end_cycle": {
|
|
"name": "Cyclus geforceerd beëindigen"
|
|
},
|
|
"pause_cycle": {
|
|
"name": "Pauzeer cyclus"
|
|
},
|
|
"resume_cycle": {
|
|
"name": "Hervat cyclus"
|
|
},
|
|
"record_start": {
|
|
"name": "Start cyclusopname"
|
|
},
|
|
"record_stop": {
|
|
"name": "Stop cyclusopname"
|
|
}
|
|
}
|
|
},
|
|
"exceptions": {
|
|
"device_id_required": {
|
|
"message": "Een geldige device_id is vereist."
|
|
},
|
|
"cycle_id_required": {
|
|
"message": "Een geldige cyclus_id is vereist."
|
|
},
|
|
"profile_name_required": {
|
|
"message": "Een geldige profielnaam is vereist."
|
|
},
|
|
"device_not_found": {
|
|
"message": "Apparaat niet gevonden."
|
|
},
|
|
"no_config_entry": {
|
|
"message": "Geen configuratie-invoer gevonden voor apparaat."
|
|
},
|
|
"integration_not_loaded": {
|
|
"message": "Integratie niet geladen voor dit apparaat."
|
|
},
|
|
"cycle_not_found_or_no_power": {
|
|
"message": "Cyclus niet gevonden of heeft geen vermogensgegevens."
|
|
},
|
|
"trim_failed_empty_window": {
|
|
"message": "Trimmen mislukt - cyclus niet gevonden, geen vermogensgegevens of het resulterende venster is leeg."
|
|
},
|
|
"trim_invalid_range": {
|
|
"message": "trim_end_s moet groter zijn dan trim_start_s."
|
|
},
|
|
"no_active_cycle": {
|
|
"message": "Geen actieve cyclus om te pauzeren of te hervatten."
|
|
},
|
|
"path_not_allowed": {
|
|
"message": "Pad is niet toegestaan: {path}. Voeg de map ervan toe aan 'allowlist_external_dirs' in configuration.yaml."
|
|
},
|
|
"create_profile_failed": {
|
|
"message": "Kan profiel niet aanmaken: {error}"
|
|
},
|
|
"export_path_exists": {
|
|
"message": "Het exportdoel bestaat al: {path}. Kies een ander pad of verwijder eerst het bestaande bestand."
|
|
},
|
|
"export_write_failed": {
|
|
"message": "Kan de export niet naar {path} schrijven: {error}"
|
|
},
|
|
"assign_profile_failed": {
|
|
"message": "Kan profiel niet toewijzen: {error}"
|
|
}
|
|
}
|
|
}
|