homebridge-ac-freedom 2.3.1 → 2.3.3

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 CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.3.3
4
+
5
+ - **Hybrid offline startup** — if cloud is unavailable at Homebridge startup and the device has a local IP + MAC configured, the device now starts in local-only mode instead of failing. Full hybrid mode resumes automatically on the next restart when internet is available.
6
+ - **Hybrid endpoint fallback** — if a configured `endpointId` is not found in the cloud device list (e.g. after a cloud outage), the device also falls back to local-only mode when IP + MAC are set.
7
+
8
+ ## 2.3.2
9
+
10
+ - **Fix AUTO mode byte overflow** — local protocol uses 3-bit mode field; AUTO is now correctly encoded as 0 (not 8, which silently truncated to 0 in the wrong byte position)
11
+ - **Fix comfwind local polling** — Comfortable Wind state now read from local Broadlink state
12
+ - **Fix fan speed default** — initial `AcState.fanSpeed` corrected from 5 to 0 (AUTO)
13
+ - **Fix unhandled Promise rejection** — `discoverDevices()` now has `.catch()` to avoid Node.js ≥18 crash on cloud login failure
14
+ - **Fix timer and socket leak** — accessories now expose `destroy()` (clears poll interval + closes UDP socket); platform calls it before recreating accessories
15
+ - **Refactor send functions** — unified `_send(localFn, cloudFn)` helper replaces repeated if/else branches in all 8 send methods
16
+ - **Fix config.schema.json layout** — `showFan` was incorrectly nested inside the presets fieldset
17
+ - **Add peerDependencies** to package.json
18
+ - **i18n cleanup** — removed 26 unused keys from all 14 language files; added `fetch`, `cloudDevices`, `localDevices` keys
19
+ - **Fix tr.json typo** — "düyməsi" (Azerbaijani) corrected to "düğmesi" (Turkish)
20
+
3
21
  ## 2.3.1
4
22
 
5
23
  - **Config UI overhaul** — complete redesign of the custom Homebridge UI
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Homebridge AC Freedom
8
8
 
9
- A [Homebridge](https://homebridge.io) plugin for controlling **AUX-based air conditioners** via **Apple HomeKit**. Works with any AC that uses the **AC Freedom** app. Supports **Cloud** (AUX API) and **Local** (Broadlink UDP) connections — no extra hub required.
9
+ A [Homebridge](https://homebridge.io) plugin for controlling **AUX-based air conditioners** via **Apple HomeKit**. Works with any AC that uses the **AC Freedom** app. Supports **Hybrid** (AUX Cloud + optional local Broadlink UDP) and **Local** (Broadlink UDP only) connection modes — no extra hub required.
10
10
 
11
11
  [![verified-by-homebridge](https://img.shields.io/badge/homebridge-verified-blueviolet?color=%23491F59&style=flat&logoColor=%23FFFFFF&logo=homebridge)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
12
12
  [![npm](https://img.shields.io/npm/v/homebridge-ac-freedom)](https://www.npmjs.com/package/homebridge-ac-freedom)
@@ -31,10 +31,11 @@ A [Homebridge](https://homebridge.io) plugin for controlling **AUX-based air con
31
31
  - Self Clean
32
32
  - Comfortable Wind
33
33
  - **Display** switch — LED display on/off
34
- - **Auto-reset** — fan and sleep reset to default when AC turns on or off
35
- - **Cloud** — AUX Cloud API via AC Freedom app credentials
36
- - **Local** — Direct Broadlink UDP, no internet required
34
+ - **Auto-reset** — fan and sleep reset to default when AC turns on/off or mode changes
35
+ - **Hybrid** — single cloud login at platform level; optional IP + MAC per device for local Broadlink UDP (local preferred, cloud fallback)
36
+ - **Local** — Direct Broadlink UDP only, no internet required
37
37
  - **Multi-device** — configure as many ACs as needed
38
+ - **Custom config UI** — built-in Homebridge UI with Fetch Devices button
38
39
  - Homebridge v1 & v2 compatible
39
40
 
40
41
  ---
@@ -56,7 +57,7 @@ Any air conditioner compatible with the **AC Freedom** app is supported:
56
57
  - [Homebridge](https://homebridge.io) v1.6.0 or later (v2 supported)
57
58
  - Node.js v18.0.0 or later
58
59
  - An AUX-compatible AC with Wi-Fi (Broadlink module)
59
- - **Cloud:** AC Freedom app account (email registration)
60
+ - **Hybrid:** AC Freedom app account (email registration)
60
61
  - **Local:** AC's IP and MAC address on your local network
61
62
 
62
63
  ---
@@ -68,6 +69,7 @@ Any air conditioner compatible with the **AC Freedom** app is supported:
68
69
  1. Open the Homebridge UI → **Plugins**
69
70
  2. Search for `homebridge-ac-freedom`
70
71
  3. Click **Install**
72
+ 4. Open plugin settings, enter your cloud credentials and press **Fetch** to auto-discover your devices
71
73
 
72
74
  **Via terminal:**
73
75
 
@@ -77,9 +79,50 @@ npm install -g homebridge-ac-freedom
77
79
 
78
80
  ---
79
81
 
82
+ ## Connection Modes
83
+
84
+ ### Hybrid (recommended)
85
+
86
+ Cloud credentials are configured **once at platform level**. All your devices are auto-discovered via the cloud. Optionally add an IP + MAC per device for direct local Broadlink UDP control — local is used when available and automatically falls back to cloud.
87
+
88
+ ### Local Only
89
+
90
+ Direct Broadlink UDP communication only. No cloud account needed, but Homebridge must be on the same network as the AC.
91
+
92
+ ---
93
+
80
94
  ## Configuration
81
95
 
82
- ### Cloud Mode
96
+ The easiest way to configure is through the **Homebridge UI** — enter your credentials and press **Fetch** to auto-populate your devices.
97
+
98
+ For manual JSON configuration:
99
+
100
+ ### Hybrid Mode
101
+
102
+ ```json
103
+ {
104
+ "platforms": [
105
+ {
106
+ "platform": "AcFreedom",
107
+ "name": "AC Freedom",
108
+ "cloud": {
109
+ "email": "your-email@example.com",
110
+ "password": "your-password",
111
+ "region": "eu"
112
+ },
113
+ "devices": [
114
+ {
115
+ "name": "Living Room AC",
116
+ "connection": "hybrid",
117
+ "endpointId": "your-device-endpoint-id"
118
+ }
119
+ ]
120
+ }
121
+ ]
122
+ }
123
+ ```
124
+
125
+ ### Hybrid Mode with Local Override
83
126
 
84
127
  ```json
85
128
  {
@@ -87,14 +130,19 @@ npm install -g homebridge-ac-freedom
87
130
  {
88
131
  "platform": "AcFreedom",
89
132
  "name": "AC Freedom",
133
+ "cloud": {
134
+ "email": "your-email@example.com",
135
+ "password": "your-password",
136
+ "region": "eu"
137
+ },
90
138
  "devices": [
91
139
  {
92
140
  "name": "Living Room AC",
93
- "connection": "cloud",
94
- "cloud": {
95
- "email": "your-email@example.com",
96
- "password": "your-password",
97
- "region": "eu"
141
+ "connection": "hybrid",
142
+ "endpointId": "your-device-endpoint-id",
143
+ "local": {
144
+ "ip": "192.168.1.100",
145
+ "mac": "AA:BB:CC:DD:EE:FF"
98
146
  }
99
147
  }
100
148
  ]
@@ -103,7 +151,7 @@ npm install -g homebridge-ac-freedom
103
151
  }
104
152
  ```
105
153
 
106
- ### Local Mode
154
+ ### Local Only Mode
107
155
 
108
156
  ```json
109
157
  {
@@ -130,42 +178,46 @@ npm install -g homebridge-ac-freedom
130
178
 
131
179
  ## Configuration Options
132
180
 
133
- ### Device Options (all modes)
134
-
135
- | Option | Type | Required | Default | Description |
136
- |--------|------|----------|---------|-------------|
137
- | `name` | string | Yes | — | Device name in HomeKit |
138
- | `connection` | string | Yes | `"cloud"` | Connection mode: `cloud` or `local` |
139
- | `pollInterval` | integer | No | `30` | Polling interval in seconds (5–300) |
140
- | `tempStep` | number | No | `0.5` | Temperature step: `0.5` or `1` |
181
+ ### Platform-level Cloud Credentials (`cloud` object)
141
182
 
142
- ### Cloud Settings (`cloud` object)
183
+ Required for Hybrid mode. Configured once, shared by all hybrid devices.
143
184
 
144
185
  | Option | Type | Required | Default | Description |
145
186
  |--------|------|----------|---------|-------------|
146
187
  | `email` | string | Yes | — | AC Freedom app email |
147
188
  | `password` | string | Yes | — | AC Freedom app password |
148
189
  | `region` | string | No | `"eu"` | Server region: `eu`, `usa`, `cn`, `rus` |
149
- | `deviceId` | string | No | — | Specific device ID (leave empty to auto-detect) |
150
190
 
151
- ### Local Settings (`local` object)
191
+ ### Device Options
152
192
 
153
193
  | Option | Type | Required | Default | Description |
154
194
  |--------|------|----------|---------|-------------|
155
- | `ip` | string | Yes | — | AC unit's local IP address |
156
- | `mac` | string | Yes | | AC unit's MAC address (`AA:BB:CC:DD:EE:FF`) |
195
+ | `name` | string | Yes | — | Device name in HomeKit |
196
+ | `connection` | string | No | `"hybrid"` | `"hybrid"` or `"local"` |
197
+ | `endpointId` | string | No | — | Cloud device ID (auto-detected if empty) |
198
+ | `pollInterval` | integer | No | `30` | Polling interval in seconds (5–300) |
199
+ | `tempStep` | number | No | `0.5` | Temperature step: `0.5` or `1` |
200
+
201
+ ### Local Settings (`local` object, per device)
202
+
203
+ | Option | Type | Required | Description |
204
+ |--------|------|----------|-------------|
205
+ | `ip` | string | Yes | AC unit's local IP address |
206
+ | `mac` | string | Yes | AC unit's MAC address (`AA:BB:CC:DD:EE:FF`) |
157
207
 
158
208
  ### Feature Switches
159
209
 
160
210
  | Option | Type | Default | Description |
161
211
  |--------|------|---------|-------------|
162
- | `presets.sleep` | boolean | `true` | Sleep Mode switch |
163
- | `presets.health` | boolean | `true` | Health / Ionizer switch |
164
- | `presets.eco` | boolean | `true` | Eco / Mildew Prevention switch |
165
- | `presets.clean` | boolean | `true` | Self Clean switch |
166
- | `showComfWind` | boolean | `true` | Comfortable Wind switch |
167
- | `showDisplay` | boolean | `true` | Display (LED) switch |
168
212
  | `showFan` | boolean | `true` | Fan speed slider |
213
+ | `presets.sleep` | boolean | `true` | Sleep Mode switch |
214
+ | `presets.health` | boolean | `false` | Health / Ionizer switch |
215
+ | `presets.eco` | boolean | `false` | Eco / Mildew Prevention switch |
216
+ | `presets.clean` | boolean | `false` | Self Clean switch |
217
+ | `showComfWind` | boolean | `false` | Comfortable Wind switch |
218
+ | `showDisplay` | boolean | `false` | Display (LED) switch |
219
+
220
+ > **Tip:** For a clean HomeKit appearance, enable **Fan** and only one preset mode — **Sleep** is the recommended choice.
169
221
 
170
222
  ---
171
223
 
@@ -183,14 +235,17 @@ All linked services appear as tiles inside the climate card.
183
235
 
184
236
  ---
185
237
 
186
- ## Cloud vs Local
238
+ ## Hybrid vs Local
187
239
 
188
- | | Cloud | Local |
240
+ | | Hybrid | Local Only |
189
241
  |---|---|---|
190
- | Internet required | Yes | No |
191
- | Setup | Easy (email + password) | Moderate (IP + MAC) |
192
- | Response time | ~1–2 s | ~0.5 s |
242
+ | Internet required | For setup only¹ | No |
243
+ | Setup | Easy Fetch button auto-fills | Moderate (IP + MAC required) |
244
+ | Response time | ~1–2 s (cloud) / ~0.5 s (local) | ~0.5 s |
193
245
  | Works remotely | Yes | No |
246
+ | Local fallback | Yes (when IP + MAC configured) | — |
247
+
248
+ > ¹ **Hybrid + IP/MAC:** if internet is unavailable at startup, the device starts in local-only mode automatically. Full hybrid resumes on the next restart when internet is available.
194
249
 
195
250
  ---
196
251
 
@@ -203,8 +258,8 @@ All linked services appear as tiles inside the climate card.
203
258
  - Logging into the AC Freedom app may invalidate the plugin session — restart Homebridge after using the app
204
259
 
205
260
  **Device not found**
206
- - Cloud: leave `deviceId` empty for auto-detect, or find it in Homebridge logs
207
- - Local: confirm the AC is on your Wi-Fi and the IP/MAC are correct
261
+ - Leave `endpointId` empty for auto-detection (first discovered device is used)
262
+ - Use the **Fetch** button in the Homebridge UI to discover and auto-fill your device IDs
208
263
 
209
264
  **"Server busy" errors**
210
265
  - These are transient and automatically suppressed
@@ -159,12 +159,12 @@
159
159
  { "key": "devices[].local.mac" }
160
160
  ]
161
161
  },
162
+ { "key": "devices[].showFan" },
162
163
  {
163
164
  "key": "devices[].presets",
164
165
  "type": "fieldset",
165
166
  "title": "Features",
166
167
  "items": [
167
- { "key": "devices[].showFan" },
168
168
  { "key": "devices[].presets.sleep" },
169
169
  { "key": "devices[].presets.health" },
170
170
  { "key": "devices[].presets.eco" },
@@ -1,29 +1,13 @@
1
1
  {
2
- "devices": "الأجهزة",
3
2
  "deviceName": "اسم الجهاز",
4
3
  "connection": "الاتصال",
5
4
  "cloud": "السحابة",
6
5
  "local": "محلي",
7
- "cloudSettings": "إعدادات السحابة",
8
6
  "email": "البريد الإلكتروني",
9
- "emailHint": "بريد حساب تطبيق AC Freedom",
10
7
  "password": "كلمة المرور",
11
- "passwordHint": "كلمة مرور تطبيق AC Freedom",
12
8
  "region": "المنطقة",
13
- "regionHint": "منطقة الخادم لحسابك",
14
- "regionEu": "أوروبا",
15
- "regionUsa": "الولايات المتحدة",
16
- "regionCn": "الصين",
17
- "regionRus": "روسيا",
18
- "deviceId": "معرّف الجهاز",
19
- "deviceIdOptional": "اختياري",
20
- "deviceIdHint": "اتركه فارغاً للكشف التلقائي عن الجهاز الأول",
21
- "localSettings": "الإعدادات المحلية",
22
9
  "ip": "عنوان IP",
23
- "ipHint": "عنوان IP المحلي للمكيف (مثال: 192.168.1.100)",
24
10
  "mac": "عنوان MAC",
25
- "macHint": "الصيغة: AA:BB:CC:DD:EE:FF",
26
- "features": "الميزات",
27
11
  "fan": "مروحة",
28
12
  "sleep": "نوم",
29
13
  "display": "شاشة",
@@ -31,23 +15,16 @@
31
15
  "clean": "تنظيف",
32
16
  "eco": "اقتصادي",
33
17
  "comfWind": "رياح مريحة",
34
- "settings": "الإعدادات",
35
18
  "tempStep": "خطوة الحرارة",
36
- "tempStepHint": "أدنى تعديل لدرجة الحرارة",
37
19
  "pollInterval": "فترة الاستطلاع (ثانية)",
38
- "pollIntervalHint": "تكرار جلب حالة المكيف (5–300)",
39
20
  "addDevice": "إضافة جهاز",
40
21
  "remove": "إزالة",
41
- "featuresHint": "للحصول على مظهر HomeKit أنيق، يُوصى بتفعيل المروحة ووضع إعداد مسبق واحد فقط — يُقترح اختيار النوم.",
42
22
  "hybrid": "هجين",
43
- "localOnly": "محلي فقط",
44
23
  "cloudCredentials": "بيانات اعتماد السحابة",
45
- "fetchDevices": "جلب الأجهزة",
46
24
  "fetching": "جارٍ الجلب...",
47
25
  "devicesFound": "أجهزة تم العثور عليها",
48
26
  "fetchFailed": "فشل الجلب",
49
- "endpointId": "معرّف الجهاز",
50
- "endpointIdHint": "يُملأ تلقائياً عبر «جلب الأجهزة». اتركه فارغاً لاستخدام الجهاز المُكتشَف الأول.",
51
- "localOverride": "اتصال محلي (اختياري)",
52
- "localOverrideHint": "أضف IP + MAC للاتصال المحلي المباشر. إذا كان متاحاً، يُفضَّل الاتصال المحلي على السحابة."
53
- }
27
+ "fetch": "جلب",
28
+ "cloudDevices": "أجهزة السحابة",
29
+ "localDevices": "الأجهزة المحلية"
30
+ }
@@ -1,29 +1,13 @@
1
1
  {
2
- "devices": "Geräte",
3
2
  "deviceName": "Gerätename",
4
3
  "connection": "Verbindung",
5
4
  "cloud": "Cloud",
6
5
  "local": "Lokal",
7
- "cloudSettings": "Cloud-Einstellungen",
8
6
  "email": "E-Mail",
9
- "emailHint": "E-Mail des AC Freedom App-Kontos",
10
7
  "password": "Passwort",
11
- "passwordHint": "Passwort der AC Freedom App",
12
8
  "region": "Region",
13
- "regionHint": "Server-Region Ihres Kontos",
14
- "regionEu": "Europa",
15
- "regionUsa": "USA",
16
- "regionCn": "China",
17
- "regionRus": "Russland",
18
- "deviceId": "Geräte-ID",
19
- "deviceIdOptional": "optional",
20
- "deviceIdHint": "Leer lassen für automatische Erkennung",
21
- "localSettings": "Lokale Einstellungen",
22
9
  "ip": "IP-Adresse",
23
- "ipHint": "Lokale IP des Klimageräts (z.B. 192.168.1.100)",
24
10
  "mac": "MAC-Adresse",
25
- "macHint": "Format: AA:BB:CC:DD:EE:FF",
26
- "features": "Funktionen",
27
11
  "fan": "Lüfter",
28
12
  "sleep": "Schlaf",
29
13
  "display": "Display",
@@ -31,23 +15,16 @@
31
15
  "clean": "Reinigung",
32
16
  "eco": "Eco",
33
17
  "comfWind": "Komfortwind",
34
- "settings": "Einstellungen",
35
18
  "tempStep": "Temperaturschritt",
36
- "tempStepHint": "Minimale Temperaturanpassung",
37
19
  "pollInterval": "Abfrageintervall (Sekunden)",
38
- "pollIntervalHint": "Wie oft der AC-Status abgerufen wird (5–300)",
39
20
  "addDevice": "Gerät hinzufügen",
40
21
  "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.",
42
22
  "hybrid": "Hybrid",
43
- "localOnly": "Nur Lokal",
44
23
  "cloudCredentials": "Cloud-Anmeldeinformationen",
45
- "fetchDevices": "Geräte abrufen",
46
24
  "fetching": "Wird abgerufen...",
47
25
  "devicesFound": "Geräte gefunden",
48
26
  "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."
53
- }
27
+ "fetch": "Abrufen",
28
+ "cloudDevices": "Cloud-Geräte",
29
+ "localDevices": "Lokale Geräte"
30
+ }
@@ -1,29 +1,13 @@
1
1
  {
2
- "devices": "Devices",
3
2
  "deviceName": "Device Name",
4
- "connection": "Connection",
3
+ "connection": "Connection Mode",
5
4
  "cloud": "Cloud",
6
5
  "local": "Local",
7
- "cloudSettings": "Cloud Settings",
8
6
  "email": "Email",
9
- "emailHint": "AC Freedom app account email",
10
7
  "password": "Password",
11
- "passwordHint": "AC Freedom app password",
12
8
  "region": "Region",
13
- "regionHint": "Server region for your account",
14
- "regionEu": "Europe",
15
- "regionUsa": "USA",
16
- "regionCn": "China",
17
- "regionRus": "Russia",
18
- "deviceId": "Device ID",
19
- "deviceIdOptional": "optional",
20
- "deviceIdHint": "Leave empty to auto-detect first device",
21
- "localSettings": "Local Settings",
22
9
  "ip": "IP Address",
23
- "ipHint": "AC unit's local IP (e.g. 192.168.1.100)",
24
10
  "mac": "MAC Address",
25
- "macHint": "Format: AA:BB:CC:DD:EE:FF",
26
- "features": "Features",
27
11
  "fan": "Fan",
28
12
  "sleep": "Sleep",
29
13
  "display": "Display",
@@ -31,23 +15,16 @@
31
15
  "clean": "Clean",
32
16
  "eco": "Eco",
33
17
  "comfWind": "Comf. Wind",
34
- "settings": "Settings",
35
18
  "tempStep": "Temperature Step",
36
- "tempStepHint": "Minimum temperature adjustment increment",
37
19
  "pollInterval": "Poll Interval (seconds)",
38
- "pollIntervalHint": "How often to fetch the AC state (5–300)",
39
20
  "addDevice": "Add Device",
40
21
  "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.",
42
22
  "hybrid": "Hybrid",
43
- "localOnly": "Local Only",
44
23
  "cloudCredentials": "Cloud Credentials",
45
- "fetchDevices": "Fetch Devices",
46
24
  "fetching": "Fetching...",
47
25
  "devicesFound": "devices found",
48
26
  "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."
53
- }
27
+ "fetch": "Fetch",
28
+ "cloudDevices": "Cloud Devices",
29
+ "localDevices": "Local Devices"
30
+ }
@@ -1,29 +1,13 @@
1
1
  {
2
- "devices": "Dispositivos",
3
2
  "deviceName": "Nombre del dispositivo",
4
3
  "connection": "Conexión",
5
4
  "cloud": "Nube",
6
5
  "local": "Local",
7
- "cloudSettings": "Configuración de nube",
8
6
  "email": "Correo electrónico",
9
- "emailHint": "Correo de la cuenta de la app AC Freedom",
10
7
  "password": "Contraseña",
11
- "passwordHint": "Contraseña de la app AC Freedom",
12
8
  "region": "Región",
13
- "regionHint": "Región del servidor de su cuenta",
14
- "regionEu": "Europa",
15
- "regionUsa": "EE.UU.",
16
- "regionCn": "China",
17
- "regionRus": "Rusia",
18
- "deviceId": "ID del dispositivo",
19
- "deviceIdOptional": "opcional",
20
- "deviceIdHint": "Dejar vacío para detección automática",
21
- "localSettings": "Configuración local",
22
9
  "ip": "Dirección IP",
23
- "ipHint": "IP local del aire acondicionado (p. ej. 192.168.1.100)",
24
10
  "mac": "Dirección MAC",
25
- "macHint": "Formato: AA:BB:CC:DD:EE:FF",
26
- "features": "Funciones",
27
11
  "fan": "Ventilador",
28
12
  "sleep": "Sueño",
29
13
  "display": "Pantalla",
@@ -31,23 +15,16 @@
31
15
  "clean": "Limpieza",
32
16
  "eco": "Eco",
33
17
  "comfWind": "Viento confort",
34
- "settings": "Ajustes",
35
18
  "tempStep": "Paso de temperatura",
36
- "tempStepHint": "Incremento mínimo de ajuste de temperatura",
37
19
  "pollInterval": "Intervalo de consulta (segundos)",
38
- "pollIntervalHint": "Con qué frecuencia obtener el estado del AC (5–300)",
39
20
  "addDevice": "Agregar dispositivo",
40
21
  "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.",
42
22
  "hybrid": "Híbrido",
43
- "localOnly": "Solo local",
44
23
  "cloudCredentials": "Credenciales de nube",
45
- "fetchDevices": "Obtener dispositivos",
46
24
  "fetching": "Obteniendo...",
47
25
  "devicesFound": "dispositivos encontrados",
48
26
  "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."
53
- }
27
+ "fetch": "Obtener",
28
+ "cloudDevices": "Dispositivos en la nube",
29
+ "localDevices": "Dispositivos locales"
30
+ }
@@ -1,29 +1,13 @@
1
1
  {
2
- "devices": "Appareils",
3
2
  "deviceName": "Nom de l'appareil",
4
3
  "connection": "Connexion",
5
4
  "cloud": "Cloud",
6
5
  "local": "Local",
7
- "cloudSettings": "Paramètres Cloud",
8
6
  "email": "E-mail",
9
- "emailHint": "E-mail du compte de l'application AC Freedom",
10
7
  "password": "Mot de passe",
11
- "passwordHint": "Mot de passe de l'application AC Freedom",
12
8
  "region": "Région",
13
- "regionHint": "Région du serveur de votre compte",
14
- "regionEu": "Europe",
15
- "regionUsa": "États-Unis",
16
- "regionCn": "Chine",
17
- "regionRus": "Russie",
18
- "deviceId": "ID de l'appareil",
19
- "deviceIdOptional": "optionnel",
20
- "deviceIdHint": "Laisser vide pour détection automatique",
21
- "localSettings": "Paramètres locaux",
22
9
  "ip": "Adresse IP",
23
- "ipHint": "IP locale du climatiseur (ex. 192.168.1.100)",
24
10
  "mac": "Adresse MAC",
25
- "macHint": "Format : AA:BB:CC:DD:EE:FF",
26
- "features": "Fonctionnalités",
27
11
  "fan": "Ventilateur",
28
12
  "sleep": "Sommeil",
29
13
  "display": "Affichage",
@@ -31,23 +15,16 @@
31
15
  "clean": "Nettoyage",
32
16
  "eco": "Éco",
33
17
  "comfWind": "Vent confort",
34
- "settings": "Paramètres",
35
18
  "tempStep": "Pas de température",
36
- "tempStepHint": "Incrément minimal de réglage de la température",
37
19
  "pollInterval": "Intervalle d'interrogation (secondes)",
38
- "pollIntervalHint": "Fréquence de récupération de l'état du climatiseur (5–300)",
39
20
  "addDevice": "Ajouter un appareil",
40
21
  "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é.",
42
22
  "hybrid": "Hybride",
43
- "localOnly": "Local uniquement",
44
23
  "cloudCredentials": "Identifiants cloud",
45
- "fetchDevices": "Récupérer les appareils",
46
24
  "fetching": "Récupération...",
47
25
  "devicesFound": "appareils trouvés",
48
26
  "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."
53
- }
27
+ "fetch": "Récupérer",
28
+ "cloudDevices": "Appareils cloud",
29
+ "localDevices": "Appareils locaux"
30
+ }
@@ -1,29 +1,13 @@
1
1
  {
2
- "devices": "Dispositivi",
3
2
  "deviceName": "Nome dispositivo",
4
3
  "connection": "Connessione",
5
4
  "cloud": "Cloud",
6
5
  "local": "Locale",
7
- "cloudSettings": "Impostazioni Cloud",
8
6
  "email": "E-mail",
9
- "emailHint": "Email dell'account dell'app AC Freedom",
10
7
  "password": "Password",
11
- "passwordHint": "Password dell'app AC Freedom",
12
8
  "region": "Regione",
13
- "regionHint": "Regione del server del proprio account",
14
- "regionEu": "Europa",
15
- "regionUsa": "USA",
16
- "regionCn": "Cina",
17
- "regionRus": "Russia",
18
- "deviceId": "ID dispositivo",
19
- "deviceIdOptional": "opzionale",
20
- "deviceIdHint": "Lasciare vuoto per il rilevamento automatico",
21
- "localSettings": "Impostazioni locali",
22
9
  "ip": "Indirizzo IP",
23
- "ipHint": "IP locale del condizionatore (es. 192.168.1.100)",
24
10
  "mac": "Indirizzo MAC",
25
- "macHint": "Formato: AA:BB:CC:DD:EE:FF",
26
- "features": "Funzionalità",
27
11
  "fan": "Ventilatore",
28
12
  "sleep": "Sonno",
29
13
  "display": "Display",
@@ -31,23 +15,16 @@
31
15
  "clean": "Pulizia",
32
16
  "eco": "Eco",
33
17
  "comfWind": "Vento confort",
34
- "settings": "Impostazioni",
35
18
  "tempStep": "Passo temperatura",
36
- "tempStepHint": "Incremento minimo della regolazione della temperatura",
37
19
  "pollInterval": "Intervallo polling (secondi)",
38
- "pollIntervalHint": "Ogni quanto recuperare lo stato del AC (5–300)",
39
20
  "addDevice": "Aggiungi dispositivo",
40
21
  "remove": "Rimuovi",
41
- "featuresHint": "Per un aspetto HomeKit ordinato, si consiglia di abilitare il Ventilatore e un solo modo preimpostato — Sonno è la scelta suggerita.",
42
22
  "hybrid": "Ibrido",
43
- "localOnly": "Solo locale",
44
23
  "cloudCredentials": "Credenziali cloud",
45
- "fetchDevices": "Recupera dispositivi",
46
24
  "fetching": "Recupero in corso...",
47
25
  "devicesFound": "dispositivi trovati",
48
26
  "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."
53
- }
27
+ "fetch": "Recupera",
28
+ "cloudDevices": "Dispositivi cloud",
29
+ "localDevices": "Dispositivi locali"
30
+ }