mirror of
https://github.com/house-of-abbey/GarminHomeAssistant.git
synced 2025-06-16 11:28:40 +00:00
Bugfixes
Do not crash on zero items to update Report unreachable URLs Verify API URL does not have a trailing slash '/' Increased HTTP response diagnosis
This commit is contained in:
@ -117,7 +117,7 @@ Having created that token, before you dismiss the dialogue box with the value yo
|
|||||||
<img src="images/GarminHomeAssistantSettings.png" width="400" title="Application Settings"/>
|
<img src="images/GarminHomeAssistantSettings.png" width="400" title="Application Settings"/>
|
||||||
|
|
||||||
1. Paste your API key you've just created into the top field.
|
1. Paste your API key you've just created into the top field.
|
||||||
2. Add the URL for your Home Assistant API, e.g. `https://<homeassistant>/api/`.
|
2. Add the URL for your Home Assistant API, e.g. `https://<homeassistant>/api`. (No trailing slash `/`` character as one gets appended when creating the URL and you do not want two.)
|
||||||
3. Add the URL of your JSON file, e.g. `https://<homeassistant>/local/garmin/<something>.json`.
|
3. Add the URL of your JSON file, e.g. `https://<homeassistant>/local/garmin/<something>.json`.
|
||||||
|
|
||||||
You should now have a working application on your watch and be able to operate your Home Assistant devices for as long as your watch is within Bluetooth range of your phone.
|
You should now have a working application on your watch and be able to operate your Home Assistant devices for as long as your watch is within Bluetooth range of your phone.
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
Use "Monkey C: Edit Application" from the Visual Studio Code command palette
|
Use "Monkey C: Edit Application" from the Visual Studio Code command palette
|
||||||
to update the application attributes.
|
to update the application attributes.
|
||||||
-->
|
-->
|
||||||
<iq:application id="40131e87-31ff-454b-a8e2-92276ee399d6" type="watch-app" name="@Strings.AppName" entry="HomeAssistantApp" launcherIcon="@Drawables.LauncherIcon" minApiLevel="3.3.0">
|
<iq:application id="98c36259-498a-4458-9cef-74a273ad2bc3" type="watch-app" name="@Strings.AppName" entry="HomeAssistantApp" launcherIcon="@Drawables.LauncherIcon" minApiLevel="3.3.0">
|
||||||
<!--
|
<!--
|
||||||
Use the following from the Visual Studio Code comand palette to edit
|
Use the following from the Visual Studio Code comand palette to edit
|
||||||
the build targets:
|
the build targets:
|
||||||
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">لا يوجد عنوان URL لواجهة برمجة التطبيقات في إعدادات التطبيق</string>
|
<string id="NoApiUrl">لا يوجد عنوان URL لواجهة برمجة التطبيقات في إعدادات التطبيق</string>
|
||||||
<string id="NoConfigUrl">لا يوجد عنوان URL للتكوين في إعدادات التطبيق</string>
|
<string id="NoConfigUrl">لا يوجد عنوان URL للتكوين في إعدادات التطبيق</string>
|
||||||
<string id="ApiFlood">مكالمات API سريعة جدًا. يرجى إبطاء طلباتك.</string>
|
<string id="ApiFlood">مكالمات API سريعة جدًا. يرجى إبطاء طلباتك.</string>
|
||||||
|
<string id="ApiUrlNotFound">لم يتم العثور على عنوان URL. خطأ محتمل في عنوان URL لواجهة برمجة التطبيقات في الإعدادات.</string>
|
||||||
|
<string id="ConfigUrlNotFound">لم يتم العثور على عنوان URL. خطأ محتمل في عنوان URL للتكوين في الإعدادات.</string>
|
||||||
|
<string id="UnhandledHttpErr">قام طلب HTTP بإرجاع رمز الخطأ =</string>
|
||||||
|
<string id="TrailingSlashErr">يجب ألا يحتوي عنوان URL لواجهة برمجة التطبيقات على شرطة مائلة لاحقة '/'</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Няма URL адрес на API в настройките на приложението</string>
|
<string id="NoApiUrl">Няма URL адрес на API в настройките на приложението</string>
|
||||||
<string id="NoConfigUrl">Няма конфигурационен URL адрес в настройките на приложението</string>
|
<string id="NoConfigUrl">Няма конфигурационен URL адрес в настройките на приложението</string>
|
||||||
<string id="ApiFlood">Извикванията на API са твърде бързи. Моля, забавете вашите заявки.</string>
|
<string id="ApiFlood">Извикванията на API са твърде бързи. Моля, забавете вашите заявки.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL не е намерен. Потенциална грешка в URL адреса на API в настройките.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL не е намерен. Потенциална грешка в URL адреса на конфигурацията в настройките.</string>
|
||||||
|
<string id="UnhandledHttpErr">HTTP заявката върна код на грешка =</string>
|
||||||
|
<string id="TrailingSlashErr">URL адресът на API не трябва да има наклонена черта '/' в края</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">V nastavení aplikace není žádná adresa URL API</string>
|
<string id="NoApiUrl">V nastavení aplikace není žádná adresa URL API</string>
|
||||||
<string id="NoConfigUrl">V nastavení aplikace není žádná konfigurační URL</string>
|
<string id="NoConfigUrl">V nastavení aplikace není žádná konfigurační URL</string>
|
||||||
<string id="ApiFlood">Příliš rychlá volání API. Zpomalte prosím své požadavky.</string>
|
<string id="ApiFlood">Příliš rychlá volání API. Zpomalte prosím své požadavky.</string>
|
||||||
|
<string id="ApiUrlNotFound">Adresa URL nenalezena. Potenciální chyba adresy URL rozhraní API v nastavení.</string>
|
||||||
|
<string id="ConfigUrlNotFound">Adresa URL nenalezena. Potenciální chyba konfigurační adresy URL v nastavení.</string>
|
||||||
|
<string id="UnhandledHttpErr">Požadavek HTTP vrátil kód chyby =</string>
|
||||||
|
<string id="TrailingSlashErr">Adresa URL rozhraní API nesmí mít koncové lomítko „/“</string>
|
||||||
</strings>
|
</strings>
|
@ -25,9 +25,13 @@
|
|||||||
<string id="MenuItemTap">Tryk på</string>
|
<string id="MenuItemTap">Tryk på</string>
|
||||||
<string id="MenuItemMenu">Menu</string>
|
<string id="MenuItemMenu">Menu</string>
|
||||||
<string id="NoInternet">Ingen internetforbindelse</string>
|
<string id="NoInternet">Ingen internetforbindelse</string>
|
||||||
<string id="NoMenu">Fejl ved menuhentning</string>
|
<string id="NoMenu">Menuhentningsfejl</string>
|
||||||
<string id="NoAPIKey">Ingen API-nøgle i applikationsindstillingerne</string>
|
<string id="NoAPIKey">Ingen API-nøgle i applikationsindstillingerne</string>
|
||||||
<string id="NoApiUrl">Ingen API-URL i applikationsindstillingerne</string>
|
<string id="NoApiUrl">Ingen API-URL i applikationsindstillingerne</string>
|
||||||
<string id="NoConfigUrl">Ingen konfigurations-URL i applikationsindstillingerne</string>
|
<string id="NoConfigUrl">Ingen konfigurations-URL i applikationsindstillingerne</string>
|
||||||
<string id="ApiFlood">API-kald for hurtigt. Sænk venligst dine anmodninger.</string>
|
<string id="ApiFlood">API-kald for hurtigt. Sænk venligst dine anmodninger.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL ikke fundet. Potentiel API URL-fejl i indstillinger.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL ikke fundet. Potentiel konfigurations-URL-fejl i indstillinger.</string>
|
||||||
|
<string id="UnhandledHttpErr">HTTP-anmodning returnerede fejlkode =</string>
|
||||||
|
<string id="TrailingSlashErr">API URL må ikke have en efterfølgende skråstreg '/'</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Keine API-URL in den Anwendungseinstellungen</string>
|
<string id="NoApiUrl">Keine API-URL in den Anwendungseinstellungen</string>
|
||||||
<string id="NoConfigUrl">Keine Konfigurations-URL in den Anwendungseinstellungen</string>
|
<string id="NoConfigUrl">Keine Konfigurations-URL in den Anwendungseinstellungen</string>
|
||||||
<string id="ApiFlood">API-Aufrufe zu schnell. Bitte verlangsamen Sie Ihre Anfragen.</string>
|
<string id="ApiFlood">API-Aufrufe zu schnell. Bitte verlangsamen Sie Ihre Anfragen.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL nicht gefunden. Möglicher API-URL-Fehler in den Einstellungen.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL nicht gefunden. Möglicher Konfigurations-URL-Fehler in den Einstellungen.</string>
|
||||||
|
<string id="UnhandledHttpErr">Die HTTP-Anfrage hat den Fehlercode = zurückgegeben</string>
|
||||||
|
<string id="TrailingSlashErr">Die API-URL darf keinen abschließenden Schrägstrich „/“ enthalten.</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Geen API-URL in de applicatie-instellingen</string>
|
<string id="NoApiUrl">Geen API-URL in de applicatie-instellingen</string>
|
||||||
<string id="NoConfigUrl">Geen configuratie-URL in de applicatie-instellingen</string>
|
<string id="NoConfigUrl">Geen configuratie-URL in de applicatie-instellingen</string>
|
||||||
<string id="ApiFlood">API-aanroepen te snel. Vertraag uw verzoeken.</string>
|
<string id="ApiFlood">API-aanroepen te snel. Vertraag uw verzoeken.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL niet gevonden. Mogelijke API-URL-fout in instellingen.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL niet gevonden. Mogelijke configuratie-URL-fout in de instellingen.</string>
|
||||||
|
<string id="UnhandledHttpErr">HTTP-verzoek retourneerde foutcode =</string>
|
||||||
|
<string id="TrailingSlashErr">API-URL mag geen afsluitende slash '/' bevatten</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Rakenduse seadetes pole API URL-i</string>
|
<string id="NoApiUrl">Rakenduse seadetes pole API URL-i</string>
|
||||||
<string id="NoConfigUrl">Rakenduse seadetes pole konfiguratsiooni URL-i</string>
|
<string id="NoConfigUrl">Rakenduse seadetes pole konfiguratsiooni URL-i</string>
|
||||||
<string id="ApiFlood">API-kutsed liiga kiired. Palun aeglustage taotluste esitamist.</string>
|
<string id="ApiFlood">API-kutsed liiga kiired. Palun aeglustage taotluste esitamist.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL-i ei leitud. Võimalik API URL-i viga seadetes.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL-i ei leitud. Võimalik konfiguratsiooni URL-i viga seadetes.</string>
|
||||||
|
<string id="UnhandledHttpErr">HTTP päring tagastas veakoodi =</string>
|
||||||
|
<string id="TrailingSlashErr">API URL-i lõpus ei tohi olla kaldkriipsu „/”</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Sovellusasetuksissa ei ole API URL-osoitetta</string>
|
<string id="NoApiUrl">Sovellusasetuksissa ei ole API URL-osoitetta</string>
|
||||||
<string id="NoConfigUrl">Sovelluksen asetuksissa ei ole konfigurointi-URL-osoitetta</string>
|
<string id="NoConfigUrl">Sovelluksen asetuksissa ei ole konfigurointi-URL-osoitetta</string>
|
||||||
<string id="ApiFlood">API-kutsut liian nopeita. Hidasta pyyntöjäsi.</string>
|
<string id="ApiFlood">API-kutsut liian nopeita. Hidasta pyyntöjäsi.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL-osoitetta ei löydy. Mahdollinen API URL -virhe asetuksissa.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL-osoitetta ei löydy. Mahdollinen konfigurointi-URL-virhe asetuksissa.</string>
|
||||||
|
<string id="UnhandledHttpErr">HTTP-pyyntö palautti virhekoodin =</string>
|
||||||
|
<string id="TrailingSlashErr">API-URL-osoitteessa ei saa olla perässä olevaa kauttaviivaa '/'</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Aucune URL API dans les paramètres de l'application</string>
|
<string id="NoApiUrl">Aucune URL API dans les paramètres de l'application</string>
|
||||||
<string id="NoConfigUrl">Aucune URL de configuration dans les paramètres de l'application</string>
|
<string id="NoConfigUrl">Aucune URL de configuration dans les paramètres de l'application</string>
|
||||||
<string id="ApiFlood">Appels API trop rapides. Veuillez ralentir vos demandes.</string>
|
<string id="ApiFlood">Appels API trop rapides. Veuillez ralentir vos demandes.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL introuvable. Erreur potentielle d'URL d'API dans les paramètres.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL introuvable. Erreur potentielle d'URL de configuration dans les paramètres.</string>
|
||||||
|
<string id="UnhandledHttpErr">La requête HTTP a renvoyé un code d'erreur =</string>
|
||||||
|
<string id="TrailingSlashErr">L'URL de l'API ne doit pas comporter de barre oblique finale '/'</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Δεν υπάρχει URL API στις ρυθμίσεις της εφαρμογής</string>
|
<string id="NoApiUrl">Δεν υπάρχει URL API στις ρυθμίσεις της εφαρμογής</string>
|
||||||
<string id="NoConfigUrl">Δεν υπάρχει διεύθυνση URL διαμόρφωσης στις ρυθμίσεις της εφαρμογής</string>
|
<string id="NoConfigUrl">Δεν υπάρχει διεύθυνση URL διαμόρφωσης στις ρυθμίσεις της εφαρμογής</string>
|
||||||
<string id="ApiFlood">Κλήσεις API πολύ γρήγορες. Παρακαλώ επιβραδύνετε τα αιτήματά σας.</string>
|
<string id="ApiFlood">Κλήσεις API πολύ γρήγορες. Παρακαλώ επιβραδύνετε τα αιτήματά σας.</string>
|
||||||
|
<string id="ApiUrlNotFound">Η διεύθυνση URL δεν βρέθηκε. Πιθανό σφάλμα διεύθυνσης URL API στις ρυθμίσεις.</string>
|
||||||
|
<string id="ConfigUrlNotFound">Η διεύθυνση URL δεν βρέθηκε. Πιθανό σφάλμα διεύθυνσης URL διαμόρφωσης στις ρυθμίσεις.</string>
|
||||||
|
<string id="UnhandledHttpErr">Το αίτημα HTTP επέστρεψε κωδικό σφάλματος =</string>
|
||||||
|
<string id="TrailingSlashErr">Η διεύθυνση URL του API δεν πρέπει να έχει τελική κάθετο "/"</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">אין כתובת API בהגדרות האפליקציה</string>
|
<string id="NoApiUrl">אין כתובת API בהגדרות האפליקציה</string>
|
||||||
<string id="NoConfigUrl">אין כתובת אתר תצורה בהגדרות האפליקציה</string>
|
<string id="NoConfigUrl">אין כתובת אתר תצורה בהגדרות האפליקציה</string>
|
||||||
<string id="ApiFlood">קריאות API מהירות מדי. נא להאט את הבקשות שלך.</string>
|
<string id="ApiFlood">קריאות API מהירות מדי. נא להאט את הבקשות שלך.</string>
|
||||||
|
<string id="ApiUrlNotFound">כתובת האתר לא נמצאה. שגיאה פוטנציאלית של כתובת ה-API בהגדרות.</string>
|
||||||
|
<string id="ConfigUrlNotFound">כתובת האתר לא נמצאה. שגיאת כתובת אתר פוטנציאלית של תצורה בהגדרות.</string>
|
||||||
|
<string id="UnhandledHttpErr">בקשת HTTP החזירה קוד שגיאה =</string>
|
||||||
|
<string id="TrailingSlashErr">כתובת ה-API לא חייבת לכלול לוכסן אחורי '/'</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Nema API URL-a u postavkama aplikacije</string>
|
<string id="NoApiUrl">Nema API URL-a u postavkama aplikacije</string>
|
||||||
<string id="NoConfigUrl">Nema konfiguracijskog URL-a u postavkama aplikacije</string>
|
<string id="NoConfigUrl">Nema konfiguracijskog URL-a u postavkama aplikacije</string>
|
||||||
<string id="ApiFlood">API pozivi su prebrzi. Molimo usporite svoje zahtjeve.</string>
|
<string id="ApiFlood">API pozivi su prebrzi. Molimo usporite svoje zahtjeve.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL nije pronađen. Potencijalna pogreška API URL-a u postavkama.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL nije pronađen. Potencijalna pogreška URL-a konfiguracije u postavkama.</string>
|
||||||
|
<string id="UnhandledHttpErr">HTTP zahtjev vratio je kod greške =</string>
|
||||||
|
<string id="TrailingSlashErr">API URL ne smije imati kosu crtu na kraju '/'</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Nincs API URL az alkalmazás beállításai között</string>
|
<string id="NoApiUrl">Nincs API URL az alkalmazás beállításai között</string>
|
||||||
<string id="NoConfigUrl">Nincs konfigurációs URL az alkalmazás beállításai között</string>
|
<string id="NoConfigUrl">Nincs konfigurációs URL az alkalmazás beállításai között</string>
|
||||||
<string id="ApiFlood">Az API-hívások túl gyorsak. Kérjük, lassítsa a kérések teljesítését.</string>
|
<string id="ApiFlood">Az API-hívások túl gyorsak. Kérjük, lassítsa a kérések teljesítését.</string>
|
||||||
|
<string id="ApiUrlNotFound">Az URL nem található. Lehetséges API URL hiba a beállításokban.</string>
|
||||||
|
<string id="ConfigUrlNotFound">Az URL nem található. Lehetséges konfigurációs URL hiba a beállításokban.</string>
|
||||||
|
<string id="UnhandledHttpErr">A HTTP-kérés = hibakódot adott vissza</string>
|
||||||
|
<string id="TrailingSlashErr">Az API URL-ben nem lehet perjel a „/”</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Tidak ada URL API di pengaturan aplikasi</string>
|
<string id="NoApiUrl">Tidak ada URL API di pengaturan aplikasi</string>
|
||||||
<string id="NoConfigUrl">Tidak ada URL konfigurasi di pengaturan aplikasi</string>
|
<string id="NoConfigUrl">Tidak ada URL konfigurasi di pengaturan aplikasi</string>
|
||||||
<string id="ApiFlood">Panggilan API terlalu cepat. Harap memperlambat permintaan Anda.</string>
|
<string id="ApiFlood">Panggilan API terlalu cepat. Harap memperlambat permintaan Anda.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL tidak ditemukan. Potensi kesalahan URL API dalam pengaturan.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL tidak ditemukan. Potensi kesalahan URL Konfigurasi dalam pengaturan.</string>
|
||||||
|
<string id="UnhandledHttpErr">Permintaan HTTP mengembalikan kode kesalahan =</string>
|
||||||
|
<string id="TrailingSlashErr">URL API tidak boleh memiliki garis miring '/'</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Nessun URL API nelle impostazioni dell'applicazione</string>
|
<string id="NoApiUrl">Nessun URL API nelle impostazioni dell'applicazione</string>
|
||||||
<string id="NoConfigUrl">Nessun URL di configurazione nelle impostazioni dell'applicazione</string>
|
<string id="NoConfigUrl">Nessun URL di configurazione nelle impostazioni dell'applicazione</string>
|
||||||
<string id="ApiFlood">Chiamate API troppo rapide. Per favore rallenta le tue richieste.</string>
|
<string id="ApiFlood">Chiamate API troppo rapide. Per favore rallenta le tue richieste.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL non trovato. Potenziale errore URL API nelle impostazioni.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL non trovato. Potenziale errore dell'URL di configurazione nelle impostazioni.</string>
|
||||||
|
<string id="UnhandledHttpErr">La richiesta HTTP ha restituito il codice di errore =</string>
|
||||||
|
<string id="TrailingSlashErr">L'URL dell'API non deve avere una barra finale "/"</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">アプリケーション設定に API URL がありません</string>
|
<string id="NoApiUrl">アプリケーション設定に API URL がありません</string>
|
||||||
<string id="NoConfigUrl">アプリケーション設定に構成 URL がありません</string>
|
<string id="NoConfigUrl">アプリケーション設定に構成 URL がありません</string>
|
||||||
<string id="ApiFlood">API 呼び出しが速すぎます。リクエストは遅くしてください。</string>
|
<string id="ApiFlood">API 呼び出しが速すぎます。リクエストは遅くしてください。</string>
|
||||||
|
<string id="ApiUrlNotFound">URLが見つかりません。設定における API URL エラーの可能性があります。</string>
|
||||||
|
<string id="ConfigUrlNotFound">URLが見つかりません。設定内の構成 URL エラーの可能性があります。</string>
|
||||||
|
<string id="UnhandledHttpErr">HTTP リクエストがエラー コードを返しました =</string>
|
||||||
|
<string id="TrailingSlashErr">API URL の末尾にスラッシュ「/」を含めることはできません</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">애플리케이션 설정에 API URL이 없습니다.</string>
|
<string id="NoApiUrl">애플리케이션 설정에 API URL이 없습니다.</string>
|
||||||
<string id="NoConfigUrl">애플리케이션 설정에 구성 URL이 없습니다.</string>
|
<string id="NoConfigUrl">애플리케이션 설정에 구성 URL이 없습니다.</string>
|
||||||
<string id="ApiFlood">API 호출이 너무 빠릅니다. 요청 속도를 늦추시기 바랍니다.</string>
|
<string id="ApiFlood">API 호출이 너무 빠릅니다. 요청 속도를 늦추시기 바랍니다.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL을 찾을 수 없습니다. 설정에 잠재적인 API URL 오류가 있습니다.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL을 찾을 수 없습니다. 설정에 잠재적인 구성 URL 오류가 있습니다.</string>
|
||||||
|
<string id="UnhandledHttpErr">HTTP 요청이 오류 코드를 반환했습니다 =</string>
|
||||||
|
<string id="TrailingSlashErr">API URL에는 후행 슬래시 '/'가 있어서는 안 됩니다.</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Lietojumprogrammas iestatījumos nav API URL</string>
|
<string id="NoApiUrl">Lietojumprogrammas iestatījumos nav API URL</string>
|
||||||
<string id="NoConfigUrl">Lietojumprogrammas iestatījumos nav konfigurācijas URL</string>
|
<string id="NoConfigUrl">Lietojumprogrammas iestatījumos nav konfigurācijas URL</string>
|
||||||
<string id="ApiFlood">API izsaukumi ir pārāk ātri. Lūdzu, palēniniet pieprasījumu izpildi.</string>
|
<string id="ApiFlood">API izsaukumi ir pārāk ātri. Lūdzu, palēniniet pieprasījumu izpildi.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL nav atrasts. Iespējama API URL kļūda iestatījumos.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL nav atrasts. Iespējama konfigurācijas URL kļūda iestatījumos.</string>
|
||||||
|
<string id="UnhandledHttpErr">HTTP pieprasījums atgrieza kļūdas kodu =</string>
|
||||||
|
<string id="TrailingSlashErr">API URL beigās nedrīkst būt slīpsvītra “/”</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Programos nustatymuose nėra API URL</string>
|
<string id="NoApiUrl">Programos nustatymuose nėra API URL</string>
|
||||||
<string id="NoConfigUrl">Programos nustatymuose nėra konfigūracijos URL</string>
|
<string id="NoConfigUrl">Programos nustatymuose nėra konfigūracijos URL</string>
|
||||||
<string id="ApiFlood">API skambučiai per greiti. Sulėtinkite prašymų vykdymą.</string>
|
<string id="ApiFlood">API skambučiai per greiti. Sulėtinkite prašymų vykdymą.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL nerastas. Galima API URL klaida nustatymuose.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL nerastas. Galima konfigūracijos URL klaida nustatymuose.</string>
|
||||||
|
<string id="UnhandledHttpErr">HTTP užklausa grąžino klaidos kodą =</string>
|
||||||
|
<string id="TrailingSlashErr">API URL pabaigoje negali būti pasvirojo brūkšnio „/“</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Ingen API-URL i applikasjonsinnstillingene</string>
|
<string id="NoApiUrl">Ingen API-URL i applikasjonsinnstillingene</string>
|
||||||
<string id="NoConfigUrl">Ingen konfigurasjons-URL i applikasjonsinnstillingene</string>
|
<string id="NoConfigUrl">Ingen konfigurasjons-URL i applikasjonsinnstillingene</string>
|
||||||
<string id="ApiFlood">API-kall for raske. Vennligst senke forespørslene dine.</string>
|
<string id="ApiFlood">API-kall for raske. Vennligst senke forespørslene dine.</string>
|
||||||
|
<string id="ApiUrlNotFound">Finner ikke URL. Potensiell API URL-feil i innstillingene.</string>
|
||||||
|
<string id="ConfigUrlNotFound">Finner ikke URL. Potensiell konfigurasjons-URL-feil i innstillingene.</string>
|
||||||
|
<string id="UnhandledHttpErr">HTTP-forespørsel returnerte feilkode =</string>
|
||||||
|
<string id="TrailingSlashErr">API URL må ikke ha en etterfølgende skråstrek '/'</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Brak adresu API w ustawieniach aplikacji</string>
|
<string id="NoApiUrl">Brak adresu API w ustawieniach aplikacji</string>
|
||||||
<string id="NoConfigUrl">Brak adresu URL konfiguracji w ustawieniach aplikacji</string>
|
<string id="NoConfigUrl">Brak adresu URL konfiguracji w ustawieniach aplikacji</string>
|
||||||
<string id="ApiFlood">Wywołania API są zbyt szybkie. Proszę spowolnić swoje żądania.</string>
|
<string id="ApiFlood">Wywołania API są zbyt szybkie. Proszę spowolnić swoje żądania.</string>
|
||||||
|
<string id="ApiUrlNotFound">Nie znaleziono adresu URL. Potencjalny błąd adresu URL interfejsu API w ustawieniach.</string>
|
||||||
|
<string id="ConfigUrlNotFound">Nie znaleziono adresu URL. Potencjalny błąd adresu URL konfiguracji w ustawieniach.</string>
|
||||||
|
<string id="UnhandledHttpErr">Żądanie HTTP zwróciło kod błędu =</string>
|
||||||
|
<string id="TrailingSlashErr">Adres URL interfejsu API nie może zawierać końcowego ukośnika „/”</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Nenhum URL de API nas configurações do aplicativo</string>
|
<string id="NoApiUrl">Nenhum URL de API nas configurações do aplicativo</string>
|
||||||
<string id="NoConfigUrl">Nenhum URL de configuração nas configurações do aplicativo</string>
|
<string id="NoConfigUrl">Nenhum URL de configuração nas configurações do aplicativo</string>
|
||||||
<string id="ApiFlood">Chamadas de API muito rápidas. Por favor, diminua a velocidade de seus pedidos.</string>
|
<string id="ApiFlood">Chamadas de API muito rápidas. Por favor, diminua a velocidade de seus pedidos.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL não encontrado. Possível erro de URL da API nas configurações.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL não encontrado. Possível erro de URL de configuração nas configurações.</string>
|
||||||
|
<string id="UnhandledHttpErr">Solicitação HTTP retornou código de erro =</string>
|
||||||
|
<string id="TrailingSlashErr">O URL da API não deve ter uma barra final '/'</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Nicio adresă URL API în setările aplicației</string>
|
<string id="NoApiUrl">Nicio adresă URL API în setările aplicației</string>
|
||||||
<string id="NoConfigUrl">Nicio adresă URL de configurare în setările aplicației</string>
|
<string id="NoConfigUrl">Nicio adresă URL de configurare în setările aplicației</string>
|
||||||
<string id="ApiFlood">Apeluri API prea rapide. Vă rugăm să vă încetiniți solicitările.</string>
|
<string id="ApiFlood">Apeluri API prea rapide. Vă rugăm să vă încetiniți solicitările.</string>
|
||||||
|
<string id="ApiUrlNotFound">Adresa URL nu a fost găsită. Potențială eroare URL API în setări.</string>
|
||||||
|
<string id="ConfigUrlNotFound">Adresa URL nu a fost găsită. Potențială eroare URL de configurare în setări.</string>
|
||||||
|
<string id="UnhandledHttpErr">Solicitarea HTTP a returnat codul de eroare =</string>
|
||||||
|
<string id="TrailingSlashErr">Adresa URL API nu trebuie să aibă o bară oblică „/”</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">V nastaveniach aplikácie nie je žiadna adresa URL rozhrania API</string>
|
<string id="NoApiUrl">V nastaveniach aplikácie nie je žiadna adresa URL rozhrania API</string>
|
||||||
<string id="NoConfigUrl">V nastaveniach aplikácie nie je žiadna konfiguračná URL</string>
|
<string id="NoConfigUrl">V nastaveniach aplikácie nie je žiadna konfiguračná URL</string>
|
||||||
<string id="ApiFlood">Volania API sú príliš rýchle. Spomaľte svoje požiadavky.</string>
|
<string id="ApiFlood">Volania API sú príliš rýchle. Spomaľte svoje požiadavky.</string>
|
||||||
|
<string id="ApiUrlNotFound">Adresa URL sa nenašla. Potenciálna chyba webovej adresy rozhrania API v nastaveniach.</string>
|
||||||
|
<string id="ConfigUrlNotFound">Adresa URL sa nenašla. Potenciálna chyba konfiguračnej adresy URL v nastaveniach.</string>
|
||||||
|
<string id="UnhandledHttpErr">Požiadavka HTTP vrátila kód chyby =</string>
|
||||||
|
<string id="TrailingSlashErr">Adresa URL rozhrania API nesmie obsahovať koncovú lomku „/“</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">V nastavitvah aplikacije ni URL-ja API-ja</string>
|
<string id="NoApiUrl">V nastavitvah aplikacije ni URL-ja API-ja</string>
|
||||||
<string id="NoConfigUrl">V nastavitvah aplikacije ni konfiguracijskega URL-ja</string>
|
<string id="NoConfigUrl">V nastavitvah aplikacije ni konfiguracijskega URL-ja</string>
|
||||||
<string id="ApiFlood">API klici so prehitri. Prosim, upočasnite svoje zahteve.</string>
|
<string id="ApiFlood">API klici so prehitri. Prosim, upočasnite svoje zahteve.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL-ja ni bilo mogoče najti. Morebitna napaka URL-ja API-ja v nastavitvah.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL-ja ni bilo mogoče najti. Morebitna napaka URL-ja konfiguracije v nastavitvah.</string>
|
||||||
|
<string id="UnhandledHttpErr">Zahteva HTTP je vrnila kodo napake =</string>
|
||||||
|
<string id="TrailingSlashErr">URL API-ja ne sme imeti končne poševnice '/'</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">No hay URL de API en la configuración de la aplicación</string>
|
<string id="NoApiUrl">No hay URL de API en la configuración de la aplicación</string>
|
||||||
<string id="NoConfigUrl">No hay URL de configuración en la configuración de la aplicación.</string>
|
<string id="NoConfigUrl">No hay URL de configuración en la configuración de la aplicación.</string>
|
||||||
<string id="ApiFlood">Llamadas API demasiado rápidas. Por favor, ralentice sus solicitudes.</string>
|
<string id="ApiFlood">Llamadas API demasiado rápidas. Por favor, ralentice sus solicitudes.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL no encontrada. Posible error de URL de API en la configuración.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL no encontrada. Posible error de URL de configuración en la configuración.</string>
|
||||||
|
<string id="UnhandledHttpErr">La solicitud HTTP devolvió el código de error =</string>
|
||||||
|
<string id="TrailingSlashErr">La URL de API no debe tener una barra diagonal '/'</string>
|
||||||
</strings>
|
</strings>
|
@ -27,7 +27,11 @@
|
|||||||
<string id="NoInternet">Ingen internetanslutning</string>
|
<string id="NoInternet">Ingen internetanslutning</string>
|
||||||
<string id="NoMenu">Menyhämtningsfel</string>
|
<string id="NoMenu">Menyhämtningsfel</string>
|
||||||
<string id="NoAPIKey">Ingen API-nyckel i applikationsinställningarna</string>
|
<string id="NoAPIKey">Ingen API-nyckel i applikationsinställningarna</string>
|
||||||
<string id="NoApiUrl">Ingen API-URL i applikationsinställningarna</string>
|
<string id="NoApiUrl">Ingen API-URL i programinställningarna</string>
|
||||||
<string id="NoConfigUrl">Ingen konfigurations-URL i programinställningarna</string>
|
<string id="NoConfigUrl">Ingen konfigurations-URL i programinställningarna</string>
|
||||||
<string id="ApiFlood">API-anrop för snabba. Vänligen sakta ner dina förfrågningar.</string>
|
<string id="ApiFlood">API-anrop för snabba. Vänligen sakta ner dina förfrågningar.</string>
|
||||||
|
<string id="ApiUrlNotFound">Webbadressen hittades inte. Potentiellt API-URL-fel i inställningarna.</string>
|
||||||
|
<string id="ConfigUrlNotFound">Webbadressen hittades inte. Potentiellt konfigurations-URL-fel i inställningarna.</string>
|
||||||
|
<string id="UnhandledHttpErr">HTTP-begäran returnerade felkod =</string>
|
||||||
|
<string id="TrailingSlashErr">API-URL får inte ha ett snedstreck '/'</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">ไม่มี URL API ในการตั้งค่าแอปพลิเคชัน</string>
|
<string id="NoApiUrl">ไม่มี URL API ในการตั้งค่าแอปพลิเคชัน</string>
|
||||||
<string id="NoConfigUrl">ไม่มี URL การกำหนดค่าในการตั้งค่าแอปพลิเคชัน</string>
|
<string id="NoConfigUrl">ไม่มี URL การกำหนดค่าในการตั้งค่าแอปพลิเคชัน</string>
|
||||||
<string id="ApiFlood">การเรียก API เร็วเกินไป กรุณาชะลอคำขอของคุณ</string>
|
<string id="ApiFlood">การเรียก API เร็วเกินไป กรุณาชะลอคำขอของคุณ</string>
|
||||||
|
<string id="ApiUrlNotFound">ไม่พบ URL ข้อผิดพลาด URL API ที่อาจเกิดขึ้นในการตั้งค่า</string>
|
||||||
|
<string id="ConfigUrlNotFound">ไม่พบ URL ข้อผิดพลาด URL การกำหนดค่าที่อาจเกิดขึ้นในการตั้งค่า</string>
|
||||||
|
<string id="UnhandledHttpErr">คำขอ HTTP ส่งคืนรหัสข้อผิดพลาด =</string>
|
||||||
|
<string id="TrailingSlashErr">URL ของ API ต้องไม่มีเครื่องหมายทับต่อท้าย '/'</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Uygulama ayarlarında API URL'si yok</string>
|
<string id="NoApiUrl">Uygulama ayarlarında API URL'si yok</string>
|
||||||
<string id="NoConfigUrl">Uygulama ayarlarında yapılandırma URL'si yok</string>
|
<string id="NoConfigUrl">Uygulama ayarlarında yapılandırma URL'si yok</string>
|
||||||
<string id="ApiFlood">API çağrıları çok hızlı. Lütfen isteklerinizi yavaşlatın.</string>
|
<string id="ApiFlood">API çağrıları çok hızlı. Lütfen isteklerinizi yavaşlatın.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL bulunamadı. Ayarlarda olası API URL hatası.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL bulunamadı. Ayarlarda Olası Yapılandırma URL'si hatası.</string>
|
||||||
|
<string id="UnhandledHttpErr">HTTP isteği hata kodunu döndürdü =</string>
|
||||||
|
<string id="TrailingSlashErr">API URL'sinin sonunda '/' eğik çizgi olmamalıdır</string>
|
||||||
</strings>
|
</strings>
|
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
<!--
|
<!--
|
||||||
Generated by Google Translate: English to Ukrainian
|
Generated by Google Translate: English to Ukrainian
|
||||||
Згенеровано Google Translate з англійської
|
Створено Google Translate з англійської
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<strings>
|
<strings>
|
||||||
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">У налаштуваннях програми немає URL-адреси API</string>
|
<string id="NoApiUrl">У налаштуваннях програми немає URL-адреси API</string>
|
||||||
<string id="NoConfigUrl">У налаштуваннях програми немає URL-адреси конфігурації</string>
|
<string id="NoConfigUrl">У налаштуваннях програми немає URL-адреси конфігурації</string>
|
||||||
<string id="ApiFlood">Надто швидкі виклики API. Будь ласка, сповільніть свої запити.</string>
|
<string id="ApiFlood">Надто швидкі виклики API. Будь ласка, сповільніть свої запити.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL не знайдено. Потенційна помилка URL-адреси API в налаштуваннях.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL не знайдено. Потенційна помилка URL-адреси конфігурації в налаштуваннях.</string>
|
||||||
|
<string id="UnhandledHttpErr">Запит HTTP повернув код помилки =</string>
|
||||||
|
<string id="TrailingSlashErr">URL-адреса API не повинна містити косу риску '/'</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Không có URL API trong cài đặt ứng dụng</string>
|
<string id="NoApiUrl">Không có URL API trong cài đặt ứng dụng</string>
|
||||||
<string id="NoConfigUrl">Không có URL cấu hình trong cài đặt ứng dụng</string>
|
<string id="NoConfigUrl">Không có URL cấu hình trong cài đặt ứng dụng</string>
|
||||||
<string id="ApiFlood">Cuộc gọi API quá nhanh. Hãy làm chậm yêu cầu của bạn.</string>
|
<string id="ApiFlood">Cuộc gọi API quá nhanh. Hãy làm chậm yêu cầu của bạn.</string>
|
||||||
|
<string id="ApiUrlNotFound">Không tìm thấy URL. Lỗi URL API tiềm ẩn trong cài đặt.</string>
|
||||||
|
<string id="ConfigUrlNotFound">Không tìm thấy URL. Lỗi URL cấu hình tiềm ẩn trong cài đặt.</string>
|
||||||
|
<string id="UnhandledHttpErr">Yêu cầu HTTP trả về mã lỗi =</string>
|
||||||
|
<string id="TrailingSlashErr">URL API không được có dấu gạch chéo ở cuối '/'</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">应用程序设置中没有 API URL</string>
|
<string id="NoApiUrl">应用程序设置中没有 API URL</string>
|
||||||
<string id="NoConfigUrl">应用程序设置中没有配置 URL</string>
|
<string id="NoConfigUrl">应用程序设置中没有配置 URL</string>
|
||||||
<string id="ApiFlood">API 调用速度太快。请放慢您的请求。</string>
|
<string id="ApiFlood">API 调用速度太快。请放慢您的请求。</string>
|
||||||
|
<string id="ApiUrlNotFound">找不到网址。设置中可能存在 API URL 错误。</string>
|
||||||
|
<string id="ConfigUrlNotFound">找不到网址。设置中可能存在配置 URL 错误。</string>
|
||||||
|
<string id="UnhandledHttpErr">HTTP请求返回错误码=</string>
|
||||||
|
<string id="TrailingSlashErr">API URL 不得有尾部斜杠“/”</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">應用程式設定中沒有 API URL</string>
|
<string id="NoApiUrl">應用程式設定中沒有 API URL</string>
|
||||||
<string id="NoConfigUrl">應用程式設定中沒有配置 URL</string>
|
<string id="NoConfigUrl">應用程式設定中沒有配置 URL</string>
|
||||||
<string id="ApiFlood">API 呼叫速度太快。請放慢您的請求。</string>
|
<string id="ApiFlood">API 呼叫速度太快。請放慢您的請求。</string>
|
||||||
|
<string id="ApiUrlNotFound">找不到網址。設定中可能存在 API URL 錯誤。</string>
|
||||||
|
<string id="ConfigUrlNotFound">找不到網址。設定中可能存在配置 URL 錯誤。</string>
|
||||||
|
<string id="UnhandledHttpErr">HTTP請求回傳錯誤碼=</string>
|
||||||
|
<string id="TrailingSlashErr">API URL 不得有尾部斜線“/”</string>
|
||||||
</strings>
|
</strings>
|
@ -30,4 +30,8 @@
|
|||||||
<string id="NoApiUrl">Tiada URL API dalam tetapan aplikasi</string>
|
<string id="NoApiUrl">Tiada URL API dalam tetapan aplikasi</string>
|
||||||
<string id="NoConfigUrl">Tiada URL konfigurasi dalam tetapan aplikasi</string>
|
<string id="NoConfigUrl">Tiada URL konfigurasi dalam tetapan aplikasi</string>
|
||||||
<string id="ApiFlood">Panggilan API terlalu pantas. Sila perlahankan permintaan anda.</string>
|
<string id="ApiFlood">Panggilan API terlalu pantas. Sila perlahankan permintaan anda.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL tidak ditemui. Ralat URL API yang berpotensi dalam tetapan.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL tidak ditemui. Ralat URL Konfigurasi Potensi dalam tetapan.</string>
|
||||||
|
<string id="UnhandledHttpErr">Permintaan HTTP mengembalikan kod ralat =</string>
|
||||||
|
<string id="TrailingSlashErr">URL API tidak boleh mempunyai garis miring '/'</string>
|
||||||
</strings>
|
</strings>
|
@ -24,4 +24,8 @@
|
|||||||
<string id="NoApiUrl">No API URL in the application settings</string>
|
<string id="NoApiUrl">No API URL in the application settings</string>
|
||||||
<string id="NoConfigUrl">No configuration URL in the application settings</string>
|
<string id="NoConfigUrl">No configuration URL in the application settings</string>
|
||||||
<string id="ApiFlood">API calls too rapid. Please slow down your requests.</string>
|
<string id="ApiFlood">API calls too rapid. Please slow down your requests.</string>
|
||||||
|
<string id="ApiUrlNotFound">URL not found. Potential API URL error in settings.</string>
|
||||||
|
<string id="ConfigUrlNotFound">URL not found. Potential Configuration URL error in settings.</string>
|
||||||
|
<string id="UnhandledHttpErr">HTTP request returned error code = </string>
|
||||||
|
<string id="TrailingSlashErr">API URL must not have a trailing slash '/'</string>
|
||||||
</strings>
|
</strings>
|
||||||
|
@ -26,23 +26,29 @@ using Toybox.Timer;
|
|||||||
|
|
||||||
class HomeAssistantApp extends Application.AppBase {
|
class HomeAssistantApp extends Application.AppBase {
|
||||||
hidden var mHaMenu;
|
hidden var mHaMenu;
|
||||||
hidden var strNoApiKey as Lang.String;
|
hidden var strNoApiKey as Lang.String;
|
||||||
hidden var strNoApiUrl as Lang.String;
|
hidden var strNoApiUrl as Lang.String;
|
||||||
hidden var strNoConfigUrl as Lang.String;
|
hidden var strNoConfigUrl as Lang.String;
|
||||||
hidden var strNoInternet as Lang.String;
|
hidden var strNoInternet as Lang.String;
|
||||||
hidden var strNoMenu as Lang.String;
|
hidden var strNoMenu as Lang.String;
|
||||||
hidden var strApiFlood as Lang.String;
|
hidden var strApiFlood as Lang.String;
|
||||||
|
hidden var strConfigUrlNotFound as Lang.String;
|
||||||
|
hidden var strUnhandledHttpErr as Lang.String;
|
||||||
|
hidden var strTrailingSlashErr as Lang.String;
|
||||||
hidden var mItemsToUpdate; // Array initialised by onReturnFetchMenuConfig()
|
hidden var mItemsToUpdate; // Array initialised by onReturnFetchMenuConfig()
|
||||||
hidden var mNextItemToUpdate = 0; // Index into the above array
|
hidden var mNextItemToUpdate = 0; // Index into the above array
|
||||||
|
|
||||||
function initialize() {
|
function initialize() {
|
||||||
AppBase.initialize();
|
AppBase.initialize();
|
||||||
strNoApiKey = WatchUi.loadResource($.Rez.Strings.NoAPIKey);
|
strNoApiKey = WatchUi.loadResource($.Rez.Strings.NoAPIKey);
|
||||||
strNoApiUrl = WatchUi.loadResource($.Rez.Strings.NoApiUrl);
|
strNoApiUrl = WatchUi.loadResource($.Rez.Strings.NoApiUrl);
|
||||||
strNoConfigUrl = WatchUi.loadResource($.Rez.Strings.NoConfigUrl);
|
strNoConfigUrl = WatchUi.loadResource($.Rez.Strings.NoConfigUrl);
|
||||||
strNoInternet = WatchUi.loadResource($.Rez.Strings.NoInternet);
|
strNoInternet = WatchUi.loadResource($.Rez.Strings.NoInternet);
|
||||||
strNoMenu = WatchUi.loadResource($.Rez.Strings.NoMenu);
|
strNoMenu = WatchUi.loadResource($.Rez.Strings.NoMenu);
|
||||||
strApiFlood = WatchUi.loadResource($.Rez.Strings.ApiFlood);
|
strApiFlood = WatchUi.loadResource($.Rez.Strings.ApiFlood);
|
||||||
|
strConfigUrlNotFound = WatchUi.loadResource($.Rez.Strings.ConfigUrlNotFound);
|
||||||
|
strUnhandledHttpErr = WatchUi.loadResource($.Rez.Strings.UnhandledHttpErr);
|
||||||
|
strTrailingSlashErr = WatchUi.loadResource($.Rez.Strings.TrailingSlashErr);
|
||||||
}
|
}
|
||||||
|
|
||||||
// onStart() is called on application start up
|
// onStart() is called on application start up
|
||||||
@ -54,19 +60,26 @@ class HomeAssistantApp extends Application.AppBase {
|
|||||||
|
|
||||||
// Return the initial view of your application here
|
// Return the initial view of your application here
|
||||||
function getInitialView() as Lang.Array<WatchUi.Views or WatchUi.InputDelegates>? {
|
function getInitialView() as Lang.Array<WatchUi.Views or WatchUi.InputDelegates>? {
|
||||||
|
var api_url = Properties.getValue("api_url") as Lang.String;
|
||||||
|
|
||||||
if ((Properties.getValue("api_key") as Lang.String).length() == 0) {
|
if ((Properties.getValue("api_key") as Lang.String).length() == 0) {
|
||||||
if (Globals.scDebug) {
|
if (Globals.scDebug) {
|
||||||
System.println("HomeAssistantMenuItem Note - execScript(): No API key in the application settings.");
|
System.println("HomeAssistantMenuItem execScript(): No API key in the application settings.");
|
||||||
}
|
}
|
||||||
return [new ErrorView(strNoApiKey + "."), new ErrorDelegate()] as Lang.Array<WatchUi.Views or WatchUi.InputDelegates>;
|
return [new ErrorView(strNoApiKey + "."), new ErrorDelegate()] as Lang.Array<WatchUi.Views or WatchUi.InputDelegates>;
|
||||||
} else if ((Properties.getValue("api_url") as Lang.String).length() == 0) {
|
} else if (api_url.length() == 0) {
|
||||||
if (Globals.scDebug) {
|
if (Globals.scDebug) {
|
||||||
System.println("HomeAssistantMenuItem Note - execScript(): No API URL in the application settings.");
|
System.println("HomeAssistantMenuItem execScript(): No API URL in the application settings.");
|
||||||
}
|
}
|
||||||
return [new ErrorView(strNoApiUrl + "."), new ErrorDelegate()] as Lang.Array<WatchUi.Views or WatchUi.InputDelegates>;
|
return [new ErrorView(strNoApiUrl + "."), new ErrorDelegate()] as Lang.Array<WatchUi.Views or WatchUi.InputDelegates>;
|
||||||
|
} else if (api_url.substring(-1, api_url.length()).equals("/")) {
|
||||||
|
if (Globals.scDebug) {
|
||||||
|
System.println("HomeAssistantMenuItem execScript(): API URL must not have a trailing slash '/'.");
|
||||||
|
}
|
||||||
|
return [new ErrorView(strTrailingSlashErr + "."), new ErrorDelegate()] as Lang.Array<WatchUi.Views or WatchUi.InputDelegates>;
|
||||||
} else if ((Properties.getValue("config_url") as Lang.String).length() == 0) {
|
} else if ((Properties.getValue("config_url") as Lang.String).length() == 0) {
|
||||||
if (Globals.scDebug) {
|
if (Globals.scDebug) {
|
||||||
System.println("HomeAssistantMenuItem Note - execScript(): No configuration URL in the application settings.");
|
System.println("HomeAssistantMenuItem execScript(): No configuration URL in the application settings.");
|
||||||
}
|
}
|
||||||
return [new ErrorView(strNoConfigUrl + "."), new ErrorDelegate()] as Lang.Array<WatchUi.Views or WatchUi.InputDelegates>;
|
return [new ErrorView(strNoConfigUrl + "."), new ErrorDelegate()] as Lang.Array<WatchUi.Views or WatchUi.InputDelegates>;
|
||||||
} else if (System.getDeviceSettings().phoneConnected && System.getDeviceSettings().connectionAvailable) {
|
} else if (System.getDeviceSettings().phoneConnected && System.getDeviceSettings().connectionAvailable) {
|
||||||
@ -74,7 +87,7 @@ class HomeAssistantApp extends Application.AppBase {
|
|||||||
return [new WatchUi.View(), new WatchUi.BehaviorDelegate()] as Lang.Array<WatchUi.Views or WatchUi.InputDelegates>;
|
return [new WatchUi.View(), new WatchUi.BehaviorDelegate()] as Lang.Array<WatchUi.Views or WatchUi.InputDelegates>;
|
||||||
} else {
|
} else {
|
||||||
if (Globals.scDebug) {
|
if (Globals.scDebug) {
|
||||||
System.println("HomeAssistantApp Note - fetchMenuConfig(): No Internet connection, skipping API call.");
|
System.println("HomeAssistantApp fetchMenuConfig(): No Internet connection, skipping API call.");
|
||||||
}
|
}
|
||||||
return [new ErrorView(strNoInternet + "."), new ErrorDelegate()] as Lang.Array<WatchUi.Views or WatchUi.InputDelegates>;
|
return [new ErrorView(strNoInternet + "."), new ErrorDelegate()] as Lang.Array<WatchUi.Views or WatchUi.InputDelegates>;
|
||||||
}
|
}
|
||||||
@ -96,23 +109,30 @@ class HomeAssistantApp extends Application.AppBase {
|
|||||||
// Avoid pushing multiple ErrorViews
|
// Avoid pushing multiple ErrorViews
|
||||||
WatchUi.pushView(new ErrorView(strApiFlood), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
WatchUi.pushView(new ErrorView(strApiFlood), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
||||||
}
|
}
|
||||||
|
} else if (responseCode == 404) {
|
||||||
|
if (Globals.scDebug) {
|
||||||
|
System.println("HomeAssistantApp onReturnFetchMenuConfig() Response Code: 404, page not found. Check Configuration URL setting.");
|
||||||
|
}
|
||||||
|
WatchUi.pushView(new ErrorView(strConfigUrlNotFound), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
||||||
} else if (responseCode == 200) {
|
} else if (responseCode == 200) {
|
||||||
mHaMenu = new HomeAssistantView(data, null);
|
mHaMenu = new HomeAssistantView(data, null);
|
||||||
WatchUi.switchToView(mHaMenu, new HomeAssistantViewDelegate(), WatchUi.SLIDE_IMMEDIATE);
|
WatchUi.switchToView(mHaMenu, new HomeAssistantViewDelegate(), WatchUi.SLIDE_IMMEDIATE);
|
||||||
mItemsToUpdate = mHaMenu.getItemsToUpdate();
|
mItemsToUpdate = mHaMenu.getItemsToUpdate();
|
||||||
// Start the continuous update process that continues for as long as the application is running.
|
// Start the continuous update process that continues for as long as the application is running.
|
||||||
// The chain of functions from 'updateNextMenuItem()' calls 'updateNextMenuItem()' on completion.
|
// The chain of functions from 'updateNextMenuItem()' calls 'updateNextMenuItem()' on completion.
|
||||||
updateNextMenuItem();
|
if (mItemsToUpdate.size() > 0) {
|
||||||
} else if (responseCode == -300) {
|
updateNextMenuItem();
|
||||||
|
}
|
||||||
|
} else if (responseCode == Communications.NETWORK_REQUEST_TIMED_OUT) {
|
||||||
if (Globals.scDebug) {
|
if (Globals.scDebug) {
|
||||||
System.println("HomeAssistantApp Note - onReturnFetchMenuConfig(): Network request timeout.");
|
System.println("HomeAssistantApp onReturnFetchMenuConfig(): Network request timeout.");
|
||||||
}
|
}
|
||||||
WatchUi.pushView(new ErrorView(strNoMenu + ". " + strNoInternet + "?"), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
WatchUi.pushView(new ErrorView(strNoMenu + ". " + strNoInternet + "?"), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
||||||
} else {
|
} else {
|
||||||
if (Globals.scDebug) {
|
if (Globals.scDebug) {
|
||||||
System.println("HomeAssistantApp Note - onReturnFetchMenuConfig(): Configuration not found or potential validation issue.");
|
System.println("HomeAssistantApp onReturnFetchMenuConfig(): Unhandled HTTP response code = " + responseCode);
|
||||||
}
|
}
|
||||||
WatchUi.pushView(new ErrorView(strNoMenu + " code=" + responseCode ), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
WatchUi.pushView(new ErrorView(strUnhandledHttpErr + responseCode ), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,10 +24,12 @@ using Toybox.Graphics;
|
|||||||
using Toybox.Application.Properties;
|
using Toybox.Application.Properties;
|
||||||
|
|
||||||
class HomeAssistantMenuItem extends WatchUi.MenuItem {
|
class HomeAssistantMenuItem extends WatchUi.MenuItem {
|
||||||
hidden var mApiKey = Properties.getValue("api_key");
|
hidden var mApiKey as Lang.String;
|
||||||
hidden var strNoInternet as Lang.String;
|
hidden var strNoInternet as Lang.String;
|
||||||
hidden var strApiFlood as Lang.String;
|
hidden var strApiFlood as Lang.String;
|
||||||
hidden var mService as Lang.String;
|
hidden var strApiUrlNotFound as Lang.String;
|
||||||
|
hidden var strUnhandledHttpErr as Lang.String;
|
||||||
|
hidden var mService as Lang.String;
|
||||||
|
|
||||||
function initialize(
|
function initialize(
|
||||||
label as Lang.String or Lang.Symbol,
|
label as Lang.String or Lang.Symbol,
|
||||||
@ -39,8 +41,11 @@ class HomeAssistantMenuItem extends WatchUi.MenuItem {
|
|||||||
:icon as Graphics.BitmapType or WatchUi.Drawable or Lang.Symbol
|
:icon as Graphics.BitmapType or WatchUi.Drawable or Lang.Symbol
|
||||||
} or Null
|
} or Null
|
||||||
) {
|
) {
|
||||||
strNoInternet = WatchUi.loadResource($.Rez.Strings.NoInternet);
|
strNoInternet = WatchUi.loadResource($.Rez.Strings.NoInternet);
|
||||||
strApiFlood = WatchUi.loadResource($.Rez.Strings.ApiFlood);
|
strApiFlood = WatchUi.loadResource($.Rez.Strings.ApiFlood);
|
||||||
|
strApiUrlNotFound = WatchUi.loadResource($.Rez.Strings.ApiUrlNotFound);
|
||||||
|
strUnhandledHttpErr = WatchUi.loadResource($.Rez.Strings.UnhandledHttpErr);
|
||||||
|
mApiKey = Properties.getValue("api_key");
|
||||||
mService = service;
|
mService = service;
|
||||||
WatchUi.MenuItem.initialize(
|
WatchUi.MenuItem.initialize(
|
||||||
label,
|
label,
|
||||||
@ -66,12 +71,17 @@ class HomeAssistantMenuItem extends WatchUi.MenuItem {
|
|||||||
// Avoid pushing multiple ErrorViews
|
// Avoid pushing multiple ErrorViews
|
||||||
WatchUi.pushView(new ErrorView(strApiFlood), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
WatchUi.pushView(new ErrorView(strApiFlood), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
||||||
}
|
}
|
||||||
|
} else if (responseCode == 404) {
|
||||||
|
if (Globals.scDebug) {
|
||||||
|
System.println("HomeAssistantMenuItem onReturnExecScript() Response Code: 404, page not found. Check API URL setting.");
|
||||||
|
}
|
||||||
|
WatchUi.pushView(new ErrorView(strApiUrlNotFound), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
||||||
} else if (responseCode == 200) {
|
} else if (responseCode == 200) {
|
||||||
var d = data as Lang.Array;
|
var d = data as Lang.Array;
|
||||||
for(var i = 0; i < d.size(); i++) {
|
for(var i = 0; i < d.size(); i++) {
|
||||||
if ((d[i].get("entity_id") as Lang.String).equals(mIdentifier)) {
|
if ((d[i].get("entity_id") as Lang.String).equals(mIdentifier)) {
|
||||||
if (Globals.scDebug) {
|
if (Globals.scDebug) {
|
||||||
System.println("HomeAssistantMenuItem Note - onReturnExecScript(): Correct script executed.");
|
System.println("HomeAssistantMenuItem onReturnExecScript(): Correct script executed.");
|
||||||
}
|
}
|
||||||
if (WatchUi has :showToast) {
|
if (WatchUi has :showToast) {
|
||||||
WatchUi.showToast(
|
WatchUi.showToast(
|
||||||
@ -97,6 +107,11 @@ class HomeAssistantMenuItem extends WatchUi.MenuItem {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
if (Globals.scDebug) {
|
||||||
|
System.println("HomeAssistantMenuItem onReturnExecScript(): Unhandled HTTP response code = " + responseCode);
|
||||||
|
}
|
||||||
|
WatchUi.pushView(new ErrorView(strUnhandledHttpErr + responseCode ), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -142,7 +157,7 @@ class HomeAssistantMenuItem extends WatchUi.MenuItem {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (Globals.scDebug) {
|
if (Globals.scDebug) {
|
||||||
System.println("HomeAssistantMenuItem Note - execScript(): No Internet connection, skipping API call.");
|
System.println("HomeAssistantMenuItem execScript(): No Internet connection, skipping API call.");
|
||||||
}
|
}
|
||||||
WatchUi.pushView(new ErrorView(strNoInternet + "."), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
WatchUi.pushView(new ErrorView(strNoInternet + "."), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
||||||
}
|
}
|
||||||
|
@ -24,9 +24,11 @@ using Toybox.Graphics;
|
|||||||
using Toybox.Application.Properties;
|
using Toybox.Application.Properties;
|
||||||
|
|
||||||
class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
||||||
hidden var mApiKey = Properties.getValue("api_key");
|
hidden var mApiKey as Lang.String;
|
||||||
hidden var strNoInternet as Lang.String;
|
hidden var strNoInternet as Lang.String;
|
||||||
hidden var strApiFlood as Lang.String;
|
hidden var strApiFlood as Lang.String;
|
||||||
|
hidden var strApiUrlNotFound as Lang.String;
|
||||||
|
hidden var strUnhandledHttpErr as Lang.String;
|
||||||
|
|
||||||
function initialize(
|
function initialize(
|
||||||
label as Lang.String or Lang.Symbol,
|
label as Lang.String or Lang.Symbol,
|
||||||
@ -41,10 +43,12 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
|||||||
:icon as Graphics.BitmapType or WatchUi.Drawable or Lang.Symbol
|
:icon as Graphics.BitmapType or WatchUi.Drawable or Lang.Symbol
|
||||||
} or Null
|
} or Null
|
||||||
) {
|
) {
|
||||||
strNoInternet = WatchUi.loadResource($.Rez.Strings.NoInternet);
|
strNoInternet = WatchUi.loadResource($.Rez.Strings.NoInternet);
|
||||||
strApiFlood = WatchUi.loadResource($.Rez.Strings.ApiFlood);
|
strApiFlood = WatchUi.loadResource($.Rez.Strings.ApiFlood);
|
||||||
|
strApiUrlNotFound = WatchUi.loadResource($.Rez.Strings.ApiUrlNotFound);
|
||||||
|
strUnhandledHttpErr = WatchUi.loadResource($.Rez.Strings.UnhandledHttpErr);
|
||||||
|
mApiKey = Properties.getValue("api_key");
|
||||||
WatchUi.ToggleMenuItem.initialize(label, subLabel, identifier, enabled, options);
|
WatchUi.ToggleMenuItem.initialize(label, subLabel, identifier, enabled, options);
|
||||||
mApiKey = Properties.getValue("api_key");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function setUiToggle(state as Null or Lang.String) as Void {
|
private function setUiToggle(state as Null or Lang.String) as Void {
|
||||||
@ -75,6 +79,17 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
|||||||
// Avoid pushing multiple ErrorViews
|
// Avoid pushing multiple ErrorViews
|
||||||
WatchUi.pushView(new ErrorView(strApiFlood), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
WatchUi.pushView(new ErrorView(strApiFlood), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
||||||
}
|
}
|
||||||
|
// Now this feels very "closely coupled" to the application, but it is the most reliable method instead of using a timer.
|
||||||
|
getApp().updateNextMenuItem();
|
||||||
|
} else if (responseCode == 404) {
|
||||||
|
if (Globals.scDebug) {
|
||||||
|
System.println("HomeAssistantToggleMenuItem onReturnGetState() Response Code: 404, page not found. Check API URL setting.");
|
||||||
|
}
|
||||||
|
var cw = WatchUi.getCurrentView();
|
||||||
|
if (!(cw[0] instanceof ErrorView)) {
|
||||||
|
// Avoid pushing multiple ErrorViews
|
||||||
|
WatchUi.pushView(new ErrorView(strApiUrlNotFound), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
||||||
|
}
|
||||||
} else if (responseCode == 200) {
|
} else if (responseCode == 200) {
|
||||||
var state = data.get("state") as Lang.String;
|
var state = data.get("state") as Lang.String;
|
||||||
if (Globals.scDebug) {
|
if (Globals.scDebug) {
|
||||||
@ -84,9 +99,14 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
|||||||
setLabel((data.get("attributes") as Lang.Dictionary).get("friendly_name") as Lang.String);
|
setLabel((data.get("attributes") as Lang.Dictionary).get("friendly_name") as Lang.String);
|
||||||
}
|
}
|
||||||
setUiToggle(state);
|
setUiToggle(state);
|
||||||
|
// Now this feels very "closely coupled" to the application, but it is the most reliable method instead of using a timer.
|
||||||
|
getApp().updateNextMenuItem();
|
||||||
|
} else {
|
||||||
|
if (Globals.scDebug) {
|
||||||
|
System.println("HomeAssistantToggleMenuItem onReturnGetState(): Unhandled HTTP response code = " + responseCode);
|
||||||
|
}
|
||||||
|
WatchUi.pushView(new ErrorView(strUnhandledHttpErr + responseCode ), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
||||||
}
|
}
|
||||||
// Now this feels very "closely coupled" to the application, but it is the most reliable method instead of using a timer.
|
|
||||||
getApp().updateNextMenuItem();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getState() as Void {
|
function getState() as Void {
|
||||||
@ -110,7 +130,7 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
|||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
if (Globals.scDebug) {
|
if (Globals.scDebug) {
|
||||||
System.println("HomeAssistantToggleMenuItem Note - getState(): No Internet connection, skipping API call.");
|
System.println("HomeAssistantToggleMenuItem getState(): No Internet connection, skipping API call.");
|
||||||
}
|
}
|
||||||
WatchUi.pushView(new ErrorView(strNoInternet + "."), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
WatchUi.pushView(new ErrorView(strNoInternet + "."), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
||||||
}
|
}
|
||||||
@ -127,10 +147,15 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
|||||||
if (Globals.scDebug) {
|
if (Globals.scDebug) {
|
||||||
System.println("HomeAssistantToggleMenuItem onReturnSetState() Response Code: BLE_QUEUE_FULL, API calls too rapid.");
|
System.println("HomeAssistantToggleMenuItem onReturnSetState() Response Code: BLE_QUEUE_FULL, API calls too rapid.");
|
||||||
}
|
}
|
||||||
|
WatchUi.pushView(new ErrorView(strApiFlood), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
||||||
|
} else if (responseCode == 404) {
|
||||||
|
if (Globals.scDebug) {
|
||||||
|
System.println("HomeAssistantToggleMenuItem onReturnSetState() Response Code: 404, page not found. Check API URL setting.");
|
||||||
|
}
|
||||||
var cw = WatchUi.getCurrentView();
|
var cw = WatchUi.getCurrentView();
|
||||||
if (!(cw[0] instanceof ErrorView)) {
|
if (!(cw[0] instanceof ErrorView)) {
|
||||||
// Avoid pushing multiple ErrorViews
|
// Avoid pushing multiple ErrorViews
|
||||||
WatchUi.pushView(new ErrorView(strApiFlood), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
WatchUi.pushView(new ErrorView(strApiUrlNotFound), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
||||||
}
|
}
|
||||||
} else if (responseCode == 200) {
|
} else if (responseCode == 200) {
|
||||||
var state;
|
var state;
|
||||||
@ -144,6 +169,11 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
|||||||
setUiToggle(state);
|
setUiToggle(state);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
if (Globals.scDebug) {
|
||||||
|
System.println("HomeAssistantToggleMenuItem onReturnSetState(): Unhandled HTTP response code = " + responseCode);
|
||||||
|
}
|
||||||
|
WatchUi.pushView(new ErrorView(strUnhandledHttpErr + responseCode ), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -180,7 +210,7 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
|||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
if (Globals.scDebug) {
|
if (Globals.scDebug) {
|
||||||
System.println("HomeAssistantToggleMenuItem Note - setState(): No Internet connection, skipping API call.");
|
System.println("HomeAssistantToggleMenuItem setState(): No Internet connection, skipping API call.");
|
||||||
}
|
}
|
||||||
WatchUi.pushView(new ErrorView(strNoInternet + "."), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
WatchUi.pushView(new ErrorView(strNoInternet + "."), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user