diff --git a/config.schema.json b/config.schema.json index 3037b2f..1b105f1 100644 --- a/config.schema.json +++ b/config.schema.json @@ -2,8 +2,12 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { - "title": { "type": "string" }, - "items": { "$ref": "#/$defs/items" }, + "title": { + "type": "string" + }, + "items": { + "$ref": "#/$defs/items" + }, "required": ["title", "items"], "additionalProperties": false }, @@ -11,25 +15,61 @@ "toggle": { "type": "object", "properties": { - "entity": { "$ref": "#/$defs/entity" }, - "name": { "title": "Your familiar name", "type": "string" }, + "entity": { + "$ref": "#/$defs/entity" + }, + "name": { + "title": "Your familiar name", + "type": "string" + }, "type": { "title": "Menu item type", - "description": "One of 'tap, 'toggle' or 'group'.", + "description": "One of 'tap', 'template', 'toggle' or 'group'.", "const": "toggle" } }, "required": ["entity", "name", "type"], "additionalProperties": false }, + "template": { + "type": "object", + "properties": { + "entity": { + "$ref": "#/$defs/entity" + }, + "name": { + "title": "Your familiar name", + "type": "string" + }, + "content": { + "title": "What to display (template)", + "type": "string" + }, + "type": { + "title": "Menu item type", + "description": "One of 'tap', 'template', 'toggle' or 'group'.", + "const": "template" + }, + "tap_action": { + "$ref": "#/$defs/action" + } + }, + "required": ["name", "entity", "content", "type"], + "additionalProperties": false + }, "tap": { "type": "object", "properties": { - "entity": { "$ref": "#/$defs/entity" }, - "name": { "title": "Your familiar name", "type": "string" }, + "entity": { + "$ref": "#/$defs/entity" + }, + "name": { + "title": "Your familiar name", + "type": "string" + }, "type": { "title": "Menu item type", - "description": "One of 'tap, 'toggle' or 'group'.", + "description": "One of 'tap', 'template', 'toggle' or 'group'.", "const": "tap" }, "service": { @@ -38,26 +78,41 @@ "title": "Schema change:", "description": "Use 'tap_action' instead to mirror Home Assistant." }, - "tap_action": { "$ref": "#/$defs/action" } + "tap_action": { + "$ref": "#/$defs/action" + } }, "oneOf": [ - { "required": ["entity", "name", "type", "service"] }, - { "required": ["entity", "name", "type", "tap_action"] } + { + "required": ["entity", "name", "type", "service"] + }, + { + "required": ["entity", "name", "type", "tap_action"] + } ], "additionalProperties": false }, "menu": { "type": "object", "properties": { - "entity": { "$ref": "#/$defs/entity" }, - "name": { "title": "Your familiar name", "type": "string" }, - "title": { "type": "string" }, + "entity": { + "$ref": "#/$defs/entity" + }, + "name": { + "title": "Your familiar name", + "type": "string" + }, + "title": { + "type": "string" + }, "type": { "title": "Menu item type", - "description": "One of 'tap, 'toggle' or 'group'.", + "description": "One of 'tap', 'template', 'toggle' or 'group'.", "const": "group" }, - "items": { "$ref": "#/$defs/items" } + "items": { + "$ref": "#/$defs/items" + } }, "required": ["entity", "name", "title", "type", "items"], "additionalProperties": false @@ -66,9 +121,18 @@ "type": "array", "items": { "oneOf": [ - { "$ref": "#/$defs/toggle" }, - { "$ref": "#/$defs/tap" }, - { "$ref": "#/$defs/menu" } + { + "$ref": "#/$defs/toggle" + }, + { + "$ref": "#/$defs/template" + }, + { + "$ref": "#/$defs/tap" + }, + { + "$ref": "#/$defs/menu" + } ] } }, @@ -82,7 +146,9 @@ "description": "'confirm' field is optional.", "type": "object", "properties": { - "service": { "$ref": "#/$defs/entity" }, + "service": { + "$ref": "#/$defs/entity" + }, "confirm": { "type": "boolean", "default": false, diff --git a/resources-ara/strings/strings.xml b/resources-ara/strings/strings.xml index 46c07ca..8d4d098 100644 --- a/resources-ara/strings/strings.xml +++ b/resources-ara/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - على - عن - مقبض - قائمة طعام بالتأكيد؟ مؤكد لا يوجد اتصال الهاتف @@ -39,10 +35,11 @@ قام طلب HTTP بإرجاع رمز الخطأ = يجب ألا يحتوي عنوان URL لواجهة برمجة التطبيقات على شرطة مائلة لاحقة '/' فشل تسجيل Webhook + فشل في تقديم القالب متاح تدقيق... غير متوفره - غير مكون + غير مهيأ مخبأة قائمة طعام @@ -52,17 +49,21 @@ عنوان URL لواجهة برمجة تطبيقات HomeAssistant. عنوان URL لتكوين القائمة (JSON). هل يجب على التطبيق تخزين تكوين القائمة مؤقتًا؟ - هل يجب على التطبيق مسح ذاكرة التخزين المؤقت الموجودة في المرة القادمة التي يتم فيها تشغيله؟ - المهلة بالثواني. قم بالخروج من التطبيق بعد هذه الفترة من عدم النشاط لحفظ بطارية الجهاز. - بعد هذا الوقت (بالثواني)، يتم إغلاق مربع حوار تأكيد الإجراء تلقائيًا ويتم إلغاء الإجراء. اضبط على 0 لتعطيل المهلة. - نمط عنصر القائمة. - أيقونات - نص إضافي + يجب أن يقوم التطبيق بمسح ذاكرة التخزين المؤقت الموجودة في المرة القادمة + بدأت؟ + المهلة بالثواني. الخروج من التطبيق بعد هذه الفترة + عدم النشاط لحفظ بطارية الجهاز. + بعد هذا الوقت (بالثواني)، يظهر مربع حوار تأكيد لـ + يتم إغلاق الإجراء تلقائيًا ويتم إلغاء الإجراء. اضبط على 0 لتعطيل المهلة. محاذاة القائمة لليسار (إيقاف) أو لليمين (تشغيل). من اليسار إلى اليمين من اليمين الى اليسار - (القطعة فقط) قم بتشغيل التطبيق تلقائيًا من الأداة دون انتظار نقرة واحدة. - قم بتمكين خدمة الخلفية لإرسال مستوى بطارية الساعة إلى Home Assistant. - معدل التحديث (بالدقائق) الذي يجب أن تكرر عنده خدمة الخلفية إرسال مستوى البطارية. - (للقراءة فقط) معرف Webhook الذي أنشأته الساعة لتحديثات مستوى البطارية. قد تحتاج إلى هذا لتصحيح الأخطاء. + (القطعة فقط) ابدأ تشغيل التطبيق تلقائيًا من الأداة + دون انتظار الصنبور. + تمكين خدمة الخلفية لإرسال بطارية الساعة + المستوى إلى مساعد المنزل. + معدل التحديث (بالدقائق) الذي الخلفية + يجب أن تكرر الخدمة إرسال مستوى البطارية. + (للقراءة فقط) معرف Webhook الذي أنشأته الساعة لتحديثات مستوى البطارية. + قد تحتاج إلى هذا لتصحيح الأخطاء. diff --git a/resources-bul/strings/strings.xml b/resources-bul/strings/strings.xml index 8a3b6dd..920db6b 100644 --- a/resources-bul/strings/strings.xml +++ b/resources-bul/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - На - Изкл - Докоснете - Меню Сигурен? Потвърдено Няма телефонна връзка @@ -39,6 +35,7 @@ HTTP заявката върна код на грешка = URL адресът на API не трябва да има наклонена черта '/' в края Неуспешно регистриране на Webhook + Неуспешно изобразяване на шаблон На разположение Проверка... Недостъпен @@ -52,17 +49,21 @@ URL адрес за API на HomeAssistant. URL за конфигурация на менюто (JSON). Трябва ли приложението да кешира конфигурацията на менюто? - Трябва ли приложението да изчисти съществуващия кеш при следващото стартиране? - Изчакване в секунди. Излезте от приложението след този период на неактивност, за да запазите батерията на устройството. - След това време (в секунди) диалоговият прозорец за потвърждение на действие се затваря автоматично и действието се отменя. Задайте 0, за да деактивирате изчакването. - Стил на елемент от менюто. - Икони - Допълнителен текст + Трябва ли приложението да изчисти съществуващия кеш следващия път, когато е + започна? + Изчакване в секунди. Излезте от приложението след този период от + бездействие, за да запазите батерията на устройството. + След това време (в секунди) се появява диалогов прозорец за потвърждение за an + действието се затваря автоматично и действието се отменя. Задайте 0, за да деактивирате изчакването. Ляво (изключено) или дясно (включено) подравняване на менюто. Отляво надясно От дясно на ляво - (Само за джаджа) Автоматично стартирайте приложението от джаджата, без да чакате докосване. - Активирайте фоновата услуга, за да изпратите нивото на батерията на часовника до Home Assistant. - Честотата на опресняване (в минути), с която фоновата услуга трябва да повтори изпращането на нивото на батерията. - (Само за четене) ID на Webhook, създаден от часовника за актуализации на нивото на батерията. Може да ви е необходимо това за отстраняване на грешки. + (Само за притурка) Автоматично стартирайте приложението от притурката + без да чакате кран. + Активирайте фоновата услуга, за да изпратите батерията на часовника + ниво до домашен асистент. + Честотата на опресняване (в минути), с която фонът + услугата трябва да повтори изпращането на нивото на батерията. + (Само за четене) ID на Webhook, създаден от часовника за актуализации на нивото на батерията. + Може да ви е необходимо това за отстраняване на грешки. diff --git a/resources-ces/strings/strings.xml b/resources-ces/strings/strings.xml index 1dca973..3fe9ad2 100644 --- a/resources-ces/strings/strings.xml +++ b/resources-ces/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - Na - Vypnuto - Klepněte - Jídelní lístek Tak určitě? Potvrzeno Žádné telefonní spojení @@ -33,12 +29,13 @@ V nastavení aplikace není žádná adresa URL API V nastavení aplikace není žádná konfigurační URL Příliš rychlá volání API. Zpomalte prosím své požadavky. - Adresa URL nenalezena. Potenciální chyba adresy URL rozhraní API v nastavení. + Adresa URL nenalezena. Potenciální chyba URL API v nastavení. Adresa URL nenalezena. Potenciální chyba konfigurační adresy URL v nastavení. Z požadavku HTTP se nevrátil žádný JSON. Požadavek HTTP vrátil kód chyby = Adresa URL rozhraní API nesmí mít koncové lomítko „/“ Registrace Webhooku se nezdařila + Vykreslení šablony se nezdařilo Dostupný Kontrola... Není k dispozici @@ -52,17 +49,21 @@ URL pro HomeAssistant API. Adresa URL pro konfiguraci nabídky (JSON). Má aplikace uložit konfiguraci nabídky do mezipaměti? - Měla by aplikace při příštím spuštění vymazat stávající mezipaměť? - Časový limit v sekundách. Po této době nečinnosti aplikaci ukončete, abyste šetřili baterii zařízení. - Po uplynutí této doby (v sekundách) se dialog pro potvrzení akce automaticky zavře a akce se zruší. Nastavením na 0 deaktivujete časový limit. - Styl položky menu. - ikony - Doplňkový text + Měla by aplikace příště vymazat stávající mezipaměť + začal? + Časový limit v sekundách. Po uplynutí této doby aplikaci ukončete + nečinnosti, aby se šetřila baterie zařízení. + Po uplynutí této doby (v sekundách) se zobrazí potvrzovací dialog + akce se automaticky zavře a akce se zruší. Nastavením na 0 deaktivujete časový limit. Zarovnání nabídky vlevo (vypnuto) nebo vpravo (zapnuto). Zleva do prava Zprava doleva - (Pouze widget) Automaticky spusťte aplikaci z widgetu bez čekání na klepnutí. - Povolte službu na pozadí, aby se stav baterie hodin odeslal do Home Assistant. - Obnovovací frekvence (v minutách), při které by služba na pozadí měla opakovat odesílání stavu baterie. - (Pouze pro čtení) ID webhooku vytvořené hodinkami pro aktualizace úrovně baterie. Možná to budete potřebovat pro ladění. + (Pouze widget) Automaticky spustit aplikaci z widgetu + bez čekání na klepnutí. + Povolte službu na pozadí pro odeslání baterie hodin + úroveň na Home Assistant. + Obnovovací frekvence (v minutách), při které je pozadí + servis by měl zopakovat odeslání stavu baterie. + (Pouze pro čtení) ID webhooku vytvořené hodinkami pro aktualizace úrovně baterie. + Možná to budete potřebovat pro ladění. diff --git a/resources-dan/strings/strings.xml b/resources-dan/strings/strings.xml index 34193fc..57e238f 100644 --- a/resources-dan/strings/strings.xml +++ b/resources-dan/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - - Af - Tryk på - Menu Jo da? Bekræftet Ingen telefonforbindelse @@ -39,6 +35,7 @@ HTTP-anmodning returnerede fejlkode = API URL må ikke have en efterfølgende skråstreg '/' Kunne ikke registrere Webhook + Skabelonen kunne ikke gengives Ledig Tjekker... Ikke tilgængelig @@ -52,17 +49,21 @@ URL til HomeAssistant API. URL til menukonfiguration (JSON). Skal applikationen cache menukonfigurationen? - Skal applikationen rydde den eksisterende cache næste gang den startes? - Timeout i sekunder. Afslut applikationen efter denne periode med inaktivitet for at spare på enhedens batteri. - Efter dette tidspunkt (i sekunder) lukkes en bekræftelsesdialog for en handling automatisk, og handlingen annulleres. Indstil til 0 for at deaktivere timeout. - Menupunkt stil. - Ikoner - Yderligere tekst - Venstre (fra) eller højre (til) menujustering. + Skal applikationen rydde den eksisterende cache næste gang + startede? + Timeout i sekunder. Afslut ansøgningen efter denne periode på + inaktivitet for at spare enhedens batteri. + Efter dette tidspunkt (i sekunder) vises en bekræftelsesdialog for en + handlingen lukkes automatisk, og handlingen annulleres. Indstil til 0 for at deaktivere timeout. + Venstre (fra) eller Højre (til) menujustering. Venstre til højre Højre til venstre - (Kun widget) Start automatisk applikationen fra widgetten uden at vente på et tryk. - Aktiver baggrundstjenesten for at sende urets batteriniveau til Home Assistant. - Opdateringshastigheden (i minutter), hvormed baggrundstjenesten skal gentage afsendelsen af ​​batteriniveauet. - (Skrivebeskyttet) Webhook-id'et oprettet af uret til opdateringer af batteriniveau. Du kan kræve dette til fejlfinding. + (Kun widget) Start automatisk programmet fra widgetten + uden at vente på et tryk. + Aktiver baggrundstjenesten for at sende urets batteri + niveau til Home Assistant. + Opdateringshastigheden (i minutter), som baggrunden + tjenesten skal gentage afsendelsen af ​​batteriniveauet. + (Skrivebeskyttet) Webhook-id'et oprettet af uret til opdateringer af batteriniveau. + Du kan kræve dette til fejlretning. diff --git a/resources-deu/strings/corrections.xml b/resources-deu/strings/corrections.xml index 343b56d..6f7f88d 100644 --- a/resources-deu/strings/corrections.xml +++ b/resources-deu/strings/corrections.xml @@ -19,7 +19,5 @@ --> - Antippen - Menü Die HTTP-Anfrage gab folgenden Fehlercode zurück = diff --git a/resources-deu/strings/strings.xml b/resources-deu/strings/strings.xml index 349b7a3..0a9ebc8 100644 --- a/resources-deu/strings/strings.xml +++ b/resources-deu/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - An - Aus - Antippen - Menü Sicher? Bestätigt Keine Telefonverbindung @@ -39,6 +35,7 @@ Die HTTP-Anfrage gab folgenden Fehlercode zurück = Die API-URL darf keinen abschließenden Schrägstrich „/“ enthalten. Webhook konnte nicht registriert werden + Vorlage konnte nicht gerendert werden Verfügbar Überprüfung... Nicht verfügbar @@ -52,17 +49,21 @@ URL für die HomeAssistant-API. URL zur Menükonfiguration (JSON). Soll die Anwendung die Menükonfiguration zwischenspeichern? - Sollte die Anwendung beim nächsten Start den vorhandenen Cache leeren? - Timeout in Sekunden. Beenden Sie die Anwendung nach dieser Zeit der Inaktivität, um den Akku des Geräts zu schonen. - Nach dieser Zeit (in Sekunden) wird automatisch ein Bestätigungsdialog für eine Aktion geschlossen und die Aktion abgebrochen. Auf 0 setzen, um das Timeout zu deaktivieren. - Menüelementstil. - Symbole - Zusätzlicher Text + Sollte die Anwendung beim nächsten Mal den vorhandenen Cache löschen? + gestartet? + Timeout in Sekunden. Beenden Sie die Anwendung nach Ablauf dieser Frist + Inaktivität, um den Akku des Geräts zu schonen. + Nach dieser Zeit (in Sekunden) erscheint ein Bestätigungsdialog für eine + Die Aktion wird automatisch geschlossen und die Aktion abgebrochen. Auf 0 setzen, um das Timeout zu deaktivieren. Menüausrichtung links (aus) oder rechts (ein). Links nach rechts Rechts nach links - (Nur Widget) Starten Sie die Anwendung automatisch über das Widget, ohne auf einen Tipp warten zu müssen. - Aktivieren Sie den Hintergrunddienst, um den Batteriestand der Uhr an Home Assistant zu senden. - Die Aktualisierungsrate (in Minuten), mit der der Hintergrunddienst das Senden des Akkustands wiederholen soll. - (Schreibgeschützt) Die von der Uhr erstellte Webhook-ID für Aktualisierungen des Batteriestands. Möglicherweise benötigen Sie dies zum Debuggen. + (Nur Widget) Starten Sie die Anwendung automatisch über das Widget + ohne auf einen Fingertipp warten zu müssen. + Aktivieren Sie den Hintergrunddienst, um die Uhrbatterie zu senden + Ebene zum Home Assistant. + Die Aktualisierungsrate (in Minuten), mit der der Hintergrund angezeigt wird + Der Service sollte das Senden des Batteriestands wiederholen. + (Schreibgeschützt) Die von der Uhr erstellte Webhook-ID für Aktualisierungen des Batteriestands. + Möglicherweise benötigen Sie dies zum Debuggen. diff --git a/resources-dut/strings/strings.xml b/resources-dut/strings/strings.xml index 6c44084..3b0c8f4 100644 --- a/resources-dut/strings/strings.xml +++ b/resources-dut/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - Op - Uit - Kraan - Menu Zeker? Bevestigd Geen telefoonverbinding @@ -39,30 +35,35 @@ HTTP-verzoek retourneerde foutcode = API-URL mag geen afsluitende slash '/' bevatten Registreren van Webhook is mislukt + Kan de sjabloon niet weergeven Beschikbaar Controleren... Niet beschikbaar Niet geconfigureerd In cache opgeslagen Menu - + Selecteer... API-sleutel voor HomeAssistant. Toegangstoken met lange levensduur. - URL voor HomeAssistant-API. + URL voor HomeAssistant API. URL voor menuconfiguratie (JSON). Moet de applicatie de menuconfiguratie in de cache opslaan? - Moet de applicatie de volgende keer dat deze wordt gestart de bestaande cache wissen? - Time-out in seconden. Sluit de applicatie af na deze periode van inactiviteit om de batterij van het apparaat te sparen. - Na deze tijd (in seconden) wordt automatisch een bevestigingsvenster voor een actie gesloten en wordt de actie geannuleerd. Stel in op 0 om de time-out uit te schakelen. - Stijl van menu-items. - Pictogrammen - Aanvullende tekst + Moet de toepassing de volgende keer de bestaande cache wissen? + begonnen? + Time-out in seconden. Sluit de applicatie na deze periode af + inactiviteit om de batterij van het apparaat te sparen. + Na deze tijd (in seconden) verschijnt er een bevestigingsvenster voor een + actie wordt automatisch gesloten en de actie wordt geannuleerd. Stel in op 0 om de time-out uit te schakelen. Links (uit) of rechts (aan) Menu-uitlijning. Van links naar rechts Rechts naar links - (Alleen Widget) Start de applicatie automatisch vanuit de widget zonder te wachten op een tik. - Schakel de achtergrondservice in om het batterijniveau van de klok naar Home Assistant te sturen. - De vernieuwingsfrequentie (in minuten) waarmee de achtergrondservice het batterijniveau opnieuw moet verzenden. - (Alleen-lezen) De Webhook-ID die door het horloge is aangemaakt voor updates van het batterijniveau. Mogelijk hebt u dit nodig voor foutopsporing. + (Alleen Widget) Start de applicatie automatisch vanuit de widget + zonder te wachten op een tikje. + Schakel de achtergrondservice in om de klokbatterij te verzenden + niveau naar Home Assistant. + De vernieuwingsfrequentie (in minuten) waarmee de achtergrond wordt weergegeven + service moet het batterijniveau opnieuw verzenden. + (Alleen-lezen) De Webhook-ID die door het horloge is aangemaakt voor updates van het batterijniveau. + Mogelijk hebt u dit nodig voor foutopsporing. diff --git a/resources-est/strings/strings.xml b/resources-est/strings/strings.xml index c479428..e6acb63 100644 --- a/resources-est/strings/strings.xml +++ b/resources-est/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - Peal - Väljas - Puudutage - Menüü Muidugi? Kinnitatud Telefoniühendus puudub @@ -39,6 +35,7 @@ HTTP päring tagastas veakoodi = API URL-i lõpus ei tohi olla kaldkriipsu „/” Webhaoki registreerimine ebaõnnestus + Malli renderdamine ebaõnnestus Saadaval Kontrollimine... Pole saadaval @@ -52,17 +49,21 @@ HomeAssistant API URL. URL menüü konfigureerimiseks (JSON). Kas rakendus peaks menüü konfiguratsiooni vahemällu salvestama? - Kas rakendus peaks järgmisel käivitamisel olemasoleva vahemälu tühjendama? - Aegumine sekundites. Seadme aku säästmiseks sulgege rakendus pärast seda tegevusetusperioodi. - Pärast seda aega (sekundites) suletakse automaatselt toimingu kinnitusdialoog ja toiming tühistatakse. Ajalõpu keelamiseks määrake väärtusele 0. - Menüüelemendi stiil. - Ikoonid - Täiendav tekst + Kas rakendus peaks järgmisel korral olemasoleva vahemälu tühjendama + algas? + Aegumine sekundites. Väljuge rakendusest pärast seda perioodi + tegevusetus, et säästa seadme akut. + Pärast seda aega (sekundites) kuvatakse kinnitusdialoog an + toiming suletakse automaatselt ja toiming tühistatakse. Ajalõpu keelamiseks määrake väärtusele 0. Vasak (väljas) või parem (sees) menüü joondamine. Vasakult paremale Paremalt vasakule - (Ainult vidin) Käivitage rakendus automaatselt vidinast ilma puudutust ootamata. - Lubage taustateenus, et saata Home Assistantile kella aku tase. - Värskendussagedus (minutites), mille juures taustateenus peaks aku taseme saatmist kordama. - (Ainult lugemiseks) Kella loodud veebihaagi ID aku taseme värskendamiseks. Võib-olla vajate seda silumiseks. + (Ainult vidin) Käivitage rakendus automaatselt vidinast + puudutust ootamata. + Kella aku saatmiseks lubage taustteenus + Koduassistendi tasemele. + Värskendussagedus (minutites), mille juures taust + teenindus peaks aku taseme saatmist kordama. + (Ainult lugemiseks) Kella loodud veebihaagi ID aku taseme värskendamiseks. + Võib-olla vajate seda silumiseks. diff --git a/resources-fin/strings/strings.xml b/resources-fin/strings/strings.xml index c1ff7f9..ed7b95a 100644 --- a/resources-fin/strings/strings.xml +++ b/resources-fin/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - Päällä - Vinossa - Napauta - Valikko Varma? Vahvistettu Ei puhelinyhteyttä @@ -39,6 +35,7 @@ HTTP-pyyntö palautti virhekoodin = API-URL-osoitteessa ei saa olla perässä olevaa kauttaviivaa '/' Webhookin rekisteröinti epäonnistui + Mallin renderöinti epäonnistui Saatavilla Tarkistetaan... Ei saatavilla @@ -52,17 +49,21 @@ HomeAssistant API:n URL-osoite. URL-osoite valikon määrityksiä varten (JSON). Pitäisikö sovelluksen tallentaa valikon asetukset välimuistiin? - Pitäisikö sovelluksen tyhjentää olemassa oleva välimuisti, kun se käynnistetään seuraavan kerran? - Aikakatkaisu sekunneissa. Poistu sovelluksesta tämän käyttämättömyyden jälkeen säästääksesi laitteen akkua. - Tämän ajan kuluttua (sekunneissa) toiminnon vahvistusikkuna suljetaan automaattisesti ja toiminto peruutetaan. Aseta arvoksi 0 poistaaksesi aikakatkaisun käytöstä. - Valikkokohdan tyyli. - Kuvakkeet - Lisäteksti + Pitäisikö sovelluksen tyhjentää olemassa oleva välimuisti seuraavan kerran + alkanut? + Aikakatkaisu sekunneissa. Poistu sovelluksesta tämän ajanjakson jälkeen + käyttämättömyys säästääksesi laitteen akkua. + Tämän ajan kuluttua (sekunteina) vahvistusikkuna an + toiminto suljetaan automaattisesti ja toiminto peruutetaan. Aseta arvoksi 0 poistaaksesi aikakatkaisun käytöstä. Vasen (pois) tai oikea (päällä) valikon kohdistus. Vasemmalta oikealle Oikealta vasemmalle - (Vain widget) Käynnistä sovellus automaattisesti widgetistä odottamatta napautusta. - Ota taustapalvelu käyttöön lähettääksesi kellon akun varaustason Home Assistantille. - Virkistystaajuus (minuutteina), jolla taustapalvelun pitäisi toistaa akun varaustason lähettämistä. - (Vain luku) Kellon luoma Webhook-tunnus akun varaustason päivityksiä varten. Saatat tarvita tätä virheenkorjaukseen. + (Vain widget) Käynnistä sovellus automaattisesti widgetistä + odottamatta napausta. + Ota taustapalvelu käyttöön kellon akun lähettämiseksi + tasolle Home Assistant. + Päivitystaajuus (minuutteina), jolla tausta + palvelun tulee toistaa akun varaustason lähettäminen. + (Vain luku) Kellon luoma Webhook-tunnus akun varaustason päivityksiä varten. + Saatat tarvita tätä virheenkorjaukseen. diff --git a/resources-fre/strings/corrections.xml b/resources-fre/strings/corrections.xml index 49e05c3..47a8a27 100644 --- a/resources-fre/strings/corrections.xml +++ b/resources-fre/strings/corrections.xml @@ -19,7 +19,5 @@ --> - Activé - Clic Appels API trop rapide. Veuillez signaler cette erreur avec les détails de l'appareil. diff --git a/resources-fre/strings/strings.xml b/resources-fre/strings/strings.xml index 6f6281c..3725782 100644 --- a/resources-fre/strings/strings.xml +++ b/resources-fre/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - Activé - Désactivé - Clic - Menu Bien sûr? Confirmé Pas de connexion téléphonique @@ -39,6 +35,7 @@ La requête HTTP a renvoyé un code d'erreur = L'URL de l'API ne doit pas comporter de barre oblique finale '/' Échec de l'enregistrement du Webhook + Échec du rendu du modèle Disponible Vérification... Indisponible @@ -52,17 +49,21 @@ URL de l’API HomeAssistant. URL de configuration des menus (JSON). L'application doit-elle mettre en cache la configuration du menu ? - L'application doit-elle vider le cache existant au prochain démarrage ? - Délai d'attente en secondes. Quittez l'application après cette période d'inactivité pour économiser la batterie de l'appareil. - Passé ce délai (en secondes), une boîte de dialogue de confirmation d'une action se ferme automatiquement et l'action est annulée. Réglez sur 0 pour désactiver le délai d'attente. - Style des éléments de menu. - Icônes - Texte supplémentaire + L'application devrait-elle vider le cache existant la prochaine fois + commencé? + Délai d'expiration en secondes. Quittez l'application après cette période de + inactivité pour économiser la batterie de l'appareil. + Passé ce délai (en secondes), une boîte de dialogue de confirmation pour un + l'action est automatiquement clôturée et l'action est annulée. Réglez sur 0 pour désactiver le délai d'attente. Alignement du menu à gauche (désactivé) ou à droite (activé). De gauche à droite De droite à gauche - (Widget uniquement) Démarrez automatiquement l'application à partir du widget sans attendre un clic. - Activez le service d'arrière-plan pour envoyer le niveau de batterie de l'horloge à Home Assistant. - Fréquence de rafraîchissement (en minutes) à laquelle le service en arrière-plan doit répéter l'envoi du niveau de la batterie. - (Lecture seule) L'ID Webhook créé par la montre pour les mises à jour du niveau de batterie. Vous pourriez en avoir besoin pour le débogage. + (Widget uniquement) Démarrez automatiquement l'application à partir du widget + sans attendre un robinet. + Activer le service d'arrière-plan pour envoyer la batterie de l'horloge + niveau à Home Assistant. + Le taux de rafraîchissement (en minutes) auquel l'arrière-plan + Le service doit répéter l'envoi du niveau de la batterie. + (Lecture seule) L'ID Webhook créé par la montre pour les mises à jour du niveau de batterie. + Vous pourriez en avoir besoin pour le débogage. diff --git a/resources-gre/strings/strings.xml b/resources-gre/strings/strings.xml index 40b824e..e559d3b 100644 --- a/resources-gre/strings/strings.xml +++ b/resources-gre/strings/strings.xml @@ -20,25 +20,22 @@ HomeAssistant - Επί - Μακριά από - Παρακέντηση - Μενού Σίγουρος? Επιβεβαιωμένος Δεν υπάρχει σύνδεση τηλεφώνου Δεν υπάρχει σύνδεση στο διαδίκτυο Καμία απάντηση, ελέγξτε τη σύνδεση στο Διαδίκτυο Δεν υπάρχει κλειδί API στις ρυθμίσεις της εφαρμογής - Δεν υπάρχει διεύθυνση URL API στις ρυθμίσεις της εφαρμογής + Δεν υπάρχει URL API στις ρυθμίσεις της εφαρμογής Δεν υπάρχει διεύθυνση URL διαμόρφωσης στις ρυθμίσεις της εφαρμογής Κλήσεις API πολύ γρήγορες. Παρακαλώ επιβραδύνετε τα αιτήματά σας. Η διεύθυνση URL δεν βρέθηκε. Πιθανό σφάλμα διεύθυνσης URL API στις ρυθμίσεις. - Η διεύθυνση URL δεν βρέθηκε. Πιθανό σφάλμα διαμόρφωσης URL στις ρυθμίσεις. + Η διεύθυνση URL δεν βρέθηκε. Πιθανό σφάλμα διεύθυνσης URL διαμόρφωσης στις ρυθμίσεις. Δεν επιστράφηκε JSON από αίτημα HTTP. Το αίτημα HTTP επέστρεψε κωδικό σφάλματος = - Η διεύθυνση URL του API δεν πρέπει να έχει κάθετο "/" + Η διεύθυνση URL του API δεν πρέπει να έχει τελική κάθετο "/" Η εγγραφή του Webhook απέτυχε + Απέτυχε η απόδοση του προτύπου Διαθέσιμος Ελεγχος... Μη διαθέσιμο @@ -52,17 +49,21 @@ URL για το HomeAssistant API. URL για τη διαμόρφωση μενού (JSON). Πρέπει η εφαρμογή να αποθηκεύσει προσωρινά τη διαμόρφωση του μενού; - Πρέπει η εφαρμογή να διαγράψει την υπάρχουσα προσωρινή μνήμη την επόμενη φορά που θα ξεκινήσει; - Timeout σε δευτερόλεπτα. Κλείστε την εφαρμογή μετά από αυτήν την περίοδο αδράνειας για να εξοικονομήσετε την μπαταρία της συσκευής. - Μετά από αυτό το διάστημα (σε δευτερόλεπτα), ένα παράθυρο διαλόγου επιβεβαίωσης για μια ενέργεια κλείνει αυτόματα και η ενέργεια ακυρώνεται. Ορίστε στο 0 για να απενεργοποιήσετε το χρονικό όριο. - Στυλ στοιχείου μενού. - εικονίδια - Πρόσθετο Κείμενο + Εάν η εφαρμογή εκκαθαρίσει την υπάρχουσα κρυφή μνήμη την επόμενη φορά + ξεκίνησε; + Timeout σε δευτερόλεπτα. Έξοδος από την εφαρμογή μετά από αυτήν την περίοδο του + αδράνεια για εξοικονόμηση μπαταρίας της συσκευής. + Μετά από αυτό το διάστημα (σε δευτερόλεπτα), ένα παράθυρο διαλόγου επιβεβαίωσης για ένα + η ενέργεια κλείνει αυτόματα και η ενέργεια ακυρώνεται. Ορίστε στο 0 για να απενεργοποιήσετε το χρονικό όριο. Αριστερά (απενεργοποίηση) ή Δεξιά (ενεργό) Ευθυγράμμιση μενού. Από αριστερά προς τα δεξιά Δεξιά προς τα αριστερά - (Μόνο widget) Αυτόματη εκκίνηση της εφαρμογής από το widget χωρίς να περιμένετε ένα πάτημα. - Ενεργοποιήστε την υπηρεσία παρασκηνίου για αποστολή της στάθμης της μπαταρίας του ρολογιού στο Home Assistant. - Ο ρυθμός ανανέωσης (σε λεπτά) με τον οποίο η υπηρεσία παρασκηνίου θα πρέπει να επαναλάβει στέλνοντας το επίπεδο της μπαταρίας. - (Μόνο για ανάγνωση) Το αναγνωριστικό Webhook που δημιουργήθηκε από το ρολόι για ενημερώσεις επιπέδου μπαταρίας. Μπορεί να χρειαστείτε αυτό για τον εντοπισμό σφαλμάτων. + (Μόνο γραφικό στοιχείο) Αυτόματη εκκίνηση της εφαρμογής από το γραφικό στοιχείο + χωρίς να περιμένεις ένα πάτημα. + Ενεργοποιήστε την υπηρεσία παρασκηνίου για αποστολή της μπαταρίας του ρολογιού + επίπεδο στο Home Assistant. + Ο ρυθμός ανανέωσης (σε λεπτά) με τον οποίο το φόντο + Το σέρβις θα πρέπει να επαναλάβει την αποστολή της στάθμης της μπαταρίας. + (Μόνο για ανάγνωση) Το αναγνωριστικό Webhook που δημιουργήθηκε από το ρολόι για ενημερώσεις επιπέδου μπαταρίας. + Μπορεί να το χρειάζεστε για τον εντοπισμό σφαλμάτων. diff --git a/resources-heb/strings/strings.xml b/resources-heb/strings/strings.xml index 1cbc880..9aa8764 100644 --- a/resources-heb/strings/strings.xml +++ b/resources-heb/strings/strings.xml @@ -20,18 +20,14 @@ HomeAssistant - עַל - כבוי - בֶּרֶז - תַפרִיט בטוח? מְאוּשָׁר אין חיבור לטלפון אין חיבור אינטרנט - אין תגובה, בדוק את חיבור האינטרנט + אין תגובה, בדוק חיבור לאינטרנט אין מפתח API בהגדרות האפליקציה אין כתובת API בהגדרות האפליקציה - אין כתובת URL לתצורה בהגדרות האפליקציה + אין כתובת אתר תצורה בהגדרות האפליקציה קריאות API מהירות מדי. נא להאט את הבקשות שלך. כתובת האתר לא נמצאה. שגיאה פוטנציאלית של כתובת ה-API בהגדרות. כתובת האתר לא נמצאה. שגיאת כתובת אתר פוטנציאלית של תצורה בהגדרות. @@ -39,6 +35,7 @@ בקשת HTTP החזירה קוד שגיאה = כתובת ה-API לא חייבת לכלול לוכסן אחורי '/' רישום Webhook נכשל + עיבוד התבנית נכשל זמין בודק... אינו זמין @@ -50,19 +47,23 @@ מפתח API עבור HomeAssistant. אסימון גישה ארוך-חיים. כתובת URL עבור HomeAssistant API. - כתובת URL עבור תצורת תפריט (JSON). + כתובת URL לתצורת תפריט (JSON). האם האפליקציה צריכה לשמור את תצורת התפריט במטמון? - האם היישום צריך לנקות את המטמון הקיים בפעם הבאה שהוא יופעל? - פסק זמן בשניות. צא מהאפליקציה לאחר תקופה זו של חוסר פעילות כדי לחסוך בסוללת המכשיר. - לאחר זמן זה (בשניות), תיבת דו-שיח לאישור פעולה נסגרת אוטומטית והפעולה מבוטלת. הגדר ל-0 כדי להשבית את הזמן הקצוב. - סגנון פריט בתפריט. - אייקונים - טקסט נוסף + האם היישום צריך לנקות את המטמון הקיים בפעם הבאה שהוא + התחיל? + פסק זמן בשניות. צא מהאפליקציה לאחר תקופה זו של + חוסר פעילות כדי לחסוך בסוללת המכשיר. + לאחר זמן זה (בשניות), תיבת דו-שיח אישור עבור + הפעולה נסגרת אוטומטית והפעולה מבוטלת. הגדר ל-0 כדי לבטל את הזמן הקצוב. יישור תפריט שמאלה (כבוי) או ימינה (מופעל). משמאל לימין מימין לשמאל - (יישומון בלבד) הפעל אוטומטית את האפליקציה מהווידג'ט מבלי לחכות להקשה. - אפשר את שירות הרקע כדי לשלוח את רמת הסוללה של השעון אל Home Assistant. - קצב הרענון (בדקות) שבו שירות הרקע אמור לחזור על שליחת רמת הסוללה. - (לקריאה בלבד) מזהה ה-Webhook שנוצר על ידי השעון עבור עדכוני רמת הסוללה. ייתכן שתדרוש את זה בשביל איתור באגים. + (יישומון בלבד) הפעל אוטומטית את האפליקציה מהווידג'ט + בלי לחכות לברז. + אפשר את שירות הרקע כדי לשלוח את סוללת השעון + רמה ל-Home Assistant. + קצב הרענון (בדקות) שבו הרקע + השירות צריך לחזור על שליחת רמת הסוללה. + (לקריאה בלבד) מזהה ה-Webhook שנוצר על ידי השעון עבור עדכוני רמת הסוללה. + ייתכן שתדרוש זאת לצורך איתור באגים. diff --git a/resources-hrv/strings/strings.xml b/resources-hrv/strings/strings.xml index cdc0eea..795a7f8 100644 --- a/resources-hrv/strings/strings.xml +++ b/resources-hrv/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - Na - Isključeno - Dodirnite - Jelovnik Naravno? Potvrđeno Nema telefonske veze @@ -39,6 +35,7 @@ HTTP zahtjev vratio je kod greške = API URL ne smije imati kosu crtu na kraju '/' Registracija Webhooka nije uspjela + Nije uspjelo generiranje predloška Dostupno Provjera... Nedostupan @@ -52,17 +49,21 @@ URL za HomeAssistant API. URL za konfiguraciju izbornika (JSON). Treba li aplikacija spremiti konfiguraciju izbornika u predmemoriju? - Treba li aplikacija prilikom sljedećeg pokretanja očistiti postojeću predmemoriju? - Istek u sekundama. Izađite iz aplikacije nakon ovog razdoblja neaktivnosti kako biste uštedjeli bateriju uređaja. - Nakon tog vremena (u sekundama), dijaloški okvir za potvrdu radnje automatski se zatvara i radnja se poništava. Postavite na 0 da onemogućite vremensko ograničenje. - Stil stavke izbornika. - Ikone - Dodatni tekst + Treba li aplikacija sljedeći put izbrisati postojeću predmemoriju + počeo? + Istek u sekundama. Izađite iz aplikacije nakon tog razdoblja od + neaktivnost radi uštede baterije uređaja. + Nakon tog vremena (u sekundama), dijaloški okvir potvrde za an + radnja se automatski zatvara i akcija se poništava. Postavite na 0 da onemogućite vremensko ograničenje. Lijevo (isključeno) ili desno (uključeno) poravnanje izbornika. S lijeva nadesno S desna na lijevo - (Samo widget) Automatski pokrenite aplikaciju iz widgeta bez čekanja na dodir. - Omogućite pozadinsku uslugu za slanje razine baterije sata kućnom pomoćniku. - Brzina osvježavanja (u minutama) pri kojoj bi pozadinska usluga trebala ponavljati slanje razine baterije. - (Samo za čitanje) Webhook ID koji je izradio sat za ažuriranje razine baterije. Ovo vam može trebati za otklanjanje pogrešaka. + (Samo widget) Automatski pokrenite aplikaciju iz widgeta + bez čekanja na slavinu. + Omogućite pozadinsku uslugu za slanje baterije sata + razinu do kućnog pomoćnika. + Brzina osvježavanja (u minutama) pri kojoj pozadina + servis bi trebao ponoviti slanje razine baterije. + (Samo za čitanje) Webhook ID koji je izradio sat za ažuriranje razine baterije. + Ovo vam može trebati za otklanjanje pogrešaka. diff --git a/resources-hun/strings/strings.xml b/resources-hun/strings/strings.xml index bed3191..a260a5c 100644 --- a/resources-hun/strings/strings.xml +++ b/resources-hun/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - Tovább - Ki - Koppintson a - Menü Biztos? Megerősített Nincs telefonkapcsolat @@ -39,6 +35,7 @@ A HTTP-kérés = hibakódot adott vissza Az API URL-ben nem lehet perjel a „/” Nem sikerült regisztrálni a Webhook-ot + Nem sikerült megjeleníteni a sablont Elérhető Ellenőrzés... Nem érhető el @@ -52,17 +49,21 @@ A HomeAssistant API URL-je. URL a menükonfigurációhoz (JSON). Az alkalmazásnak gyorsítótárba kell helyeznie a menükonfigurációt? - Törölje az alkalmazásnak a meglévő gyorsítótárat a következő indításakor? - Időtúllépés másodpercben. Az eszköz akkumulátorának kímélése érdekében lépjen ki az alkalmazásból ezen inaktivitási időszak után. - Ezen idő letelte után (másodpercben) a művelet megerősítő párbeszédablakja automatikusan bezárul, és a művelet megszakad. Állítsa 0-ra az időtúllépés letiltásához. - Menüelem stílusa. - Ikonok - Kiegészítő szöveg + Ha az alkalmazás legközelebb törli a meglévő gyorsítótárat + elkezdődött? + Időtúllépés másodpercben. Lépjen ki az alkalmazásból ezen időszak után + tétlenség, hogy kímélje a készülék akkumulátorát. + Ezen idő elteltével (másodpercben), egy megerősítő párbeszédpanel egy + A művelet automatikusan bezárul, és a művelet megszakad. Állítsa 0-ra az időtúllépés letiltásához. Balra (ki) vagy Jobbra (be) Menüigazítás. Balról jobbra Jobbról balra - (Csak widget) Az alkalmazás automatikus indítása a widgetről anélkül, hogy egy érintésre várna. - Engedélyezze a háttérszolgáltatást, hogy elküldje az óra töltöttségi szintjét a Home Assistantnek. - Az a frissítési gyakoriság (percben), amelynél a háttérszolgáltatásnak meg kell ismételnie az akkumulátor töltöttségi szintjének küldését. - (Csak olvasható) Az óra által az akkumulátor töltöttségi szintjének frissítéséhez létrehozott Webhook azonosító. Erre szükség lehet a hibakereséshez. + (Csak widget) Az alkalmazás automatikus indítása a widgetről + csapásra várva. + Engedélyezze a háttérszolgáltatást az óra akkumulátorának küldéséhez + szinten az Otthoni asszisztensre. + Az a frissítési gyakoriság (percben), amelynél a háttér + a szerviznek meg kell ismételnie az akkumulátor töltöttségi szintjének küldését. + (Csak olvasható) Az óra által az akkumulátor töltöttségi szintjének frissítéséhez létrehozott Webhook azonosító. + Erre szükség lehet a hibakereséshez. diff --git a/resources-ind/strings/strings.xml b/resources-ind/strings/strings.xml index 07a998b..e3b2720 100644 --- a/resources-ind/strings/strings.xml +++ b/resources-ind/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - Pada - Mati - Mengetuk - Menu Tentu? Dikonfirmasi Tidak ada koneksi Telepon @@ -31,7 +27,7 @@ Tidak Ada Respon, periksa koneksi Internet Tidak ada kunci API di pengaturan aplikasi Tidak ada URL API di pengaturan aplikasi - Tidak ada URL konfigurasi di pengaturan aplikasi + Tidak ada URL konfigurasi dalam pengaturan aplikasi Panggilan API terlalu cepat. Harap memperlambat permintaan Anda. URL tidak ditemukan. Potensi kesalahan URL API dalam pengaturan. URL tidak ditemukan. Potensi kesalahan URL Konfigurasi dalam pengaturan. @@ -39,6 +35,7 @@ Permintaan HTTP mengembalikan kode kesalahan = URL API tidak boleh memiliki garis miring '/' Gagal mendaftarkan Webhook + Gagal merender template Tersedia Memeriksa... Tidak tersedia @@ -52,17 +49,21 @@ URL untuk API HomeAssistant. URL untuk konfigurasi menu (JSON). Haruskah aplikasi menyimpan konfigurasi menu dalam cache? - Haruskah aplikasi menghapus cache yang ada saat dijalankan lagi? - Batas waktu dalam hitungan detik. Keluar dari aplikasi setelah periode tidak aktif ini untuk menghemat baterai perangkat. - Setelah waktu ini (dalam detik), dialog konfirmasi untuk suatu tindakan secara otomatis ditutup dan tindakan tersebut dibatalkan. Setel ke 0 untuk menonaktifkan batas waktu. - Gaya item menu. - Ikon - Teks Tambahan + Sebaiknya aplikasi menghapus cache yang ada di lain waktu + dimulai? + Batas waktu dalam hitungan detik. Keluar dari aplikasi setelah periode ini + ketidakaktifan untuk menghemat baterai perangkat. + Setelah waktu ini (dalam detik), dialog konfirmasi untuk + tindakan secara otomatis ditutup dan tindakan dibatalkan. Setel ke 0 untuk menonaktifkan batas waktu. Penyelarasan Menu Kiri (mati) atau Kanan (hidup). Kiri ke kanan Kanan ke kiri - (Khusus widget) Secara otomatis memulai aplikasi dari widget tanpa menunggu ketukan. - Aktifkan layanan latar belakang untuk mengirim level baterai jam ke Home Assistant. - Kecepatan refresh (dalam menit) saat layanan latar belakang harus mengulangi pengiriman level baterai. - (Hanya baca) ID Webhook yang dibuat oleh jam tangan untuk pembaruan level baterai. Anda mungkin memerlukan ini untuk debugging. + (Khusus widget) Secara otomatis memulai aplikasi dari widget + tanpa menunggu ketukan. + Aktifkan layanan latar belakang untuk mengirim baterai jam + tingkat ke Asisten Rumah. + Kecepatan refresh (dalam menit) pada latar belakang + layanan harus mengulangi pengiriman level baterai. + (Hanya baca) ID Webhook yang dibuat oleh jam tangan untuk pembaruan level baterai. + Anda mungkin memerlukan ini untuk debugging. diff --git a/resources-ita/strings/strings.xml b/resources-ita/strings/strings.xml index fe9db61..9558162 100644 --- a/resources-ita/strings/strings.xml +++ b/resources-ita/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - SU - Spento - Rubinetto - Menù Sicuro? Confermato Nessuna connessione telefonica @@ -39,6 +35,7 @@ La richiesta HTTP ha restituito il codice di errore = L'URL dell'API non deve avere una barra finale "/" Impossibile registrare il Webhook + Impossibile eseguire il rendering del modello Disponibile Controllo... Non disponibile @@ -52,17 +49,21 @@ URL per l'API HomeAssistant. URL per la configurazione del menu (JSON). L'applicazione dovrebbe memorizzare nella cache la configurazione del menu? - L'applicazione dovrebbe svuotare la cache esistente al successivo avvio? - Timeout in secondi. Uscire dall'applicazione dopo questo periodo di inattività per risparmiare la batteria del dispositivo. - Trascorso questo tempo (in secondi), una finestra di dialogo di conferma per un'azione viene chiusa automaticamente e l'azione viene annullata. Impostare su 0 per disabilitare il timeout. - Stile della voce di menu. - Icone - Testo aggiuntivo + L'applicazione dovrebbe cancellare la cache esistente la prossima volta + iniziato? + Timeout in secondi. Uscire dall'applicazione dopo questo periodo di + inattività per risparmiare la batteria del dispositivo. + Trascorso questo tempo (in secondi), verrà visualizzata una finestra di dialogo di conferma per un + l'azione viene chiusa automaticamente e annullata. Impostare su 0 per disabilitare il timeout. Allineamento del menu a sinistra (spento) o a destra (acceso). Da sinistra a destra Da destra a sinistra - (Solo widget) Avvia automaticamente l'applicazione dal widget senza attendere un tocco. - Abilita il servizio in background per inviare il livello della batteria dell'orologio a Home Assistant. - La frequenza di aggiornamento (in minuti) alla quale il servizio in background deve ripetere l'invio del livello della batteria. - (Sola lettura) L'ID webhook creato dall'orologio per gli aggiornamenti del livello della batteria. Potrebbe essere necessario per il debug. + (Solo widget) Avvia automaticamente l'applicazione dal widget + senza aspettare un tocco. + Abilita il servizio in background per inviare la batteria dell'orologio + livello su Home Assistant. + La frequenza di aggiornamento (in minuti) alla quale viene visualizzato lo sfondo + il servizio dovrebbe ripetere l'invio del livello della batteria. + (Sola lettura) L'ID webhook creato dall'orologio per gli aggiornamenti del livello della batteria. + Potrebbe essere necessario per il debug. diff --git a/resources-jpn/strings/strings.xml b/resources-jpn/strings/strings.xml index 9c53a6e..c5d726a 100644 --- a/resources-jpn/strings/strings.xml +++ b/resources-jpn/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - の上 - オフ - タップ - メニュー もちろん? 確認済み 電話が接続されていません @@ -39,6 +35,7 @@ HTTP リクエストがエラー コードを返しました = API URL の末尾にスラッシュ「/」を含めることはできません Webhookの登録に失敗しました + テンプレートのレンダリングに失敗しました 利用可能 チェック中... 利用不可 @@ -52,17 +49,21 @@ ホームアシスタント API の URL。 メニュー構成の URL (JSON)。 アプリケーションはメニュー構成をキャッシュする必要がありますか? - アプリケーションは次回起動時に既存のキャッシュをクリアする必要がありますか? - 秒単位のタイムアウト。デバイスのバッテリーを節約するために、この期間非アクティブになった後はアプリケーションを終了してください。 - この時間 (秒単位) が経過すると、アクションの確認ダイアログが自動的に閉じられ、アクションがキャンセルされます。タイムアウトを無効にするには、0 に設定します。 - メニュー項目のスタイル。 - アイコン - 追加テキスト + アプリケーションは次回キャッシュを削除する必要がありますか? + 始めましたか? + 秒単位のタイムアウト。この期間が経過したらアプリケーションを終了してください + デバイスのバッテリーを節約するために非アクティブにします。 + この時間 (秒単位) が経過すると、確認ダイアログが表示されます。 + アクションは自動的に閉じられ、アクションはキャンセルされます。タイムアウトを無効にするには、0 に設定します。 左 (オフ) または右 (オン) メニューの配置。 左から右へ 右から左に - (ウィジェットのみ)タップを待たずにウィジェットからアプリを自動起動します。 - バックグラウンド サービスを有効にして、時計のバッテリー レベルをホーム アシスタントに送信します。 - バックグラウンド サービスがバッテリー レベルの送信を繰り返すリフレッシュ レート (分単位)。 - (読み取り専用) バッテリー レベルの更新のためにウォッチによって作成された Webhook ID。デバッグのためにこれが必要になる場合があります。 + (ウィジェットのみ) ウィジェットからアプリを自動起動します + タップを待たずに。 + 時計のバッテリーを送信するバックグラウンド サービスを有効にする + ホームアシスタントレベル。 + バックグラウンドのリフレッシュ レート (分単位)。 + サービスはバッテリー残量の送信を繰り返す必要があります。 + (読み取り専用) バッテリー レベルの更新のためにウォッチによって作成された Webhook ID。 + デバッグのためにこれが必要になる場合があります。 diff --git a/resources-kor/strings/strings.xml b/resources-kor/strings/strings.xml index c4d8e5e..016b279 100644 --- a/resources-kor/strings/strings.xml +++ b/resources-kor/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - ~에 - 끄다 - 수도꼭지 - 메뉴 확신하는? 확인됨 전화 연결 없음 @@ -39,6 +35,7 @@ HTTP 요청이 오류 코드를 반환했습니다 = API URL에는 후행 슬래시 '/'가 없어야 합니다. 웹훅 등록 실패 + 템플릿을 렌더링하지 못했습니다. 사용 가능 확인 중... 없는 @@ -52,17 +49,21 @@ HomeAssistant API의 URL입니다. 메뉴 구성을 위한 URL(JSON)입니다. 애플리케이션이 메뉴 구성을 캐시해야 합니까? - 애플리케이션이 다음에 시작될 때 기존 캐시를 지워야 합니까? - 시간 초과(초)입니다. 장치 배터리를 절약하려면 이 비활성 기간 후에 애플리케이션을 종료하십시오. - 이 시간(초)이 지나면 작업에 대한 확인 대화 상자가 자동으로 닫히고 작업이 취소됩니다. 시간 초과를 비활성화하려면 0으로 설정합니다. - 메뉴 항목 스타일. - 아이콘 - 추가 텍스트 + 다음 번에 애플리케이션이 기존 캐시를 지워야 할까요? + 시작됐나요? + 시간 초과(초)입니다. 이 기간이 지나면 응용 프로그램을 종료하십시오. + 장치 배터리를 절약하기 위해 비활성 상태입니다. + 이 시간(초)이 지나면 확인 대화 상자가 나타납니다. + 작업이 자동으로 닫히고 작업이 취소됩니다. 시간 초과를 비활성화하려면 0으로 설정합니다. 왼쪽(끄기) 또는 오른쪽(켜기) 메뉴 정렬. 왼쪽에서 오른쪽으로 오른쪽에서 왼쪽으로 - (위젯만 해당) 탭을 기다리지 않고 위젯에서 애플리케이션을 자동으로 시작합니다. - 시계 배터리 수준을 홈어시스턴트로 보내려면 백그라운드 서비스를 활성화하세요. - 백그라운드 서비스가 배터리 수준 전송을 반복해야 하는 새로 고침 빈도(분)입니다. - (읽기 전용) 배터리 잔량 업데이트를 위해 시계에서 생성된 웹훅 ID입니다. 디버깅을 위해 이 정보가 필요할 수 있습니다. + (위젯만 해당) 위젯에서 자동으로 애플리케이션 시작 + 탭을 기다리지 않고. + 시계 배터리를 보내려면 백그라운드 서비스를 활성화하세요. + 홈어시스턴트 수준. + 배경이 재생되는 새로 고침 빈도(분)입니다. + 서비스는 배터리 잔량 전송을 반복해야 합니다. + (읽기 전용) 배터리 잔량 업데이트를 위해 시계에서 생성된 웹훅 ID입니다. + 디버깅을 위해 이 정보가 필요할 수 있습니다. diff --git a/resources-lav/strings/strings.xml b/resources-lav/strings/strings.xml index 81caf11..d92e4ee 100644 --- a/resources-lav/strings/strings.xml +++ b/resources-lav/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - Ieslēgts - Izslēgts - Krāns - Izvēlne Protams? Apstiprināts Nav tālruņa savienojuma @@ -39,6 +35,7 @@ HTTP pieprasījums atgrieza kļūdas kodu = API URL beigās nedrīkst būt slīpsvītra “/” Neizdevās reģistrēt Web aizķeri + Neizdevās renderēt veidni Pieejams Notiek pārbaude... Nav pieejams @@ -52,17 +49,21 @@ HomeAssistant API URL. URL izvēlnes konfigurācijai (JSON). Vai lietojumprogrammai vajadzētu saglabāt izvēlnes konfigurāciju kešatmiņā? - Vai lietojumprogrammai nākamajā startēšanas reizē vajadzētu notīrīt esošo kešatmiņu? - Taimauts sekundēs. Pēc šī neaktivitātes perioda izejiet no lietojumprogrammas, lai taupītu ierīces akumulatoru. - Pēc šī laika (sekundēs) tiek automātiski aizvērts darbības apstiprinājuma dialoglodziņš un darbība tiek atcelta. Iestatiet uz 0, lai atspējotu taimautu. - Izvēlnes vienuma stils. - Ikonas - Papildu teksts + Vai lietojumprogrammai nākamreiz vajadzētu notīrīt esošo kešatmiņu + sākās? + Taimauts sekundēs. Izejiet no lietojumprogrammas pēc šī perioda + neaktivitāte, lai taupītu ierīces akumulatoru. + Pēc šī laika (sekundēs) tiek parādīts apstiprinājuma dialoglodziņš + darbība tiek automātiski aizvērta un darbība tiek atcelta. Iestatiet uz 0, lai atspējotu taimautu. Kreisā (izslēgta) vai labā (ieslēgta) izvēlnes līdzināšana. No kreisās uz labo No labās uz kreiso - (tikai logrīkam) Automātiski startējiet lietojumprogrammu no logrīka, negaidot pieskārienu. - Iespējojiet fona pakalpojumu, lai uz Home Assistant nosūtītu pulksteņa akumulatora uzlādes līmeni. - Atsvaidzes intensitāte (minūtēs), ar kādu fona pakalpojumam ir jāatkārto akumulatora līmeņa nosūtīšana. - (Tikai lasāms) Web aizķeres ID, ko pulkstenis izveidojis akumulatora uzlādes līmeņa atjauninājumiem. Tas var būt nepieciešams atkļūdošanai. + (tikai logrīkam) Automātiski startējiet lietojumprogrammu no logrīka + negaidot pieskārienu. + Iespējojiet fona pakalpojumu, lai nosūtītu pulksteņa akumulatoru + Mājas palīga līmenī. + Atsvaidzes intensitāte (minūtēs), ar kādu fons + pakalpojumam ir jāatkārto akumulatora līmeņa nosūtīšana. + (Tikai lasāms) Web aizķeres ID, ko pulkstenis izveidojis akumulatora uzlādes līmeņa atjauninājumiem. + Tas var būt nepieciešams atkļūdošanai. diff --git a/resources-lit/strings/strings.xml b/resources-lit/strings/strings.xml index f21705d..52ee45c 100644 --- a/resources-lit/strings/strings.xml +++ b/resources-lit/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - Įjungta - Išjungta - Bakstelėkite - Meniu Žinoma? Patvirtinta Nėra telefono ryšio @@ -39,6 +35,7 @@ HTTP užklausa grąžino klaidos kodą = API URL pabaigoje negali būti pasvirojo brūkšnio „/“ Nepavyko užregistruoti Webhook + Nepavyko pateikti šablono Yra Tikrinama... Nepasiekiamas @@ -52,17 +49,21 @@ „HomeAssistant“ API URL. Meniu konfigūravimo URL (JSON). Ar programa turėtų išsaugoti meniu konfigūraciją talpykloje? - Ar programa turėtų išvalyti esamą talpyklą kitą kartą paleidus? - Skirtasis laikas sekundėmis. Po šio neveiklumo laikotarpio išeikite iš programos, kad taupytumėte įrenginio akumuliatorių. - Praėjus šiam laikui (sekundėmis), veiksmo patvirtinimo dialogo langas automatiškai uždaromas ir veiksmas atšaukiamas. Nustatykite 0, kad išjungtumėte skirtąjį laiką. - Meniu elemento stilius. - Piktogramos - Papildomas tekstas + Ar programa kitą kartą išvalys esamą talpyklą + prasidėjo? + Skirtasis laikas sekundėmis. Išeikite iš programos pasibaigus šiam laikotarpiui + neaktyvumas, kad būtų taupoma įrenginio baterija. + Po šio laiko (sekundėmis) atsiras patvirtinimo dialogo langas + veiksmas automatiškai uždaromas ir veiksmas atšaukiamas. Nustatykite 0, kad išjungtumėte skirtąjį laiką. Kairysis (išjungtas) arba dešinysis (įjungtas) meniu lygiavimas. Iš kairės į dešinę Iš dešinės į kairę - (Tik valdiklis) Automatiškai paleiskite programą iš valdiklio, nelaukdami palietimo. - Įgalinkite foninę paslaugą, kad į „Home Assistant“ būtų išsiųstas laikrodžio akumuliatoriaus lygis. - Atnaujinimo dažnis (minutėmis), kuriuo foninė paslauga turėtų pakartoti baterijos lygio siuntimą. - (Tik skaitoma) „Webhook“ ID, kurį sukūrė laikrodis, norint atnaujinti akumuliatoriaus lygį. Jums gali prireikti derinimo. + (Tik valdiklis) Automatiškai paleiskite programą iš valdiklio + nelaukdamas čiaupo. + Įgalinkite foninę paslaugą, kad išsiųstumėte laikrodžio bateriją + lygiu iki namų asistento. + Fono atnaujinimo dažnis (minutėmis). + paslauga turėtų pakartoti baterijos lygio siuntimą. + (Tik skaitoma) Laikrodžio sukurtas „Webhook“ ID, kad būtų galima atnaujinti akumuliatoriaus lygį. + Jums gali prireikti derinimo. diff --git a/resources-nob/strings/strings.xml b/resources-nob/strings/strings.xml index 96b014e..fb9bbbb 100644 --- a/resources-nob/strings/strings.xml +++ b/resources-nob/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - - Av - Trykk på - Meny Sikker? Bekreftet Ingen telefonforbindelse @@ -39,6 +35,7 @@ HTTP-forespørsel returnerte feilkode = API URL må ikke ha en etterfølgende skråstrek '/' Kunne ikke registrere Webhook + Kunne ikke gjengi malen Tilgjengelig Sjekker... Utilgjengelig @@ -52,17 +49,21 @@ URL for HomeAssistant API. URL for menykonfigurasjon (JSON). Skal applikasjonen bufre menykonfigurasjonen? - Bør applikasjonen tømme den eksisterende cachen neste gang den startes? - Tidsavbrudd i sekunder. Avslutt applikasjonen etter denne perioden med inaktivitet for å spare enhetens batteri. - Etter denne tiden (i sekunder), lukkes en bekreftelsesdialog for en handling automatisk og handlingen avbrytes. Sett til 0 for å deaktivere tidsavbruddet. - Menyelementstil. - Ikoner - Ekstra tekst + Skal applikasjonen tømme den eksisterende cachen neste gang den er det + startet? + Tidsavbrudd i sekunder. Avslutt søknaden etter denne perioden på + inaktivitet for å spare enhetens batteri. + Etter denne tiden (i sekunder), vises en bekreftelsesdialog for en + handlingen lukkes automatisk og handlingen avbrytes. Sett til 0 for å deaktivere tidsavbruddet. Venstre (av) eller Høyre (på) Menyjustering. Venstre til høyre Høyre til venstre - (Kun widget) Start applikasjonen automatisk fra widgeten uten å vente på et trykk. - Aktiver bakgrunnstjenesten for å sende klokkens batterinivå til Home Assistant. - Oppdateringsfrekvensen (i minutter) som bakgrunnstjenesten skal gjenta sendingen av batterinivået med. - (Skrivebeskyttet) Webhook-IDen opprettet av klokken for oppdateringer av batterinivå. Du kan kreve dette for feilsøking. + (Kun widget) Start applikasjonen automatisk fra widgeten + uten å vente på et trykk. + Aktiver bakgrunnstjenesten for å sende klokkebatteriet + nivå til Home Assistant. + Oppdateringshastigheten (i minutter) som bakgrunnen + tjenesten skal gjenta sendingen av batterinivået. + (Skrivebeskyttet) Webhook-IDen opprettet av klokken for oppdateringer av batterinivå. + Du kan kreve dette for feilsøking. diff --git a/resources-pol/strings/strings.xml b/resources-pol/strings/strings.xml index 7050376..1ac7a9a 100644 --- a/resources-pol/strings/strings.xml +++ b/resources-pol/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - NA - Wyłączony - Uzyskiwać - Menu Jasne? Potwierdzony Brak połączenia telefonicznego @@ -39,6 +35,7 @@ Żądanie HTTP zwróciło kod błędu = Adres URL interfejsu API nie może zawierać końcowego ukośnika „/” Nie udało się zarejestrować webhooka + Nie udało się wyrenderować szablonu Dostępny Kontrola... Niedostępne @@ -52,17 +49,21 @@ Adres URL interfejsu API HomeAssistant. Adres URL konfiguracji menu (JSON). Czy aplikacja powinna buforować konfigurację menu? - Czy aplikacja powinna wyczyścić istniejącą pamięć podręczną przy następnym uruchomieniu? - Limit czasu w sekundach. Wyjdź z aplikacji po tym okresie bezczynności, aby oszczędzać baterię urządzenia. - Po tym czasie (w sekundach) okno dialogowe z potwierdzeniem akcji zamyka się automatycznie, a akcja zostaje anulowana. Ustaw na 0, aby wyłączyć limit czasu. - Styl pozycji menu. - Ikony - Dodatkowy tekst + Czy następnym razem aplikacja powinna wyczyścić istniejącą pamięć podręczną + Rozpoczęty? + Limit czasu w sekundach. Wyjdź z aplikacji po upływie tego okresu + bezczynności, aby oszczędzać baterię urządzenia. + Po tym czasie (w sekundach) pojawi się okno dialogowe z potwierdzeniem + akcja zostaje automatycznie zamknięta, a akcja anulowana. Ustaw na 0, aby wyłączyć limit czasu. Wyrównanie menu do lewej (wyłączone) lub do prawej (włączone). Od lewej do prawej Od prawej do lewej - (Tylko widget) Automatycznie uruchamiaj aplikację z widgetu, bez czekania na dotknięcie. - Włącz usługę działającą w tle, aby wysyłać poziom naładowania baterii zegara do Home Assistant. - Częstotliwość odświeżania (w minutach), z jaką usługa działająca w tle powinna powtarzać wysyłanie informacji o poziomie baterii. - (Tylko do odczytu) Identyfikator webhooka utworzony przez zegarek w celu aktualizacji poziomu baterii. Możesz tego potrzebować do debugowania. + (Tylko widget) Automatycznie uruchamiaj aplikację z poziomu widgetu + bez czekania na dotknięcie. + Włącz usługę w tle, aby wysłać baterię zegara + poziom do Asystenta Domowego. + Częstotliwość odświeżania (w minutach), z jaką tło + serwis powinien powtórzyć wysyłanie poziomu naładowania baterii. + (Tylko do odczytu) Identyfikator webhooka utworzony przez zegarek w celu aktualizacji poziomu baterii. + Możesz tego potrzebować do debugowania. diff --git a/resources-por/strings/strings.xml b/resources-por/strings/strings.xml index 911580f..6a856e7 100644 --- a/resources-por/strings/strings.xml +++ b/resources-por/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - Sobre - Desligado - Tocar - Cardápio Claro? Confirmado Sem conexão telefônica @@ -39,6 +35,7 @@ Solicitação HTTP retornou código de erro = O URL da API não deve ter uma barra final '/' Falha ao registrar o Webhook + Falha ao renderizar o modelo Disponível Verificando... Indisponível @@ -52,17 +49,21 @@ URL para API HomeAssistant. URL para configuração do menu (JSON). O aplicativo deve armazenar em cache a configuração do menu? - O aplicativo deverá limpar o cache existente na próxima vez que for iniciado? - Tempo limite em segundos. Saia do aplicativo após esse período de inatividade para economizar bateria do aparelho. - Após esse tempo (em segundos), uma caixa de diálogo de confirmação de uma ação é automaticamente fechada e a ação é cancelada. Defina como 0 para desativar o tempo limite. - Estilo do item de menu. - Ícones - Texto Adicional + O aplicativo deve limpar o cache existente na próxima vez que for + iniciado? + Tempo limite em segundos. Saia do aplicativo após esse período de + inatividade para economizar bateria do dispositivo. + Após este tempo (em segundos), uma caixa de diálogo de confirmação para um + a ação é automaticamente fechada e a ação é cancelada. Defina como 0 para desativar o tempo limite. Alinhamento do menu à esquerda (desligado) ou à direita (ligado). Da esquerda para direita Direita para esquerda - (Somente widget) Inicie automaticamente o aplicativo a partir do widget sem esperar por um toque. - Ative o serviço em segundo plano para enviar o nível da bateria do relógio ao Home Assistant. - A taxa de atualização (em minutos) na qual o serviço em segundo plano deve repetir o envio do nível da bateria. - (Somente leitura) O ID do Webhook criado pelo relógio para atualizações do nível da bateria. Você pode precisar disso para depuração. + (Somente widget) Iniciar automaticamente o aplicativo a partir do widget + sem esperar por um toque. + Habilite o serviço em segundo plano para enviar a bateria do relógio + nível para Home Assistant. + A taxa de atualização (em minutos) na qual o plano de fundo + o serviço deve repetir o envio do nível da bateria. + (Somente leitura) O ID do Webhook criado pelo relógio para atualizações do nível da bateria. + Você pode precisar disso para depuração. diff --git a/resources-ron/strings/strings.xml b/resources-ron/strings/strings.xml index f192d46..43360e1 100644 --- a/resources-ron/strings/strings.xml +++ b/resources-ron/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - Pe - Oprit - Atingeți - Meniul Sigur? Confirmat Fără conexiune telefonică @@ -35,10 +31,11 @@ Apeluri API prea rapide. Vă rugăm să vă încetiniți solicitările. Adresa URL nu a fost găsită. Potențială eroare URL API în setări. Adresa URL nu a fost găsită. Potențială eroare URL de configurare în setări. - Niciun JSON nu a fost returnat de la solicitarea HTTP. + Nu a fost returnat niciun JSON de la solicitarea HTTP. Solicitarea HTTP a returnat codul de eroare = Adresa URL API nu trebuie să aibă o bară oblică „/” Nu s-a putut înregistra Webhook + Șablonul a eșuat Disponibil Control... Indisponibil @@ -52,17 +49,21 @@ Adresa URL pentru API-ul HomeAssistant. URL pentru configurarea meniului (JSON). Ar trebui aplicația să memoreze în cache configurația meniului? - Ar trebui aplicația să golească memoria cache existentă data viitoare când este pornită? - Timeout în secunde. Ieșiți din aplicație după această perioadă de inactivitate pentru a economisi bateria dispozitivului. - După acest timp (în secunde), un dialog de confirmare pentru o acțiune este închis automat și acțiunea este anulată. Setați la 0 pentru a dezactiva timeout-ul. - Stilul elementului de meniu. - icoane - Text suplimentar + Dacă aplicația șterge memoria cache existentă data viitoare + început? + Timeout în secunde. Ieșiți din aplicație după această perioadă de + inactivitate pentru a economisi bateria dispozitivului. + După acest timp (în secunde), un dialog de confirmare pentru un + acțiunea este închisă automat și acțiunea este anulată. Setați la 0 pentru a dezactiva timeout-ul. Alinierea meniului la stânga (dezactivată) sau la dreapta (activată). De la stânga la dreapta De la dreapta la stanga - (Numai widget) Porniți automat aplicația din widget fără a aștepta o atingere. - Activați serviciul de fundal pentru a trimite nivelul bateriei ceasului către Home Assistant. - Rata de reîmprospătare (în minute) la care serviciul de fundal ar trebui să repete trimiterea nivelului bateriei. - (Numai citire) ID-ul Webhook creat de ceas pentru actualizările nivelului bateriei. Este posibil să aveți nevoie de acest lucru pentru depanare. + (Numai widget) Porniți automat aplicația din widget + fără să aștepte o atingere. + Activați serviciul de fundal pentru a trimite bateria ceasului + nivel la Home Assistant. + Rata de reîmprospătare (în minute) la care fundalul + serviciul ar trebui să repete trimiterea nivelului bateriei. + (Numai citire) ID-ul Webhook creat de ceas pentru actualizările nivelului bateriei. + Este posibil să aveți nevoie de acest lucru pentru depanare. diff --git a/resources-slo/strings/strings.xml b/resources-slo/strings/strings.xml index 1843b94..43ce094 100644 --- a/resources-slo/strings/strings.xml +++ b/resources-slo/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - Zapnuté - Vypnuté - Klepnite - Ponuka Potvrďte Spustený Žiadne telefónne spojenie @@ -39,6 +35,7 @@ Požiadavka HTTP vrátila kód chyby = Adresa URL rozhrania API nesmie obsahovať koncovú lomku „/“ Registrácia Webhooku zlyhala + Vykreslenie šablóny zlyhalo Dostupné Prebieha kontrola... nedostupné @@ -48,21 +45,25 @@ Vybrať... Kľúč API pre HomeAssistant. - Dlhotrvajúci prístupový token. + Prístupový token s dlhou životnosťou. URL pre HomeAssistant API. Webová adresa pre konfiguráciu ponuky (JSON). Má aplikácia uložiť do vyrovnávacej pamäte konfiguráciu ponuky? - Mala by aplikácia pri ďalšom spustení vymazať existujúcu vyrovnávaciu pamäť? - Časový limit v sekundách. Po tejto dobe nečinnosti ukončite aplikáciu, aby ste šetrili batériu zariadenia. - Po tomto čase (v sekundách) sa dialógové okno s potvrdením akcie automaticky zatvorí a akcia sa zruší. Ak chcete časový limit deaktivovať, nastavte na 0. - Štýl položky menu. - ikony - Doplnkový text + Mala by aplikácia nabudúce vymazať existujúcu vyrovnávaciu pamäť + začal? + Časový limit v sekundách. Po uplynutí tejto doby aplikáciu ukončite + nečinnosti, aby sa šetrila batéria zariadenia. + Po uplynutí tejto doby (v sekundách) sa zobrazí dialógové okno s potvrdením + akcia sa automaticky uzavrie a akcia sa zruší. Ak chcete časový limit deaktivovať, nastavte na 0. Zarovnanie ponuky vľavo (vypnuté) alebo vpravo (zapnuté). Zľava doprava Zprava doľava - (Len miniaplikácia) Automaticky spustite aplikáciu z miniaplikácie bez čakania na klepnutie. - Povoľte službu na pozadí na odosielanie úrovne batérie hodín do domáceho asistenta. - Obnovovacia frekvencia (v minútach), pri ktorej by služba na pozadí mala opakovať odosielanie úrovne batérie. - (Iba na čítanie) Webhook ID vytvorený hodinkami na aktualizáciu úrovne batérie. Možno to budete potrebovať na ladenie. + (Len miniaplikácia) Automaticky spustiť aplikáciu z miniaplikácie + bez čakania na klepnutie. + Povoľte službu na pozadí na odoslanie batérie hodín + úroveň na Home Assistant. + Obnovovacia frekvencia (v minútach), pri ktorej je pozadie + servis by mal zopakovať odoslanie úrovne batérie. + (Iba na čítanie) Webhook ID vytvorený hodinkami na aktualizáciu úrovne batérie. + Možno to budete potrebovať na ladenie. diff --git a/resources-slv/strings/strings.xml b/resources-slv/strings/strings.xml index 342ed3e..35f3ab9 100644 --- a/resources-slv/strings/strings.xml +++ b/resources-slv/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - Vklopljeno - Izključeno - Tapnite - meni Seveda? Potrjeno Ni telefonske povezave @@ -39,6 +35,7 @@ Zahteva HTTP je vrnila kodo napake = URL API-ja ne sme imeti končne poševnice '/' Webhooka ni bilo mogoče registrirati + Upodabljanje predloge ni uspelo Na voljo Preverjanje ... Ni na voljo @@ -52,17 +49,21 @@ URL za HomeAssistant API. URL za konfiguracijo menija (JSON). Ali naj aplikacija predpomni konfiguracijo menija? - Ali naj aplikacija ob naslednjem zagonu počisti obstoječi predpomnilnik? - Časovna omejitev v sekundah. Po tem obdobju nedejavnosti zaprite aplikacijo, da prihranite baterijo naprave. - Po tem času (v sekundah) se potrditveno pogovorno okno za dejanje samodejno zapre in dejanje je preklicano. Nastavite na 0, da onemogočite časovno omejitev. - Slog elementa menija. - Ikone - Dodatno besedilo + Ali naj aplikacija naslednjič počisti obstoječi predpomnilnik + začelo? + Časovna omejitev v sekundah. Po tem obdobju zaprite aplikacijo + nedejavnosti, da prihranite baterijo naprave. + Po tem času (v sekundah) se prikaže potrditveno pogovorno okno za an + dejanje se samodejno zapre in dejanje preklicano. Nastavite na 0, da onemogočite časovno omejitev. Leva (izklopljena) ali desna (vklopljena) poravnava menija. Od leve proti desni Od desne proti levi - (Samo pripomoček) Samodejno zaženite aplikacijo iz pripomočka, ne da bi čakali na dotik. - Omogočite storitev v ozadju za pošiljanje ravni baterije ure domačemu pomočniku. - Hitrost osveževanja (v minutah), pri kateri naj storitev v ozadju ponavlja pošiljanje stanja baterije. - (Samo za branje) ID Webhook, ki ga ustvari ura za posodobitve ravni baterije. To boste morda potrebovali za odpravljanje napak. + (Samo pripomoček) Samodejni zagon aplikacije iz pripomočka + brez čakanja na pipo. + Omogočite storitev v ozadju za pošiljanje baterije ure + stopnje do domačega pomočnika. + Hitrost osveževanja (v minutah), pri kateri je ozadje + servis bi moral ponoviti pošiljanje stanja baterije. + (Samo za branje) ID Webhook, ki ga ustvari ura za posodobitve ravni baterije. + To boste morda potrebovali za odpravljanje napak. diff --git a/resources-spa/strings/strings.xml b/resources-spa/strings/strings.xml index 3b83489..a0d985a 100644 --- a/resources-spa/strings/strings.xml +++ b/resources-spa/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - En - Apagado - Grifo - Menú ¿Seguro? Confirmado Sin conexión telefónica @@ -39,6 +35,7 @@ La solicitud HTTP devolvió el código de error = La URL de API no debe tener una barra diagonal '/' No se pudo registrar el webhook + No se pudo renderizar la plantilla Disponible Comprobación... Indisponible @@ -52,17 +49,21 @@ URL para la API de HomeAssistant. URL para configuración del menú (JSON). ¿La aplicación debería almacenar en caché la configuración del menú? - ¿La aplicación debería borrar el caché existente la próxima vez que se inicie? - Tiempo de espera en segundos. Salga de la aplicación después de este período de inactividad para ahorrar batería del dispositivo. - Después de este tiempo (en segundos), se cierra automáticamente un cuadro de diálogo de confirmación de una acción y se cancela la acción. Establezca en 0 para desactivar el tiempo de espera. - Estilo de elemento de menú. - Iconos - Texto adicional + ¿Debería la aplicación borrar el caché existente la próxima vez? + ¿comenzó? + Tiempo de espera en segundos. Salga de la aplicación después de este período de + inactividad para ahorrar batería del dispositivo. + Después de este tiempo (en segundos), aparecerá un cuadro de diálogo de confirmación para una + La acción se cierra automáticamente y la acción se cancela. Establezca en 0 para desactivar el tiempo de espera. Alineación del menú izquierda (desactivada) o derecha (activada). De izquierda a derecha De derecha a izquierda - (Solo widget) Inicia automáticamente la aplicación desde el widget sin esperar un toque. - Habilite el servicio en segundo plano para enviar el nivel de batería del reloj a Home Assistant. - La frecuencia de actualización (en minutos) a la que el servicio en segundo plano debe repetir el envío del nivel de la batería. - (Solo lectura) El ID de Webhook creado por el reloj para actualizaciones del nivel de batería. Es posible que necesite esto para la depuración. + (Solo widget) Inicia automáticamente la aplicación desde el widget + sin esperar un toque. + Habilite el servicio en segundo plano para enviar la batería del reloj. + nivel a Home Assistant. + La frecuencia de actualización (en minutos) a la que se reproduce el fondo. + El servicio debe repetir enviando el nivel de batería. + (Solo lectura) El ID de Webhook creado por el reloj para actualizaciones del nivel de batería. + Es posible que necesite esto para la depuración. diff --git a/resources-swe/strings/strings.xml b/resources-swe/strings/strings.xml index b8f09aa..18f12e3 100644 --- a/resources-swe/strings/strings.xml +++ b/resources-swe/strings/strings.xml @@ -15,15 +15,11 @@ HomeAssistant - - Av - Knacka - Meny Säker? Bekräftad Ingen telefonanslutning @@ -35,10 +31,11 @@ API-anrop för snabba. Vänligen sakta ner dina förfrågningar. Webbadressen hittades inte. Potentiellt API-URL-fel i inställningarna. Webbadressen hittades inte. Potentiellt konfigurations-URL-fel i inställningarna. - Ingen JSON returnerades från HTTP-förfrågan. + Ingen JSON returnerades från HTTP-begäran. HTTP-begäran returnerade felkod = API-URL får inte ha ett snedstreck '/' Det gick inte att registrera Webhook + Det gick inte att rendera mallen Tillgängliga Kontroll... Inte tillgänglig @@ -52,17 +49,21 @@ URL för HomeAssistant API. URL för menykonfiguration (JSON). Ska programmet cachelagra menykonfigurationen? - Ska programmet rensa den befintliga cachen nästa gång den startas? - Timeout i sekunder. Avsluta programmet efter denna period av inaktivitet för att spara enhetens batteri. - Efter denna tid (i sekunder) stängs en bekräftelsedialog för en åtgärd automatiskt och åtgärden avbryts. Ställ in på 0 för att inaktivera timeout. - Menyalternativ stil. - Ikoner - Ytterligare text + Ska applikationen rensa den befintliga cachen nästa gång + satte igång? + Timeout på sekunder. Avsluta ansökan efter denna period av + inaktivitet för att spara enhetens batteri. + Efter denna tid (i sekunder) visas en bekräftelsedialog för en + åtgärden stängs automatiskt och åtgärden avbryts. Ställ in på 0 för att inaktivera timeout. Vänster (av) eller höger (på) menyjustering. Vänster till höger Höger till vänster - (Endast widget) Starta programmet automatiskt från widgeten utan att vänta på ett tryck. - Aktivera bakgrundstjänsten för att skicka klockans batterinivå till Home Assistant. - Uppdateringshastigheten (i minuter) med vilken bakgrundstjänsten ska upprepa sändningen av batterinivån. - (Endast läs) Webhook-ID som skapats av klockan för uppdateringar av batterinivån. Du kan behöva detta för felsökning. + (Endast widget) Starta programmet automatiskt från widgeten + utan att vänta på ett tryck. + Aktivera bakgrundstjänsten för att skicka klockbatteriet + nivå till Home Assistant. + Uppdateringshastigheten (i minuter) med vilken bakgrunden + tjänsten bör upprepa sändningen av batterinivån. + (Endast läs) Webhook-ID som skapats av klockan för uppdateringar av batterinivån. + Du kan behöva detta för felsökning. diff --git a/resources-tha/strings/strings.xml b/resources-tha/strings/strings.xml index d9858dc..4958ffe 100644 --- a/resources-tha/strings/strings.xml +++ b/resources-tha/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - บน - ปิด - แตะ - เมนู แน่นอน? ยืนยันแล้ว ไม่มีการเชื่อมต่อโทรศัพท์ @@ -39,6 +35,7 @@ คำขอ HTTP ส่งคืนรหัสข้อผิดพลาด = URL ของ API ต้องไม่มีเครื่องหมายทับต่อท้าย '/' ลงทะเบียน Webhook.dll ไม่สำเร็จ + ไม่สามารถแสดงเทมเพลตได้ มีอยู่ กำลังตรวจสอบ... ไม่พร้อมใช้งาน @@ -52,17 +49,21 @@ URL สำหรับ HomeAssistant API URL สำหรับการกำหนดค่าเมนู (JSON) แอปพลิเคชันควรแคชการกำหนดค่าเมนูหรือไม่ - แอปพลิเคชันควรล้างแคชที่มีอยู่ในครั้งถัดไปที่เริ่มทำงานหรือไม่ - หมดเวลาเป็นวินาที ออกจากแอปพลิเคชันหลังจากไม่มีการใช้งานเป็นระยะเวลาหนึ่งเพื่อประหยัดแบตเตอรี่ของอุปกรณ์ - หลังจากเวลานี้ (เป็นวินาที) กล่องโต้ตอบการยืนยันสำหรับการดำเนินการจะปิดโดยอัตโนมัติและการดำเนินการจะถูกยกเลิก ตั้งค่าเป็น 0 เพื่อปิดใช้งานการหมดเวลา - รูปแบบรายการเมนู - ไอคอน - ข้อความเพิ่มเติม + หากแอปพลิเคชันล้างแคชที่มีอยู่ในครั้งต่อไป + เริ่ม? + หมดเวลาเป็นวินาที ออกจากแอปพลิเคชันหลังจากช่วงเวลานี้ + ไม่มีการใช้งานเพื่อประหยัดแบตเตอรี่ของอุปกรณ์ + หลังจากเวลานี้ (เป็นวินาที) กล่องโต้ตอบการยืนยันสำหรับ + การดำเนินการจะปิดโดยอัตโนมัติและการดำเนินการจะถูกยกเลิก ตั้งค่าเป็น 0 เพื่อปิดใช้งานการหมดเวลา การจัดตำแหน่งเมนูซ้าย (ปิด) หรือขวา (เปิด) จากซ้ายไปขวา จากขวาไปซ้าย - (วิดเจ็ตเท่านั้น) เริ่มแอปพลิเคชันโดยอัตโนมัติจากวิดเจ็ตโดยไม่ต้องรอการแตะ - เปิดใช้บริการพื้นหลังเพื่อส่งระดับแบตเตอรี่นาฬิกาไปยัง Home Assistant - อัตรารีเฟรช (เป็นนาที) ที่บริการพื้นหลังควรส่งระดับแบตเตอรี่ซ้ำ - (อ่านอย่างเดียว) Webhook ID ที่สร้างโดยนาฬิกาสำหรับการอัปเดตระดับแบตเตอรี่ คุณอาจต้องการสิ่งนี้สำหรับการดีบัก + (วิดเจ็ตเท่านั้น) เริ่มแอปพลิเคชันจากวิดเจ็ตโดยอัตโนมัติ + โดยไม่ต้องรอการแตะ + เปิดใช้งานบริการพื้นหลังเพื่อส่งแบตเตอรี่นาฬิกา + ระดับผู้ช่วยที่บ้าน + อัตรารีเฟรช (เป็นนาที) ที่พื้นหลัง + บริการควรส่งระดับแบตเตอรี่ซ้ำ + (อ่านอย่างเดียว) Webhook ID ที่สร้างโดยนาฬิกาสำหรับการอัปเดตระดับแบตเตอรี่ + คุณอาจต้องการสิ่งนี้สำหรับการดีบัก diff --git a/resources-tur/strings/strings.xml b/resources-tur/strings/strings.xml index 17b6c83..8068690 100644 --- a/resources-tur/strings/strings.xml +++ b/resources-tur/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - Açık - Kapalı - Musluk - Menü Elbette? Onaylanmış Telefon bağlantısı yok @@ -39,6 +35,7 @@ HTTP isteği hata kodunu döndürdü = API URL'sinin sonunda eğik çizgi '/' olmamalıdır Webhook kaydedilemedi + Şablon oluşturulamadı Mevcut Kontrol etme... Kullanım dışı @@ -52,17 +49,21 @@ HomeAssistant API'sinin URL'si. Menü yapılandırmasının URL'si (JSON). Uygulama menü yapılandırmasını önbelleğe almalı mı? - Uygulama bir sonraki başlatılışında mevcut önbelleği temizlemeli mi? - Saniye cinsinden zaman aşımı. Cihazın pilinden tasarruf etmek için bu süre boyunca işlem yapılmadığında uygulamadan çıkın. - Bu sürenin sonunda (saniye olarak), bir eyleme ilişkin onay iletişim kutusu otomatik olarak kapatılır ve eylem iptal edilir. Zaman aşımını devre dışı bırakmak için 0'a ayarlayın. - Menü öğesi stili. - Simgeler - Ek Metin + Uygulamanın bir dahaki sefere mevcut önbelleği temizlemesi gerekir mi? + başladı mı? + Saniye cinsinden zaman aşımı. Bu süre sonunda uygulamadan çıkın + cihazın pilinden tasarruf etmek için hareketsizlik. + Bu sürenin sonunda (saniye cinsinden), bir onay iletişim kutusu + işlem otomatik olarak kapatılır ve işlem iptal edilir. Zaman aşımını devre dışı bırakmak için 0'a ayarlayın. Sol (kapalı) veya Sağ (açık) Menü Hizalaması. Soldan sağa Sağdan sola - (Yalnızca Widget) Dokunmayı beklemeden uygulamayı widget'tan otomatik olarak başlatın. - Saatin pil seviyesini Ev Asistanına göndermek için arka plan hizmetini etkinleştirin. - Arka plan hizmetinin pil seviyesini göndermeyi tekrarlaması gereken yenileme hızı (dakika olarak). - (Salt okunur) Saatin pil seviyesi güncellemeleri için oluşturduğu Webhook Kimliği. Hata ayıklama için buna ihtiyacınız olabilir. + (Yalnızca Widget) Uygulamayı widget'tan otomatik olarak başlat + bir dokunuş beklemeden. + Saat pilini göndermek için arka plan hizmetini etkinleştirin + seviyesini Ev Asistanı'na getirin. + Arka planın yenileme hızı (dakika cinsinden) + Servis pil seviyesini göndermeyi tekrarlamalıdır. + (Salt okunur) Saatin pil seviyesi güncellemeleri için oluşturduğu Webhook Kimliği. + Hata ayıklama için buna ihtiyacınız olabilir. diff --git a/resources-ukr/strings/strings.xml b/resources-ukr/strings/strings.xml index 0a01c7e..c8376a3 100644 --- a/resources-ukr/strings/strings.xml +++ b/resources-ukr/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - Увімкнено - Вимкнено - Торкніться - Меню Зрозуміло? Підтверджено Немає телефонного зв'язку @@ -39,6 +35,7 @@ Запит HTTP повернув код помилки = URL-адреса API не повинна містити косу риску '/' Не вдалося зареєструвати Webhook + Не вдалося відобразити шаблон в наявності Перевірка... Недоступний @@ -52,17 +49,21 @@ URL для HomeAssistant API. URL-адреса для налаштування меню (JSON). Чи має програма кешувати конфігурацію меню? - Чи слід програмі очистити наявний кеш під час наступного запуску? - Час очікування в секундах. Вийдіть із програми після цього періоду бездіяльності, щоб заощадити батарею пристрою. - Після закінчення цього часу (у секундах) діалогове вікно підтвердження дії автоматично закривається, а дія скасовується. Встановіть 0, щоб вимкнути тайм-аут. - Стиль пункту меню. - Ікони - Додатковий текст + Чи має програма очистити наявний кеш наступного разу + почав? + Час очікування в секундах. Вийдіть із програми після закінчення цього періоду + бездіяльність, щоб зберегти акумулятор пристрою. + Після закінчення цього часу (у секундах) з’явиться діалогове вікно підтвердження для + дія автоматично закривається і дія скасовується. Встановіть 0, щоб вимкнути тайм-аут. Ліворуч (вимкнено) або праворуч (увімкнено) вирівнювання меню. Зліва направо Справа наліво - (Лише віджет) Автоматично запускайте програму з віджета, не чекаючи дотику. - Увімкніть фонову службу, щоб надсилати інформацію про рівень заряду акумулятора годинника до Home Assistant. - Частота оновлення (у хвилинах), з якою фонова служба має повторно надсилати рівень заряду акумулятора. - (Лише читання) Ідентифікатор Webhook, створений годинником для оновлення рівня заряду акумулятора. Це може знадобитися для налагодження. + (Лише віджет) Автоматично запускати програму з віджета + не чекаючи дотику. + Увімкніть фонову службу, щоб надіслати батарею годинника + рівень до домашнього помічника. + Частота оновлення (у хвилинах), з якою працює фон + служба має повторити надсилання рівня заряду батареї. + (Лише читання) Ідентифікатор Webhook, створений годинником для оновлення рівня заряду акумулятора. + Це може знадобитися для налагодження. diff --git a/resources-vie/strings/strings.xml b/resources-vie/strings/strings.xml index 084c0ef..78be452 100644 --- a/resources-vie/strings/strings.xml +++ b/resources-vie/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - TRÊN - Tắt - Vỗ nhẹ - Thực đơn Chắc chắn? Đã xác nhận Không có kết nối điện thoại @@ -39,6 +35,7 @@ Yêu cầu HTTP trả về mã lỗi = URL API không được có dấu gạch chéo ở cuối '/' Không đăng ký được Webhook + Không thể hiển thị mẫu Có sẵn Đang kiểm tra... Không có sẵn @@ -52,17 +49,21 @@ URL cho API HomeAssistant. URL cho cấu hình menu (JSON). Ứng dụng có nên lưu trữ cấu hình menu không? - Ứng dụng có nên xóa bộ nhớ đệm hiện có vào lần khởi động tiếp theo không? - Thời gian chờ tính bằng giây. Thoát khỏi ứng dụng sau khoảng thời gian không hoạt động này để tiết kiệm pin cho thiết bị. - Sau thời gian này (tính bằng giây), hộp thoại xác nhận cho một hành động sẽ tự động đóng và hành động đó sẽ bị hủy. Đặt thành 0 để tắt thời gian chờ. - Phong cách mục menu. - Biểu tượng - Văn bản bổ sung + Ứng dụng có nên xóa bộ nhớ đệm hiện có vào lần tiếp theo không + đã bắt đầu? + Thời gian chờ tính bằng giây. Thoát khỏi ứng dụng sau khoảng thời gian này + không hoạt động để tiết kiệm pin thiết bị. + Sau thời gian này (tính bằng giây), hộp thoại xác nhận cho + hành động được tự động đóng lại và hành động bị hủy bỏ. Đặt thành 0 để tắt thời gian chờ. Căn chỉnh menu Trái (tắt) hoặc Phải (bật). Trái sang phải Phải sang trái - (Chỉ tiện ích) Tự động khởi động ứng dụng từ tiện ích mà không cần chờ nhấn. - Kích hoạt dịch vụ nền để gửi mức pin đồng hồ đến Home Assistant. - Tốc độ làm mới (tính bằng phút) mà dịch vụ nền sẽ lặp lại việc gửi mức pin. - (Chỉ đọc) ID Webhook do đồng hồ tạo để cập nhật mức pin. Bạn có thể yêu cầu điều này để gỡ lỗi. + (Chỉ widget) Tự động khởi động ứng dụng từ widget + mà không cần chờ một cú chạm. + Kích hoạt dịch vụ nền để gửi pin đồng hồ + lên cấp Trợ lý tại nhà. + Tốc độ làm mới (tính bằng phút) mà nền + dịch vụ sẽ lặp lại việc gửi mức pin. + (Chỉ đọc) ID Webhook do đồng hồ tạo để cập nhật mức pin. + Bạn có thể yêu cầu điều này để gỡ lỗi. diff --git a/resources-zhs/strings/strings.xml b/resources-zhs/strings/strings.xml index 600ffa8..2518843 100644 --- a/resources-zhs/strings/strings.xml +++ b/resources-zhs/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - - 离开 - 轻敲 - 菜单 当然? 确认的 没有电话连接 @@ -39,6 +35,7 @@ HTTP请求返回错误码= API URL 不得有尾部斜杠“/” 注册Webhook失败 + 渲染模板失败 可用的 检查... 不可用 @@ -52,17 +49,21 @@ HomeAssistant API 的 URL。 菜单配置的 URL (JSON)。 应用程序是否应该缓存菜单配置? - 应用程序是否应该在下次启动时清除现有缓存? - 超时(以秒为单位)。闲置一段时间后退出应用程序以节省设备电池。 - 在此时间(以秒为单位)之后,操作的确认对话框将自动关闭并取消该操作。设置为 0 以禁用超时。 - 菜单项样式。 - 图标 - 附加文本 + 应用程序下次是否应该清除现有缓存 + 开始了? + 超时(以秒为单位)。在此期限后退出应用程序 + 不活动以节省设备电池。 + 在此时间(以秒为单位)之后,将出现一个确认对话框 + 动作自动关闭并取消动作。设置为 0 以禁用超时。 左(关)或右(开)菜单对齐。 左到右 右到左 - (仅限小部件)从小部件自动启动应用程序,无需等待点击。 - 启用后台服务将时钟电池电量发送到 Home Assistant。 - 后台服务应重复发送电池电量的刷新率(以分钟为单位)。 - (只读)手表创建的用于电池电量更新的 Webhook ID。您可能需要它来进行调试。 + (仅限小部件)从小部件自动启动应用程序 + 无需等待点击。 + 启用后台服务发送时钟电池 + 级别为家庭助理。 + 背景的刷新率(以分钟为单位) + 服务应重复发送电池电量。 + (只读)手表创建的用于电池电量更新的 Webhook ID。 + 您可能需要它来进行调试。 diff --git a/resources-zht/strings/strings.xml b/resources-zht/strings/strings.xml index 65f5b17..01349a4 100644 --- a/resources-zht/strings/strings.xml +++ b/resources-zht/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - - 離開 - 輕敲 - 選單 當然? 確認的 沒有電話連接 @@ -39,6 +35,7 @@ HTTP請求回傳錯誤碼= API URL 不得有尾部斜線“/” 註冊Webhook失敗 + 渲染模板失敗 可用的 檢查... 不可用 @@ -52,17 +49,21 @@ HomeAssistant API 的 URL。 選單配置的 URL (JSON)。 應用程式是否應該快取選單配置? - 應用程式是否應該在下次啟動時清除現有快取? - 超時(以秒為單位)。閒置一段時間後退出應用程式以節省設備電池。 - 在此時間(以秒為單位)之後,操作的確認對話方塊將自動關閉並取消該操作。設定為 0 以停用逾時。 - 選單項目樣式。 - 圖示 - 附加文字 + 應用程式下次是否應該清除現有緩存 + 開始了? + 超時(以秒為單位)。在此期限後退出應用程式 + 不活動以節省設備電池。 + 在此時間(以秒為單位)之後,將出現一個確認對話框 + 動作自動關閉並取消動作。設定為 0 以停用逾時。 左(關)或右(開)選單對齊。 左至右 右到左 - (僅限小部件)從小部件自動啟動應用程序,無需等待點擊。 - 啟用後台服務將時鐘電池電量傳送到 Home Assistant。 - 後台服務應重複發送電池電量的更新率(以分鐘為單位)。 - (唯讀)手錶創建的用於電池電量更新的 Webhook ID。您可能需要它來進行調試。 + (僅限小工具)從小部件自動啟動應用程式 + 無需等待點擊。 + 啟用後台服務發送時鐘電池 + 級別為家庭助理。 + 背景的刷新率(以分鐘為單位) + 服務應重複發送電池電量。 + (唯讀)手錶創建的用於電池電量更新的 Webhook ID。 + 您可能需要它來進行調試。 diff --git a/resources-zsm/strings/strings.xml b/resources-zsm/strings/strings.xml index 5aa3fcf..e0b639a 100644 --- a/resources-zsm/strings/strings.xml +++ b/resources-zsm/strings/strings.xml @@ -20,10 +20,6 @@ HomeAssistant - hidup - Mati - Ketik - Menu pasti? Disahkan Tiada sambungan Telefon @@ -39,6 +35,7 @@ Permintaan HTTP mengembalikan kod ralat = URL API tidak boleh mempunyai garis miring '/' Gagal mendaftar Webhook + Gagal untuk memaparkan templat Tersedia Menyemak... Tidak ada @@ -52,17 +49,21 @@ URL untuk API HomeAssistant. URL untuk konfigurasi menu (JSON). Sekiranya aplikasi cache konfigurasi menu? - Patutkah aplikasi mengosongkan cache sedia ada pada kali seterusnya ia dimulakan? - Tamat masa dalam beberapa saat. Keluar dari aplikasi selepas tempoh tidak aktif ini untuk menjimatkan bateri peranti. - Selepas masa ini (dalam beberapa saat), dialog pengesahan untuk tindakan ditutup secara automatik dan tindakan itu dibatalkan. Tetapkan kepada 0 untuk melumpuhkan tamat masa. - Gaya item menu. - ikon - Teks Tambahan + Sekiranya aplikasi mengosongkan cache sedia ada pada masa akan datang + bermula? + Tamat masa dalam beberapa saat. Keluar dari permohonan selepas tempoh ini + tidak aktif untuk menjimatkan bateri peranti. + Selepas masa ini (dalam saat), dialog pengesahan untuk a + tindakan ditutup secara automatik dan tindakan itu dibatalkan. Tetapkan kepada 0 untuk melumpuhkan tamat masa. Penjajaran Menu Kiri (mati) atau Kanan (hidup). Kiri ke kanan Kanan ke kiri - (Widget sahaja) Mulakan aplikasi secara automatik daripada widget tanpa menunggu satu ketikan. - Dayakan perkhidmatan latar belakang untuk menghantar paras bateri jam kepada Home Assistant. - Kadar penyegaran semula (dalam minit) di mana perkhidmatan latar belakang harus mengulangi penghantaran tahap bateri. - (Baca sahaja) ID Webhook yang dibuat oleh jam tangan untuk kemas kini tahap bateri. Anda mungkin memerlukan ini untuk penyahpepijatan. + (Widget sahaja) Mulakan aplikasi secara automatik daripada widget + tanpa menunggu ketuk. + Dayakan perkhidmatan latar belakang untuk menghantar bateri jam + tahap kepada Pembantu Rumah. + Kadar muat semula (dalam minit) di mana latar belakang + perkhidmatan harus berulang menghantar paras bateri. + (Baca sahaja) ID Webhook yang dibuat oleh jam tangan untuk kemas kini tahap bateri. + Anda mungkin memerlukan ini untuk penyahpepijatan. diff --git a/resources/settings/properties.xml b/resources/settings/properties.xml index dc45c29..da9f563 100644 --- a/resources/settings/properties.xml +++ b/resources/settings/properties.xml @@ -51,11 +51,6 @@ --> 3 - - 0 - diff --git a/resources/settings/settings.xml b/resources/settings/settings.xml index 5e9d6d6..ac9f002 100644 --- a/resources/settings/settings.xml +++ b/resources/settings/settings.xml @@ -65,17 +65,6 @@ - - - @Strings.SettingsMenuItemStyleIcons - @Strings.SettingsMenuItemStyleText - - - - HomeAssistant - On - Off - Tap - Menu - Sure? - Confirmed - No Phone connection - No Internet connection - No Response, check Internet connection - No API key in the application settings - No API URL in the application settings - No configuration URL in the application settings - API calls too rapid. Please slow down your requests. - URL not found. Potential API URL error in settings. - URL not found. Potential Configuration URL error in settings. - No JSON returned from HTTP request. - HTTP request returned error code = - API URL must not have a trailing slash '/' - Failed to register Webhook - Available - Checking... - Unavailable - Unconfigured - Cached - Menu + HomeAssistant + Sure? + Confirmed + No Phone connection + No Internet connection + No Response, check Internet connection + No API key in the application settings + No API URL in the application settings + No configuration URL in the application settings + API calls too rapid. Please slow down your requests. + URL not found. Potential API URL error in settings. + URL not found. Potential Configuration URL error in settings. + No JSON returned from HTTP request. + HTTP request returned error code = + API URL must not have a trailing slash '/' + Failed to register Webhook + Failed to render template + Available + Checking... + Unavailable + Unconfigured + Cached + Menu - - Select... - API Key for HomeAssistant. - Long-Lived Access Token. - URL for HomeAssistant API. - URL for menu configuration (JSON). - Should the application cache the menu configuration? - Should the application clear the existing cache next time it is started? - Timeout in seconds. Exit the application after this period of inactivity to save the device battery. - After this time (in seconds), a confirmation dialog for an action is automatically closed and the action is cancelled. Set to 0 to disable the timeout. - Menu item style. - Icons - Additional Text - Left (off) or Right (on) Menu Alignment. - Left to right - Right to Left - (Widget only) Automatically start the application from the widget without waiting for a tap. - Enable the background service to send the clock battery level to Home Assistant. - The refresh rate (in minutes) at which the background service should repeat sending the battery level. - (Read only) The Webhook ID created by the watch for battery level updates. You might require this for debugging. + + Select... + API Key for HomeAssistant. + Long-Lived Access Token. + URL for HomeAssistant API. + URL for menu configuration (JSON). + Should the application cache the menu configuration? + Should the application clear the existing cache next time it is + started? + Timeout in seconds. Exit the application after this period of + inactivity to save the device battery. + After this time (in seconds), a confirmation dialog for an + action is automatically closed and the action is cancelled. Set to 0 to disable the timeout. + Left (off) or Right (on) Menu Alignment. + Left to right + Right to Left + (Widget only) Automatically start the application from the widget + without waiting for a tap. + Enable the background service to send the clock battery + level to Home Assistant. + The refresh rate (in minutes) at which the background + service should repeat sending the battery level. + (Read only) The Webhook ID created by the watch for battery level updates. + You might require this for debugging. diff --git a/source/HomeAssistantApp.mc b/source/HomeAssistantApp.mc index ee0e321..902ffb3 100644 --- a/source/HomeAssistantApp.mc +++ b/source/HomeAssistantApp.mc @@ -32,7 +32,7 @@ class HomeAssistantApp extends Application.AppBase { private var mHaMenu as HomeAssistantView or Null; private var mQuitTimer as QuitTimer or Null; private var mTimer as Timer.Timer or Null; - private var mItemsToUpdate as Lang.Array or Null; // Array initialised by onReturnFetchMenuConfig() + private var mItemsToUpdate as Lang.Array or Null; // Array initialised by onReturnFetchMenuConfig() private var mNextItemToUpdate as Lang.Number = 0; // Index into the above array private var mIsGlance as Lang.Boolean = false; private var mIsApp as Lang.Boolean = false; // Or Widget diff --git a/source/HomeAssistantIconMenuItem.mc b/source/HomeAssistantIconMenuItem.mc deleted file mode 100644 index f3ede7c..0000000 --- a/source/HomeAssistantIconMenuItem.mc +++ /dev/null @@ -1,72 +0,0 @@ -//----------------------------------------------------------------------------------- -// -// Distributed under MIT Licence -// See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE. -// -//----------------------------------------------------------------------------------- -// -// GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely -// tested on a Venu 2 device. The source code is provided at: -// https://github.com/house-of-abbey/GarminHomeAssistant. -// -// P A Abbey & J D Abbey & Someone0nEarth, 31 October 2023 -// -// -// Description: -// -// Menu button that triggers a service. -// -//----------------------------------------------------------------------------------- - -using Toybox.Lang; -using Toybox.WatchUi; -using Toybox.Graphics; - -class HomeAssistantIconMenuItem extends WatchUi.IconMenuItem { - private var mHomeAssistantService as HomeAssistantService; - private var mService as Lang.String; - private var mConfirm as Lang.Boolean; - - function initialize( - label as Lang.String or Lang.Symbol, - subLabel as Lang.String or Lang.Symbol or Null, - identifier as Lang.Object or Null, - service as Lang.String or Null, - confirm as Lang.Boolean, - icon as Graphics.BitmapType or WatchUi.Drawable, - options as { - :alignment as WatchUi.MenuItem.Alignment - } or Null, - haService as HomeAssistantService - ) { - WatchUi.IconMenuItem.initialize( - label, - subLabel, - identifier, - icon, - options - ); - - mHomeAssistantService = haService; - mIdentifier = identifier; - mService = service; - mConfirm = confirm; - } - - function callService() as Void { - if (mConfirm) { - WatchUi.pushView( - new HomeAssistantConfirmation(), - new HomeAssistantConfirmationDelegate(method(:onConfirm)), - WatchUi.SLIDE_IMMEDIATE - ); - } else { - onConfirm(); - } - } - - function onConfirm() as Void { - mHomeAssistantService.call(mIdentifier as Lang.String, mService); - } - -} diff --git a/source/HomeAssistantMenuItem.mc b/source/HomeAssistantMenuItem.mc index cb55927..ce0330f 100644 --- a/source/HomeAssistantMenuItem.mc +++ b/source/HomeAssistantMenuItem.mc @@ -22,7 +22,7 @@ using Toybox.Lang; using Toybox.WatchUi; using Toybox.Graphics; -class HomeAssistantMenuItem extends WatchUi.MenuItem { +class HomeAssistantMenuItem extends WatchUi.IconMenuItem { private var mHomeAssistantService as HomeAssistantService; private var mService as Lang.String; private var mConfirm as Lang.Boolean; @@ -33,20 +33,22 @@ class HomeAssistantMenuItem extends WatchUi.MenuItem { identifier as Lang.Object or Null, service as Lang.String or Null, confirm as Lang.Boolean, + icon as Graphics.BitmapType or WatchUi.Drawable, options as { - :alignment as WatchUi.MenuItem.Alignment, - :icon as Graphics.BitmapType or WatchUi.Drawable or Lang.Symbol + :alignment as WatchUi.MenuItem.Alignment } or Null, haService as HomeAssistantService ) { - WatchUi.MenuItem.initialize( + WatchUi.IconMenuItem.initialize( label, subLabel, identifier, + icon, options ); mHomeAssistantService = haService; + mIdentifier = identifier; mService = service; mConfirm = confirm; } diff --git a/source/HomeAssistantMenuItemFactory.mc b/source/HomeAssistantMenuItemFactory.mc index a90ce38..2ff7fb0 100644 --- a/source/HomeAssistantMenuItemFactory.mc +++ b/source/HomeAssistantMenuItemFactory.mc @@ -46,6 +46,7 @@ class HomeAssistantMenuItemFactory { :locX => WatchUi.LAYOUT_HALIGN_CENTER, :locY => WatchUi.LAYOUT_VALIGN_CENTER }); + mHomeAssistantService = new HomeAssistantService(); } @@ -59,48 +60,50 @@ class HomeAssistantMenuItemFactory { function toggle(label as Lang.String or Lang.Symbol, identifier as Lang.Object or Null) as WatchUi.MenuItem { return new HomeAssistantToggleMenuItem( label, - Settings.getMenuStyle() == Settings.MENU_STYLE_TEXT ? RezStrings.getLabelToggle() : null, + null, identifier, false, mMenuItemOptions ); } + function template( + label as Lang.String or Lang.Symbol, + identifier as Lang.Object or Null, + template as Lang.String or Null, + service as Lang.String or Null, + confirm as Lang.Boolean + ) as WatchUi.MenuItem { + return new HomeAssistantTemplateMenuItem( + label, + identifier, + template, + service, + confirm, + mMenuItemOptions, + mHomeAssistantService + ); + } + function tap( label as Lang.String or Lang.Symbol, identifier as Lang.Object or Null, service as Lang.String or Null, confirm as Lang.Boolean ) as WatchUi.MenuItem { - if (Settings.getMenuStyle() == Settings.MENU_STYLE_TEXT) { - return new HomeAssistantMenuItem( - label, - RezStrings.getMenuItemTap(), - identifier, - service, - confirm, - mMenuItemOptions, - mHomeAssistantService - ); - } else { - return new HomeAssistantIconMenuItem( - label, - null, - identifier, - service, - confirm, - mTapTypeIcon, - mMenuItemOptions, - mHomeAssistantService - ); - } + return new HomeAssistantMenuItem( + label, + null, + identifier, + service, + confirm, + mTapTypeIcon, + mMenuItemOptions, + mHomeAssistantService + ); } function group(definition as Lang.Dictionary) as WatchUi.MenuItem { - if (Settings.getMenuStyle() == Settings.MENU_STYLE_TEXT) { - return new HomeAssistantViewMenuItem(definition); - } else { - return new HomeAssistantViewIconMenuItem(definition, mGroupTypeIcon, mMenuItemOptions); - } + return new HomeAssistantViewMenuItem(definition, mGroupTypeIcon, mMenuItemOptions); } } diff --git a/source/HomeAssistantTemplateMenuItem.mc b/source/HomeAssistantTemplateMenuItem.mc new file mode 100644 index 0000000..c8ba460 --- /dev/null +++ b/source/HomeAssistantTemplateMenuItem.mc @@ -0,0 +1,198 @@ +//----------------------------------------------------------------------------------- +// +// Distributed under MIT Licence +// See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE. +// +//----------------------------------------------------------------------------------- +// +// GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely +// tested on a Venu 2 device. The source code is provided at: +// https://github.com/house-of-abbey/GarminHomeAssistant. +// +// P A Abbey & J D Abbey, 12 January 2024 +// +// +// Description: +// +// Rendering a Home Assistant Template. +// +// Reference: +// * https://developers.home-assistant.io/docs/api/rest/ +// * https://www.home-assistant.io/docs/configuration/templating +// +//----------------------------------------------------------------------------------- + +using Toybox.Lang; +using Toybox.WatchUi; +using Toybox.Graphics; + +class HomeAssistantTemplateMenuItem extends WatchUi.MenuItem { + private var mHomeAssistantService as HomeAssistantService; + private var mTemplate as Lang.String; + private var mService as Lang.String or Null; + private var mConfirm as Lang.Boolean; + + function initialize( + label as Lang.String or Lang.Symbol, + identifier as Lang.Object or Null, + template as Lang.String, + service as Lang.String or Null, + confirm as Lang.Boolean, + options as { + :alignment as WatchUi.MenuItem.Alignment, + :icon as Graphics.BitmapType or WatchUi.Drawable or Lang.Symbol + } or Null, + haService as HomeAssistantService + ) { + WatchUi.MenuItem.initialize( + label, + null, + identifier, + options + ); + + mHomeAssistantService = haService; + mTemplate = template; + mService = service; + mConfirm = confirm; + } + + function callService() as Void { + if (mConfirm) { + WatchUi.pushView( + new HomeAssistantConfirmation(), + new HomeAssistantConfirmationDelegate(method(:onConfirm)), + WatchUi.SLIDE_IMMEDIATE + ); + } else { + onConfirm(); + } + } + + function onConfirm() as Void { + if (mService != null) { + mHomeAssistantService.call(mIdentifier as Lang.String, mService); + } + } + + // Callback function after completing the GET request to fetch the status. + // Terminate updating the toggle menu items via the chain of calls for a permanent network + // error. The ErrorView cancellation will resume the call chain. + // + function onReturnGetState(responseCode as Lang.Number, data as Lang.String) as Void { + if (Globals.scDebug) { + System.println("HomeAssistantTemplateMenuItem onReturnGetState() Response Code: " + responseCode); + System.println("HomeAssistantTemplateMenuItem onReturnGetState() Response Data: " + data); + } + + var status = RezStrings.getUnavailable(); + switch (responseCode) { + case Communications.BLE_HOST_TIMEOUT: + case Communications.BLE_CONNECTION_UNAVAILABLE: + if (Globals.scDebug) { + System.println("HomeAssistantTemplateMenuItem onReturnGetState() Response Code: BLE_HOST_TIMEOUT or BLE_CONNECTION_UNAVAILABLE, Bluetooth connection severed."); + } + ErrorView.show(RezStrings.getNoPhone() + "."); + break; + + case Communications.BLE_QUEUE_FULL: + if (Globals.scDebug) { + System.println("HomeAssistantTemplateMenuItem onReturnGetState() Response Code: BLE_QUEUE_FULL, API calls too rapid."); + } + ErrorView.show(RezStrings.getApiFlood()); + break; + + case Communications.NETWORK_REQUEST_TIMED_OUT: + if (Globals.scDebug) { + System.println("HomeAssistantTemplateMenuItem onReturnGetState() Response Code: NETWORK_REQUEST_TIMED_OUT, check Internet connection."); + } + ErrorView.show(RezStrings.getNoResponse()); + break; + + case Communications.INVALID_HTTP_BODY_IN_NETWORK_RESPONSE: + if (Globals.scDebug) { + System.println("HomeAssistantTemplateMenuItem onReturnGetState() Response Code: INVALID_HTTP_BODY_IN_NETWORK_RESPONSE, check JSON is returned."); + } + ErrorView.show(RezStrings.getNoJson()); + break; + + case Communications.NETWORK_RESPONSE_OUT_OF_MEMORY: + if (Globals.scDebug) { + System.println("HomeAssistantTemplateMenuItem onReturnGetState() Response Code: NETWORK_RESPONSE_OUT_OF_MEMORY, are we going too fast?"); + } + var myTimer = new Timer.Timer(); + // Now this feels very "closely coupled" to the application, but it is the most reliable method instead of using a timer. + myTimer.start(getApp().method(:updateNextMenuItem), Globals.scApiBackoff, false); + // Revert status + status = getApp().getApiStatus(); + break; + + case 404: + if (Globals.scDebug) { + System.println("HomeAssistantTemplateMenuItem onReturnGetState() Response Code: 404, page not found. Check API URL setting."); + } + ErrorView.show(RezStrings.getApiUrlNotFound()); + break; + + case 400: + if (Globals.scDebug) { + System.println("HomeAssistantTemplateMenuItem onReturnGetState() Response Code: 400, bad request. Template error."); + } + ErrorView.show(RezStrings.getTemplateError()); + break; + + case 200: + status = RezStrings.getAvailable(); + setSubLabel(data); + requestUpdate(); + ErrorView.unShow(); + // Now this feels very "closely coupled" to the application, but it is the most reliable method instead of using a timer. + getApp().updateNextMenuItem(); + break; + + default: + if (Globals.scDebug) { + System.println("HomeAssistantTemplateMenuItem onReturnGetState(): Unhandled HTTP response code = " + responseCode); + } + ErrorView.show(RezStrings.getUnhandledHttpErr() + responseCode); + } + getApp().setApiStatus(status); + } + + function getState() as Void { + if (! System.getDeviceSettings().phoneConnected) { + if (Globals.scDebug) { + System.println("HomeAssistantTemplateMenuItem getState(): No Phone connection, skipping API call."); + } + ErrorView.show(RezStrings.getNoPhone() + "."); + getApp().setApiStatus(RezStrings.getUnavailable()); + } else if (! System.getDeviceSettings().connectionAvailable) { + if (Globals.scDebug) { + System.println("HomeAssistantTemplateMenuItem getState(): No Internet connection, skipping API call."); + } + ErrorView.show(RezStrings.getNoInternet() + "."); + getApp().setApiStatus(RezStrings.getUnavailable()); + } else { + var url = Settings.getApiUrl() + "/template"; + if (Globals.scDebug) { + System.println("HomeAssistantTemplateMenuItem getState() URL=" + url + ", Template='" + mTemplate + "'"); + } + Communications.makeWebRequest( + url, + { + "template" => mTemplate + }, + { + :method => Communications.HTTP_REQUEST_METHOD_POST, + :headers => { + "Content-Type" => Communications.REQUEST_CONTENT_TYPE_JSON, + "Authorization" => "Bearer " + Settings.getApiKey() + }, + :responseType => Communications.HTTP_RESPONSE_CONTENT_TYPE_TEXT_PLAIN + }, + method(:onReturnGetState) + ); + } + } + +} diff --git a/source/HomeAssistantView.mc b/source/HomeAssistantView.mc index 9c301a4..1a65c98 100644 --- a/source/HomeAssistantView.mc +++ b/source/HomeAssistantView.mc @@ -25,9 +25,6 @@ using Toybox.System; using Toybox.WatchUi; class HomeAssistantView extends WatchUi.Menu2 { - // List of items that need to have their status updated periodically - private var mListToggleItems = []; - private var mListMenuItems = []; function initialize( definition as Lang.Dictionary, @@ -51,6 +48,7 @@ class HomeAssistantView extends WatchUi.Menu2 { for(var i = 0; i < items.size(); i++) { var type = items[i].get("type") as Lang.String or Null; var name = items[i].get("name") as Lang.String or Null; + var content = items[i].get("content") as Lang.String or Null; var entity = items[i].get("entity") as Lang.String or Null; var tap_action = items[i].get("tap_action") as Lang.Dictionary or Null; var service = items[i].get("service") as Lang.String or Null; @@ -62,34 +60,36 @@ class HomeAssistantView extends WatchUi.Menu2 { confirm = false; } } - if (type != null && name != null && entity != null) { - if (type.equals("toggle")) { - var item = HomeAssistantMenuItemFactory.create().toggle(name, entity); - addItem(item); - mListToggleItems.add(item); - } else if (type.equals("tap") && service != null) { + if (type != null && name != null) { + if (type.equals("toggle") && entity != null) { + addItem(HomeAssistantMenuItemFactory.create().toggle(name, entity)); + } else if (type.equals("template") && content != null) { + addItem(HomeAssistantMenuItemFactory.create().template(name, entity, content, service, confirm)); + } else if (type.equals("tap") && entity != null && service != null) { addItem(HomeAssistantMenuItemFactory.create().tap(name, entity, service, confirm)); } else if (type.equals("group")) { - var item = HomeAssistantMenuItemFactory.create().group(items[i]); - addItem(item); - mListMenuItems.add(item); + addItem(HomeAssistantMenuItemFactory.create().group(items[i])); } } } } - function getItemsToUpdate() as Lang.Array { + function getItemsToUpdate() as Lang.Array { var fullList = []; - var lmi = mListMenuItems as Lang.Array; - for(var i = 0; i < mListMenuItems.size(); i++) { + var lmi = mItems as Lang.Array; + for(var i = 0; i < mItems.size(); i++) { var item = lmi[i]; - if (item instanceof HomeAssistantViewMenuItem || item instanceof HomeAssistantViewIconMenuItem) { + if (item instanceof HomeAssistantViewMenuItem) { fullList.addAll(item.getMenuView().getItemsToUpdate()); + } else if (item instanceof HomeAssistantToggleMenuItem) { + fullList.add(item); + } else if (item instanceof HomeAssistantTemplateMenuItem) { + fullList.add(item); } } - return fullList.addAll(mListToggleItems); + return fullList; } // Called when this View is brought to the foreground. Restore @@ -149,20 +149,14 @@ class HomeAssistantViewDelegate extends WatchUi.Menu2InputDelegate { System.println(haItem.getLabel() + " " + haItem.getId()); } haItem.callService(); - } else if (item instanceof HomeAssistantIconMenuItem) { - var haItem = item as HomeAssistantIconMenuItem; + } else if (item instanceof HomeAssistantTemplateMenuItem) { + var haItem = item as HomeAssistantTemplateMenuItem; if (Globals.scDebug) { System.println(haItem.getLabel() + " " + haItem.getId()); } haItem.callService(); } else if (item instanceof HomeAssistantViewMenuItem) { var haMenuItem = item as HomeAssistantViewMenuItem; - if (Globals.scDebug) { - System.println("Menu: " + haMenuItem.getLabel() + " " + haMenuItem.getId()); - } - WatchUi.pushView(haMenuItem.getMenuView(), new HomeAssistantViewDelegate(false), WatchUi.SLIDE_LEFT); - } else if (item instanceof HomeAssistantViewIconMenuItem) { - var haMenuItem = item as HomeAssistantViewIconMenuItem; if (Globals.scDebug) { System.println("IconMenu: " + haMenuItem.getLabel() + " " + haMenuItem.getId()); } diff --git a/source/HomeAssistantViewIconMenuItem.mc b/source/HomeAssistantViewIconMenuItem.mc deleted file mode 100644 index 474b8e1..0000000 --- a/source/HomeAssistantViewIconMenuItem.mc +++ /dev/null @@ -1,48 +0,0 @@ -//----------------------------------------------------------------------------------- -// -// Distributed under MIT Licence -// See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE. -// -//----------------------------------------------------------------------------------- -// -// GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely -// tested on a Venu 2 device. The source code is provided at: -// https://github.com/house-of-abbey/GarminHomeAssistant. -// -// P A Abbey & J D Abbey & Someone0nEarth, 16 November 2023 -// -// -// Description: -// -// Menu button with an icon that opens a sub-menu. -// -//----------------------------------------------------------------------------------- - -using Toybox.Lang; -using Toybox.WatchUi; - -class HomeAssistantViewIconMenuItem extends WatchUi.IconMenuItem { - private var mMenu as HomeAssistantView; - - function initialize(definition as Lang.Dictionary, icon as WatchUi.Drawable, options as { - :alignment as WatchUi.MenuItem.Alignment - } or Null) { - var label = definition.get("name") as Lang.String; - var identifier = definition.get("entity") as Lang.String; - - WatchUi.IconMenuItem.initialize( - label, - null, - identifier, - icon, - options - ); - - mMenu = new HomeAssistantView(definition, null); - } - - function getMenuView() as HomeAssistantView { - return mMenu; - } - -} diff --git a/source/HomeAssistantViewMenuItem.mc b/source/HomeAssistantViewMenuItem.mc index 1c0ccb7..6b81c23 100644 --- a/source/HomeAssistantViewMenuItem.mc +++ b/source/HomeAssistantViewMenuItem.mc @@ -9,28 +9,33 @@ // tested on a Venu 2 device. The source code is provided at: // https://github.com/house-of-abbey/GarminHomeAssistant. // -// P A Abbey & J D Abbey & Someone0nEarth, 31 October 2023 +// P A Abbey & J D Abbey & Someone0nEarth, 16 November 2023 // // // Description: // -// Menu button that opens a sub-menu. +// Menu button with an icon that opens a sub-menu. // //----------------------------------------------------------------------------------- using Toybox.Lang; using Toybox.WatchUi; -class HomeAssistantViewMenuItem extends WatchUi.MenuItem { +class HomeAssistantViewMenuItem extends WatchUi.IconMenuItem { private var mMenu as HomeAssistantView; - function initialize(definition as Lang.Dictionary) { - // definitions.get(...) are Strings here as they have been checked by HomeAssistantView first - WatchUi.MenuItem.initialize( - definition.get("name") as Lang.String, - RezStrings.getMenuItemMenu(), - definition.get("entity") as Lang.String, - null + function initialize(definition as Lang.Dictionary, icon as WatchUi.Drawable, options as { + :alignment as WatchUi.MenuItem.Alignment + } or Null) { + var label = definition.get("name") as Lang.String; + var identifier = definition.get("entity") as Lang.String; + + WatchUi.IconMenuItem.initialize( + label, + null, + identifier, + icon, + options ); mMenu = new HomeAssistantView(definition, null); diff --git a/source/RezStrings.mc b/source/RezStrings.mc index 2344bbd..3a03eaf 100644 --- a/source/RezStrings.mc +++ b/source/RezStrings.mc @@ -27,8 +27,6 @@ class RezStrings { (:glance) private static var strAppName as Lang.String or Null; - private static var strMenuItemTap as Lang.String or Null; - private static var strMenuItemMenu as Lang.String or Null; private static var strConfirm as Lang.String or Null; private static var strExecuted as Lang.String or Null; (:glance) @@ -47,7 +45,8 @@ class RezStrings { private static var strNoJson as Lang.String or Null; private static var strUnhandledHttpErr as Lang.String or Null; private static var strTrailingSlashErr as Lang.String or Null; - private static var strWebhookFailed as Lang.String or Null; + private static var strWebhookFailed as Lang.String or Null; + private static var strTemplateError as Lang.String or Null; (:glance) private static var strAvailable as Lang.String or Null; (:glance) @@ -60,7 +59,6 @@ class RezStrings { private static var strCached as Lang.String or Null; (:glance) private static var strGlanceMenu as Lang.String or Null; - private static var strLabelToggle as Lang.Dictionary or Null; // Can't initialise a constant directly, have to be initialised via a function // for 'WatchUi.loadResource' to be available. @@ -83,8 +81,6 @@ class RezStrings { // for 'WatchUi.loadResource' to be available. static function update() { strAppName = WatchUi.loadResource($.Rez.Strings.AppName); - strMenuItemTap = WatchUi.loadResource($.Rez.Strings.MenuItemTap); - strMenuItemMenu = WatchUi.loadResource($.Rez.Strings.MenuItemMenu); strConfirm = WatchUi.loadResource($.Rez.Strings.Confirm); strExecuted = WatchUi.loadResource($.Rez.Strings.Executed); strNoPhone = WatchUi.loadResource($.Rez.Strings.NoPhone); @@ -100,30 +96,19 @@ class RezStrings { strUnhandledHttpErr = WatchUi.loadResource($.Rez.Strings.UnhandledHttpErr); strTrailingSlashErr = WatchUi.loadResource($.Rez.Strings.TrailingSlashErr); strWebhookFailed = WatchUi.loadResource($.Rez.Strings.WebhookFailed); + strTemplateError = WatchUi.loadResource($.Rez.Strings.TemplateError); strAvailable = WatchUi.loadResource($.Rez.Strings.Available); strChecking = WatchUi.loadResource($.Rez.Strings.Checking); strUnavailable = WatchUi.loadResource($.Rez.Strings.Unavailable); strUnconfigured = WatchUi.loadResource($.Rez.Strings.Unconfigured); strCached = WatchUi.loadResource($.Rez.Strings.Cached); strGlanceMenu = WatchUi.loadResource($.Rez.Strings.GlanceMenu); - strLabelToggle = { - :enabled => WatchUi.loadResource($.Rez.Strings.MenuItemOn) as Lang.String, - :disabled => WatchUi.loadResource($.Rez.Strings.MenuItemOff) as Lang.String - }; } static function getAppName() as Lang.String { return strAppName; } - static function getMenuItemTap() as Lang.String { - return strMenuItemTap; - } - - static function getMenuItemMenu() as Lang.String { - return strMenuItemMenu; - } - static function getConfirm() as Lang.String { return strConfirm; } @@ -184,6 +169,10 @@ class RezStrings { return strWebhookFailed; } + static function getTemplateError() as Lang.String { + return strTemplateError; + } + static function getAvailable() as Lang.String { return strAvailable; } @@ -208,8 +197,4 @@ class RezStrings { return strGlanceMenu; } - static function getLabelToggle() as Lang.Dictionary { - return strLabelToggle; - } - } diff --git a/source/Settings.mc b/source/Settings.mc index 443c8ce..d381660 100644 --- a/source/Settings.mc +++ b/source/Settings.mc @@ -28,9 +28,6 @@ using Toybox.Time; (:glance, :background) class Settings { - public static const MENU_STYLE_ICONS = 0; - public static const MENU_STYLE_TEXT = 1; - private static var mApiKey as Lang.String = ""; private static var mWebhookId as Lang.String = ""; private static var mApiUrl as Lang.String = ""; @@ -39,7 +36,6 @@ class Settings { private static var mClearCache as Lang.Boolean = false; private static var mAppTimeout as Lang.Number = 0; // seconds private static var mConfirmTimeout as Lang.Number = 3; // seconds - private static var mMenuStyle as Lang.Number = MENU_STYLE_ICONS; private static var mMenuAlignment as Lang.Number = WatchUi.MenuItem.MENU_ITEM_LABEL_ALIGN_LEFT; private static var mIsWidgetStartNoTap as Lang.Boolean = false; private static var mIsBatteryLevelEnabled as Lang.Boolean = false; @@ -60,7 +56,6 @@ class Settings { mClearCache = Properties.getValue("clear_cache"); mAppTimeout = Properties.getValue("app_timeout"); mConfirmTimeout = Properties.getValue("confirm_timeout"); - mMenuStyle = Properties.getValue("menu_theme"); mMenuAlignment = Properties.getValue("menu_alignment"); mIsWidgetStartNoTap = Properties.getValue("widget_start_no_tap"); mIsBatteryLevelEnabled = Properties.getValue("enable_battery_level"); @@ -143,10 +138,6 @@ class Settings { return mConfirmTimeout * 1000; // Convert to milliseconds } - static function getMenuStyle() as Lang.Number { - return mMenuStyle; // Either MENU_STYLE_ICONS or MENU_STYLE_TEXT - } - static function getMenuAlignment() as Lang.Number { return mMenuAlignment; // Either WatchUi.MenuItem.MENU_ITEM_LABEL_ALIGN_RIGHT or WatchUi.MenuItem.MENU_ITEM_LABEL_ALIGN_LEFT } diff --git a/source/WebhookManager.mc b/source/WebhookManager.mc index c2933cb..5fc2f3f 100644 --- a/source/WebhookManager.mc +++ b/source/WebhookManager.mc @@ -1,3 +1,26 @@ +//----------------------------------------------------------------------------------- +// +// Distributed under MIT Licence +// See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE. +// +//----------------------------------------------------------------------------------- +// +// GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely +// tested on a Venu 2 device. The source code is provided at: +// https://github.com/house-of-abbey/GarminHomeAssistant. +// +// P A Abbey & J D Abbey, 10 January 2024 +// +// +// Description: +// +// Home Assistant Webhook creation. +// +// Reference: +// * https://developers.home-assistant.io/docs/api/native-app-integration +// +//----------------------------------------------------------------------------------- + using Toybox.Lang; using Toybox.Communications; using Toybox.System;