homeassistant 2025.8.0b4__py3-none-any.whl → 2025.8.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.
Files changed (37) hide show
  1. homeassistant/components/alexa_devices/translations/sk.json +171 -0
  2. homeassistant/components/emoncms/translations/sk.json +8 -0
  3. homeassistant/components/frontend/manifest.json +1 -1
  4. homeassistant/components/google_generative_ai_conversation/translations/sk.json +5 -0
  5. homeassistant/components/hassio/translations/sk.json +34 -0
  6. homeassistant/components/hassio/translations/zh-Hant.json +34 -0
  7. homeassistant/components/holiday/manifest.json +1 -1
  8. homeassistant/components/leaone/translations/sk.json +2 -1
  9. homeassistant/components/miele/translations/sk.json +6 -0
  10. homeassistant/components/mqtt/translations/sk.json +103 -10
  11. homeassistant/components/mqtt/translations/zh-Hant.json +4 -0
  12. homeassistant/components/ollama/__init__.py +107 -34
  13. homeassistant/components/ollama/config_flow.py +1 -1
  14. homeassistant/components/ollama/translations/sk.json +5 -0
  15. homeassistant/components/open_router/translations/sk.json +4 -0
  16. homeassistant/components/openai_conversation/translations/sk.json +5 -0
  17. homeassistant/components/opower/translations/sk.json +41 -1
  18. homeassistant/components/opower/translations/zh-Hant.json +41 -1
  19. homeassistant/components/osoenergy/translations/sk.json +1 -0
  20. homeassistant/components/playstation_network/translations/sk.json +15 -1
  21. homeassistant/components/random/translations/sk.json +1 -0
  22. homeassistant/components/scrape/translations/sk.json +1 -0
  23. homeassistant/components/sql/translations/sk.json +1 -0
  24. homeassistant/components/template/translations/sk.json +77 -14
  25. homeassistant/components/workday/manifest.json +1 -1
  26. homeassistant/components/zwave_js/translations/sk.json +1 -0
  27. homeassistant/const.py +1 -1
  28. homeassistant/helpers/template.py +2 -2
  29. homeassistant/helpers/update_coordinator.py +1 -1
  30. homeassistant/package_constraints.txt +1 -1
  31. {homeassistant-2025.8.0b4.dist-info → homeassistant-2025.8.0b5.dist-info}/METADATA +1 -1
  32. {homeassistant-2025.8.0b4.dist-info → homeassistant-2025.8.0b5.dist-info}/RECORD +37 -37
  33. {homeassistant-2025.8.0b4.dist-info → homeassistant-2025.8.0b5.dist-info}/WHEEL +0 -0
  34. {homeassistant-2025.8.0b4.dist-info → homeassistant-2025.8.0b5.dist-info}/entry_points.txt +0 -0
  35. {homeassistant-2025.8.0b4.dist-info → homeassistant-2025.8.0b5.dist-info}/licenses/LICENSE.md +0 -0
  36. {homeassistant-2025.8.0b4.dist-info → homeassistant-2025.8.0b5.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
  37. {homeassistant-2025.8.0b4.dist-info → homeassistant-2025.8.0b5.dist-info}/top_level.txt +0 -0
@@ -246,7 +246,11 @@
246
246
  "climate_feature_action": "Podnebie podporuje informovanie o aktu\u00e1lnej akcii.",
247
247
  "climate_feature_current_humidity": "Kl\u00edma podporuje hl\u00e1senie aktu\u00e1lnej vlhkosti.",
248
248
  "climate_feature_current_temperature": "Klima podporuje hl\u00e1senie aktu\u00e1lnej teploty.",
249
+ "climate_feature_fan_modes": "Klimatiz\u00e1cia podporuje re\u017eimy ventil\u00e1tora.",
249
250
  "climate_feature_power": "Kl\u00edma podporuje pr\u00edkazy \"zapn\u00fa\u0165\" a \"vypn\u00fa\u0165\".",
251
+ "climate_feature_preset_modes": "Klimatiz\u00e1cia podporuje prednastaven\u00e9 re\u017eimy.",
252
+ "climate_feature_swing_horizontal_modes": "Kl\u00edma podporuje horizont\u00e1lne re\u017eimy v\u00fdkyvu.",
253
+ "climate_feature_swing_modes": "Kl\u00edma podporuje re\u017eimy v\u00fdkyvu.",
250
254
  "climate_feature_target_humidity": "Kl\u00edma podporuje nastavenie cie\u013eovej vlhkosti.",
251
255
  "climate_feature_target_temperature": "Kl\u00edma podporuje nastavenie cie\u013eovej teploty.",
252
256
  "device_class": "Trieda zariadenia entity {platform}. [\u010eal\u0161ie inform\u00e1cie]({url}#device_class)",
@@ -318,6 +322,11 @@
318
322
  "force_update": "Vyn\u00fati\u0165 aktualiz\u00e1ciu",
319
323
  "green_template": "Zelen\u00e1 \u0161abl\u00f3na",
320
324
  "last_reset_value_template": "\u0160abl\u00f3na poslednej vynulovanej hodnoty",
325
+ "mode_command_template": "\u0160abl\u00f3na pr\u00edkazu prev\u00e1dzkov\u00e9ho re\u017eimu",
326
+ "mode_command_topic": "T\u00e9ma pr\u00edkazu prev\u00e1dzkov\u00e9ho re\u017eimu",
327
+ "mode_state_template": "\u0160abl\u00f3na hodnoty prev\u00e1dzkov\u00e9ho re\u017eimu",
328
+ "mode_state_topic": "T\u00e9ma stavu prev\u00e1dzkov\u00e9ho re\u017eimu",
329
+ "modes": "Podporovan\u00e9 prev\u00e1dzkov\u00e9 re\u017eimy",
321
330
  "on_command_type": "Typ pr\u00edkazu ON",
322
331
  "optimistic": "Optimistick\u00fd",
323
332
  "payload_off": "U\u017eito\u010dn\u00e9 za\u0165a\u017eenie \"vypnut\u00e9\"",
@@ -391,31 +400,47 @@
391
400
  "name": "Roz\u0161\u00edren\u00e9 nastavenia"
392
401
  },
393
402
  "climate_action_settings": {
403
+ "data": {
404
+ "action_template": "\u0160abl\u00f3na akcie",
405
+ "action_topic": "T\u00e9ma akcie"
406
+ },
394
407
  "data_description": {
395
408
  "action_template": "[\u0160abl\u00f3na](https://www.home-assistant.io/docs/configuration/templating/#using-value-templates-with-mqtt) na vykreslenie hodnoty prijatej v t\u00e9me akcie.",
396
409
  "action_topic": "T\u00e9ma MQTT na odber zmien aktu\u00e1lnej akcie. Ak je t\u00e1to hodnota nastaven\u00e1, klimatick\u00fd graf pou\u017e\u00edva prijat\u00fa hodnotu ako zdroj \u00fadajov. Platobn\u00e9 za\u0165a\u017eenie \"\u017diadne\" obnovuje aktu\u00e1lny stav akcie. Pr\u00e1zdne u\u017eito\u010dn\u00e9 za\u0165a\u017eenie sa ignoruje. Platn\u00e9 hodnoty akcie s\u00fa: \"vypnut\u00e9\", \"vykurovanie\", \"chladenie\", \"su\u0161enie\", \"ne\u010dinnos\u0165\" a \"ventil\u00e1tor\". [\u010eal\u0161ie inform\u00e1cie]({url}#action_topic)"
397
- }
410
+ },
411
+ "name": "Aktu\u00e1lne nastavenia akcie"
398
412
  },
399
413
  "climate_fan_mode_settings": {
414
+ "data": {
415
+ "fan_mode_command_template": "\u0160abl\u00f3na pr\u00edkazu re\u017eimu ventil\u00e1tora",
416
+ "fan_mode_command_topic": "T\u00e9ma pr\u00edkazu re\u017eimu ventil\u00e1tora",
417
+ "fan_mode_state_template": "\u0160abl\u00f3na stavu re\u017eimu ventil\u00e1tora",
418
+ "fan_mode_state_topic": "T\u00e9ma stavu re\u017eimu ventil\u00e1tora",
419
+ "fan_modes": "Re\u017eimy ventil\u00e1tora"
420
+ },
400
421
  "data_description": {
401
422
  "fan_mode_command_template": "\u0160abl\u00f3na [template](https://www.home-assistant.io/docs/configuration/templating/#using-command-templates-with-mqtt) na zostavenie u\u017eito\u010dn\u00e9ho za\u0165a\u017eenia, ktor\u00e9 sa m\u00e1 zverejni\u0165 v t\u00e9me pr\u00edkazu re\u017eimu ventil\u00e1tora.",
402
423
  "fan_mode_command_topic": "T\u00e9ma MQTT na publikovanie pr\u00edkazov na zmenu re\u017eimu klimatick\u00e9ho ventil\u00e1tora. [\u010eal\u0161ie inform\u00e1cie]({url}#fan_mode_command_topic)",
403
424
  "fan_mode_state_template": "Definuje [\u0161abl\u00f3nu](https://www.home-assistant.io/docs/configuration/templating/#using-value-templates-with-mqtt) na z\u00edskanie hodnoty re\u017eimu klimatick\u00e9ho ventil\u00e1tora.",
404
425
  "fan_mode_state_topic": "T\u00e9ma MQTT prihl\u00e1sen\u00e1 na pr\u00edjem re\u017eimu klimatick\u00e9ho ventil\u00e1tora. [\u010eal\u0161ie inform\u00e1cie]({url}#fan_mode_state_topic)",
405
426
  "fan_modes": "Zoznam re\u017eimov ventil\u00e1tora, v ktor\u00fdch je t\u00e1to kl\u00edma schopn\u00e1 pracova\u0165. Be\u017en\u00e9 re\u017eimy ventil\u00e1tora, ktor\u00e9 pon\u00fakaj\u00fa preklady, s\u00fa `vypnut\u00e9`, `zapnut\u00e9`, `automatick\u00e9`, `n\u00edzke`, `stredn\u00e9`, `vysok\u00e9`, `stredn\u00e9`, `ostr\u00e9` a `dif\u00fazne`."
406
- }
427
+ },
428
+ "name": "Nastavenia re\u017eimu ventil\u00e1tora"
407
429
  },
408
430
  "climate_power_settings": {
409
431
  "data": {
410
432
  "payload_off": "U\u017eito\u010dn\u00e9 za\u0165a\u017eenie \"vypnut\u00e9\"",
411
- "payload_on": "U\u017eito\u010dn\u00e9 za\u0165a\u017eenie \u201ezapnut\u00e9\u201c"
433
+ "payload_on": "U\u017eito\u010dn\u00e9 za\u0165a\u017eenie \u201ezapnut\u00e9\u201c",
434
+ "power_command_template": "\u0160abl\u00f3na pr\u00edkazu nap\u00e1jania",
435
+ "power_command_topic": "T\u00e9ma pr\u00edkazu nap\u00e1jania"
412
436
  },
413
437
  "data_description": {
414
438
  "payload_off": "U\u017eito\u010dn\u00e9 za\u0165a\u017eenie, ktor\u00e9 predstavuje stav \u201evypnut\u00e9\u201c.",
415
439
  "payload_on": "U\u017eito\u010dn\u00e9 za\u0165a\u017eenie, ktor\u00e9 predstavuje stav \u201ezapnut\u00e9\u201c.",
416
440
  "power_command_template": "\u0160abl\u00f3na [template](https://www.home-assistant.io/docs/configuration/templating/#using-command-templates-with-mqtt) na zostavenie u\u017eito\u010dn\u00e9ho za\u0165a\u017eenia, ktor\u00e9 sa m\u00e1 zverejni\u0165 v t\u00e9me pr\u00edkazu nap\u00e1jania. Parameter `value` je u\u017eito\u010dn\u00e9 za\u0165a\u017eenie nastaven\u00e9 pre u\u017eito\u010dn\u00e9 za\u0165a\u017eenie \"on\" alebo u\u017eito\u010dn\u00e9 za\u0165a\u017eenie \"off\".",
417
441
  "power_command_topic": "T\u00e9ma MQTT na publikovanie pr\u00edkazov na zmenu stavu nap\u00e1jania kl\u00edmy. Odosiela u\u017eito\u010dn\u00e9 za\u0165a\u017eenie nakonfigurovan\u00e9 s u\u017eito\u010dn\u00fdm za\u0165a\u017een\u00edm \"on\" alebo u\u017eito\u010dn\u00fdm za\u0165a\u017een\u00edm \"off\". [\u010eal\u0161ie inform\u00e1cie]({url}#power_command_topic)"
418
- }
442
+ },
443
+ "name": "Nastavenia nap\u00e1jania"
419
444
  },
420
445
  "climate_preset_mode_settings": {
421
446
  "data": {
@@ -435,22 +460,38 @@
435
460
  "name": "Prednastaven\u00e9 nastavenia re\u017eimu"
436
461
  },
437
462
  "climate_swing_horizontal_mode_settings": {
463
+ "data": {
464
+ "swing_horizontal_mode_command_template": "\u0160abl\u00f3na pr\u00edkazov pre horizont\u00e1lny v\u00fdkyvn\u00fd re\u017eim",
465
+ "swing_horizontal_mode_command_topic": "T\u00e9ma pr\u00edkazu re\u017eimu horizont\u00e1lneho v\u00fdkyvu",
466
+ "swing_horizontal_mode_state_template": "\u0160abl\u00f3na stavu horizont\u00e1lneho v\u00fdkyvn\u00e9ho re\u017eimu",
467
+ "swing_horizontal_mode_state_topic": "T\u00e9ma stavu horizont\u00e1lneho v\u00fdkyvn\u00e9ho re\u017eimu",
468
+ "swing_horizontal_modes": "Re\u017eimy horizont\u00e1lneho v\u00fdkyvu"
469
+ },
438
470
  "data_description": {
439
471
  "swing_horizontal_mode_command_template": "\u0160abl\u00f3na [template](https://www.home-assistant.io/docs/configuration/templating/#using-command-templates-with-mqtt) na zostavenie u\u017eito\u010dn\u00e9ho za\u0165a\u017eenia, ktor\u00e9 sa m\u00e1 zverejni\u0165 v t\u00e9me pr\u00edkazu v re\u017eime horizont\u00e1lneho v\u00fdkyvu.",
440
472
  "swing_horizontal_mode_command_topic": "T\u00e9ma MQTT na publikovanie pr\u00edkazov na zmenu re\u017eimu horizont\u00e1lneho v\u00fdkyvu kl\u00edmy. [\u010eal\u0161ie inform\u00e1cie]({url}#swing_horizontal_mode_command_topic)",
441
473
  "swing_horizontal_mode_state_template": "Definuje [\u0161abl\u00f3nu](https://www.home-assistant.io/docs/configuration/templating/#using-value-templates-with-mqtt) na extrakciu hodnoty re\u017eimu horizont\u00e1lneho v\u00fdkyvu kl\u00edmy.",
442
474
  "swing_horizontal_mode_state_topic": "T\u00e9ma MQTT prihl\u00e1sen\u00e1 na pr\u00edjem re\u017eimu horizont\u00e1lneho v\u00fdkyvu kl\u00edmy. [\u010eal\u0161ie inform\u00e1cie]({url}#swing_horizontal_mode_state_topic)",
443
475
  "swing_horizontal_modes": "Zoznam re\u017eimov horizont\u00e1lneho k\u00fdvania, ktor\u00e9 je t\u00e1to kl\u00edma schopn\u00e1 prev\u00e1dzkova\u0165. Be\u017en\u00e9 re\u017eimy horizont\u00e1lneho v\u00fdkyvu, ktor\u00e9 pon\u00fakaj\u00fa preklady, s\u00fa `vypnut\u00e9` a `zapnut\u00e9`."
444
- }
476
+ },
477
+ "name": "Nastavenia re\u017eimu horizont\u00e1lneho v\u00fdkyvu"
445
478
  },
446
479
  "climate_swing_mode_settings": {
480
+ "data": {
481
+ "swing_mode_command_template": "\u0160abl\u00f3na pr\u00edkazu re\u017eimu v\u00fdkyvu",
482
+ "swing_mode_command_topic": "T\u00e9ma pr\u00edkazu re\u017eimu v\u00fdkyvu",
483
+ "swing_mode_state_template": "\u0160abl\u00f3na stavu re\u017eimu v\u00fdkyvu",
484
+ "swing_mode_state_topic": "T\u00e9ma stavu re\u017eimu v\u00fdkyvu",
485
+ "swing_modes": "Re\u017eimy v\u00fdkyvu"
486
+ },
447
487
  "data_description": {
448
488
  "swing_mode_command_template": "\u0160abl\u00f3na [template](https://www.home-assistant.io/docs/configuration/templating/#using-command-templates-with-mqtt) na zostavenie u\u017eito\u010dn\u00e9ho za\u0165a\u017eenia, ktor\u00e9 sa m\u00e1 zverejni\u0165 v t\u00e9me pr\u00edkazu swing mode.",
449
489
  "swing_mode_command_topic": "T\u00e9ma MQTT na publikovanie pr\u00edkazov na zmenu re\u017eimu v\u00fdkyvu kl\u00edmy. [\u010eal\u0161ie inform\u00e1cie]({url}#swing_mode_command_topic)",
450
490
  "swing_mode_state_template": "Definuje [\u0161abl\u00f3nu](https://www.home-assistant.io/docs/configuration/templating/#using-value-templates-with-mqtt) na extrakciu hodnoty re\u017eimu v\u00fdkyvu kl\u00edmy.",
451
491
  "swing_mode_state_topic": "T\u00e9ma MQTT prihl\u00e1sen\u00e1 na prij\u00edmanie re\u017eimu v\u00fdkyvu kl\u00edmy. [\u010eal\u0161ie inform\u00e1cie]({url}#swing_mode_state_topic)",
452
492
  "swing_modes": "Zoznam re\u017eimov v\u00fdkyvu, v ktor\u00fdch je t\u00e1to kl\u00edma schopn\u00e1 pracova\u0165. Be\u017en\u00e9 re\u017eimy kmitania, ktor\u00e9 pon\u00fakaj\u00fa preklady, s\u00fa `vypnut\u00e9`, `zapnut\u00e9`, `vertik\u00e1lne`, `horizont\u00e1lne` a `obidva`."
453
- }
493
+ },
494
+ "name": "Nastavenia re\u017eimu v\u00fdkyvu"
454
495
  },
455
496
  "cover_payload_settings": {
456
497
  "data": {
@@ -522,16 +563,26 @@
522
563
  "name": "Nastavenia n\u00e1klonu"
523
564
  },
524
565
  "current_humidity_settings": {
566
+ "data": {
567
+ "current_humidity_template": "\u0160abl\u00f3na aktu\u00e1lnej vlhkosti",
568
+ "current_humidity_topic": "Aktu\u00e1lna t\u00e9ma vlhkosti"
569
+ },
525
570
  "data_description": {
526
571
  "current_humidity_template": "Definuje [\u0161abl\u00f3nu](https://www.home-assistant.io/docs/configuration/templating/#using-value-templates-with-mqtt) na z\u00edskanie aktu\u00e1lnej hodnoty vlhkosti. [\u010eal\u0161ie inform\u00e1cie]({url}#current_humidity_template)",
527
572
  "current_humidity_topic": "T\u00e9ma MQTT prihl\u00e1sen\u00e1 na prij\u00edmanie aktu\u00e1lnych hodn\u00f4t aktualiz\u00e1cie vlhkosti. [\u010eal\u0161ie inform\u00e1cie]({url}#current_humidity_topic)"
528
- }
573
+ },
574
+ "name": "Aktu\u00e1lne nastavenia vlhkosti"
529
575
  },
530
576
  "current_temperature_settings": {
577
+ "data": {
578
+ "current_temperature_template": "\u0160abl\u00f3na aktu\u00e1lnej teploty",
579
+ "current_temperature_topic": "T\u00e9ma aktu\u00e1lnej teploty"
580
+ },
531
581
  "data_description": {
532
582
  "current_temperature_template": "Definuje [\u0161abl\u00f3nu](https://www.home-assistant.io/docs/configuration/templating/#using-value-templates-with-mqtt) na z\u00edskanie aktu\u00e1lnej hodnoty teploty. [\u010eal\u0161ie inform\u00e1cie]({url}#current_temperature_template)",
533
583
  "current_temperature_topic": "T\u00e9ma MQTT prihl\u00e1sen\u00e1 na prij\u00edmanie aktu\u00e1lnych hodn\u00f4t aktualiz\u00e1cie teploty. [\u010eal\u0161ie inform\u00e1cie]({url}#current_temperature_topic)"
534
- }
584
+ },
585
+ "name": "Aktu\u00e1lne nastavenia teploty"
535
586
  },
536
587
  "fan_direction_settings": {
537
588
  "data": {
@@ -758,14 +809,44 @@
758
809
  "name": "Nastavenia farebn\u00e9ho re\u017eimu XY"
759
810
  },
760
811
  "target_humidity_settings": {
812
+ "data": {
813
+ "max_humidity": "Maxim\u00e1lna vlhkos\u0165",
814
+ "min_humidity": "Minim\u00e1lna vlhkos\u0165",
815
+ "target_humidity_command_template": "\u0160abl\u00f3na pr\u00edkazu cie\u013eovej vlhkosti",
816
+ "target_humidity_command_topic": "T\u00e9ma pr\u00edkazu cie\u013eovej vlhkosti",
817
+ "target_humidity_state_template": "\u0160abl\u00f3na stavu cie\u013eovej vlhkosti",
818
+ "target_humidity_state_topic": "T\u00e9ma cie\u013eov\u00e9ho stavu vlhkosti"
819
+ },
761
820
  "data_description": {
821
+ "max_humidity": "Maxim\u00e1lna cie\u013eov\u00e1 vlhkos\u0165, ktor\u00fa mo\u017eno nastavi\u0165.",
822
+ "min_humidity": "Minim\u00e1lna cie\u013eov\u00e1 vlhkos\u0165, ktor\u00fa mo\u017eno nastavi\u0165.",
762
823
  "target_humidity_command_template": "\u0160abl\u00f3na [template](https://www.home-assistant.io/docs/configuration/templating/#using-command-templates-with-mqtt) na zostavenie u\u017eito\u010dn\u00e9ho za\u0165a\u017eenia, ktor\u00e9 sa m\u00e1 zverejni\u0165 v cie\u013eovej t\u00e9me pr\u00edkazu humidity.",
763
824
  "target_humidity_command_topic": "T\u00e9ma MQTT na publikovanie pr\u00edkazov na zmenu cie\u013eovej vlhkosti kl\u00edmy. [\u010eal\u0161ie inform\u00e1cie]({url}#humidity_command_topic)",
764
825
  "target_humidity_state_template": "[\u0160abl\u00f3na](https://www.home-assistant.io/docs/configuration/templating/#using-value-templates-with-mqtt) na vykreslenie hodnoty prijatej v cie\u013eovej t\u00e9me stavu vlhkosti.",
765
826
  "target_humidity_state_topic": "T\u00e9ma MQTT na odber zmien cie\u013eovej vlhkosti. [\u010eal\u0161ie inform\u00e1cie]({url}#humidity_state_topic)"
766
- }
827
+ },
828
+ "name": "Cie\u013eov\u00e9 nastavenia vlhkosti"
767
829
  },
768
830
  "target_temperature_settings": {
831
+ "data": {
832
+ "initial": "Po\u010diato\u010dn\u00e1 teplota",
833
+ "max_temp": "Maxim\u00e1lna teplota",
834
+ "min_temp": "Minim\u00e1lna teplota",
835
+ "precision": "Presnos\u0165",
836
+ "temp_step": "Teplotn\u00fd krok",
837
+ "temperature_command_template": "\u0160abl\u00f3na pr\u00edkazu na teplotu",
838
+ "temperature_command_topic": "T\u00e9ma pr\u00edkazu teploty",
839
+ "temperature_high_command_template": "\u0160abl\u00f3na pr\u00edkazu pre horn\u00fa teplotu",
840
+ "temperature_high_command_topic": "T\u00e9ma pr\u00edkazu hornej teploty",
841
+ "temperature_high_state_template": "\u0160abl\u00f3na stavu hornej teploty",
842
+ "temperature_high_state_topic": "T\u00e9ma stavu hornej teploty",
843
+ "temperature_low_command_template": "\u0160abl\u00f3na pr\u00edkazu na zn\u00ed\u017eenie teploty",
844
+ "temperature_low_command_topic": "T\u00e9ma pr\u00edkazu na zn\u00ed\u017eenie teploty",
845
+ "temperature_low_state_template": "\u0160abl\u00f3na stavu ni\u017e\u0161ej teploty",
846
+ "temperature_low_state_topic": "T\u00e9ma stavu ni\u017e\u0161ej teploty",
847
+ "temperature_state_template": "\u0160abl\u00f3na teplotn\u00e9ho stavu",
848
+ "temperature_state_topic": "T\u00e9ma stavu teploty"
849
+ },
769
850
  "data_description": {
770
851
  "initial": "Kl\u00edma sa inicializuje s touto cie\u013eovou teplotou.",
771
852
  "max_temp": "Maxim\u00e1lna cie\u013eov\u00e1 teplota, ktor\u00fa mo\u017eno nastavi\u0165.",
@@ -784,7 +865,8 @@
784
865
  "temperature_low_state_topic": "T\u00e9ma MQTT na odber zmien ni\u017e\u0161ej cie\u013eovej teploty. [\u010eal\u0161ie inform\u00e1cie]({url}#temperature_low_state_topic)",
785
866
  "temperature_state_template": "[\u0160abl\u00f3na](https://www.home-assistant.io/docs/configuration/templating/#using-value-templates-with-mqtt) na vykreslenie hodnoty prijatej v t\u00e9me o stave teploty.",
786
867
  "temperature_state_topic": "T\u00e9ma MQTT na odber zmien cie\u013eovej teploty. [\u010eal\u0161ie inform\u00e1cie]({url}#temperature_state_topic)"
787
- }
868
+ },
869
+ "name": "Nastavenie cie\u013eovej teploty"
788
870
  }
789
871
  },
790
872
  "title": "Konfigur\u00e1cia zariadenia MQTT \"{mqtt_device}\""
@@ -870,6 +952,10 @@
870
952
  }
871
953
  },
872
954
  "issues": {
955
+ "deprecated_vacuum_battery_feature": {
956
+ "description": "V\u00e1kuov\u00e1 entita {entity_id} implementuje funkciu bat\u00e9rie, ktor\u00e1 je zastaran\u00e1. T\u00e1to funkcia prestane fungova\u0165 v aplik\u00e1cii Home Assistant 2026.2. Namiesto toho implementujte samostatn\u00fa entitu pre stav bat\u00e9rie. Ak chcete probl\u00e9m odstr\u00e1ni\u0165, odstr\u00e1\u0148te funkciu `bat\u00e9ria` z nakonfigurovan\u00fdch podporovan\u00fdch funkci\u00ed a re\u0161tartujte aplik\u00e1ciu Home Assistant.",
957
+ "title": "Pou\u017eit\u00e1 zastaran\u00e1 funkcia bat\u00e9rie"
958
+ },
873
959
  "invalid_platform_config": {
874
960
  "description": "Home Assistant zistil neplatn\u00fa konfigur\u00e1ciu pre manu\u00e1lne nakonfigurovan\u00fa polo\u017eku. \n\nDom\u00e9na platformy: **{domain}**\nKonfigura\u010dn\u00fd s\u00fabor: **{config_file}**\nBl\u00edzka \u010diara: **{line}**\nN\u00e1jden\u00e1 konfigur\u00e1cia:\n```jaml\n{config}\n```\nChyba: **{error}**. \n\nUistite sa, \u017ee konfigur\u00e1cia je platn\u00e1 a [znova na\u010d\u00edtajte](/developer-tools/yaml) manu\u00e1lne nakonfigurovan\u00e9 polo\u017eky MQTT alebo re\u0161tartujte Home Assistant, aby ste tento probl\u00e9m vyrie\u0161ili.",
875
961
  "title": "Pre polo\u017eku MQTT {domain} sa na\u0161la neplatn\u00e1 konfigur\u00e1cia"
@@ -1179,6 +1265,13 @@
1179
1265
  "white": "Biela",
1180
1266
  "xy": "XY"
1181
1267
  }
1268
+ },
1269
+ "target_temperature_feature": {
1270
+ "options": {
1271
+ "high_low": "Horn\u00e1/doln\u00e1 cie\u013eov\u00e1 teplota",
1272
+ "none": "\u017diadna cie\u013eov\u00e1 teplota",
1273
+ "single": "Teplota jedn\u00e9ho cie\u013ea"
1274
+ }
1182
1275
  }
1183
1276
  },
1184
1277
  "services": {
@@ -952,6 +952,10 @@
952
952
  }
953
953
  },
954
954
  "issues": {
955
+ "deprecated_vacuum_battery_feature": {
956
+ "description": "\u6383\u5730\u6a5f\u5668\u4eba\u5be6\u9ad4 {entity_id} \u5be6\u73fe\u4e86\u5df2\u4e0d\u518d\u4f7f\u7528\u7684\u96fb\u6c60\u529f\u80fd\u3002\u8a72\u529f\u80fd\u5c07\u5728 Home Assistant 2026.2 \u7248\u4e2d\u505c\u6b62\u5de5\u4f5c\u3002\u8acb\u6539\u70ba\u96fb\u6c60\u72c0\u614b\u5be6\u4f5c\u55ae\u7368\u7684\u5be6\u9ad4\u3002\u82e5\u8981\u89e3\u6c7a\u6b64\u554f\u984c\uff0c\u8acb\u5f9e\u5df2\u8a2d\u5b9a\u7684\u652f\u63f4\u529f\u80fd\u4e2d\u79fb\u9664 `battery` \u529f\u80fd\uff0c\u7136\u5f8c\u91cd\u65b0\u555f\u52d5 Home Assistant\u3002",
957
+ "title": "\u4f7f\u7528\u5df2\u4e0d\u518d\u4f7f\u7528\u7684\u96fb\u6c60\u529f\u80fd"
958
+ },
955
959
  "invalid_platform_config": {
956
960
  "description": "Home Assistant \u5075\u6e2c\u5230\u624b\u52d5\u8a2d\u5b9a\u9805\u76ee\u5167\u6709\u7121\u6548\u7684\u8a2d\u5b9a\u3002\n\n\u5e73\u53f0 domain\uff1a**{domain}**\n\u8a2d\u5b9a\u6a94\uff1a**{config_file}**\n\u63a5\u8fd1\u884c\uff1a**{line}**\n\u627e\u5230\u7684\u8a2d\u5b9a\uff1a\n```yaml\n{config}\n```\n\u932f\u8aa4\uff1a**{error}**\u3002\n\n\u8acb\u78ba\u8a8d\u4fee\u6b63\u8a2d\u5b9a\u4e26\u624b\u52d5 [\u91cd\u65b0\u8f09\u5165](/developer-tools/yaml) MQTT \u8a2d\u5b9a\u9805\u76ee\u6216\u91cd\u65b0\u555f\u52d5 Home Assistant \u4ee5\u4fee\u6b63\u6b64\u554f\u984c\u3002",
957
961
  "title": "\u767c\u73fe MQTT {domain} \u9805\u76ee\u8a2d\u5b9a\u7121\u6548"
@@ -92,11 +92,15 @@ async def async_update_options(hass: HomeAssistant, entry: OllamaConfigEntry) ->
92
92
  async def async_migrate_integration(hass: HomeAssistant) -> None:
93
93
  """Migrate integration entry structure."""
94
94
 
95
- entries = hass.config_entries.async_entries(DOMAIN)
95
+ # Make sure we get enabled config entries first
96
+ entries = sorted(
97
+ hass.config_entries.async_entries(DOMAIN),
98
+ key=lambda e: e.disabled_by is not None,
99
+ )
96
100
  if not any(entry.version == 1 for entry in entries):
97
101
  return
98
102
 
99
- api_keys_entries: dict[str, ConfigEntry] = {}
103
+ url_entries: dict[str, tuple[ConfigEntry, bool]] = {}
100
104
  entity_registry = er.async_get(hass)
101
105
  device_registry = dr.async_get(hass)
102
106
 
@@ -112,33 +116,64 @@ async def async_migrate_integration(hass: HomeAssistant) -> None:
112
116
  title=entry.title,
113
117
  unique_id=None,
114
118
  )
115
- if entry.data[CONF_URL] not in api_keys_entries:
119
+ if entry.data[CONF_URL] not in url_entries:
116
120
  use_existing = True
117
- api_keys_entries[entry.data[CONF_URL]] = entry
121
+ all_disabled = all(
122
+ e.disabled_by is not None
123
+ for e in entries
124
+ if e.data[CONF_URL] == entry.data[CONF_URL]
125
+ )
126
+ url_entries[entry.data[CONF_URL]] = (entry, all_disabled)
118
127
 
119
- parent_entry = api_keys_entries[entry.data[CONF_URL]]
128
+ parent_entry, all_disabled = url_entries[entry.data[CONF_URL]]
120
129
 
121
130
  hass.config_entries.async_add_subentry(parent_entry, subentry)
122
131
 
123
- conversation_entity = entity_registry.async_get_entity_id(
132
+ conversation_entity_id = entity_registry.async_get_entity_id(
124
133
  "conversation",
125
134
  DOMAIN,
126
135
  entry.entry_id,
127
136
  )
128
- if conversation_entity is not None:
137
+ device = device_registry.async_get_device(
138
+ identifiers={(DOMAIN, entry.entry_id)}
139
+ )
140
+
141
+ if conversation_entity_id is not None:
142
+ conversation_entity_entry = entity_registry.entities[conversation_entity_id]
143
+ entity_disabled_by = conversation_entity_entry.disabled_by
144
+ if (
145
+ entity_disabled_by is er.RegistryEntryDisabler.CONFIG_ENTRY
146
+ and not all_disabled
147
+ ):
148
+ # Device and entity registries don't update the disabled_by flag
149
+ # when moving a device or entity from one config entry to another,
150
+ # so we need to do it manually.
151
+ entity_disabled_by = (
152
+ er.RegistryEntryDisabler.DEVICE
153
+ if device
154
+ else er.RegistryEntryDisabler.USER
155
+ )
129
156
  entity_registry.async_update_entity(
130
- conversation_entity,
157
+ conversation_entity_id,
131
158
  config_entry_id=parent_entry.entry_id,
132
159
  config_subentry_id=subentry.subentry_id,
160
+ disabled_by=entity_disabled_by,
133
161
  new_unique_id=subentry.subentry_id,
134
162
  )
135
163
 
136
- device = device_registry.async_get_device(
137
- identifiers={(DOMAIN, entry.entry_id)}
138
- )
139
164
  if device is not None:
165
+ # Device and entity registries don't update the disabled_by flag when
166
+ # moving a device or entity from one config entry to another, so we
167
+ # need to do it manually.
168
+ device_disabled_by = device.disabled_by
169
+ if (
170
+ device.disabled_by is dr.DeviceEntryDisabler.CONFIG_ENTRY
171
+ and not all_disabled
172
+ ):
173
+ device_disabled_by = dr.DeviceEntryDisabler.USER
140
174
  device_registry.async_update_device(
141
175
  device.id,
176
+ disabled_by=device_disabled_by,
142
177
  new_identifiers={(DOMAIN, subentry.subentry_id)},
143
178
  add_config_subentry_id=subentry.subentry_id,
144
179
  add_config_entry_id=parent_entry.entry_id,
@@ -158,6 +193,7 @@ async def async_migrate_integration(hass: HomeAssistant) -> None:
158
193
  if not use_existing:
159
194
  await hass.config_entries.async_remove(entry.entry_id)
160
195
  else:
196
+ _add_ai_task_subentry(hass, entry)
161
197
  hass.config_entries.async_update_entry(
162
198
  entry,
163
199
  title=DEFAULT_NAME,
@@ -165,7 +201,7 @@ async def async_migrate_integration(hass: HomeAssistant) -> None:
165
201
  data={CONF_URL: entry.data[CONF_URL]},
166
202
  options={},
167
203
  version=3,
168
- minor_version=1,
204
+ minor_version=3,
169
205
  )
170
206
 
171
207
 
@@ -211,32 +247,69 @@ async def async_migrate_entry(hass: HomeAssistant, entry: OllamaConfigEntry) ->
211
247
  )
212
248
 
213
249
  if entry.version == 3 and entry.minor_version == 1:
214
- # Add AI Task subentry with default options. We can only create a new
215
- # subentry if we can find an existing model in the entry. The model
216
- # was removed in the previous migration step, so we need to
217
- # check the subentries for an existing model.
218
- existing_model = next(
219
- iter(
220
- model
221
- for subentry in entry.subentries.values()
222
- if (model := subentry.data.get(CONF_MODEL)) is not None
223
- ),
224
- None,
225
- )
226
- if existing_model:
227
- hass.config_entries.async_add_subentry(
228
- entry,
229
- ConfigSubentry(
230
- data=MappingProxyType({CONF_MODEL: existing_model}),
231
- subentry_type="ai_task_data",
232
- title=DEFAULT_AI_TASK_NAME,
233
- unique_id=None,
234
- ),
235
- )
250
+ _add_ai_task_subentry(hass, entry)
236
251
  hass.config_entries.async_update_entry(entry, minor_version=2)
237
252
 
253
+ if entry.version == 3 and entry.minor_version == 2:
254
+ # Fix migration where the disabled_by flag was not set correctly.
255
+ # We can currently only correct this for enabled config entries,
256
+ # because migration does not run for disabled config entries. This
257
+ # is asserted in tests, and if that behavior is changed, we should
258
+ # correct also disabled config entries.
259
+ device_registry = dr.async_get(hass)
260
+ entity_registry = er.async_get(hass)
261
+ devices = dr.async_entries_for_config_entry(device_registry, entry.entry_id)
262
+ entity_entries = er.async_entries_for_config_entry(
263
+ entity_registry, entry.entry_id
264
+ )
265
+ if entry.disabled_by is None:
266
+ # If the config entry is not disabled, we need to set the disabled_by
267
+ # flag on devices to USER, and on entities to DEVICE, if they are set
268
+ # to CONFIG_ENTRY.
269
+ for device in devices:
270
+ if device.disabled_by is not dr.DeviceEntryDisabler.CONFIG_ENTRY:
271
+ continue
272
+ device_registry.async_update_device(
273
+ device.id,
274
+ disabled_by=dr.DeviceEntryDisabler.USER,
275
+ )
276
+ for entity in entity_entries:
277
+ if entity.disabled_by is not er.RegistryEntryDisabler.CONFIG_ENTRY:
278
+ continue
279
+ entity_registry.async_update_entity(
280
+ entity.entity_id,
281
+ disabled_by=er.RegistryEntryDisabler.DEVICE,
282
+ )
283
+ hass.config_entries.async_update_entry(entry, minor_version=3)
284
+
238
285
  _LOGGER.debug(
239
286
  "Migration to version %s:%s successful", entry.version, entry.minor_version
240
287
  )
241
288
 
242
289
  return True
290
+
291
+
292
+ def _add_ai_task_subentry(hass: HomeAssistant, entry: OllamaConfigEntry) -> None:
293
+ """Add AI Task subentry to the config entry."""
294
+ # Add AI Task subentry with default options. We can only create a new
295
+ # subentry if we can find an existing model in the entry. The model
296
+ # was removed in the previous migration step, so we need to
297
+ # check the subentries for an existing model.
298
+ existing_model = next(
299
+ iter(
300
+ model
301
+ for subentry in entry.subentries.values()
302
+ if (model := subentry.data.get(CONF_MODEL)) is not None
303
+ ),
304
+ None,
305
+ )
306
+ if existing_model:
307
+ hass.config_entries.async_add_subentry(
308
+ entry,
309
+ ConfigSubentry(
310
+ data=MappingProxyType({CONF_MODEL: existing_model}),
311
+ subentry_type="ai_task_data",
312
+ title=DEFAULT_AI_TASK_NAME,
313
+ unique_id=None,
314
+ ),
315
+ )
@@ -76,7 +76,7 @@ class OllamaConfigFlow(ConfigFlow, domain=DOMAIN):
76
76
  """Handle a config flow for Ollama."""
77
77
 
78
78
  VERSION = 3
79
- MINOR_VERSION = 2
79
+ MINOR_VERSION = 3
80
80
 
81
81
  def __init__(self) -> None:
82
82
  """Initialize config flow."""
@@ -24,6 +24,11 @@
24
24
  "entry_not_loaded": "Nepodarilo sa prida\u0165 agenta. Konfigur\u00e1cia je deaktivovan\u00e1.",
25
25
  "reconfigure_successful": "Rekonfigur\u00e1cia bola \u00faspe\u0161n\u00e1"
26
26
  },
27
+ "entry_type": "\u00daloha AI",
28
+ "initiate_flow": {
29
+ "reconfigure": "Rekonfigur\u00e1cia \u00falohy AI",
30
+ "user": "Pridanie \u00falohy AI"
31
+ },
27
32
  "progress": {
28
33
  "download": "Po\u010dkajte, pros\u00edm, k\u00fdm sa model stiahne, \u010do m\u00f4\u017ee trva\u0165 ve\u013emi dlho. Podrobnej\u0161ie inform\u00e1cie n\u00e1jdete v z\u00e1znamoch servera Ollama."
29
34
  },
@@ -24,6 +24,10 @@
24
24
  "cannot_connect": "Nepodarilo sa pripoji\u0165",
25
25
  "unknown": "Neo\u010dak\u00e1van\u00e1 chyba"
26
26
  },
27
+ "entry_type": "\u00daloha AI",
28
+ "initiate_flow": {
29
+ "user": "Pridanie \u00falohy AI"
30
+ },
27
31
  "step": {
28
32
  "user": {
29
33
  "data": {
@@ -22,9 +22,14 @@
22
22
  "entry_not_loaded": "Nie je mo\u017en\u00e9 prid\u00e1va\u0165 veci, ke\u010f je konfigur\u00e1cia vypnut\u00e1.",
23
23
  "reconfigure_successful": "Rekonfigur\u00e1cia bola \u00faspe\u0161n\u00e1"
24
24
  },
25
+ "entry_type": "\u00daloha AI",
25
26
  "error": {
26
27
  "model_not_supported": "Tento model nie je podporovan\u00fd, vyberte in\u00fd model"
27
28
  },
29
+ "initiate_flow": {
30
+ "reconfigure": "Rekonfigur\u00e1cia \u00falohy AI",
31
+ "user": "Pridanie \u00falohy AI"
32
+ },
28
33
  "step": {
29
34
  "advanced": {
30
35
  "data": {
@@ -6,14 +6,54 @@
6
6
  },
7
7
  "error": {
8
8
  "cannot_connect": "Nepodarilo sa pripoji\u0165",
9
- "invalid_auth": "Neplatn\u00e9 overenie"
9
+ "invalid_auth": "Neplatn\u00e9 overenie",
10
+ "invalid_mfa_code": "Bezpe\u010dnostn\u00fd k\u00f3d je nespr\u00e1vny. Sk\u00faste to pros\u00edm znova."
10
11
  },
11
12
  "step": {
13
+ "credentials": {
14
+ "data": {
15
+ "password": "Heslo",
16
+ "totp_secret": "TOTP secret",
17
+ "username": "Pou\u017e\u00edvate\u013esk\u00e9 meno"
18
+ },
19
+ "data_description": {
20
+ "password": "Heslo k v\u00e1\u0161mu \u00fa\u010dtu za energie",
21
+ "totp_secret": "Nejde o 6-miestny k\u00f3d. Je to re\u0165azec pribli\u017ene 16 znakov obsahuj\u00faci zdie\u013ean\u00e9 tajomstvo, ktor\u00e9 umo\u017e\u0148uje aplik\u00e1cii autentifik\u00e1tora vygenerova\u0165 spr\u00e1vny \u010dasov\u00fd k\u00f3d v pr\u00edslu\u0161nom \u010dase. Pozrite si dokument\u00e1ciu.",
22
+ "username": "Pou\u017e\u00edvate\u013esk\u00e9 meno v\u00e1\u0161ho \u00fa\u010dtu"
23
+ },
24
+ "title": "Zadajte poverenia"
25
+ },
26
+ "mfa_code": {
27
+ "data": {
28
+ "mfa_code": "Bezpe\u010dnostn\u00fd k\u00f3d"
29
+ },
30
+ "data_description": {
31
+ "mfa_code": "Zvy\u010dajne 6-miestny k\u00f3d"
32
+ },
33
+ "description": "Bezpe\u010dnostn\u00fd k\u00f3d bol odoslan\u00fd vybran\u00fdm sp\u00f4sobom. Na dokon\u010denie prihl\u00e1senia ho zadajte ni\u017e\u0161ie.",
34
+ "title": "Zadajte bezpe\u010dnostn\u00fd k\u00f3d"
35
+ },
36
+ "mfa_options": {
37
+ "data": {
38
+ "mfa_method": "Met\u00f3da MFA"
39
+ },
40
+ "data_description": {
41
+ "mfa_method": "Ako z\u00edska\u0165 bezpe\u010dnostn\u00fd k\u00f3d"
42
+ },
43
+ "description": "Va\u0161e konto vy\u017eaduje viacfaktorov\u00e9 overovanie (MFA). Vyberte si sp\u00f4sob, ak\u00fdm chcete z\u00edska\u0165 bezpe\u010dnostn\u00fd k\u00f3d.",
44
+ "title": "Viacfaktorov\u00e9 overovanie"
45
+ },
12
46
  "reauth_confirm": {
13
47
  "data": {
14
48
  "password": "Heslo",
49
+ "totp_secret": "TOTP secret",
15
50
  "username": "Pou\u017e\u00edvate\u013esk\u00e9 meno"
16
51
  },
52
+ "data_description": {
53
+ "password": "Heslo k v\u00e1\u0161mu \u00fa\u010dtu za energie",
54
+ "totp_secret": "Nejde o 6-miestny k\u00f3d. Je to re\u0165azec pribli\u017ene 16 znakov obsahuj\u00faci zdie\u013ean\u00e9 tajomstvo, ktor\u00e9 umo\u017e\u0148uje aplik\u00e1cii autentifik\u00e1tora vygenerova\u0165 spr\u00e1vny \u010dasov\u00fd k\u00f3d v pr\u00edslu\u0161nom \u010dase. Pozrite si dokument\u00e1ciu.",
55
+ "username": "Pou\u017e\u00edvate\u013esk\u00e9 meno v\u00e1\u0161ho \u00fa\u010dtu"
56
+ },
17
57
  "title": "Vypr\u0161ala platnos\u0165 overenia pre {name}"
18
58
  },
19
59
  "user": {
@@ -6,14 +6,54 @@
6
6
  },
7
7
  "error": {
8
8
  "cannot_connect": "\u9023\u7dda\u5931\u6557",
9
- "invalid_auth": "\u8eab\u4efd\u9a57\u8b49\u7121\u6548"
9
+ "invalid_auth": "\u8eab\u4efd\u9a57\u8b49\u7121\u6548",
10
+ "invalid_mfa_code": "\u5b89\u5168\u78bc\u932f\u8aa4\u3001\u8acb\u91cd\u8a66\u3002"
10
11
  },
11
12
  "step": {
13
+ "credentials": {
14
+ "data": {
15
+ "password": "\u5bc6\u78bc",
16
+ "totp_secret": "TOTP \u5bc6\u9470",
17
+ "username": "\u4f7f\u7528\u8005\u540d\u7a31"
18
+ },
19
+ "data_description": {
20
+ "password": "\u516c\u7528\u4e8b\u696d\u5e33\u865f\u5bc6\u78bc",
21
+ "totp_secret": "\u4e26\u975e 6 \u4f4d\u6578\u4ee3\u78bc\u3002\u61c9\u8a72\u70ba\u4e00\u500b\u7d04 16 \u500b\u5b57\u5143\u6578\u7684\u5b57\u4e32\u3001\u5305\u542b\u5171\u4eab\u5bc6\u9470\uff0c\u53ef\u7528\u65bc\u9a57\u8b49\u5668\u61c9\u7528\u7a0b\u5f0f\u65bc\u5c0d\u61c9\u6642\u9593\u5167\u3001\u7522\u751f\u9650\u6642\u7684\u9a57\u8b49\u78bc\u3002\u8acb\u53c3\u95b1\u6587\u4ef6\u4ee5\u53d6\u5f97\u66f4\u8a73\u7d30\u8cc7\u8a0a\u3002",
22
+ "username": "\u516c\u7528\u4e8b\u696d\u5e33\u865f\u4f7f\u7528\u8005\u540d\u7a31"
23
+ },
24
+ "title": "\u8f38\u5165\u6191\u8b49"
25
+ },
26
+ "mfa_code": {
27
+ "data": {
28
+ "mfa_code": "\u5b89\u5168\u78bc"
29
+ },
30
+ "data_description": {
31
+ "mfa_code": "\u901a\u5e38\u70ba 6 \u4f4d\u6578\u4ee3\u78bc"
32
+ },
33
+ "description": "\u5b89\u5168\u78bc\u5df2\u900f\u904e\u6240\u9078\u64c7\u7684\u65b9\u5f0f\u50b3\u9001\u3002\u8acb\u5728\u4e0b\u65b9\u8f38\u5165\u4ee5\u5b8c\u6210\u767b\u5165\u3002",
34
+ "title": "\u8f38\u5165\u5b89\u5168\u78bc"
35
+ },
36
+ "mfa_options": {
37
+ "data": {
38
+ "mfa_method": "MFA \u65b9\u5f0f"
39
+ },
40
+ "data_description": {
41
+ "mfa_method": "\u5982\u4f55\u6536\u5230\u5b89\u5168\u78bc"
42
+ },
43
+ "description": "\u5e33\u865f\u9700\u8981\u591a\u6b65\u9a5f\u9a57\u8b49\uff08MFA\uff09\u3002\u8acb\u9078\u64c7\u63a5\u6536\u5b89\u5168\u9a57\u8b49\u78bc\u7684\u65b9\u5f0f\u3002",
44
+ "title": "\u591a\u6b65\u9a5f\u9a57\u8b49"
45
+ },
12
46
  "reauth_confirm": {
13
47
  "data": {
14
48
  "password": "\u5bc6\u78bc",
49
+ "totp_secret": "TOTP \u5bc6\u9470",
15
50
  "username": "\u4f7f\u7528\u8005\u540d\u7a31"
16
51
  },
52
+ "data_description": {
53
+ "password": "\u516c\u7528\u4e8b\u696d\u5e33\u865f\u5bc6\u78bc",
54
+ "totp_secret": "\u4e26\u975e 6 \u4f4d\u6578\u4ee3\u78bc\u3002\u61c9\u8a72\u70ba\u4e00\u500b\u7d04 16 \u500b\u5b57\u5143\u6578\u7684\u5b57\u4e32\u3001\u5305\u542b\u5171\u4eab\u5bc6\u9470\uff0c\u53ef\u7528\u65bc\u9a57\u8b49\u5668\u61c9\u7528\u7a0b\u5f0f\u65bc\u5c0d\u61c9\u6642\u9593\u5167\u3001\u7522\u751f\u9650\u6642\u7684\u9a57\u8b49\u78bc\u3002\u8acb\u53c3\u95b1\u6587\u4ef6\u4ee5\u53d6\u5f97\u66f4\u8a73\u7d30\u8cc7\u8a0a\u3002",
55
+ "username": "\u516c\u7528\u4e8b\u696d\u5e33\u865f\u4f7f\u7528\u8005\u540d\u7a31"
56
+ },
17
57
  "title": "{name} \u8a8d\u8b49\u5df2\u904e\u671f"
18
58
  },
19
59
  "user": {
@@ -210,6 +210,7 @@
210
210
  "name": "Nastavi\u0165 v40 min"
211
211
  },
212
212
  "turn_away_mode_on": {
213
+ "description": "Zapne re\u017eim nepr\u00edtomnosti pre ohrieva\u010d vody",
213
214
  "fields": {
214
215
  "duration_days": {
215
216
  "description": "Po\u010det dn\u00ed, po\u010das ktor\u00fdch m\u00e1 by\u0165 re\u017eim nepr\u00edtomnosti akt\u00edvny (1-365)",