homeassistant 2025.11.0__py3-none-any.whl → 2025.11.0b5__py3-none-any.whl
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.
Potentially problematic release.
This version of homeassistant might be problematic. Click here for more details.
- homeassistant/components/frontend/manifest.json +1 -1
- homeassistant/components/homeassistant_connect_zbt2/config_flow.py +0 -17
- homeassistant/components/homeassistant_connect_zbt2/const.py +0 -58
- homeassistant/components/homeassistant_hardware/firmware_config_flow.py +0 -5
- homeassistant/components/http/__init__.py +2 -13
- homeassistant/components/http/strings.json +0 -4
- homeassistant/components/http/translations/de.json +0 -4
- homeassistant/components/http/translations/en-GB.json +0 -4
- homeassistant/components/http/translations/en.json +0 -4
- homeassistant/components/http/translations/es.json +0 -4
- homeassistant/components/http/translations/et.json +0 -4
- homeassistant/components/http/translations/lt.json +0 -4
- homeassistant/components/http/translations/sk.json +0 -4
- homeassistant/components/http/translations/zh-Hant.json +0 -4
- homeassistant/components/input_boolean/translations/cs.json +2 -2
- homeassistant/components/plugwise/translations/en-GB.json +0 -3
- homeassistant/components/plugwise/translations/es.json +0 -3
- homeassistant/components/plugwise/translations/et.json +0 -3
- homeassistant/components/plugwise/translations/lt.json +0 -3
- homeassistant/components/plugwise/translations/zh-Hant.json +0 -3
- homeassistant/components/{sunricher_dali → sunricher_dali_center}/__init__.py +2 -2
- homeassistant/components/{sunricher_dali → sunricher_dali_center}/config_flow.py +2 -2
- homeassistant/components/sunricher_dali_center/const.py +5 -0
- homeassistant/components/{sunricher_dali → sunricher_dali_center}/light.py +2 -2
- homeassistant/components/{sunricher_dali → sunricher_dali_center}/manifest.json +3 -3
- homeassistant/components/{sunricher_dali → sunricher_dali_center}/strings.json +6 -4
- homeassistant/components/sunricher_dali_center/translations/bg.json +19 -0
- homeassistant/components/sunricher_dali_center/translations/cs.json +29 -0
- homeassistant/components/{sunricher_dali → sunricher_dali_center}/translations/de.json +7 -5
- homeassistant/components/sunricher_dali_center/translations/el.json +11 -0
- homeassistant/components/{sunricher_dali → sunricher_dali_center}/translations/en-GB.json +6 -4
- homeassistant/components/{sunricher_dali → sunricher_dali_center}/translations/en.json +6 -4
- homeassistant/components/{sunricher_dali → sunricher_dali_center}/translations/es.json +6 -4
- homeassistant/components/sunricher_dali_center/translations/et.json +29 -0
- homeassistant/components/sunricher_dali_center/translations/ga.json +29 -0
- homeassistant/components/sunricher_dali_center/translations/he.json +11 -0
- homeassistant/components/sunricher_dali_center/translations/it.json +11 -0
- homeassistant/components/sunricher_dali_center/translations/lt.json +29 -0
- homeassistant/components/sunricher_dali_center/translations/nl.json +11 -0
- homeassistant/components/sunricher_dali_center/translations/pt.json +29 -0
- homeassistant/components/sunricher_dali_center/translations/sk.json +29 -0
- homeassistant/components/sunricher_dali_center/translations/sr-Latn.json +11 -0
- homeassistant/components/sunricher_dali_center/translations/zh-Hans.json +29 -0
- homeassistant/components/sunricher_dali_center/translations/zh-Hant.json +29 -0
- homeassistant/components/{sunricher_dali → sunricher_dali_center}/types.py +2 -2
- homeassistant/components/switch_as_x/translations/cs.json +1 -1
- homeassistant/components/vesync/translations/en-GB.json +0 -11
- homeassistant/components/zha/config_flow.py +2 -7
- homeassistant/components/zha/radio_manager.py +2 -3
- homeassistant/components/zha/translations/bg.json +0 -21
- homeassistant/components/zha/translations/en-GB.json +0 -71
- homeassistant/components/zha/translations/es.json +0 -39
- homeassistant/components/zha/translations/et.json +0 -39
- homeassistant/components/zha/translations/lt.json +0 -71
- homeassistant/components/zha/translations/zh-Hant.json +0 -39
- homeassistant/const.py +1 -1
- homeassistant/generated/config_flows.py +1 -1
- homeassistant/generated/integrations.json +2 -2
- homeassistant/package_constraints.txt +1 -1
- {homeassistant-2025.11.0.dist-info → homeassistant-2025.11.0b5.dist-info}/METADATA +1 -1
- {homeassistant-2025.11.0.dist-info → homeassistant-2025.11.0b5.dist-info}/RECORD +67 -53
- homeassistant/components/sunricher_dali/const.py +0 -5
- /homeassistant/components/{sunricher_dali → sunricher_dali_center}/quality_scale.yaml +0 -0
- {homeassistant-2025.11.0.dist-info → homeassistant-2025.11.0b5.dist-info}/WHEEL +0 -0
- {homeassistant-2025.11.0.dist-info → homeassistant-2025.11.0b5.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.11.0.dist-info → homeassistant-2025.11.0b5.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.11.0.dist-info → homeassistant-2025.11.0b5.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.11.0.dist-info → homeassistant-2025.11.0b5.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"already_configured": "Seade on juba h\u00e4\u00e4lestatud"
|
|
5
|
+
},
|
|
6
|
+
"error": {
|
|
7
|
+
"cannot_connect": "\u00dchendamine nurjus",
|
|
8
|
+
"discovery_failed": "V\u00f5rgus ei \u00f5nnestunud DALI-l\u00fc\u00fcse avastada",
|
|
9
|
+
"no_devices_found": "V\u00f5rgust ei leitud DALI-l\u00fc\u00fcse",
|
|
10
|
+
"unknown": "Ootamatu t\u00f5rge"
|
|
11
|
+
},
|
|
12
|
+
"step": {
|
|
13
|
+
"select_gateway": {
|
|
14
|
+
"data": {
|
|
15
|
+
"selected_gateway": "L\u00fc\u00fcs"
|
|
16
|
+
},
|
|
17
|
+
"data_description": {
|
|
18
|
+
"selected_gateway": "Iga valik n\u00e4itab l\u00fc\u00fcsi nime, seerianumbrit ja IP-aadressi."
|
|
19
|
+
},
|
|
20
|
+
"description": "Vali seadistatav l\u00fc\u00fcs",
|
|
21
|
+
"title": "Vali DALI l\u00fc\u00fcs"
|
|
22
|
+
},
|
|
23
|
+
"user": {
|
|
24
|
+
"description": "**Kolmeastmeline protsess:**\n\n1. Veendu, et l\u00fc\u00fcs oleks sees ja samas v\u00f5rgus.\n2. Tuvastamise alustamiseks vali **Esita** (otsib kuni 3 minutit)\n3. Avastamise ajal vajuta DALI l\u00fc\u00fcsiseadme nuppu **Reset** \u00fcks kord**.\n\nL\u00fc\u00fcs reageerib kohe p\u00e4rast nupuvajutust.",
|
|
25
|
+
"title": "DALI Centeri l\u00fc\u00fcsi seadistamine"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"already_configured": "T\u00e1 an gl\u00e9as cumraithe cheana f\u00e9in"
|
|
5
|
+
},
|
|
6
|
+
"error": {
|
|
7
|
+
"cannot_connect": "Theip ar an nascadh",
|
|
8
|
+
"discovery_failed": "Theip ar gheata\u00ed DALI a aimsi\u00fa ar an l\u00edonra",
|
|
9
|
+
"no_devices_found": "N\u00edor aims\u00edodh aon gheata\u00ed DALI ar an l\u00edonra",
|
|
10
|
+
"unknown": "Earr\u00e1id gan choinne"
|
|
11
|
+
},
|
|
12
|
+
"step": {
|
|
13
|
+
"select_gateway": {
|
|
14
|
+
"data": {
|
|
15
|
+
"selected_gateway": "Geata"
|
|
16
|
+
},
|
|
17
|
+
"data_description": {
|
|
18
|
+
"selected_gateway": "Taispe\u00e1nann gach rogha ainm an gheata, an uimhir sraitheach, agus an seoladh IP."
|
|
19
|
+
},
|
|
20
|
+
"description": "Roghnaigh an geata le cumr\u00fa.",
|
|
21
|
+
"title": "Roghnaigh geata DALI"
|
|
22
|
+
},
|
|
23
|
+
"user": {
|
|
24
|
+
"description": "**Pr\u00f3iseas tr\u00ed ch\u00e9im:**\n\n1. Cinntigh go bhfuil cumhacht ag an ngeata agus go bhfuil s\u00e9 ar an l\u00edonra c\u00e9anna.\n2. Roghnaigh **Cuir Isteach** chun t\u00fas a chur leis an bhfionnachtain (cuarda\u00edonn s\u00e9 ar feadh suas le 3 n\u00f3im\u00e9ad)\n3. Agus an fionnachtain ar si\u00fal, br\u00faigh an cnaipe **Athshocraigh** ar do ghl\u00e9as geata DALI **uair amh\u00e1in**.\n\nFreagr\u00f3idh an geata d\u00edreach tar \u00e9is an cnaipe a bhr\u00fa.",
|
|
25
|
+
"title": "Socraigh geata L\u00e1rionad DALI"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"already_configured": "\u05ea\u05e6\u05d5\u05e8\u05ea \u05d4\u05d4\u05ea\u05e7\u05df \u05db\u05d1\u05e8 \u05e0\u05e7\u05d1\u05e2\u05d4"
|
|
5
|
+
},
|
|
6
|
+
"error": {
|
|
7
|
+
"cannot_connect": "\u05d4\u05d4\u05ea\u05d7\u05d1\u05e8\u05d5\u05ea \u05e0\u05db\u05e9\u05dc\u05d4",
|
|
8
|
+
"unknown": "\u05e9\u05d2\u05d9\u05d0\u05d4 \u05d1\u05dc\u05ea\u05d9 \u05e6\u05e4\u05d5\u05d9\u05d4"
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"already_configured": "Prietaisas jau sukonfig\u016bruotas"
|
|
5
|
+
},
|
|
6
|
+
"error": {
|
|
7
|
+
"cannot_connect": "Nepavyko prisijungti",
|
|
8
|
+
"discovery_failed": "Nepavyko rasti DALI \u0161liuz\u0173 tinkle",
|
|
9
|
+
"no_devices_found": "Tinkle nerasta joki\u0173 DALI \u0161liuz\u0173",
|
|
10
|
+
"unknown": "Netik\u0117ta klaida"
|
|
11
|
+
},
|
|
12
|
+
"step": {
|
|
13
|
+
"select_gateway": {
|
|
14
|
+
"data": {
|
|
15
|
+
"selected_gateway": "\u0160liuzas"
|
|
16
|
+
},
|
|
17
|
+
"data_description": {
|
|
18
|
+
"selected_gateway": "Kiekviena parinktis rodo \u0161liuzo pavadinim\u0105, serijos numer\u012f ir IP adres\u0105."
|
|
19
|
+
},
|
|
20
|
+
"description": "Pasirinkite konfig\u016bruojam\u0105 \u0161liuz\u0105.",
|
|
21
|
+
"title": "Pasirinkite DALI \u0161liuz\u0105"
|
|
22
|
+
},
|
|
23
|
+
"user": {
|
|
24
|
+
"description": "**Trij\u0173 \u017eingsni\u0173 procesas:** \n \n 1. \u012esitikinkite, kad \u0161liuzas \u012fjungtas ir prijungtas prie to paties tinklo. \n 2. Pasirinkite **Pateikti**, kad prad\u0117tum\u0117te paie\u0161k\u0105 (paie\u0161ka trunka iki 3 minu\u010di\u0173) \n 3. Kol vyksta paie\u0161ka, **vien\u0105 kart\u0105** paspauskite DALI \u0161liuzo \u012frenginio mygtuk\u0105 **Nustatyti i\u0161 naujo**. \n \n \u0160liuzas sureaguos i\u0161 karto po mygtuko paspaudimo.",
|
|
25
|
+
"title": "DALI centro \u0161liuzo nustatymas"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"already_configured": "Dispositivo j\u00e1 configurado"
|
|
5
|
+
},
|
|
6
|
+
"error": {
|
|
7
|
+
"cannot_connect": "A liga\u00e7\u00e3o falhou",
|
|
8
|
+
"discovery_failed": "Falha ao descobrir gateways DALI na rede",
|
|
9
|
+
"no_devices_found": "N\u00e3o foram encontrados gateways DALI na rede",
|
|
10
|
+
"unknown": "Erro inesperado"
|
|
11
|
+
},
|
|
12
|
+
"step": {
|
|
13
|
+
"select_gateway": {
|
|
14
|
+
"data": {
|
|
15
|
+
"selected_gateway": "Porta de entrada"
|
|
16
|
+
},
|
|
17
|
+
"data_description": {
|
|
18
|
+
"selected_gateway": "Cada op\u00e7\u00e3o mostra o nome do gateway, o n\u00famero de s\u00e9rie e o endere\u00e7o IP."
|
|
19
|
+
},
|
|
20
|
+
"description": "Selecione o gateway a configurar.",
|
|
21
|
+
"title": "Selecionar o gateway DALI"
|
|
22
|
+
},
|
|
23
|
+
"user": {
|
|
24
|
+
"description": "**Processo em tr\u00eas etapas:**\n1. Certifique-se de que o gateway est\u00e1 ligado e na mesma rede.\n2. Selecione **Enviar** para iniciar a descoberta (procura at\u00e9 3 minutos)\n3. Enquanto a descoberta est\u00e1 em curso, prima o bot\u00e3o **Repor** no seu dispositivo de gateway DALI **uma vez**.\n\nO gateway responder\u00e1 imediatamente ap\u00f3s premir o bot\u00e3o.",
|
|
25
|
+
"title": "Configurar o gateway DALI Center"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"already_configured": "Zariadenie u\u017e je nakonfigurovan\u00e9"
|
|
5
|
+
},
|
|
6
|
+
"error": {
|
|
7
|
+
"cannot_connect": "Nepodarilo sa pripoji\u0165",
|
|
8
|
+
"discovery_failed": "Nepodarilo sa zisti\u0165 br\u00e1ny DALI v sieti",
|
|
9
|
+
"no_devices_found": "V sieti sa nena\u0161li \u017eiadne br\u00e1ny DALI",
|
|
10
|
+
"unknown": "Neo\u010dak\u00e1van\u00e1 chyba"
|
|
11
|
+
},
|
|
12
|
+
"step": {
|
|
13
|
+
"select_gateway": {
|
|
14
|
+
"data": {
|
|
15
|
+
"selected_gateway": "Gateway"
|
|
16
|
+
},
|
|
17
|
+
"data_description": {
|
|
18
|
+
"selected_gateway": "Pri ka\u017edej mo\u017enosti sa zobrazuje n\u00e1zov br\u00e1ny, s\u00e9riov\u00e9 \u010d\u00edslo a IP adresa."
|
|
19
|
+
},
|
|
20
|
+
"description": "Vyberte br\u00e1nu, ktor\u00fa chcete konfigurova\u0165.",
|
|
21
|
+
"title": "Vyberte br\u00e1nu DALI"
|
|
22
|
+
},
|
|
23
|
+
"user": {
|
|
24
|
+
"description": "**Tristup\u0148ov\u00fd proces:** 1. Uistite sa, \u017ee je br\u00e1na nap\u00e1jan\u00e1 a je v rovnakej sieti. 2. V\u00fdberom mo\u017enosti **Odosla\u0165** spustite zis\u0165ovanie (vyh\u013ead\u00e1va sa a\u017e 3 min\u00faty). 3. Po\u010das zis\u0165ovania stla\u010dte **jedenkr\u00e1t** tla\u010didlo **Reset** na zariaden\u00ed br\u00e1ny DALI. Br\u00e1na bude reagova\u0165 okam\u017eite po stla\u010den\u00ed tla\u010didla.",
|
|
25
|
+
"title": "Nastavenie br\u00e1ny DALI Center"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"already_configured": "\u8bbe\u5907\u5df2\u914d\u7f6e"
|
|
5
|
+
},
|
|
6
|
+
"error": {
|
|
7
|
+
"cannot_connect": "\u8fde\u63a5\u5931\u8d25",
|
|
8
|
+
"discovery_failed": "\u65e0\u6cd5\u5728\u7f51\u7edc\u4e0a\u53d1\u73b0 DALI \u7f51\u5173",
|
|
9
|
+
"no_devices_found": "\u7f51\u7edc\u4e0a\u672a\u627e\u5230 DALI \u7f51\u5173",
|
|
10
|
+
"unknown": "\u610f\u5916\u9519\u8bef"
|
|
11
|
+
},
|
|
12
|
+
"step": {
|
|
13
|
+
"select_gateway": {
|
|
14
|
+
"data": {
|
|
15
|
+
"selected_gateway": "\u7f51\u5173"
|
|
16
|
+
},
|
|
17
|
+
"data_description": {
|
|
18
|
+
"selected_gateway": "\u6bcf\u4e2a\u9009\u9879\u663e\u793a\u7f51\u5173\u540d\u79f0\u3001\u5e8f\u5217\u53f7\u548c IP \u5730\u5740\u3002"
|
|
19
|
+
},
|
|
20
|
+
"description": "\u9009\u62e9\u8981\u914d\u7f6e\u7684\u7f51\u5173\u3002",
|
|
21
|
+
"title": "\u9009\u62e9 DALI \u7f51\u5173"
|
|
22
|
+
},
|
|
23
|
+
"user": {
|
|
24
|
+
"description": "**\u4e09\u6b65\u6d41\u7a0b\uff1a** \n \n1. \u786e\u4fdd\u7f51\u5173\u5df2\u901a\u7535\u5e76\u4f4d\u4e8e\u540c\u4e00\u7f51\u7edc\u4e0a\u3002\n2. \u9009\u62e9**\u63d0\u4ea4**\u5f00\u59cb\u81ea\u52a8\u53d1\u73b0\u8fc7\u7a0b\uff08\u641c\u7d22\u6700\u591a 3 \u5206\u949f\uff09\n3. \u5728\u81ea\u52a8\u53d1\u73b0\u8fc7\u7a0b\u4e2d\uff0c\u6309\u4e0b DALI \u7f51\u5173\u8bbe\u5907\u4e0a\u7684**\u91cd\u7f6e**\u6309\u94ae**\u4e00\u6b21**\u3002\n \n\u6309\u4e0b\u6309\u94ae\u540e\uff0c\u7f51\u5173\u5c06\u7acb\u5373\u54cd\u5e94\u3002",
|
|
25
|
+
"title": "\u8bbe\u7f6e DALI \u4e2d\u5fc3\u7f51\u5173"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"already_configured": "\u88dd\u7f6e\u5df2\u7d93\u8a2d\u5b9a\u5b8c\u6210"
|
|
5
|
+
},
|
|
6
|
+
"error": {
|
|
7
|
+
"cannot_connect": "\u9023\u7dda\u5931\u6557",
|
|
8
|
+
"discovery_failed": "\u7121\u6cd5\u5728\u7db2\u8def\u4e0a\u627e\u5230 DALI \u9598\u9053\u5668",
|
|
9
|
+
"no_devices_found": "\u5728\u7db2\u8def\u4e0a\u627e\u4e0d\u5230 DALI \u9598\u9053\u5668",
|
|
10
|
+
"unknown": "\u672a\u9810\u671f\u932f\u8aa4"
|
|
11
|
+
},
|
|
12
|
+
"step": {
|
|
13
|
+
"select_gateway": {
|
|
14
|
+
"data": {
|
|
15
|
+
"selected_gateway": "\u9598\u9053\u5668"
|
|
16
|
+
},
|
|
17
|
+
"data_description": {
|
|
18
|
+
"selected_gateway": "\u6bcf\u500b\u9078\u9805\u90fd\u6703\u986f\u793a\u9598\u9053\u5668\u540d\u7a31\u3001\u5e8f\u865f\u548c IP \u4f4d\u5740\u3002"
|
|
19
|
+
},
|
|
20
|
+
"description": "\u9078\u64c7\u6240\u8981\u8a2d\u5b9a\u7684\u9598\u9053\u5668\u3002",
|
|
21
|
+
"title": "\u9078\u64c7 DALI \u9598\u9053\u5668"
|
|
22
|
+
},
|
|
23
|
+
"user": {
|
|
24
|
+
"description": "**\u4e09\u6b65\u9a5f\u6d41\u7a0b\uff1a**\n\n1. \u8acb\u78ba\u8a8d\u9598\u9053\u5668\u5df2\u901a\u96fb\u3001\u4e26\u4e14\u5728\u540c\u4e00\u7db2\u8def\u4e0a\u3002\n2. \u9078\u64c7**\u50b3\u9001**\u958b\u59cb\u641c\u7d22\uff08\u6700\u591a 3 \u5206\u9418\uff09\n3. \u5728\u641c\u7d22\u9032\u884c\u4e2d\u6642\uff0c\u6309\u4e00\u4e0b DALI \u9598\u9053\u5668\u88dd\u7f6e\u4e0a\u7684**\u91cd\u7f6e**\u6309\u9215**\u4e00\u6b21**\u3002\n\n\u9598\u9053\u5668\u6703\u5728\u6309\u4e0b\u6309\u9215\u5f8c\u7acb\u5373\u56de\u61c9\u3002",
|
|
25
|
+
"title": "\u8a2d\u5b9a DALI Center \u9598\u9053\u5668"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""Type definitions for the
|
|
1
|
+
"""Type definitions for the DALI Center integration."""
|
|
2
2
|
|
|
3
3
|
from dataclasses import dataclass
|
|
4
4
|
|
|
@@ -9,7 +9,7 @@ from homeassistant.config_entries import ConfigEntry
|
|
|
9
9
|
|
|
10
10
|
@dataclass
|
|
11
11
|
class DaliCenterData:
|
|
12
|
-
"""Runtime data for the
|
|
12
|
+
"""Runtime data for the DALI Center integration."""
|
|
13
13
|
|
|
14
14
|
gateway: DaliGateway
|
|
15
15
|
devices: list[Device]
|
|
@@ -14,7 +14,7 @@ from typing import Any
|
|
|
14
14
|
import voluptuous as vol
|
|
15
15
|
from zha.application.const import RadioType
|
|
16
16
|
import zigpy.backups
|
|
17
|
-
from zigpy.config import CONF_DEVICE, CONF_DEVICE_PATH
|
|
17
|
+
from zigpy.config import CONF_DEVICE, CONF_DEVICE_PATH
|
|
18
18
|
from zigpy.exceptions import CannotWriteNetworkSettings, DestructiveWriteNetworkSettings
|
|
19
19
|
|
|
20
20
|
from homeassistant.components import onboarding, usb
|
|
@@ -191,7 +191,6 @@ class BaseZhaFlow(ConfigEntryBaseFlow):
|
|
|
191
191
|
self._hass = None # type: ignore[assignment]
|
|
192
192
|
self._radio_mgr = ZhaRadioManager()
|
|
193
193
|
self._restore_backup_task: asyncio.Task[None] | None = None
|
|
194
|
-
self._extra_network_config: dict[str, Any] = {}
|
|
195
194
|
|
|
196
195
|
@property
|
|
197
196
|
def hass(self) -> HomeAssistant:
|
|
@@ -623,8 +622,7 @@ class BaseZhaFlow(ConfigEntryBaseFlow):
|
|
|
623
622
|
self, user_input: dict[str, Any] | None = None
|
|
624
623
|
) -> ConfigFlowResult:
|
|
625
624
|
"""Form a brand-new network."""
|
|
626
|
-
await self._radio_mgr.async_form_network(
|
|
627
|
-
|
|
625
|
+
await self._radio_mgr.async_form_network()
|
|
628
626
|
# Load the newly formed network settings to get the network info
|
|
629
627
|
await self._radio_mgr.async_load_network_settings()
|
|
630
628
|
return await self._async_create_radio_entry()
|
|
@@ -1009,9 +1007,6 @@ class ZhaConfigFlowHandler(BaseZhaFlow, ConfigFlow, domain=DOMAIN):
|
|
|
1009
1007
|
device_path = device_settings[CONF_DEVICE_PATH]
|
|
1010
1008
|
self._flow_strategy = discovery_data.get("flow_strategy")
|
|
1011
1009
|
|
|
1012
|
-
if "tx_power" in discovery_data:
|
|
1013
|
-
self._extra_network_config[CONF_NWK_TX_POWER] = discovery_data["tx_power"]
|
|
1014
|
-
|
|
1015
1010
|
await self._set_unique_id_and_update_ignored_flow(
|
|
1016
1011
|
unique_id=f"{name}_{radio_type.name}_{device_path}",
|
|
1017
1012
|
device_path=device_path,
|
|
@@ -78,7 +78,6 @@ HARDWARE_DISCOVERY_SCHEMA = vol.Schema(
|
|
|
78
78
|
vol.Required("port"): DEVICE_SCHEMA,
|
|
79
79
|
vol.Required("radio_type"): str,
|
|
80
80
|
vol.Optional("flow_strategy"): vol.All(str, vol.Coerce(ZigbeeFlowStrategy)),
|
|
81
|
-
vol.Optional("tx_power"): vol.All(vol.Coerce(int), vol.Range(min=0, max=10)),
|
|
82
81
|
}
|
|
83
82
|
)
|
|
84
83
|
|
|
@@ -323,7 +322,7 @@ class ZhaRadioManager:
|
|
|
323
322
|
|
|
324
323
|
return backup
|
|
325
324
|
|
|
326
|
-
async def async_form_network(self
|
|
325
|
+
async def async_form_network(self) -> None:
|
|
327
326
|
"""Form a brand-new network."""
|
|
328
327
|
|
|
329
328
|
# When forming a new network, we delete the ZHA database to prevent old devices
|
|
@@ -332,7 +331,7 @@ class ZhaRadioManager:
|
|
|
332
331
|
await self.hass.async_add_executor_job(os.remove, self.zigpy_database_path)
|
|
333
332
|
|
|
334
333
|
async with self.create_zigpy_app() as app:
|
|
335
|
-
await app.form_network(
|
|
334
|
+
await app.form_network()
|
|
336
335
|
|
|
337
336
|
async def async_reset_adapter(self) -> None:
|
|
338
337
|
"""Reset the current adapter."""
|
|
@@ -58,9 +58,6 @@
|
|
|
58
58
|
"confirm": {
|
|
59
59
|
"description": "\u0418\u0441\u043a\u0430\u0442\u0435 \u043b\u0438 \u0434\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u0435 {name}?"
|
|
60
60
|
},
|
|
61
|
-
"form_new_network": {
|
|
62
|
-
"title": "\u0424\u043e\u0440\u043c\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u043d\u043e\u0432\u0430 \u043c\u0440\u0435\u0436\u0430"
|
|
63
|
-
},
|
|
64
61
|
"manual_port_config": {
|
|
65
62
|
"data_description": {
|
|
66
63
|
"baudrate": "\u0421\u043a\u043e\u0440\u043e\u0441\u0442 \u043d\u0430 \u043f\u0440\u0435\u0434\u0430\u0432\u0430\u043d\u0435, \u043a\u043e\u044f\u0442\u043e \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u043f\u0440\u0438 \u043a\u043e\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044f \u0441\u044a\u0441 \u0441\u0435\u0440\u0438\u0439\u043d\u0438\u044f \u043f\u043e\u0440\u0442, \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e 115200 \u0438\u043b\u0438 460800",
|
|
@@ -71,12 +68,6 @@
|
|
|
71
68
|
"maybe_reset_old_radio": {
|
|
72
69
|
"title": "\u041d\u0443\u043b\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u0442\u0430\u0440\u0438\u044f \u0430\u0434\u0430\u043f\u0442\u0435\u0440"
|
|
73
70
|
},
|
|
74
|
-
"plug_in_old_radio": {
|
|
75
|
-
"title": "\u0421\u0442\u0430\u0440\u0438\u044f\u0442 \u0430\u0434\u0430\u043f\u0442\u0435\u0440 \u043d\u0435 \u0435 \u043d\u0430\u043c\u0435\u0440\u0435\u043d"
|
|
76
|
-
},
|
|
77
|
-
"restore_backup": {
|
|
78
|
-
"title": "\u0412\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u043c\u0440\u0435\u0436\u0430\u0442\u0430 \u043a\u044a\u043c \u043d\u043e\u0432 \u0430\u0434\u0430\u043f\u0442\u0435\u0440"
|
|
79
|
-
},
|
|
80
71
|
"upload_manual_backup": {
|
|
81
72
|
"data": {
|
|
82
73
|
"uploaded_backup_file": "\u041a\u0430\u0447\u0432\u0430\u043d\u0435 \u043d\u0430 \u0444\u0430\u0439\u043b"
|
|
@@ -495,18 +486,9 @@
|
|
|
495
486
|
},
|
|
496
487
|
"title": "\u041c\u0438\u0433\u0440\u0438\u0440\u0430\u043d\u0435 \u043a\u044a\u043c \u043d\u043e\u0432 \u0430\u0434\u0430\u043f\u0442\u0435\u0440"
|
|
497
488
|
},
|
|
498
|
-
"form_new_network": {
|
|
499
|
-
"title": "\u0424\u043e\u0440\u043c\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u043d\u043e\u0432\u0430 \u043c\u0440\u0435\u0436\u0430"
|
|
500
|
-
},
|
|
501
489
|
"init": {
|
|
502
490
|
"title": "\u041f\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 ZHA"
|
|
503
491
|
},
|
|
504
|
-
"maybe_reset_old_radio": {
|
|
505
|
-
"title": "\u041d\u0443\u043b\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u0442\u0430\u0440\u0438\u044f \u0430\u0434\u0430\u043f\u0442\u0435\u0440"
|
|
506
|
-
},
|
|
507
|
-
"plug_in_old_radio": {
|
|
508
|
-
"title": "\u0421\u0442\u0430\u0440\u0438\u044f\u0442 \u0430\u0434\u0430\u043f\u0442\u0435\u0440 \u043d\u0435 \u0435 \u043d\u0430\u043c\u0435\u0440\u0435\u043d"
|
|
509
|
-
},
|
|
510
492
|
"prompt_migrate_or_reconfigure": {
|
|
511
493
|
"menu_option_descriptions": {
|
|
512
494
|
"intent_migrate": "\u0422\u043e\u0432\u0430 \u0449\u0435 \u0432\u0438 \u043f\u043e\u043c\u043e\u0433\u043d\u0435 \u0434\u0430 \u043c\u0438\u0433\u0440\u0438\u0440\u0430\u0442\u0435 \u0432\u0430\u0448\u0430\u0442\u0430 Zigbee \u043c\u0440\u0435\u0436\u0430 \u043e\u0442 \u0441\u0442\u0430\u0440\u0438\u044f \u0430\u0434\u0430\u043f\u0442\u0435\u0440 \u043a\u044a\u043c \u043d\u043e\u0432.",
|
|
@@ -514,9 +496,6 @@
|
|
|
514
496
|
},
|
|
515
497
|
"title": "\u041c\u0438\u0433\u0440\u0438\u0440\u0430\u043d\u0435 \u0438\u043b\u0438 \u043f\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u0435"
|
|
516
498
|
},
|
|
517
|
-
"restore_backup": {
|
|
518
|
-
"title": "\u0412\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u043c\u0440\u0435\u0436\u0430\u0442\u0430 \u043a\u044a\u043c \u043d\u043e\u0432 \u0430\u0434\u0430\u043f\u0442\u0435\u0440"
|
|
519
|
-
},
|
|
520
499
|
"upload_manual_backup": {
|
|
521
500
|
"data": {
|
|
522
501
|
"uploaded_backup_file": "\u041a\u0430\u0447\u0432\u0430\u043d\u0435 \u043d\u0430 \u0444\u0430\u0439\u043b"
|
|
@@ -16,11 +16,6 @@
|
|
|
16
16
|
"invalid_backup_json": "Invalid backup JSON"
|
|
17
17
|
},
|
|
18
18
|
"flow_title": "{name}",
|
|
19
|
-
"progress": {
|
|
20
|
-
"form_new_network": "Forming a new Zigbee network.\n\nWe scan for a clear network channel as part of this process, this can take a minute.",
|
|
21
|
-
"maybe_reset_old_radio": "Resetting old adapter.\n\nYour old adapter has been backed up and is being factory reset.",
|
|
22
|
-
"restore_backup": "Restoring network settings to new adapter.\n\nThis will take a minute."
|
|
23
|
-
},
|
|
24
19
|
"step": {
|
|
25
20
|
"choose_automatic_backup": {
|
|
26
21
|
"data": {
|
|
@@ -81,16 +76,6 @@
|
|
|
81
76
|
"confirm": {
|
|
82
77
|
"description": "Do you want to set up {name}?"
|
|
83
78
|
},
|
|
84
|
-
"confirm_ezsp_ieee_overwrite": {
|
|
85
|
-
"data": {
|
|
86
|
-
"overwrite_coordinator_ieee": "Permanently replace the adapter IEEE address"
|
|
87
|
-
},
|
|
88
|
-
"description": "Your backup has a different IEEE address than your adapter. For your network to function properly, the IEEE address of your adapter should also be changed.\n\nThis is a permanent operation.",
|
|
89
|
-
"title": "Overwrite adapter IEEE address"
|
|
90
|
-
},
|
|
91
|
-
"form_new_network": {
|
|
92
|
-
"title": "Forming new network"
|
|
93
|
-
},
|
|
94
79
|
"manual_pick_radio_type": {
|
|
95
80
|
"data": {
|
|
96
81
|
"radio_type": "Adapter type"
|
|
@@ -115,25 +100,6 @@
|
|
|
115
100
|
"maybe_reset_old_radio": {
|
|
116
101
|
"title": "Resetting old adapter"
|
|
117
102
|
},
|
|
118
|
-
"plug_in_new_radio": {
|
|
119
|
-
"description": "Your new adapter at `{device_path}` was not found.\nPlease plug it in and click Submit to continue.",
|
|
120
|
-
"title": "New adapter not found"
|
|
121
|
-
},
|
|
122
|
-
"plug_in_old_radio": {
|
|
123
|
-
"description": "Your old adapter at `{device_path}` was not found. You can retry after plugging it back in, or skip resetting the old adapter.\n\n**Warning:** If you skip resetting the old adapter, ensure it remains permanently disconnected. Plugging it back in later will cause network issues.",
|
|
124
|
-
"menu_option_descriptions": {
|
|
125
|
-
"retry_old_radio": "Retry connecting to the old adapter to reset it as part of the migration.",
|
|
126
|
-
"skip_reset_old_radio": "Skip resetting the old adapter and continue with the migration."
|
|
127
|
-
},
|
|
128
|
-
"menu_options": {
|
|
129
|
-
"retry_old_radio": "Retry",
|
|
130
|
-
"skip_reset_old_radio": "Skip reset"
|
|
131
|
-
},
|
|
132
|
-
"title": "Old adapter not found"
|
|
133
|
-
},
|
|
134
|
-
"restore_backup": {
|
|
135
|
-
"title": "Restoring network to new adapter"
|
|
136
|
-
},
|
|
137
103
|
"upload_manual_backup": {
|
|
138
104
|
"data": {
|
|
139
105
|
"uploaded_backup_file": "Upload a file"
|
|
@@ -1892,11 +1858,6 @@
|
|
|
1892
1858
|
"invalid_backup_json": "Invalid backup JSON"
|
|
1893
1859
|
},
|
|
1894
1860
|
"flow_title": "{name}",
|
|
1895
|
-
"progress": {
|
|
1896
|
-
"form_new_network": "Forming a new Zigbee network.\n\nWe scan for a clear network channel as part of this process, this can take a minute.",
|
|
1897
|
-
"maybe_reset_old_radio": "Resetting old adapter.\n\nYour old adapter has been backed up and is being factory reset.",
|
|
1898
|
-
"restore_backup": "Restoring network settings to new adapter.\n\nThis will take a minute."
|
|
1899
|
-
},
|
|
1900
1861
|
"step": {
|
|
1901
1862
|
"choose_automatic_backup": {
|
|
1902
1863
|
"data": {
|
|
@@ -1942,16 +1903,6 @@
|
|
|
1942
1903
|
"description": "Select the serial port for your Zigbee adapter",
|
|
1943
1904
|
"title": "Select a serial port"
|
|
1944
1905
|
},
|
|
1945
|
-
"confirm_ezsp_ieee_overwrite": {
|
|
1946
|
-
"data": {
|
|
1947
|
-
"overwrite_coordinator_ieee": "Permanently replace the adapter IEEE address"
|
|
1948
|
-
},
|
|
1949
|
-
"description": "Your backup has a different IEEE address than your adapter. For your network to function properly, the IEEE address of your adapter should also be changed.\n\nThis is a permanent operation.",
|
|
1950
|
-
"title": "Overwrite adapter IEEE address"
|
|
1951
|
-
},
|
|
1952
|
-
"form_new_network": {
|
|
1953
|
-
"title": "Forming new network"
|
|
1954
|
-
},
|
|
1955
1906
|
"init": {
|
|
1956
1907
|
"description": "A backup will be performed and ZHA will be stopped. Do you wish to continue?",
|
|
1957
1908
|
"title": "Reconfigure ZHA"
|
|
@@ -1976,25 +1927,6 @@
|
|
|
1976
1927
|
"description": "ZHA was not able to automatically detect serial port settings for your adapter. This usually is an issue with the firmware or permissions.\n\nIf you are using firmware with non-standard settings, enter the serial port settings",
|
|
1977
1928
|
"title": "Serial port settings"
|
|
1978
1929
|
},
|
|
1979
|
-
"maybe_reset_old_radio": {
|
|
1980
|
-
"title": "Resetting old adapter"
|
|
1981
|
-
},
|
|
1982
|
-
"plug_in_new_radio": {
|
|
1983
|
-
"description": "Your new adapter at `{device_path}` was not found.\nPlease plug it in and click Submit to continue.",
|
|
1984
|
-
"title": "New adapter not found"
|
|
1985
|
-
},
|
|
1986
|
-
"plug_in_old_radio": {
|
|
1987
|
-
"description": "Your old adapter at `{device_path}` was not found. You can retry after plugging it back in, or skip resetting the old adapter.\n\n**Warning:** If you skip resetting the old adapter, ensure it remains permanently disconnected. Plugging it back in later will cause network issues.",
|
|
1988
|
-
"menu_option_descriptions": {
|
|
1989
|
-
"retry_old_radio": "Retry connecting to the old adapter to reset it as part of the migration.",
|
|
1990
|
-
"skip_reset_old_radio": "Skip resetting the old adapter and continue with the migration."
|
|
1991
|
-
},
|
|
1992
|
-
"menu_options": {
|
|
1993
|
-
"retry_old_radio": "Retry",
|
|
1994
|
-
"skip_reset_old_radio": "Skip reset"
|
|
1995
|
-
},
|
|
1996
|
-
"title": "Old adapter not found"
|
|
1997
|
-
},
|
|
1998
1930
|
"prompt_migrate_or_reconfigure": {
|
|
1999
1931
|
"description": "Are you migrating to a new adapter or re-configuring the current adapter?",
|
|
2000
1932
|
"menu_option_descriptions": {
|
|
@@ -2007,9 +1939,6 @@
|
|
|
2007
1939
|
},
|
|
2008
1940
|
"title": "Migrate or re-configure"
|
|
2009
1941
|
},
|
|
2010
|
-
"restore_backup": {
|
|
2011
|
-
"title": "Restoring network to new adapter"
|
|
2012
|
-
},
|
|
2013
1942
|
"upload_manual_backup": {
|
|
2014
1943
|
"data": {
|
|
2015
1944
|
"uploaded_backup_file": "Upload a file"
|
|
@@ -16,11 +16,6 @@
|
|
|
16
16
|
"invalid_backup_json": "Copia de seguridad JSON no v\u00e1lida"
|
|
17
17
|
},
|
|
18
18
|
"flow_title": "{name}",
|
|
19
|
-
"progress": {
|
|
20
|
-
"form_new_network": "Creando una nueva red Zigbee. \n \nComo parte de este proceso, buscamos un canal de red libre; esto puede tardar un minuto.",
|
|
21
|
-
"maybe_reset_old_radio": "Restableciendo el adaptador antiguo. \n \nSe ha realizado una copia de seguridad de tu adaptador antiguo y se est\u00e1 restableciendo a la configuraci\u00f3n de f\u00e1brica.",
|
|
22
|
-
"restore_backup": "Restaurando la configuraci\u00f3n de red en el nuevo adaptador.\n\nEsto tardar\u00e1 un minuto."
|
|
23
|
-
},
|
|
24
19
|
"step": {
|
|
25
20
|
"choose_automatic_backup": {
|
|
26
21
|
"data": {
|
|
@@ -81,16 +76,6 @@
|
|
|
81
76
|
"confirm": {
|
|
82
77
|
"description": "\u00bfQuieres configurar {name} ?"
|
|
83
78
|
},
|
|
84
|
-
"confirm_ezsp_ieee_overwrite": {
|
|
85
|
-
"data": {
|
|
86
|
-
"overwrite_coordinator_ieee": "Reemplazar permanentemente la direcci\u00f3n IEEE del adaptador"
|
|
87
|
-
},
|
|
88
|
-
"description": "Tu copia de seguridad tiene una direcci\u00f3n IEEE diferente a la de tu adaptador. Para que tu red funcione correctamente, tambi\u00e9n debes cambiar la direcci\u00f3n IEEE de tu adaptador. \n \nEsta operaci\u00f3n es permanente.",
|
|
89
|
-
"title": "Sobrescribir la direcci\u00f3n IEEE del adaptador"
|
|
90
|
-
},
|
|
91
|
-
"form_new_network": {
|
|
92
|
-
"title": "Formar una nueva red"
|
|
93
|
-
},
|
|
94
79
|
"manual_pick_radio_type": {
|
|
95
80
|
"data": {
|
|
96
81
|
"radio_type": "Tipo de adaptador"
|
|
@@ -131,9 +116,6 @@
|
|
|
131
116
|
},
|
|
132
117
|
"title": "No se encontr\u00f3 el adaptador antiguo"
|
|
133
118
|
},
|
|
134
|
-
"restore_backup": {
|
|
135
|
-
"title": "Restauraci\u00f3n de la red al nuevo adaptador"
|
|
136
|
-
},
|
|
137
119
|
"upload_manual_backup": {
|
|
138
120
|
"data": {
|
|
139
121
|
"uploaded_backup_file": "Subir un archivo"
|
|
@@ -1892,11 +1874,6 @@
|
|
|
1892
1874
|
"invalid_backup_json": "Copia de seguridad JSON no v\u00e1lida"
|
|
1893
1875
|
},
|
|
1894
1876
|
"flow_title": "{name}",
|
|
1895
|
-
"progress": {
|
|
1896
|
-
"form_new_network": "Creando una nueva red Zigbee. \n \nComo parte de este proceso, buscamos un canal de red libre; esto puede tardar un minuto.",
|
|
1897
|
-
"maybe_reset_old_radio": "Restableciendo el adaptador antiguo. \n \nSe ha realizado una copia de seguridad de tu adaptador antiguo y se est\u00e1 restableciendo a la configuraci\u00f3n de f\u00e1brica.",
|
|
1898
|
-
"restore_backup": "Restaurando la configuraci\u00f3n de red en el nuevo adaptador.\n\nEsto tardar\u00e1 un minuto."
|
|
1899
|
-
},
|
|
1900
1877
|
"step": {
|
|
1901
1878
|
"choose_automatic_backup": {
|
|
1902
1879
|
"data": {
|
|
@@ -1942,16 +1919,6 @@
|
|
|
1942
1919
|
"description": "Selecciona el puerto serie para tu adaptador Zigbee",
|
|
1943
1920
|
"title": "Seleccionar un puerto serie"
|
|
1944
1921
|
},
|
|
1945
|
-
"confirm_ezsp_ieee_overwrite": {
|
|
1946
|
-
"data": {
|
|
1947
|
-
"overwrite_coordinator_ieee": "Reemplazar permanentemente la direcci\u00f3n IEEE del adaptador"
|
|
1948
|
-
},
|
|
1949
|
-
"description": "Tu copia de seguridad tiene una direcci\u00f3n IEEE diferente a la de tu adaptador. Para que tu red funcione correctamente, tambi\u00e9n debes cambiar la direcci\u00f3n IEEE de tu adaptador. \n \nEsta operaci\u00f3n es permanente.",
|
|
1950
|
-
"title": "Sobrescribir la direcci\u00f3n IEEE del adaptador"
|
|
1951
|
-
},
|
|
1952
|
-
"form_new_network": {
|
|
1953
|
-
"title": "Formar una nueva red"
|
|
1954
|
-
},
|
|
1955
1922
|
"init": {
|
|
1956
1923
|
"description": "Se realizar\u00e1 una copia de seguridad y se detendr\u00e1 ZHA. \u00bfQuieres continuar?",
|
|
1957
1924
|
"title": "Volver a configurar ZHA"
|
|
@@ -1976,9 +1943,6 @@
|
|
|
1976
1943
|
"description": "ZHA no pudo detectar autom\u00e1ticamente la configuraci\u00f3n del puerto serie de tu adaptador. Esto suele deberse a un problema con el firmware o los permisos. \n \nSi utilizas un firmware con una configuraci\u00f3n no est\u00e1ndar, introduce la configuraci\u00f3n del puerto serie.",
|
|
1977
1944
|
"title": "Configuraci\u00f3n del puerto serie"
|
|
1978
1945
|
},
|
|
1979
|
-
"maybe_reset_old_radio": {
|
|
1980
|
-
"title": "Restablecer el adaptador antiguo"
|
|
1981
|
-
},
|
|
1982
1946
|
"plug_in_new_radio": {
|
|
1983
1947
|
"description": "No se encontr\u00f3 el nuevo adaptador en `{device_path}`. Por favor, con\u00e9ctalo y haz clic en Enviar para continuar.",
|
|
1984
1948
|
"title": "No se encontr\u00f3 el nuevo adaptador."
|
|
@@ -2007,9 +1971,6 @@
|
|
|
2007
1971
|
},
|
|
2008
1972
|
"title": "Migrar o volver a configurar"
|
|
2009
1973
|
},
|
|
2010
|
-
"restore_backup": {
|
|
2011
|
-
"title": "Restauraci\u00f3n de la red al nuevo adaptador"
|
|
2012
|
-
},
|
|
2013
1974
|
"upload_manual_backup": {
|
|
2014
1975
|
"data": {
|
|
2015
1976
|
"uploaded_backup_file": "Subir un archivo"
|