homebridge-ac-freedom 2.2.4 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -1
- package/config.schema.json +54 -54
- package/homebridge-ui/public/i18n/ar.json +12 -1
- package/homebridge-ui/public/i18n/de.json +12 -1
- package/homebridge-ui/public/i18n/en.json +12 -1
- package/homebridge-ui/public/i18n/es.json +12 -1
- package/homebridge-ui/public/i18n/fr.json +12 -1
- package/homebridge-ui/public/i18n/it.json +12 -1
- package/homebridge-ui/public/i18n/ja.json +12 -1
- package/homebridge-ui/public/i18n/ko.json +12 -1
- package/homebridge-ui/public/i18n/nl.json +12 -1
- package/homebridge-ui/public/i18n/pl.json +12 -1
- package/homebridge-ui/public/i18n/pt.json +12 -1
- package/homebridge-ui/public/i18n/ru.json +12 -1
- package/homebridge-ui/public/i18n/tr.json +12 -1
- package/homebridge-ui/public/i18n/zh-CN.json +12 -1
- package/homebridge-ui/public/index.html +397 -233
- package/homebridge-ui/server.js +52 -0
- package/package.json +4 -1
- package/src/ac-accessory.js +281 -186
- package/src/platform.js +137 -44
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,36 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 2.
|
|
3
|
+
## 2.3.1
|
|
4
|
+
|
|
5
|
+
- **Config UI overhaul** — complete redesign of the custom Homebridge UI
|
|
6
|
+
- Cloud credentials (Email, Password, Region, Fetch) all on one row
|
|
7
|
+
- **Cloud Devices** section appears only after a successful Fetch
|
|
8
|
+
- **Local Devices** section with full-width Add Device button
|
|
9
|
+
- Device cards: Name + Connection, IP + MAC, Temperature Step + Poll Interval, and Features all wrapped in consistent fieldset style
|
|
10
|
+
- Connection toggle: **Cloud** / **Hybrid** (Hybrid reveals IP + MAC fields)
|
|
11
|
+
- Features row: Fan · Sleep · Display · Health · Clean · Eco · Comf. Wind (all 7 in one line, no icons)
|
|
12
|
+
- Poll Interval changed from free input to fixed dropdown: 5 / 10 / 20 / 30 / 60 s
|
|
13
|
+
- New device defaults: only **Fan** and **Sleep** enabled out of the box
|
|
14
|
+
- Section headers centered, no underline borders
|
|
15
|
+
- Badge (Cloud / Hybrid / Local) moved to the right of the card header next to Remove
|
|
16
|
+
|
|
17
|
+
> **Upgrading from v2.2?** HomeKit accessories and automations are preserved (UUID is name-based). However, the new UI uses platform-level cloud credentials — open the plugin settings, enter your email/password and press **Fetch** to rediscover your devices.
|
|
18
|
+
|
|
19
|
+
## 2.3.0
|
|
20
|
+
|
|
21
|
+
- **New architecture: Hybrid + Local Only connection modes**
|
|
22
|
+
- **Hybrid** (replaces Cloud): single cloud login at platform level → all devices auto-discovered; optional IP + MAC per device for direct Broadlink UDP control (local preferred, cloud fallback)
|
|
23
|
+
- **Local Only**: unchanged — Broadlink UDP only, no cloud needed
|
|
24
|
+
- Old `cloud` connection mode handled transparently as backward compat
|
|
25
|
+
- Add **Fetch Devices** button in config UI: logs into AUX Cloud and auto-populates device cards
|
|
26
|
+
- Add `homebridge-ui/server.js` backend handler for `/fetchDevices` request
|
|
27
|
+
- Move cloud credentials from per-device to platform level (`cloud.email`, `cloud.password`, `cloud.region`)
|
|
28
|
+
- Add `endpointId` per-device field (replaces per-device `cloud.deviceId`)
|
|
29
|
+
- Normalize fan speed to canonical cloud numbering in state (fixes hybrid local/cloud switching)
|
|
30
|
+
- Add 11 new i18n keys in all 14 languages (hybrid, localOnly, cloudCredentials, fetchDevices, etc.)
|
|
31
|
+
- Bump purple accent colour for Hybrid badge in config UI
|
|
32
|
+
|
|
33
|
+
## 2.2.4
|
|
4
34
|
|
|
5
35
|
- Add localised features hint in config UI (14 languages)
|
|
6
36
|
- Fix README configuration examples (was showing outdated `cloudDevices`/`localDevices` format)
|
package/config.schema.json
CHANGED
|
@@ -13,6 +13,26 @@
|
|
|
13
13
|
"type": "string",
|
|
14
14
|
"default": "AC Freedom"
|
|
15
15
|
},
|
|
16
|
+
"cloud": {
|
|
17
|
+
"title": "Cloud Credentials",
|
|
18
|
+
"type": "object",
|
|
19
|
+
"properties": {
|
|
20
|
+
"email": {
|
|
21
|
+
"title": "Email",
|
|
22
|
+
"type": "string"
|
|
23
|
+
},
|
|
24
|
+
"password": {
|
|
25
|
+
"title": "Password",
|
|
26
|
+
"type": "string"
|
|
27
|
+
},
|
|
28
|
+
"region": {
|
|
29
|
+
"title": "Region",
|
|
30
|
+
"type": "string",
|
|
31
|
+
"default": "eu",
|
|
32
|
+
"enum": ["eu", "usa", "cn", "rus"]
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
},
|
|
16
36
|
"devices": {
|
|
17
37
|
"title": "Devices",
|
|
18
38
|
"type": "array",
|
|
@@ -28,31 +48,12 @@
|
|
|
28
48
|
"connection": {
|
|
29
49
|
"title": "Connection Mode",
|
|
30
50
|
"type": "string",
|
|
31
|
-
"default": "
|
|
32
|
-
"enum": ["
|
|
51
|
+
"default": "hybrid",
|
|
52
|
+
"enum": ["hybrid", "local", "cloud"]
|
|
33
53
|
},
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"email": {
|
|
38
|
-
"title": "Email",
|
|
39
|
-
"type": "string"
|
|
40
|
-
},
|
|
41
|
-
"password": {
|
|
42
|
-
"title": "Password",
|
|
43
|
-
"type": "string"
|
|
44
|
-
},
|
|
45
|
-
"region": {
|
|
46
|
-
"title": "Region",
|
|
47
|
-
"type": "string",
|
|
48
|
-
"default": "eu",
|
|
49
|
-
"enum": ["eu", "usa", "cn", "rus"]
|
|
50
|
-
},
|
|
51
|
-
"deviceId": {
|
|
52
|
-
"title": "Device ID (endpointId, leave empty for auto-detect)",
|
|
53
|
-
"type": "string"
|
|
54
|
-
}
|
|
55
|
-
}
|
|
54
|
+
"endpointId": {
|
|
55
|
+
"title": "Device ID (endpointId, leave empty for auto-detect)",
|
|
56
|
+
"type": "string"
|
|
56
57
|
},
|
|
57
58
|
"local": {
|
|
58
59
|
"type": "object",
|
|
@@ -70,10 +71,10 @@
|
|
|
70
71
|
"presets": {
|
|
71
72
|
"type": "object",
|
|
72
73
|
"properties": {
|
|
73
|
-
"sleep":
|
|
74
|
-
"health": { "title": "Health / Ionizer",
|
|
75
|
-
"eco":
|
|
76
|
-
"clean":
|
|
74
|
+
"sleep": { "title": "Sleep Mode", "type": "boolean", "default": true },
|
|
75
|
+
"health": { "title": "Health / Ionizer", "type": "boolean", "default": true },
|
|
76
|
+
"eco": { "title": "Eco / Mildew Prevention", "type": "boolean", "default": true },
|
|
77
|
+
"clean": { "title": "Self Clean", "type": "boolean", "default": true }
|
|
77
78
|
}
|
|
78
79
|
},
|
|
79
80
|
"showFan": {
|
|
@@ -111,6 +112,24 @@
|
|
|
111
112
|
},
|
|
112
113
|
"layout": [
|
|
113
114
|
{ "key": "name" },
|
|
115
|
+
{
|
|
116
|
+
"key": "cloud",
|
|
117
|
+
"type": "fieldset",
|
|
118
|
+
"title": "Cloud Credentials (for Hybrid mode)",
|
|
119
|
+
"items": [
|
|
120
|
+
{ "key": "cloud.email" },
|
|
121
|
+
{ "key": "cloud.password" },
|
|
122
|
+
{
|
|
123
|
+
"key": "cloud.region",
|
|
124
|
+
"titleMap": {
|
|
125
|
+
"eu": "Europe",
|
|
126
|
+
"usa": "USA",
|
|
127
|
+
"cn": "China",
|
|
128
|
+
"rus": "Russia"
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
]
|
|
132
|
+
},
|
|
114
133
|
{
|
|
115
134
|
"key": "devices",
|
|
116
135
|
"type": "array",
|
|
@@ -126,35 +145,15 @@
|
|
|
126
145
|
{
|
|
127
146
|
"key": "devices[].connection",
|
|
128
147
|
"titleMap": {
|
|
129
|
-
"
|
|
130
|
-
"local":
|
|
148
|
+
"hybrid": "Hybrid (Cloud + optional Local)",
|
|
149
|
+
"local": "Local Only (Broadlink UDP)"
|
|
131
150
|
}
|
|
132
151
|
},
|
|
133
|
-
{
|
|
134
|
-
"key": "devices[].cloud",
|
|
135
|
-
"type": "fieldset",
|
|
136
|
-
"title": "Cloud Settings",
|
|
137
|
-
"condition": { "functionBody": "return model.devices[arrayIndices[0]].connection === 'cloud';" },
|
|
138
|
-
"items": [
|
|
139
|
-
{ "key": "devices[].cloud.email" },
|
|
140
|
-
{ "key": "devices[].cloud.password" },
|
|
141
|
-
{
|
|
142
|
-
"key": "devices[].cloud.region",
|
|
143
|
-
"titleMap": {
|
|
144
|
-
"eu": "Europe",
|
|
145
|
-
"usa": "USA",
|
|
146
|
-
"cn": "China",
|
|
147
|
-
"rus": "Russia"
|
|
148
|
-
}
|
|
149
|
-
},
|
|
150
|
-
{ "key": "devices[].cloud.deviceId" }
|
|
151
|
-
]
|
|
152
|
-
},
|
|
152
|
+
{ "key": "devices[].endpointId" },
|
|
153
153
|
{
|
|
154
154
|
"key": "devices[].local",
|
|
155
155
|
"type": "fieldset",
|
|
156
156
|
"title": "Local Settings",
|
|
157
|
-
"condition": { "functionBody": "return model.devices[arrayIndices[0]].connection === 'local';" },
|
|
158
157
|
"items": [
|
|
159
158
|
{ "key": "devices[].local.ip" },
|
|
160
159
|
{ "key": "devices[].local.mac" }
|
|
@@ -163,7 +162,7 @@
|
|
|
163
162
|
{
|
|
164
163
|
"key": "devices[].presets",
|
|
165
164
|
"type": "fieldset",
|
|
166
|
-
"title": "
|
|
165
|
+
"title": "Features",
|
|
167
166
|
"items": [
|
|
168
167
|
{ "key": "devices[].showFan" },
|
|
169
168
|
{ "key": "devices[].presets.sleep" },
|
|
@@ -178,9 +177,10 @@
|
|
|
178
177
|
"key": "devices[].tempStep",
|
|
179
178
|
"titleMap": {
|
|
180
179
|
"0.5": "0.5 °C",
|
|
181
|
-
"1":
|
|
180
|
+
"1": "1 °C"
|
|
182
181
|
}
|
|
183
|
-
}
|
|
182
|
+
},
|
|
183
|
+
{ "key": "devices[].pollInterval" }
|
|
184
184
|
]
|
|
185
185
|
}
|
|
186
186
|
]
|
|
@@ -38,5 +38,16 @@
|
|
|
38
38
|
"pollIntervalHint": "تكرار جلب حالة المكيف (5–300)",
|
|
39
39
|
"addDevice": "إضافة جهاز",
|
|
40
40
|
"remove": "إزالة",
|
|
41
|
-
"featuresHint": "للحصول على مظهر HomeKit أنيق، يُوصى بتفعيل المروحة ووضع إعداد مسبق واحد فقط — يُقترح اختيار النوم."
|
|
41
|
+
"featuresHint": "للحصول على مظهر HomeKit أنيق، يُوصى بتفعيل المروحة ووضع إعداد مسبق واحد فقط — يُقترح اختيار النوم.",
|
|
42
|
+
"hybrid": "هجين",
|
|
43
|
+
"localOnly": "محلي فقط",
|
|
44
|
+
"cloudCredentials": "بيانات اعتماد السحابة",
|
|
45
|
+
"fetchDevices": "جلب الأجهزة",
|
|
46
|
+
"fetching": "جارٍ الجلب...",
|
|
47
|
+
"devicesFound": "أجهزة تم العثور عليها",
|
|
48
|
+
"fetchFailed": "فشل الجلب",
|
|
49
|
+
"endpointId": "معرّف الجهاز",
|
|
50
|
+
"endpointIdHint": "يُملأ تلقائياً عبر «جلب الأجهزة». اتركه فارغاً لاستخدام الجهاز المُكتشَف الأول.",
|
|
51
|
+
"localOverride": "اتصال محلي (اختياري)",
|
|
52
|
+
"localOverrideHint": "أضف IP + MAC للاتصال المحلي المباشر. إذا كان متاحاً، يُفضَّل الاتصال المحلي على السحابة."
|
|
42
53
|
}
|
|
@@ -38,5 +38,16 @@
|
|
|
38
38
|
"pollIntervalHint": "Wie oft der AC-Status abgerufen wird (5–300)",
|
|
39
39
|
"addDevice": "Gerät hinzufügen",
|
|
40
40
|
"remove": "Entfernen",
|
|
41
|
-
"featuresHint": "Für ein übersichtliches HomeKit-Layout wird empfohlen, nur den Lüfter und einen einzigen Voreinstellungsmodus zu aktivieren — empfohlen wird Schlaf."
|
|
41
|
+
"featuresHint": "Für ein übersichtliches HomeKit-Layout wird empfohlen, nur den Lüfter und einen einzigen Voreinstellungsmodus zu aktivieren — empfohlen wird Schlaf.",
|
|
42
|
+
"hybrid": "Hybrid",
|
|
43
|
+
"localOnly": "Nur Lokal",
|
|
44
|
+
"cloudCredentials": "Cloud-Anmeldeinformationen",
|
|
45
|
+
"fetchDevices": "Geräte abrufen",
|
|
46
|
+
"fetching": "Wird abgerufen...",
|
|
47
|
+
"devicesFound": "Geräte gefunden",
|
|
48
|
+
"fetchFailed": "Abruf fehlgeschlagen",
|
|
49
|
+
"endpointId": "Geräte-ID",
|
|
50
|
+
"endpointIdHint": "Wird über „Geräte abrufen\" automatisch befüllt. Leer lassen, um das erste erkannte Gerät zu verwenden.",
|
|
51
|
+
"localOverride": "Lokale Verbindung (optional)",
|
|
52
|
+
"localOverrideHint": "IP + MAC für direkte lokale Verbindung hinzufügen. Bei Verfügbarkeit wird die lokale Verbindung bevorzugt."
|
|
42
53
|
}
|
|
@@ -38,5 +38,16 @@
|
|
|
38
38
|
"pollIntervalHint": "How often to fetch the AC state (5–300)",
|
|
39
39
|
"addDevice": "Add Device",
|
|
40
40
|
"remove": "Remove",
|
|
41
|
-
"featuresHint": "For a clean HomeKit appearance, it is recommended to enable Fan and only one preset mode — Sleep is the suggested choice."
|
|
41
|
+
"featuresHint": "For a clean HomeKit appearance, it is recommended to enable Fan and only one preset mode — Sleep is the suggested choice.",
|
|
42
|
+
"hybrid": "Hybrid",
|
|
43
|
+
"localOnly": "Local Only",
|
|
44
|
+
"cloudCredentials": "Cloud Credentials",
|
|
45
|
+
"fetchDevices": "Fetch Devices",
|
|
46
|
+
"fetching": "Fetching...",
|
|
47
|
+
"devicesFound": "devices found",
|
|
48
|
+
"fetchFailed": "Fetch failed",
|
|
49
|
+
"endpointId": "Device ID",
|
|
50
|
+
"endpointIdHint": "Auto-filled via Fetch Devices. Leave empty to use the first discovered device.",
|
|
51
|
+
"localOverride": "Local Override (optional)",
|
|
52
|
+
"localOverrideHint": "Add IP + MAC for direct local connection. Local is preferred over cloud when available."
|
|
42
53
|
}
|
|
@@ -38,5 +38,16 @@
|
|
|
38
38
|
"pollIntervalHint": "Con qué frecuencia obtener el estado del AC (5–300)",
|
|
39
39
|
"addDevice": "Agregar dispositivo",
|
|
40
40
|
"remove": "Eliminar",
|
|
41
|
-
"featuresHint": "Para una apariencia limpia en HomeKit, se recomienda activar el Ventilador y solo un modo preestablecido — Sueño es la opción sugerida."
|
|
41
|
+
"featuresHint": "Para una apariencia limpia en HomeKit, se recomienda activar el Ventilador y solo un modo preestablecido — Sueño es la opción sugerida.",
|
|
42
|
+
"hybrid": "Híbrido",
|
|
43
|
+
"localOnly": "Solo local",
|
|
44
|
+
"cloudCredentials": "Credenciales de nube",
|
|
45
|
+
"fetchDevices": "Obtener dispositivos",
|
|
46
|
+
"fetching": "Obteniendo...",
|
|
47
|
+
"devicesFound": "dispositivos encontrados",
|
|
48
|
+
"fetchFailed": "Error al obtener",
|
|
49
|
+
"endpointId": "ID del dispositivo",
|
|
50
|
+
"endpointIdHint": "Se rellena automáticamente con «Obtener dispositivos». Dejar vacío para usar el primer dispositivo detectado.",
|
|
51
|
+
"localOverride": "Conexión local (opcional)",
|
|
52
|
+
"localOverrideHint": "Añadir IP + MAC para conexión local directa. Si está disponible, se prefiere la conexión local."
|
|
42
53
|
}
|
|
@@ -38,5 +38,16 @@
|
|
|
38
38
|
"pollIntervalHint": "Fréquence de récupération de l'état du climatiseur (5–300)",
|
|
39
39
|
"addDevice": "Ajouter un appareil",
|
|
40
40
|
"remove": "Supprimer",
|
|
41
|
-
"featuresHint": "Pour un affichage HomeKit épuré, il est recommandé d'activer le Ventilateur et un seul mode prédéfini — Sommeil est le choix conseillé."
|
|
41
|
+
"featuresHint": "Pour un affichage HomeKit épuré, il est recommandé d'activer le Ventilateur et un seul mode prédéfini — Sommeil est le choix conseillé.",
|
|
42
|
+
"hybrid": "Hybride",
|
|
43
|
+
"localOnly": "Local uniquement",
|
|
44
|
+
"cloudCredentials": "Identifiants cloud",
|
|
45
|
+
"fetchDevices": "Récupérer les appareils",
|
|
46
|
+
"fetching": "Récupération...",
|
|
47
|
+
"devicesFound": "appareils trouvés",
|
|
48
|
+
"fetchFailed": "Échec de la récupération",
|
|
49
|
+
"endpointId": "ID de l'appareil",
|
|
50
|
+
"endpointIdHint": "Rempli automatiquement via « Récupérer les appareils ». Laisser vide pour utiliser le premier appareil détecté.",
|
|
51
|
+
"localOverride": "Connexion locale (optionnelle)",
|
|
52
|
+
"localOverrideHint": "Ajouter IP + MAC pour une connexion locale directe. Si disponible, la connexion locale est préférée."
|
|
42
53
|
}
|
|
@@ -38,5 +38,16 @@
|
|
|
38
38
|
"pollIntervalHint": "Ogni quanto recuperare lo stato del AC (5–300)",
|
|
39
39
|
"addDevice": "Aggiungi dispositivo",
|
|
40
40
|
"remove": "Rimuovi",
|
|
41
|
-
"featuresHint": "Per un aspetto HomeKit ordinato, si consiglia di abilitare il Ventilatore e un solo modo preimpostato — Sonno è la scelta suggerita."
|
|
41
|
+
"featuresHint": "Per un aspetto HomeKit ordinato, si consiglia di abilitare il Ventilatore e un solo modo preimpostato — Sonno è la scelta suggerita.",
|
|
42
|
+
"hybrid": "Ibrido",
|
|
43
|
+
"localOnly": "Solo locale",
|
|
44
|
+
"cloudCredentials": "Credenziali cloud",
|
|
45
|
+
"fetchDevices": "Recupera dispositivi",
|
|
46
|
+
"fetching": "Recupero in corso...",
|
|
47
|
+
"devicesFound": "dispositivi trovati",
|
|
48
|
+
"fetchFailed": "Recupero non riuscito",
|
|
49
|
+
"endpointId": "ID dispositivo",
|
|
50
|
+
"endpointIdHint": "Compilato automaticamente tramite «Recupera dispositivi». Lasciare vuoto per usare il primo dispositivo rilevato.",
|
|
51
|
+
"localOverride": "Connessione locale (opzionale)",
|
|
52
|
+
"localOverrideHint": "Aggiungere IP + MAC per la connessione locale diretta. Se disponibile, la connessione locale è preferita."
|
|
42
53
|
}
|
|
@@ -38,5 +38,16 @@
|
|
|
38
38
|
"pollIntervalHint": "エアコンの状態を取得する頻度(5〜300)",
|
|
39
39
|
"addDevice": "デバイスを追加",
|
|
40
40
|
"remove": "削除",
|
|
41
|
-
"featuresHint": "すっきりしたHomeKit表示のために、ファンと1つのプリセットモードのみ有効にすることをお勧めします — スリープが推奨です。"
|
|
41
|
+
"featuresHint": "すっきりしたHomeKit表示のために、ファンと1つのプリセットモードのみ有効にすることをお勧めします — スリープが推奨です。",
|
|
42
|
+
"hybrid": "ハイブリッド",
|
|
43
|
+
"localOnly": "ローカルのみ",
|
|
44
|
+
"cloudCredentials": "クラウド認証情報",
|
|
45
|
+
"fetchDevices": "デバイスを取得",
|
|
46
|
+
"fetching": "取得中...",
|
|
47
|
+
"devicesFound": "台のデバイスが見つかりました",
|
|
48
|
+
"fetchFailed": "取得に失敗しました",
|
|
49
|
+
"endpointId": "デバイスID",
|
|
50
|
+
"endpointIdHint": "「デバイスを取得」で自動入力されます。空白のままにすると最初に検出されたデバイスが使用されます。",
|
|
51
|
+
"localOverride": "ローカル接続(任意)",
|
|
52
|
+
"localOverrideHint": "直接ローカル接続のためにIP + MACを追加してください。利用可能な場合、ローカル接続が優先されます。"
|
|
42
53
|
}
|
|
@@ -38,5 +38,16 @@
|
|
|
38
38
|
"pollIntervalHint": "에어컨 상태 조회 빈도 (5–300)",
|
|
39
39
|
"addDevice": "기기 추가",
|
|
40
40
|
"remove": "제거",
|
|
41
|
-
"featuresHint": "깔끔한 HomeKit 화면을 위해 팬과 프리셋 모드 하나만 활성화하는 것을 권장합니다 — 수면을 추천합니다."
|
|
41
|
+
"featuresHint": "깔끔한 HomeKit 화면을 위해 팬과 프리셋 모드 하나만 활성화하는 것을 권장합니다 — 수면을 추천합니다.",
|
|
42
|
+
"hybrid": "하이브리드",
|
|
43
|
+
"localOnly": "로컬 전용",
|
|
44
|
+
"cloudCredentials": "클라우드 자격 증명",
|
|
45
|
+
"fetchDevices": "기기 가져오기",
|
|
46
|
+
"fetching": "가져오는 중...",
|
|
47
|
+
"devicesFound": "기기 발견됨",
|
|
48
|
+
"fetchFailed": "가져오기 실패",
|
|
49
|
+
"endpointId": "기기 ID",
|
|
50
|
+
"endpointIdHint": "「기기 가져오기」로 자동 입력됩니다. 비워두면 첫 번째 발견된 기기를 사용합니다.",
|
|
51
|
+
"localOverride": "로컬 연결 (선택 사항)",
|
|
52
|
+
"localOverrideHint": "직접 로컬 연결을 위해 IP + MAC을 추가하세요. 사용 가능한 경우 로컬 연결이 우선됩니다."
|
|
42
53
|
}
|
|
@@ -38,5 +38,16 @@
|
|
|
38
38
|
"pollIntervalHint": "Hoe vaak de AC-status wordt opgehaald (5–300)",
|
|
39
39
|
"addDevice": "Apparaat toevoegen",
|
|
40
40
|
"remove": "Verwijderen",
|
|
41
|
-
"featuresHint": "Voor een overzichtelijk HomeKit-uiterlijk wordt aanbevolen alleen de Ventilator en één voorkeursmodus in te schakelen — Slaap is de aanbevolen keuze."
|
|
41
|
+
"featuresHint": "Voor een overzichtelijk HomeKit-uiterlijk wordt aanbevolen alleen de Ventilator en één voorkeursmodus in te schakelen — Slaap is de aanbevolen keuze.",
|
|
42
|
+
"hybrid": "Hybride",
|
|
43
|
+
"localOnly": "Alleen lokaal",
|
|
44
|
+
"cloudCredentials": "Cloudinloggegevens",
|
|
45
|
+
"fetchDevices": "Apparaten ophalen",
|
|
46
|
+
"fetching": "Ophalen...",
|
|
47
|
+
"devicesFound": "apparaten gevonden",
|
|
48
|
+
"fetchFailed": "Ophalen mislukt",
|
|
49
|
+
"endpointId": "Apparaat-ID",
|
|
50
|
+
"endpointIdHint": "Automatisch ingevuld via «Apparaten ophalen». Leeg laten om het eerste gevonden apparaat te gebruiken.",
|
|
51
|
+
"localOverride": "Lokale verbinding (optioneel)",
|
|
52
|
+
"localOverrideHint": "Voeg IP + MAC toe voor directe lokale verbinding. Indien beschikbaar wordt lokale verbinding verkozen."
|
|
42
53
|
}
|
|
@@ -38,5 +38,16 @@
|
|
|
38
38
|
"pollIntervalHint": "Jak często pobierać stan klimatyzatora (5–300)",
|
|
39
39
|
"addDevice": "Dodaj urządzenie",
|
|
40
40
|
"remove": "Usuń",
|
|
41
|
-
"featuresHint": "Dla przejrzystego wyglądu HomeKit zaleca się włączenie tylko Wentylatora i jednego trybu predefiniowanego — rekomendowany jest Sen."
|
|
41
|
+
"featuresHint": "Dla przejrzystego wyglądu HomeKit zaleca się włączenie tylko Wentylatora i jednego trybu predefiniowanego — rekomendowany jest Sen.",
|
|
42
|
+
"hybrid": "Hybrydowy",
|
|
43
|
+
"localOnly": "Tylko lokalny",
|
|
44
|
+
"cloudCredentials": "Dane logowania do chmury",
|
|
45
|
+
"fetchDevices": "Pobierz urządzenia",
|
|
46
|
+
"fetching": "Pobieranie...",
|
|
47
|
+
"devicesFound": "urządzeń znaleziono",
|
|
48
|
+
"fetchFailed": "Pobieranie nie powiodło się",
|
|
49
|
+
"endpointId": "ID urządzenia",
|
|
50
|
+
"endpointIdHint": "Wypełniany automatycznie przez «Pobierz urządzenia». Zostaw puste, aby użyć pierwszego wykrytego urządzenia.",
|
|
51
|
+
"localOverride": "Połączenie lokalne (opcjonalne)",
|
|
52
|
+
"localOverrideHint": "Dodaj IP + MAC dla bezpośredniego połączenia lokalnego. Jeśli dostępne, połączenie lokalne jest preferowane."
|
|
42
53
|
}
|
|
@@ -38,5 +38,16 @@
|
|
|
38
38
|
"pollIntervalHint": "Com que frequência buscar o estado do AC (5–300)",
|
|
39
39
|
"addDevice": "Adicionar dispositivo",
|
|
40
40
|
"remove": "Remover",
|
|
41
|
-
"featuresHint": "Para uma aparência limpa no HomeKit, recomenda-se ativar o Ventilador e apenas um modo predefinido — Sono é a escolha sugerida."
|
|
41
|
+
"featuresHint": "Para uma aparência limpa no HomeKit, recomenda-se ativar o Ventilador e apenas um modo predefinido — Sono é a escolha sugerida.",
|
|
42
|
+
"hybrid": "Híbrido",
|
|
43
|
+
"localOnly": "Somente local",
|
|
44
|
+
"cloudCredentials": "Credenciais da nuvem",
|
|
45
|
+
"fetchDevices": "Buscar dispositivos",
|
|
46
|
+
"fetching": "Buscando...",
|
|
47
|
+
"devicesFound": "dispositivos encontrados",
|
|
48
|
+
"fetchFailed": "Falha ao buscar",
|
|
49
|
+
"endpointId": "ID do dispositivo",
|
|
50
|
+
"endpointIdHint": "Preenchido automaticamente via «Buscar dispositivos». Deixe em branco para usar o primeiro dispositivo detectado.",
|
|
51
|
+
"localOverride": "Conexão local (opcional)",
|
|
52
|
+
"localOverrideHint": "Adicione IP + MAC para conexão local direta. Se disponível, a conexão local é preferida."
|
|
42
53
|
}
|
|
@@ -38,5 +38,16 @@
|
|
|
38
38
|
"pollIntervalHint": "Как часто запрашивать состояние кондиционера (5–300)",
|
|
39
39
|
"addDevice": "Добавить устройство",
|
|
40
40
|
"remove": "Удалить",
|
|
41
|
-
"featuresHint": "Для аккуратного вида HomeKit рекомендуется включить Вентилятор и только один режим предустановки — предпочтительно Сон."
|
|
41
|
+
"featuresHint": "Для аккуратного вида HomeKit рекомендуется включить Вентилятор и только один режим предустановки — предпочтительно Сон.",
|
|
42
|
+
"hybrid": "Гибридный",
|
|
43
|
+
"localOnly": "Только локальный",
|
|
44
|
+
"cloudCredentials": "Данные облачного аккаунта",
|
|
45
|
+
"fetchDevices": "Получить устройства",
|
|
46
|
+
"fetching": "Загрузка...",
|
|
47
|
+
"devicesFound": "устройств найдено",
|
|
48
|
+
"fetchFailed": "Не удалось получить",
|
|
49
|
+
"endpointId": "ID устройства",
|
|
50
|
+
"endpointIdHint": "Заполняется автоматически через «Получить устройства». Оставьте пустым для использования первого обнаруженного устройства.",
|
|
51
|
+
"localOverride": "Локальное подключение (необязательно)",
|
|
52
|
+
"localOverrideHint": "Добавьте IP + MAC для прямого локального подключения. При наличии локальное подключение предпочтительнее облачного."
|
|
42
53
|
}
|
|
@@ -38,5 +38,16 @@
|
|
|
38
38
|
"pollIntervalHint": "Klima durumunun ne sıklıkla sorgulanacağı (5–300)",
|
|
39
39
|
"addDevice": "Cihaz Ekle",
|
|
40
40
|
"remove": "Kaldır",
|
|
41
|
-
"featuresHint": "Temiz bir HomeKit görünümü için Fan ve yalnızca bir ön ayar modunun (önerilen: Uyku) etkinleştirilmesi tavsiye edilir."
|
|
41
|
+
"featuresHint": "Temiz bir HomeKit görünümü için Fan ve yalnızca bir ön ayar modunun (önerilen: Uyku) etkinleştirilmesi tavsiye edilir.",
|
|
42
|
+
"hybrid": "Hybrid",
|
|
43
|
+
"localOnly": "Yalnız Lokal",
|
|
44
|
+
"cloudCredentials": "Bulut Giriş Bilgileri",
|
|
45
|
+
"fetchDevices": "Cihazları Getir",
|
|
46
|
+
"fetching": "Getiriliyor...",
|
|
47
|
+
"devicesFound": "cihaz bulundu",
|
|
48
|
+
"fetchFailed": "Getirme başarısız",
|
|
49
|
+
"endpointId": "Cihaz ID",
|
|
50
|
+
"endpointIdHint": "Cihazları Getir düyməsi ilə avtomatik doldurulur. Boş bırakılırsa ilk bulunan cihaz kullanılır.",
|
|
51
|
+
"localOverride": "Yerel Geçersiz Kılma (isteğe bağlı)",
|
|
52
|
+
"localOverrideHint": "Doğrudan yerel bağlantı için IP + MAC ekle. Mevcut olduğunda yerel bağlantı buluta tercih edilir."
|
|
42
53
|
}
|
|
@@ -38,5 +38,16 @@
|
|
|
38
38
|
"pollIntervalHint": "获取空调状态的频率(5–300)",
|
|
39
39
|
"addDevice": "添加设备",
|
|
40
40
|
"remove": "删除",
|
|
41
|
-
"featuresHint": "为保持 HomeKit 界面整洁,建议仅启用风扇和一个预设模式 — 推荐选择睡眠。"
|
|
41
|
+
"featuresHint": "为保持 HomeKit 界面整洁,建议仅启用风扇和一个预设模式 — 推荐选择睡眠。",
|
|
42
|
+
"hybrid": "混合",
|
|
43
|
+
"localOnly": "仅本地",
|
|
44
|
+
"cloudCredentials": "云端凭据",
|
|
45
|
+
"fetchDevices": "获取设备",
|
|
46
|
+
"fetching": "获取中...",
|
|
47
|
+
"devicesFound": "个设备已找到",
|
|
48
|
+
"fetchFailed": "获取失败",
|
|
49
|
+
"endpointId": "设备ID",
|
|
50
|
+
"endpointIdHint": "通过「获取设备」自动填充。留空将使用第一个发现的设备。",
|
|
51
|
+
"localOverride": "本地连接(可选)",
|
|
52
|
+
"localOverrideHint": "添加IP + MAC进行直接本地连接。如可用,本地连接优先于云端。"
|
|
42
53
|
}
|