homeassistant 2025.7.0b2__py3-none-any.whl → 2025.7.0b4__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.
- homeassistant/components/ai_task/translations/fr.json +22 -1
- homeassistant/components/ai_task/translations/hu.json +22 -0
- homeassistant/components/ai_task/translations/it.json +22 -0
- homeassistant/components/alexa_devices/manifest.json +1 -1
- homeassistant/components/alexa_devices/translations/hu.json +4 -1
- homeassistant/components/alexa_devices/translations/it.json +29 -0
- homeassistant/components/alexa_devices/translations/pt.json +12 -1
- homeassistant/components/altruist/translations/hu.json +19 -0
- homeassistant/components/anthropic/translations/fr.json +37 -0
- homeassistant/components/anthropic/translations/hu.json +19 -0
- homeassistant/components/anthropic/translations/it.json +37 -0
- homeassistant/components/assist_satellite/translations/fr.json +8 -0
- homeassistant/components/assist_satellite/translations/hu.json +38 -0
- homeassistant/components/assist_satellite/translations/it.json +8 -0
- homeassistant/components/blue_current/translations/el.json +3 -1
- homeassistant/components/bluetooth/translations/el.json +3 -0
- homeassistant/components/denonavr/translations/el.json +5 -0
- homeassistant/components/derivative/translations/fr.json +4 -0
- homeassistant/components/derivative/translations/it.json +4 -0
- homeassistant/components/devolo_home_control/translations/hu.json +21 -0
- homeassistant/components/devolo_home_control/translations/it.json +6 -0
- homeassistant/components/dsmr/sensor.py +8 -0
- homeassistant/components/ecovacs/translations/el.json +1 -0
- homeassistant/components/electric_kiwi/translations/hu.json +6 -0
- homeassistant/components/emoncms/translations/el.json +3 -0
- homeassistant/components/enphase_envoy/translations/hu.json +18 -0
- homeassistant/components/ezviz/translations/it.json +10 -0
- homeassistant/components/fitbit/translations/hu.json +6 -0
- homeassistant/components/fronius/translations/el.json +14 -1
- homeassistant/components/frontend/manifest.json +1 -1
- homeassistant/components/geocaching/translations/hu.json +6 -0
- homeassistant/components/google/translations/hu.json +6 -0
- homeassistant/components/google_assistant_sdk/translations/hu.json +6 -0
- homeassistant/components/google_drive/translations/hu.json +6 -0
- homeassistant/components/google_generative_ai_conversation/translations/fr.json +82 -1
- homeassistant/components/google_generative_ai_conversation/translations/hu.json +68 -0
- homeassistant/components/google_generative_ai_conversation/translations/it.json +20 -0
- homeassistant/components/google_generative_ai_conversation/translations/pt.json +28 -0
- homeassistant/components/google_mail/translations/hu.json +6 -0
- homeassistant/components/google_photos/translations/hu.json +6 -0
- homeassistant/components/google_sheets/translations/hu.json +6 -0
- homeassistant/components/google_tasks/translations/hu.json +6 -0
- homeassistant/components/home_connect/translations/hu.json +6 -0
- homeassistant/components/homeassistant/translations/fr.json +1 -0
- homeassistant/components/homeassistant/translations/it.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/el.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/es.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/et.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/fr.json +4 -0
- homeassistant/components/homeassistant_hardware/translations/it.json +6 -0
- homeassistant/components/homeassistant_hardware/translations/pt.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/sk.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/sv.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/zh-Hans.json +1 -0
- homeassistant/components/homeassistant_hardware/translations/zh-Hant.json +1 -0
- homeassistant/components/homeassistant_sky_connect/translations/el.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/es.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/et.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/fr.json +4 -0
- homeassistant/components/homeassistant_sky_connect/translations/it.json +4 -0
- homeassistant/components/homeassistant_sky_connect/translations/pt.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/sk.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/sv.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/zh-Hans.json +2 -0
- homeassistant/components/homeassistant_sky_connect/translations/zh-Hant.json +2 -0
- homeassistant/components/homeassistant_yellow/translations/el.json +2 -0
- homeassistant/components/homeassistant_yellow/translations/es.json +2 -0
- homeassistant/components/homeassistant_yellow/translations/et.json +2 -0
- homeassistant/components/homeassistant_yellow/translations/fr.json +2 -0
- homeassistant/components/homeassistant_yellow/translations/hu.json +1 -0
- homeassistant/components/homeassistant_yellow/translations/it.json +2 -0
- homeassistant/components/homeassistant_yellow/translations/pt.json +2 -0
- homeassistant/components/homeassistant_yellow/translations/sk.json +2 -0
- homeassistant/components/homeassistant_yellow/translations/sv.json +1 -0
- homeassistant/components/homeassistant_yellow/translations/zh-Hans.json +2 -0
- homeassistant/components/homeassistant_yellow/translations/zh-Hant.json +2 -0
- homeassistant/components/homee/translations/hu.json +25 -0
- homeassistant/components/homewizard/translations/sv.json +1 -1
- homeassistant/components/honeywell/manifest.json +1 -1
- homeassistant/components/husqvarna_automower/button.py +3 -1
- homeassistant/components/husqvarna_automower/translations/hu.json +6 -0
- homeassistant/components/imap/translations/fr.json +2 -0
- homeassistant/components/iotty/translations/hu.json +6 -0
- homeassistant/components/jellyfin/client_wrapper.py +1 -2
- homeassistant/components/jellyfin/coordinator.py +3 -0
- homeassistant/components/jellyfin/manifest.json +1 -2
- homeassistant/components/keenetic_ndms2/translations/hu.json +3 -0
- homeassistant/components/lametric/translations/hu.json +6 -0
- homeassistant/components/lifx/translations/el.json +2 -1
- homeassistant/components/litterrobot/translations/hu.json +3 -0
- homeassistant/components/litterrobot/translations/it.json +4 -0
- homeassistant/components/lyric/translations/hu.json +6 -0
- homeassistant/components/matter/translations/hu.json +10 -0
- homeassistant/components/mcp/translations/hu.json +6 -0
- homeassistant/components/microbees/translations/hu.json +6 -0
- homeassistant/components/miele/translations/hu.json +28 -1
- homeassistant/components/monzo/translations/hu.json +6 -0
- homeassistant/components/mqtt/config_flow.py +34 -7
- homeassistant/components/mqtt/strings.json +11 -4
- homeassistant/components/mqtt/translations/bg.json +1 -3
- homeassistant/components/mqtt/translations/cs.json +2 -6
- homeassistant/components/mqtt/translations/de.json +23 -16
- homeassistant/components/mqtt/translations/el.json +11 -0
- homeassistant/components/mqtt/translations/en-GB.json +2 -6
- homeassistant/components/mqtt/translations/en.json +13 -6
- homeassistant/components/mqtt/translations/es.json +2 -6
- homeassistant/components/mqtt/translations/et.json +13 -6
- homeassistant/components/mqtt/translations/fr.json +27 -6
- homeassistant/components/mqtt/translations/fy.json +2 -5
- homeassistant/components/mqtt/translations/ga.json +2 -6
- homeassistant/components/mqtt/translations/he.json +2 -6
- homeassistant/components/mqtt/translations/hu.json +2 -6
- homeassistant/components/mqtt/translations/it.json +25 -0
- homeassistant/components/mqtt/translations/ja.json +1 -4
- homeassistant/components/mqtt/translations/lt.json +2 -6
- homeassistant/components/mqtt/translations/mk.json +1 -6
- homeassistant/components/mqtt/translations/nl.json +27 -6
- homeassistant/components/mqtt/translations/pt.json +4 -6
- homeassistant/components/mqtt/translations/ru.json +2 -6
- homeassistant/components/mqtt/translations/sk.json +13 -6
- homeassistant/components/mqtt/translations/sl.json +2 -6
- homeassistant/components/mqtt/translations/sv.json +2 -6
- homeassistant/components/mqtt/translations/tr.json +2 -6
- homeassistant/components/mqtt/translations/zh-Hans.json +2 -6
- homeassistant/components/mqtt/translations/zh-Hant.json +13 -6
- homeassistant/components/myuplink/translations/hu.json +6 -0
- homeassistant/components/neato/translations/hu.json +6 -0
- homeassistant/components/nest/translations/hu.json +6 -0
- homeassistant/components/netatmo/translations/hu.json +6 -0
- homeassistant/components/nextdns/translations/fr.json +6 -0
- homeassistant/components/ntfy/translations/hu.json +112 -2
- homeassistant/components/nut/translations/el.json +42 -0
- homeassistant/components/ollama/translations/fr.json +33 -0
- homeassistant/components/ollama/translations/hu.json +33 -0
- homeassistant/components/ollama/translations/it.json +35 -0
- homeassistant/components/ondilo_ico/translations/hu.json +6 -0
- homeassistant/components/onedrive/translations/hu.json +6 -0
- homeassistant/components/onewire/translations/sv.json +1 -1
- homeassistant/components/openai_conversation/translations/fr.json +56 -0
- homeassistant/components/openai_conversation/translations/hu.json +56 -0
- homeassistant/components/openai_conversation/translations/it.json +56 -0
- homeassistant/components/paperless_ngx/manifest.json +1 -1
- homeassistant/components/paperless_ngx/translations/hu.json +4 -2
- homeassistant/components/peblar/translations/el.json +12 -0
- homeassistant/components/pegel_online/translations/bg.json +1 -2
- homeassistant/components/pegel_online/translations/ca.json +1 -2
- homeassistant/components/pegel_online/translations/cs.json +1 -2
- homeassistant/components/pegel_online/translations/de.json +1 -1
- homeassistant/components/pegel_online/translations/el.json +1 -1
- homeassistant/components/pegel_online/translations/en-GB.json +1 -2
- homeassistant/components/pegel_online/translations/en.json +1 -1
- homeassistant/components/pegel_online/translations/es.json +1 -1
- homeassistant/components/pegel_online/translations/et.json +1 -1
- homeassistant/components/pegel_online/translations/fi.json +1 -2
- homeassistant/components/pegel_online/translations/fr.json +1 -2
- homeassistant/components/pegel_online/translations/hu.json +1 -2
- homeassistant/components/pegel_online/translations/id.json +1 -2
- homeassistant/components/pegel_online/translations/it.json +1 -2
- homeassistant/components/pegel_online/translations/ja.json +1 -2
- homeassistant/components/pegel_online/translations/ko.json +1 -2
- homeassistant/components/pegel_online/translations/lt.json +1 -2
- homeassistant/components/pegel_online/translations/lv.json +1 -2
- homeassistant/components/pegel_online/translations/nl.json +1 -2
- homeassistant/components/pegel_online/translations/pt.json +1 -2
- homeassistant/components/pegel_online/translations/ru.json +1 -2
- homeassistant/components/pegel_online/translations/sk.json +1 -1
- homeassistant/components/pegel_online/translations/sv.json +1 -2
- homeassistant/components/pegel_online/translations/tr.json +1 -2
- homeassistant/components/pegel_online/translations/zh-Hant.json +1 -1
- homeassistant/components/pi_hole/translations/fr.json +1 -0
- homeassistant/components/playstation_network/translations/fr.json +15 -0
- homeassistant/components/playstation_network/translations/hu.json +73 -0
- homeassistant/components/playstation_network/translations/it.json +43 -0
- homeassistant/components/point/translations/hu.json +6 -0
- homeassistant/components/rest/data.py +40 -1
- homeassistant/components/screenlogic/translations/el.json +7 -0
- homeassistant/components/sensibo/translations/el.json +1 -0
- homeassistant/components/senz/translations/hu.json +6 -0
- homeassistant/components/shelly/entity.py +10 -3
- homeassistant/components/smappee/translations/hu.json +6 -0
- homeassistant/components/smartthings/translations/hu.json +6 -0
- homeassistant/components/sonos/translations/fr.json +6 -0
- homeassistant/components/sonos/translations/it.json +11 -0
- homeassistant/components/spotify/translations/hu.json +6 -0
- homeassistant/components/stream/__init__.py +8 -4
- homeassistant/components/stream/const.py +2 -1
- homeassistant/components/stream/core.py +3 -1
- homeassistant/components/subaru/translations/el.json +2 -0
- homeassistant/components/subaru/translations/en-GB.json +2 -0
- homeassistant/components/subaru/translations/es.json +2 -0
- homeassistant/components/subaru/translations/et.json +2 -0
- homeassistant/components/subaru/translations/pt.json +2 -0
- homeassistant/components/subaru/translations/sk.json +2 -0
- homeassistant/components/subaru/translations/zh-Hans.json +2 -0
- homeassistant/components/subaru/translations/zh-Hant.json +2 -0
- homeassistant/components/swiss_public_transport/translations/el.json +60 -6
- homeassistant/components/switchbot/translations/hu.json +19 -0
- homeassistant/components/switchbot/translations/it.json +53 -0
- homeassistant/components/switchbot_cloud/__init__.py +6 -1
- homeassistant/components/switchbot_cloud/binary_sensor.py +8 -1
- homeassistant/components/switchbot_cloud/sensor.py +3 -2
- homeassistant/components/telegram_bot/manifest.json +1 -1
- homeassistant/components/telegram_bot/translations/fr.json +3 -1
- homeassistant/components/telegram_bot/translations/hu.json +1 -0
- homeassistant/components/telegram_bot/translations/it.json +30 -0
- homeassistant/components/telegram_bot/translations/pt.json +30 -0
- homeassistant/components/tesla_fleet/translations/hu.json +7 -0
- homeassistant/components/teslemetry/coordinator.py +6 -6
- homeassistant/components/thermopro/strings.json +1 -1
- homeassistant/components/thermopro/translations/cs.json +0 -7
- homeassistant/components/thermopro/translations/de.json +1 -1
- homeassistant/components/thermopro/translations/el.json +1 -1
- homeassistant/components/thermopro/translations/en-GB.json +1 -1
- homeassistant/components/thermopro/translations/en.json +1 -1
- homeassistant/components/thermopro/translations/et.json +1 -1
- homeassistant/components/thermopro/translations/hu.json +0 -7
- homeassistant/components/thermopro/translations/ja.json +0 -7
- homeassistant/components/thermopro/translations/lt.json +0 -7
- homeassistant/components/thermopro/translations/nl.json +0 -7
- homeassistant/components/thermopro/translations/pt-BR.json +0 -7
- homeassistant/components/thermopro/translations/pt.json +0 -7
- homeassistant/components/thermopro/translations/ru.json +0 -7
- homeassistant/components/thermopro/translations/sk.json +1 -1
- homeassistant/components/thermopro/translations/sv.json +0 -7
- homeassistant/components/thermopro/translations/tr.json +0 -7
- homeassistant/components/tibber/manifest.json +1 -1
- homeassistant/components/tibber/sensor.py +1 -1
- homeassistant/components/tilt_pi/translations/hu.json +21 -0
- homeassistant/components/toon/translations/hu.json +6 -0
- homeassistant/components/vegehub/translations/hu.json +11 -0
- homeassistant/components/vegehub/translations/it.json +40 -0
- homeassistant/components/vulcan/manifest.json +1 -1
- homeassistant/components/weheat/translations/hu.json +6 -0
- homeassistant/components/withings/translations/hu.json +6 -0
- homeassistant/components/wled/translations/fr.json +1 -0
- homeassistant/components/wmspro/cover.py +2 -0
- homeassistant/components/xbox/translations/hu.json +6 -0
- homeassistant/components/xiaomi_miio/translations/fr.json +24 -2
- homeassistant/components/xiaomi_miio/translations/hu.json +7 -0
- homeassistant/components/yale/translations/hu.json +6 -0
- homeassistant/components/yolink/translations/hu.json +6 -0
- homeassistant/components/zha/translations/fr.json +50 -0
- homeassistant/components/zha/translations/hu.json +6 -0
- homeassistant/components/zha/translations/it.json +50 -0
- homeassistant/components/zha/translations/sv.json +4 -0
- homeassistant/components/zwave_js/config_flow.py +81 -28
- homeassistant/components/zwave_js/strings.json +30 -10
- homeassistant/components/zwave_js/translations/cs.json +0 -12
- homeassistant/components/zwave_js/translations/de.json +26 -6
- homeassistant/components/zwave_js/translations/el.json +25 -4
- homeassistant/components/zwave_js/translations/en-GB.json +0 -12
- homeassistant/components/zwave_js/translations/en.json +24 -4
- homeassistant/components/zwave_js/translations/es.json +24 -4
- homeassistant/components/zwave_js/translations/et.json +25 -4
- homeassistant/components/zwave_js/translations/fi.json +0 -14
- homeassistant/components/zwave_js/translations/fr.json +6 -0
- homeassistant/components/zwave_js/translations/ga.json +0 -14
- homeassistant/components/zwave_js/translations/hu.json +32 -4
- homeassistant/components/zwave_js/translations/it.json +26 -0
- homeassistant/components/zwave_js/translations/lt.json +0 -12
- homeassistant/components/zwave_js/translations/mk.json +0 -5
- homeassistant/components/zwave_js/translations/pt.json +10 -13
- homeassistant/components/zwave_js/translations/ru.json +0 -8
- homeassistant/components/zwave_js/translations/sk.json +25 -4
- homeassistant/components/zwave_js/translations/sv.json +0 -12
- homeassistant/components/zwave_js/translations/tr.json +0 -12
- homeassistant/components/zwave_js/translations/zh-Hans.json +27 -6
- homeassistant/components/zwave_js/translations/zh-Hant.json +24 -4
- homeassistant/const.py +1 -1
- homeassistant/generated/integrations.json +1 -8
- homeassistant/package_constraints.txt +1 -1
- {homeassistant-2025.7.0b2.dist-info → homeassistant-2025.7.0b4.dist-info}/METADATA +1 -1
- {homeassistant-2025.7.0b2.dist-info → homeassistant-2025.7.0b4.dist-info}/RECORD +278 -273
- homeassistant/components/dweet/__init__.py +0 -79
- homeassistant/components/dweet/manifest.json +0 -10
- homeassistant/components/dweet/sensor.py +0 -124
- homeassistant/components/thermopro/translations/ga.json +0 -9
- homeassistant/components/thermopro/translations/mk.json +0 -9
- {homeassistant-2025.7.0b2.dist-info → homeassistant-2025.7.0b4.dist-info}/WHEEL +0 -0
- {homeassistant-2025.7.0b2.dist-info → homeassistant-2025.7.0b4.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.7.0b2.dist-info → homeassistant-2025.7.0b4.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.7.0b2.dist-info → homeassistant-2025.7.0b4.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.7.0b2.dist-info → homeassistant-2025.7.0b4.dist-info}/top_level.txt +0 -0
|
@@ -29,6 +29,12 @@
|
|
|
29
29
|
"description": "Adja meg a c\u00edmet a Smappee helyi integr\u00e1ci\u00f3j\u00e1nak elind\u00edt\u00e1s\u00e1hoz"
|
|
30
30
|
},
|
|
31
31
|
"pick_implementation": {
|
|
32
|
+
"data": {
|
|
33
|
+
"implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
|
|
34
|
+
},
|
|
35
|
+
"data_description": {
|
|
36
|
+
"implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
|
|
37
|
+
},
|
|
32
38
|
"title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
|
|
33
39
|
},
|
|
34
40
|
"zeroconf_confirm": {
|
|
@@ -20,6 +20,12 @@
|
|
|
20
20
|
},
|
|
21
21
|
"step": {
|
|
22
22
|
"pick_implementation": {
|
|
23
|
+
"data": {
|
|
24
|
+
"implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
|
|
25
|
+
},
|
|
26
|
+
"data_description": {
|
|
27
|
+
"implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
|
|
28
|
+
},
|
|
23
29
|
"title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
|
|
24
30
|
},
|
|
25
31
|
"reauth_confirm": {
|
|
@@ -79,8 +79,14 @@
|
|
|
79
79
|
}
|
|
80
80
|
},
|
|
81
81
|
"exceptions": {
|
|
82
|
+
"entity_not_found": {
|
|
83
|
+
"message": "Entit\u00e9 {entity_id} non trouv\u00e9e."
|
|
84
|
+
},
|
|
82
85
|
"invalid_sonos_playlist": {
|
|
83
86
|
"message": "Impossible de trouver la liste de lecture Sonos\u00a0: {name}"
|
|
87
|
+
},
|
|
88
|
+
"speaker_not_found": {
|
|
89
|
+
"message": "{entity_id} n'est pas une enceinte Sonos connue."
|
|
84
90
|
}
|
|
85
91
|
},
|
|
86
92
|
"issues": {
|
|
@@ -76,6 +76,17 @@
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
},
|
|
79
|
+
"exceptions": {
|
|
80
|
+
"entity_not_found": {
|
|
81
|
+
"message": "Entit\u00e0 {entity_id} non trovata."
|
|
82
|
+
},
|
|
83
|
+
"speaker_not_found": {
|
|
84
|
+
"message": "{entity_id} non \u00e8 un altoparlante Sonos conosciuto."
|
|
85
|
+
},
|
|
86
|
+
"timeout_join": {
|
|
87
|
+
"message": "Tempo scaduto durante l'attesa che il lettore Sonos si unisca al gruppo {group_description}"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
79
90
|
"issues": {
|
|
80
91
|
"subscriptions_failed": {
|
|
81
92
|
"description": "Se si ricorre al polling, la funzionalit\u00e0 potrebbe essere limitata.\n\nIl dispositivo Sonos al {device_ip} non pu\u00f2 raggiungere Home assistant al {listener_address}.\n\nPer ulteriori informazioni su come risolvere questo problema, consultare la nostra [documentazione]({sub_fail_url}).",
|
|
@@ -18,6 +18,12 @@
|
|
|
18
18
|
},
|
|
19
19
|
"step": {
|
|
20
20
|
"pick_implementation": {
|
|
21
|
+
"data": {
|
|
22
|
+
"implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
|
|
23
|
+
},
|
|
24
|
+
"data_description": {
|
|
25
|
+
"implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
|
|
26
|
+
},
|
|
21
27
|
"title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
|
|
22
28
|
},
|
|
23
29
|
"reauth_confirm": {
|
|
@@ -55,6 +55,7 @@ from .const import (
|
|
|
55
55
|
MAX_SEGMENTS,
|
|
56
56
|
OUTPUT_FORMATS,
|
|
57
57
|
OUTPUT_IDLE_TIMEOUT,
|
|
58
|
+
OUTPUT_STARTUP_TIMEOUT,
|
|
58
59
|
RECORDER_PROVIDER,
|
|
59
60
|
RTSP_TRANSPORTS,
|
|
60
61
|
SEGMENT_DURATION_ADJUSTER,
|
|
@@ -363,11 +364,14 @@ class Stream:
|
|
|
363
364
|
# without concern about self._outputs being modified from another thread.
|
|
364
365
|
return MappingProxyType(self._outputs.copy())
|
|
365
366
|
|
|
366
|
-
def add_provider(
|
|
367
|
-
self, fmt: str, timeout: int = OUTPUT_IDLE_TIMEOUT
|
|
368
|
-
) -> StreamOutput:
|
|
367
|
+
def add_provider(self, fmt: str, timeout: int | None = None) -> StreamOutput:
|
|
369
368
|
"""Add provider output stream."""
|
|
370
369
|
if not (provider := self._outputs.get(fmt)):
|
|
370
|
+
startup_timeout = OUTPUT_STARTUP_TIMEOUT
|
|
371
|
+
if timeout is None:
|
|
372
|
+
timeout = OUTPUT_IDLE_TIMEOUT
|
|
373
|
+
else:
|
|
374
|
+
startup_timeout = timeout
|
|
371
375
|
|
|
372
376
|
async def idle_callback() -> None:
|
|
373
377
|
if (
|
|
@@ -379,7 +383,7 @@ class Stream:
|
|
|
379
383
|
|
|
380
384
|
provider = PROVIDERS[fmt](
|
|
381
385
|
self.hass,
|
|
382
|
-
IdleTimer(self.hass, timeout, idle_callback),
|
|
386
|
+
IdleTimer(self.hass, timeout, idle_callback, startup_timeout),
|
|
383
387
|
self._stream_settings,
|
|
384
388
|
self.dynamic_stream_settings,
|
|
385
389
|
)
|
|
@@ -22,7 +22,8 @@ AUDIO_CODECS = {"aac", "mp3"}
|
|
|
22
22
|
|
|
23
23
|
FORMAT_CONTENT_TYPE = {HLS_PROVIDER: "application/vnd.apple.mpegurl"}
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
OUTPUT_STARTUP_TIMEOUT = 60 # timeout due to no startup
|
|
26
|
+
OUTPUT_IDLE_TIMEOUT = 30 # Idle timeout due to inactivity
|
|
26
27
|
|
|
27
28
|
NUM_PLAYLIST_SEGMENTS = 3 # Number of segments to use in HLS playlist
|
|
28
29
|
MAX_SEGMENTS = 5 # Max number of segments to keep around
|
|
@@ -234,10 +234,12 @@ class IdleTimer:
|
|
|
234
234
|
hass: HomeAssistant,
|
|
235
235
|
timeout: int,
|
|
236
236
|
idle_callback: Callable[[], Coroutine[Any, Any, None]],
|
|
237
|
+
startup_timeout: int | None = None,
|
|
237
238
|
) -> None:
|
|
238
239
|
"""Initialize IdleTimer."""
|
|
239
240
|
self._hass = hass
|
|
240
241
|
self._timeout = timeout
|
|
242
|
+
self._startup_timeout = startup_timeout or timeout
|
|
241
243
|
self._callback = idle_callback
|
|
242
244
|
self._unsub: CALLBACK_TYPE | None = None
|
|
243
245
|
self.idle = False
|
|
@@ -246,7 +248,7 @@ class IdleTimer:
|
|
|
246
248
|
"""Start the idle timer if not already started."""
|
|
247
249
|
self.idle = False
|
|
248
250
|
if self._unsub is None:
|
|
249
|
-
self._unsub = async_call_later(self._hass, self.
|
|
251
|
+
self._unsub = async_call_later(self._hass, self._startup_timeout, self.fire)
|
|
250
252
|
|
|
251
253
|
def awake(self) -> None:
|
|
252
254
|
"""Keep the idle time alive by resetting the timeout."""
|
|
@@ -101,8 +101,10 @@
|
|
|
101
101
|
},
|
|
102
102
|
"services": {
|
|
103
103
|
"unlock_specific_door": {
|
|
104
|
+
"description": "\u039e\u03b5\u03ba\u03bb\u03b5\u03b9\u03b4\u03ce\u03bd\u03b5\u03b9 \u03c4\u03b7\u03bd \u03c0\u03cc\u03c1\u03c4\u03b1 \u03c4\u03bf\u03c5 \u03bf\u03b4\u03b7\u03b3\u03bf\u03cd, \u03cc\u03bb\u03b5\u03c2 \u03c4\u03b9\u03c2 \u03c0\u03cc\u03c1\u03c4\u03b5\u03c2 \u03ae \u03c4\u03b7\u03bd \u03c0\u03cc\u03c1\u03c4\u03b1 \u03c4\u03bf\u03c5 \u03c7\u03ce\u03c1\u03bf\u03c5 \u03b1\u03c0\u03bf\u03c3\u03ba\u03b5\u03c5\u03ce\u03bd.",
|
|
104
105
|
"fields": {
|
|
105
106
|
"door": {
|
|
107
|
+
"description": "\u0397 \u03c3\u03c5\u03b3\u03ba\u03b5\u03ba\u03c1\u03b9\u03bc\u03ad\u03bd\u03b7 \u03c0\u03cc\u03c1\u03c4\u03b1 (\u03b5\u03c2) \u03b3\u03b9\u03b1 \u03be\u03b5\u03ba\u03bb\u03b5\u03af\u03b4\u03c9\u03bc\u03b1.",
|
|
106
108
|
"name": "\u03a0\u03cc\u03c1\u03c4\u03b1"
|
|
107
109
|
}
|
|
108
110
|
},
|
|
@@ -101,8 +101,10 @@
|
|
|
101
101
|
},
|
|
102
102
|
"services": {
|
|
103
103
|
"unlock_specific_door": {
|
|
104
|
+
"description": "Unlocks the driver door, all doors, or the tailgate.",
|
|
104
105
|
"fields": {
|
|
105
106
|
"door": {
|
|
107
|
+
"description": "The specific door(s) to unlock.",
|
|
106
108
|
"name": "Door"
|
|
107
109
|
}
|
|
108
110
|
},
|
|
@@ -101,8 +101,10 @@
|
|
|
101
101
|
},
|
|
102
102
|
"services": {
|
|
103
103
|
"unlock_specific_door": {
|
|
104
|
+
"description": "Desbloquea la puerta del conductor, todas las puertas o el port\u00f3n trasero.",
|
|
104
105
|
"fields": {
|
|
105
106
|
"door": {
|
|
107
|
+
"description": "La(s) puerta(s) espec\u00edfica(s) a desbloquear.",
|
|
106
108
|
"name": "Puerta"
|
|
107
109
|
}
|
|
108
110
|
},
|
|
@@ -101,8 +101,10 @@
|
|
|
101
101
|
},
|
|
102
102
|
"services": {
|
|
103
103
|
"unlock_specific_door": {
|
|
104
|
+
"description": "Desbloqueia a porta do condutor, todas as portas ou a porta da bagageira.",
|
|
104
105
|
"fields": {
|
|
105
106
|
"door": {
|
|
107
|
+
"description": "A(s) porta(s) espec\u00edfica(s) a destrancar.",
|
|
106
108
|
"name": "Porta"
|
|
107
109
|
}
|
|
108
110
|
},
|
|
@@ -101,8 +101,10 @@
|
|
|
101
101
|
},
|
|
102
102
|
"services": {
|
|
103
103
|
"unlock_specific_door": {
|
|
104
|
+
"description": "Odomkne dvere vodi\u010da, v\u0161etky dvere alebo zadn\u00e9 dvere.",
|
|
104
105
|
"fields": {
|
|
105
106
|
"door": {
|
|
107
|
+
"description": "Konkr\u00e9tne dvere, ktor\u00e9 sa maj\u00fa odomkn\u00fa\u0165.",
|
|
106
108
|
"name": "Dvere"
|
|
107
109
|
}
|
|
108
110
|
},
|
|
@@ -101,8 +101,10 @@
|
|
|
101
101
|
},
|
|
102
102
|
"services": {
|
|
103
103
|
"unlock_specific_door": {
|
|
104
|
+
"description": "\u89e3\u9501\u9a7e\u9a76\u5458\u8f66\u95e8\u3001\u6240\u6709\u8f66\u95e8\u6216\u5c3e\u95e8\u3002",
|
|
104
105
|
"fields": {
|
|
105
106
|
"door": {
|
|
107
|
+
"description": "\u8981\u89e3\u9501\u7684\u7279\u5b9a\u95e8\u3002",
|
|
106
108
|
"name": "\u95e8"
|
|
107
109
|
}
|
|
108
110
|
},
|
|
@@ -101,8 +101,10 @@
|
|
|
101
101
|
},
|
|
102
102
|
"services": {
|
|
103
103
|
"unlock_specific_door": {
|
|
104
|
+
"description": "\u89e3\u9396\u99d5\u99db\u5ea7\u8eca\u9580\u3001\u6240\u6709\u8eca\u9580\u6216\u5c3e\u9580\u3002",
|
|
104
105
|
"fields": {
|
|
105
106
|
"door": {
|
|
107
|
+
"description": "\u8981\u89e3\u9396\u7684\u9580\u3002",
|
|
106
108
|
"name": "\u8eca\u9580"
|
|
107
109
|
}
|
|
108
110
|
},
|
|
@@ -2,15 +2,54 @@
|
|
|
2
2
|
"config": {
|
|
3
3
|
"abort": {
|
|
4
4
|
"already_configured": "\u0397 \u03c5\u03c0\u03b7\u03c1\u03b5\u03c3\u03af\u03b1 \u03ad\u03c7\u03b5\u03b9 \u03ae\u03b4\u03b7 \u03b4\u03b9\u03b1\u03bc\u03bf\u03c1\u03c6\u03c9\u03b8\u03b5\u03af",
|
|
5
|
-
"bad_config": "\u03a4\u03bf \u03b1\u03af\u03c4\u03b7\u03bc\u03b1 \u03b1\u03c0\u03ad\u03c4\u03c5\u03c7\u03b5 \u03bb\u03cc\u03b3\u03c9 \u03ba\u03b1\u03ba\u03ae\u03c2 \u03b4\u03b9\u03b1\u03bc\u03cc\u03c1\u03c6\u03c9\u03c3\u03b7\u03c2: \u0395\u03bb\u03ad\u03b3\u03be\u03c4\u03b5 \u03c4\u03bf [stationboard]({stationboard_url}) \u03b3\u03b9\u03b1 \u03ad\u03b3\u03ba\u03c5\u03c1\u03bf\u03c5\u03c2 \u03c3\u03c4\u03b1\u03b8\u03bc\u03bf\u03cd\u03c2."
|
|
5
|
+
"bad_config": "\u03a4\u03bf \u03b1\u03af\u03c4\u03b7\u03bc\u03b1 \u03b1\u03c0\u03ad\u03c4\u03c5\u03c7\u03b5 \u03bb\u03cc\u03b3\u03c9 \u03ba\u03b1\u03ba\u03ae\u03c2 \u03b4\u03b9\u03b1\u03bc\u03cc\u03c1\u03c6\u03c9\u03c3\u03b7\u03c2: \u0395\u03bb\u03ad\u03b3\u03be\u03c4\u03b5 \u03c4\u03bf [stationboard]({stationboard_url}) \u03b3\u03b9\u03b1 \u03ad\u03b3\u03ba\u03c5\u03c1\u03bf\u03c5\u03c2 \u03c3\u03c4\u03b1\u03b8\u03bc\u03bf\u03cd\u03c2.",
|
|
6
|
+
"cannot_connect": "\u0394\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae \u03b7 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7 \u03bc\u03b5 \u03c4\u03bf\u03bd server",
|
|
7
|
+
"unknown": "\u0395\u03bd\u03b1 \u03ac\u03b3\u03bd\u03c9\u03c3\u03c4\u03bf \u03c3\u03c6\u03ac\u03bb\u03bc\u03b1 \u03c0\u03c1\u03bf\u03ad\u03ba\u03c5\u03c8\u03b5 \u03b1\u03c0\u03cc \u03c4\u03bf python-opendata-transport"
|
|
6
8
|
},
|
|
7
9
|
"error": {
|
|
8
10
|
"bad_config": "\u03a4\u03bf \u03b1\u03af\u03c4\u03b7\u03bc\u03b1 \u03b1\u03c0\u03ad\u03c4\u03c5\u03c7\u03b5 \u03bb\u03cc\u03b3\u03c9 \u03ba\u03b1\u03ba\u03ae\u03c2 \u03b4\u03b9\u03b1\u03bc\u03cc\u03c1\u03c6\u03c9\u03c3\u03b7\u03c2: \u0395\u03bb\u03ad\u03b3\u03be\u03c4\u03b5 \u03c4\u03bf\u03bd \u03c0\u03af\u03bd\u03b1\u03ba\u03b1 \u03c3\u03c4\u03b1\u03b8\u03bc\u03bf\u03cd \u03c0\u03bf\u03c5 \u03c3\u03c5\u03bd\u03b4\u03ad\u03b5\u03c4\u03b1\u03b9 \u03c0\u03b1\u03c1\u03b1\u03c0\u03ac\u03bd\u03c9 \u03b5\u03ac\u03bd \u03c4\u03b1 \u03bf\u03bd\u03cc\u03bc\u03b1\u03c4\u03b1 \u03c4\u03c9\u03bd \u03c3\u03c4\u03b1\u03b8\u03bc\u03ce\u03bd \u03c3\u03b1\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9 \u03ad\u03b3\u03ba\u03c5\u03c1\u03b1",
|
|
9
|
-
"
|
|
11
|
+
"cannot_connect": "\u0394\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae \u03b7 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7 \u03bc\u03b5 \u03c4\u03bf\u03bd server",
|
|
12
|
+
"too_many_via_stations": "\u03a0\u03ac\u03c1\u03b1 \u03c0\u03bf\u03bb\u03bb\u03bf\u03af \u03b5\u03bd\u03b4\u03b9\u03ac\u03bc\u03b5\u03c3\u03bf\u03b9 \u03c3\u03c4\u03b1\u03b8\u03bc\u03bf\u03af, \u03b5\u03c0\u03b9\u03c4\u03c1\u03ad\u03c0\u03bf\u03bd\u03c4\u03b1\u03b9 \u03bc\u03cc\u03bd\u03bf \u03ad\u03c9\u03c2 5 \u03b5\u03bd\u03b4\u03b9\u03ac\u03bc\u03b5\u03c3\u03bf\u03b9 \u03c3\u03c4\u03b1\u03b8\u03bc\u03bf\u03af \u03b1\u03bd\u03ac \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7.",
|
|
13
|
+
"unknown": "\u0395\u03bd\u03b1 \u03ac\u03b3\u03bd\u03c9\u03c3\u03c4\u03bf \u03c3\u03c6\u03ac\u03bb\u03bc\u03b1 \u03c0\u03c1\u03bf\u03ad\u03ba\u03c5\u03c8\u03b5 \u03b1\u03c0\u03cc \u03c4\u03bf python-opendata-transport"
|
|
10
14
|
},
|
|
11
15
|
"step": {
|
|
16
|
+
"time_fixed": {
|
|
17
|
+
"data": {
|
|
18
|
+
"time_fixed": "\u03a9\u03c1\u03b1 \u03c4\u03b7\u03c2 \u03b7\u03bc\u03ad\u03c1\u03b1\u03c2"
|
|
19
|
+
},
|
|
20
|
+
"data_description": {
|
|
21
|
+
"time_fixed": "\u0397 \u03ce\u03c1\u03b1 \u03c4\u03b7\u03c2 \u03b7\u03bc\u03ad\u03c1\u03b1\u03c2 \u03b3\u03b9\u03b1 \u03c4\u03b7 \u03b1\u03bd\u03c4\u03b1\u03c0\u03cc\u03ba\u03c1\u03b9\u03c3\u03b7"
|
|
22
|
+
},
|
|
23
|
+
"description": "\u03a0\u03b1\u03c1\u03b1\u03ba\u03b1\u03bb\u03ce \u03b5\u03c0\u03b9\u03bb\u03ad\u03be\u03c4\u03b5 \u03c4\u03b7\u03bd \u03ba\u03b1\u03c4\u03ac\u03bb\u03bb\u03b7\u03bb\u03b7 \u03ce\u03c1\u03b1 \u03b3\u03b9\u03b1 \u03c4\u03b7\u03bd \u03b1\u03bd\u03c4\u03b1\u03c0\u03cc\u03ba\u03c1\u03b9\u03c3\u03b7 (\u03c0.\u03c7. 7:12:00 \u03c0.\u03bc. \u03ba\u03ac\u03b8\u03b5 \u03c0\u03c1\u03c9\u03af).",
|
|
24
|
+
"title": "\u0395\u03bb\u03b2\u03b5\u03c4\u03b9\u03ba\u03ad\u03c2 \u0394\u03b7\u03bc\u03cc\u03c3\u03b9\u03b5\u03c2 \u03a3\u03c5\u03b3\u03ba\u03bf\u03b9\u03bd\u03c9\u03bd\u03af\u03b5\u03c2"
|
|
25
|
+
},
|
|
26
|
+
"time_offset": {
|
|
27
|
+
"data": {
|
|
28
|
+
"time_offset": "\u039c\u03b5\u03c4\u03b1\u03c4\u03cc\u03c0\u03b9\u03c3\u03b7 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c5"
|
|
29
|
+
},
|
|
30
|
+
"data_description": {
|
|
31
|
+
"time_offset": "\u0397 \u03c7\u03c1\u03bf\u03bd\u03b9\u03ba\u03ae \u03bc\u03b5\u03c4\u03b1\u03c4\u03cc\u03c0\u03b9\u03c3\u03b7 \u03c0\u03bf\u03c5 \u03c0\u03c1\u03bf\u03c3\u03c4\u03af\u03b8\u03b5\u03c4\u03b1\u03b9 \u03c3\u03c4\u03b7 \u03bd\u03c9\u03c1\u03af\u03c4\u03b5\u03c1\u03b7 \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae \u03b1\u03bd\u03c4\u03b1\u03c0\u03cc\u03ba\u03c1\u03b9\u03c3\u03b7"
|
|
32
|
+
},
|
|
33
|
+
"description": "\u03a0\u03b1\u03c1\u03b1\u03ba\u03b1\u03bb\u03ce \u03b5\u03c0\u03b9\u03bb\u03ad\u03be\u03c4\u03b5 \u03c4\u03b7 \u03c3\u03c7\u03b5\u03c4\u03b9\u03ba\u03ae \u03bc\u03b5\u03c4\u03b1\u03c4\u03cc\u03c0\u03b9\u03c3\u03b7 \u03c0\u03bf\u03c5 \u03b8\u03b1 \u03c0\u03c1\u03bf\u03c3\u03b8\u03ad\u03c3\u03b5\u03c4\u03b5 \u03c3\u03c4\u03b7 \u03bd\u03c9\u03c1\u03af\u03c4\u03b5\u03c1\u03b7 \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae \u03b1\u03bd\u03c4\u03b1\u03c0\u03cc\u03ba\u03c1\u03b9\u03c3\u03b7 (\u03c0.\u03c7. \u03c0\u03c1\u03bf\u03c3\u03b8\u03ad\u03c3\u03c4\u03b5 \u03c4\u03b7 \u03bc\u03b5\u03c4\u03b1\u03c4\u03cc\u03c0\u03b9\u03c3\u03b7 +00:05:00, \u03bb\u03b1\u03bc\u03b2\u03ac\u03bd\u03bf\u03bd\u03c4\u03b1\u03c2 \u03c5\u03c0\u03cc\u03c8\u03b7 \u03c4\u03bf \u03c7\u03c1\u03cc\u03bd\u03bf \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03c6\u03c4\u03ac\u03c3\u03b5\u03c4\u03b5 \u03c3\u03c4\u03bf\u03bd \u03c3\u03c4\u03b1\u03b8\u03bc\u03cc \u03bc\u03b5 \u03c4\u03b1 \u03c0\u03cc\u03b4\u03b9\u03b1)",
|
|
34
|
+
"title": "\u0395\u03bb\u03b2\u03b5\u03c4\u03b9\u03ba\u03ad\u03c2 \u0394\u03b7\u03bc\u03cc\u03c3\u03b9\u03b5\u03c2 \u03a3\u03c5\u03b3\u03ba\u03bf\u03b9\u03bd\u03c9\u03bd\u03af\u03b5\u03c2"
|
|
35
|
+
},
|
|
12
36
|
"user": {
|
|
13
|
-
"
|
|
37
|
+
"data": {
|
|
38
|
+
"from": "\u03a3\u03c4\u03b1\u03b8\u03bc\u03cc\u03c2 \u03b5\u03ba\u03ba\u03af\u03bd\u03b7\u03c3\u03b7\u03c2",
|
|
39
|
+
"time_mode": "\u0395\u03c0\u03b9\u03bb\u03ad\u03be\u03c4\u03b5 \u03bc\u03b9\u03b1 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c5",
|
|
40
|
+
"time_station": "\u0395\u03c0\u03b9\u03bb\u03ad\u03be\u03c4\u03b5 \u03c4\u03bf\u03bd \u03b1\u03bd\u03c4\u03af\u03c3\u03c4\u03bf\u03b9\u03c7\u03bf \u03c3\u03c4\u03b1\u03b8\u03bc\u03cc",
|
|
41
|
+
"to": "\u03a4\u03b5\u03bb\u03b9\u03ba\u03cc\u03c2 \u03c3\u03c4\u03b1\u03b8\u03bc\u03cc\u03c2",
|
|
42
|
+
"via": "\u0395\u03bd\u03b4\u03b9\u03ac\u03bc\u03b5\u03c3\u03bf\u03b9 \u03c3\u03c4\u03b1\u03b8\u03bc\u03bf\u03af"
|
|
43
|
+
},
|
|
44
|
+
"data_description": {
|
|
45
|
+
"from": "\u039f \u03c3\u03c4\u03b1\u03b8\u03bc\u03cc\u03c2 \u03b1\u03c0\u03cc \u03c4\u03bf\u03bd \u03bf\u03c0\u03bf\u03af\u03bf \u03be\u03b5\u03ba\u03b9\u03bd\u03ac \u03b7 \u03b1\u03bd\u03c4\u03b1\u03c0\u03cc\u03ba\u03c1\u03b9\u03c3\u03b7",
|
|
46
|
+
"time_mode": "\u0397 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \"\u03a7\u03c1\u03cc\u03bd\u03bf\u03c2\" \u03c3\u03b1\u03c2 \u03b5\u03c0\u03b9\u03c4\u03c1\u03ad\u03c0\u03b5\u03b9 \u03bd\u03b1 \u03b1\u03bb\u03bb\u03ac\u03be\u03b5\u03c4\u03b5 \u03c4\u03bf \u03c7\u03c1\u03cc\u03bd\u03bf \u03b1\u03bd\u03b1\u03c7\u03ce\u03c1\u03b7\u03c3\u03b7\u03c2 \u03ba\u03b1\u03b9 \u03bd\u03b1 \u03c4\u03bf\u03bd \u03ba\u03b1\u03b8\u03bf\u03c1\u03af\u03c3\u03b5\u03c4\u03b5 \u03c3\u03b5 \u03bc\u03b9\u03b1 \u03c3\u03c5\u03b3\u03ba\u03b5\u03ba\u03c1\u03b9\u03bc\u03ad\u03bd\u03b7 \u03ce\u03c1\u03b1 (\u03c0.\u03c7. 7:12:00 \u03c0.\u03bc. \u03ba\u03ac\u03b8\u03b5 \u03c0\u03c1\u03c9\u03af) \u03ae \u03bd\u03b1 \u03c0\u03c1\u03bf\u03c3\u03b8\u03ad\u03c3\u03b5\u03c4\u03b5 \u03bc\u03b9\u03b1 \u03bc\u03b5\u03c4\u03b1\u03c4\u03cc\u03c0\u03b9\u03c3\u03b7 (\u03c0.\u03c7. +00:05:00 \u03bb\u03b1\u03bc\u03b2\u03ac\u03bd\u03bf\u03bd\u03c4\u03b1\u03c2 \u03c5\u03c0\u03cc\u03c8\u03b7 \u03c4\u03bf \u03c7\u03c1\u03cc\u03bd\u03bf \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03c0\u03b5\u03c1\u03c0\u03b1\u03c4\u03ae\u03c3\u03b5\u03c4\u03b5 \u03bc\u03ad\u03c7\u03c1\u03b9 \u03c4\u03bf\u03bd \u03c3\u03c4\u03b1\u03b8\u03bc\u03cc).",
|
|
47
|
+
"time_station": "\u03a3\u03c5\u03bd\u03ae\u03b8\u03c9\u03c2 \u03c0\u03b1\u03c1\u03b1\u03ba\u03bf\u03bb\u03bf\u03c5\u03b8\u03b5\u03af\u03c4\u03b1\u03b9 \u03b7 \u03ce\u03c1\u03b1 \u03b1\u03bd\u03b1\u03c7\u03ce\u03c1\u03b7\u03c3\u03b7\u03c2 \u03bc\u03b9\u03b1\u03c2 \u03b1\u03bd\u03c4\u03b1\u03c0\u03cc\u03ba\u03c1\u03b9\u03c3\u03b7\u03c2 \u03ba\u03b1\u03c4\u03ac \u03c4\u03b7\u03bd \u03b1\u03bd\u03b1\u03c7\u03ce\u03c1\u03b7\u03c3\u03ae \u03c4\u03b7\u03c2 \u03b1\u03c0\u03cc \u03c4\u03bf\u03bd \u03c3\u03c4\u03b1\u03b8\u03bc\u03cc \u03b5\u03ba\u03ba\u03af\u03bd\u03b7\u03c3\u03b7\u03c2. \u0395\u03bd\u03b1\u03bb\u03bb\u03b1\u03ba\u03c4\u03b9\u03ba\u03ac, \u03c0\u03b1\u03c1\u03b1\u03ba\u03bf\u03bb\u03bf\u03c5\u03b8\u03b5\u03af\u03c4\u03b5 \u03c4\u03b7\u03bd \u03ce\u03c1\u03b1 \u03ac\u03c6\u03b9\u03be\u03b7\u03c2 \u03c4\u03b7\u03c2 \u03b1\u03bd\u03c4\u03b1\u03c0\u03cc\u03ba\u03c1\u03b9\u03c3\u03b7\u03c2 \u03c3\u03c4\u03bf\u03bd \u03c3\u03c4\u03b1\u03b8\u03bc\u03cc \u03c4\u03b5\u03c1\u03bc\u03b1\u03c4\u03b9\u03c3\u03bc\u03bf\u03cd \u03c4\u03b7\u03c2.",
|
|
48
|
+
"to": "\u039f \u03c3\u03c4\u03b1\u03b8\u03bc\u03cc\u03c2 \u03c3\u03c4\u03bf\u03bd \u03bf\u03c0\u03bf\u03af\u03bf \u03c4\u03b5\u03bb\u03b5\u03b9\u03ce\u03bd\u03b5\u03b9 \u03b7 \u03b1\u03bd\u03c4\u03b1\u03c0\u03cc\u03ba\u03c1\u03b9\u03c3\u03b7",
|
|
49
|
+
"via": "\u039b\u03af\u03c3\u03c4\u03b1 \u03bc\u03b5 \u03ad\u03c9\u03c2 \u03ba\u03b1\u03b9 5 \u03c3\u03c4\u03b1\u03b8\u03bc\u03bf\u03cd\u03c2 \u03b1\u03c0\u03cc \u03c4\u03bf\u03c5\u03c2 \u03bf\u03c0\u03bf\u03af\u03bf\u03c5\u03c2 \u03c0\u03c1\u03ad\u03c0\u03b5\u03b9 \u03bd\u03b1 \u03c0\u03b5\u03c1\u03ac\u03c3\u03b5\u03b9 \u03b7 \u03b4\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae"
|
|
50
|
+
},
|
|
51
|
+
"description": "\u0394\u03ce\u03c3\u03c4\u03b5 \u03c4\u03bf\u03bd \u03c3\u03c4\u03b1\u03b8\u03bc\u03cc \u03b1\u03c1\u03c7\u03ae\u03c2 \u03ba\u03b1\u03b9 \u03c4\u03ad\u03bb\u03bf\u03c5\u03c2 \u03b3\u03b9\u03b1 \u03c4\u03b7 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03ae \u03c3\u03b1\u03c2, \u03ba\u03b1\u03b9 \u03c0\u03c1\u03bf\u03b1\u03b9\u03c1\u03b5\u03c4\u03b9\u03ba\u03ac \u03ad\u03c9\u03c2 \u03ba\u03b1\u03b9 5 \u03b5\u03bd\u03b4\u03b9\u03ac\u03bc\u03b5\u03c3\u03bf\u03c5\u03c2 \u03c3\u03c4\u03b1\u03b8\u03bc\u03bf\u03cd\u03c2.\n\n\u0395\u03bb\u03ad\u03b3\u03be\u03c4\u03b5 \u03c4\u03bf [stationboard]({stationboard_url}) \u03b3\u03b9\u03b1 \u03ad\u03b3\u03ba\u03c5\u03c1\u03bf\u03c5\u03c2 \u03c3\u03c4\u03b1\u03b8\u03bc\u03bf\u03cd\u03c2.",
|
|
52
|
+
"title": "\u0395\u03bb\u03b2\u03b5\u03c4\u03b9\u03ba\u03ad\u03c2 \u0394\u03b7\u03bc\u03cc\u03c3\u03b9\u03b5\u03c2 \u03a3\u03c5\u03b3\u03ba\u03bf\u03b9\u03bd\u03c9\u03bd\u03af\u03b5\u03c2"
|
|
14
53
|
}
|
|
15
54
|
}
|
|
16
55
|
},
|
|
@@ -47,7 +86,7 @@
|
|
|
47
86
|
"message": "\u0394\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae \u03b7 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7 \u03c3\u03c4\u03bf\u03bd server.\n{error}"
|
|
48
87
|
},
|
|
49
88
|
"config_entry_not_found": {
|
|
50
|
-
"message": "\u0397 \u03c5\u03c0\u03cc\u03c3\u03c4\u03b1\u03c3\u03b7 \u03b5\u03bd\u03c3\u03c9\u03bc\u03ac\u03c4\u03c9\u03c3\u03b7\u03c2 \
|
|
89
|
+
"message": "\u0397 \u03c5\u03c0\u03cc\u03c3\u03c4\u03b1\u03c3\u03b7 \u03b5\u03bd\u03c3\u03c9\u03bc\u03ac\u03c4\u03c9\u03c3\u03b7\u03c2 \u0395\u03bb\u03b2\u03b5\u03c4\u03b9\u03ba\u03ce\u03bd \u0394\u03b7\u03bc\u03cc\u03c3\u03b9\u03c9\u03bd \u03a3\u03c5\u03b3\u03ba\u03bf\u03b9\u03bd\u03c9\u03bd\u03b9\u03ce\u03bd \"{target}\" \u03b4\u03b5\u03bd \u03b2\u03c1\u03ad\u03b8\u03b7\u03ba\u03b5."
|
|
51
90
|
},
|
|
52
91
|
"invalid_data": {
|
|
53
92
|
"message": "\u0397 \u03c1\u03cd\u03b8\u03bc\u03b9\u03c3\u03b7 \u03b1\u03c0\u03ad\u03c4\u03c5\u03c7\u03b5 \u03b3\u03b9\u03b1 \u03c4\u03b7\u03bd \u03ba\u03b1\u03c4\u03b1\u03c7\u03ce\u03c1\u03b9\u03c3\u03b7 {config_title} \u03bc\u03b5 \u03bc\u03b7 \u03ad\u03b3\u03ba\u03c5\u03c1\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1, \u03b5\u03bb\u03ad\u03b3\u03be\u03c4\u03b5 \u03c3\u03c4\u03bf [stationboard]({stationboard_url}) \u03b5\u03ac\u03bd \u03c4\u03b1 \u03bf\u03bd\u03cc\u03bc\u03b1\u03c4\u03b1 \u03c4\u03c9\u03bd \u03c3\u03c4\u03b1\u03b8\u03bc\u03ce\u03bd \u03c3\u03b1\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9 \u03ad\u03b3\u03ba\u03c5\u03c1\u03b1.\n{error}"
|
|
@@ -59,12 +98,27 @@
|
|
|
59
98
|
"message": "\u03a7\u03c1\u03bf\u03bd\u03b9\u03ba\u03cc \u03cc\u03c1\u03b9\u03bf \u03ba\u03b1\u03c4\u03ac \u03c4\u03b7 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7 \u03b3\u03b9\u03b1 \u03c4\u03b7\u03bd \u03b5\u03af\u03c3\u03bf\u03b4\u03bf {config_title}.\n{error}"
|
|
60
99
|
}
|
|
61
100
|
},
|
|
101
|
+
"selector": {
|
|
102
|
+
"time_mode": {
|
|
103
|
+
"options": {
|
|
104
|
+
"fixed": "\u03a3\u03b5 \u03bc\u03b9\u03b1 \u03ba\u03b1\u03b8\u03bf\u03c1\u03b9\u03c3\u03bc\u03ad\u03bd\u03b7 \u03ce\u03c1\u03b1 \u03c4\u03b7\u03c2 \u03b7\u03bc\u03ad\u03c1\u03b1\u03c2",
|
|
105
|
+
"now": "\u03a4\u03ce\u03c1\u03b1",
|
|
106
|
+
"offset": "\u03a3\u03b5 \u03bc\u03b9\u03b1 \u03bc\u03b5\u03c4\u03b1\u03c4\u03cc\u03c0\u03b9\u03c3\u03b7 \u03b1\u03c0\u03cc \u03c4\u03ce\u03c1\u03b1"
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"time_station": {
|
|
110
|
+
"options": {
|
|
111
|
+
"arrival": "\u0395\u03bc\u03c6\u03ac\u03bd\u03b9\u03c3\u03b7 \u03ce\u03c1\u03b1\u03c2 \u03ac\u03c6\u03b9\u03be\u03b7\u03c2 \u03c3\u03c4\u03bf\u03bd \u03c4\u03b5\u03bb\u03b9\u03ba\u03cc \u03c3\u03c4\u03b1\u03b8\u03bc\u03cc",
|
|
112
|
+
"departure": "\u0395\u03bc\u03c6\u03ac\u03bd\u03b9\u03c3\u03b7 \u03ce\u03c1\u03b1\u03c2 \u03b1\u03bd\u03b1\u03c7\u03ce\u03c1\u03b7\u03c3\u03b7\u03c2 \u03b1\u03c0\u03cc \u03c4\u03bf\u03bd \u03c3\u03c4\u03b1\u03b8\u03bc\u03cc \u03b5\u03ba\u03ba\u03af\u03bd\u03b7\u03c3\u03b7\u03c2"
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
},
|
|
62
116
|
"services": {
|
|
63
117
|
"fetch_connections": {
|
|
64
|
-
"description": "\u039b\u03b1\u03bc\u03b2\u03ac\u03bd\u03b5\u03b9 \u03bc\u03b9\u03b1 \u03bb\u03af\u03c3\u03c4\u03b1 \u03bc\u03b5 \u03b1\u03bd\u03c4\u03b1\u03c0\u03bf\u03ba\u03c1\u03af\u03c3\u03b5\u03b9\u03c2 \u03b1\u03c0\u03cc \u03c4\u03b9\u03c2 \
|
|
118
|
+
"description": "\u039b\u03b1\u03bc\u03b2\u03ac\u03bd\u03b5\u03b9 \u03bc\u03b9\u03b1 \u03bb\u03af\u03c3\u03c4\u03b1 \u03bc\u03b5 \u03b1\u03bd\u03c4\u03b1\u03c0\u03bf\u03ba\u03c1\u03af\u03c3\u03b5\u03b9\u03c2 \u03b1\u03c0\u03cc \u03c4\u03b9\u03c2 \u0395\u03bb\u03b2\u03b5\u03c4\u03b9\u03ba\u03ad\u03c2 \u0394\u03b7\u03bc\u03cc\u03c3\u03b9\u03b5\u03c2 \u03a3\u03c5\u03b3\u03ba\u03bf\u03b9\u03bd\u03c9\u03bd\u03af\u03b5\u03c2.",
|
|
65
119
|
"fields": {
|
|
66
120
|
"config_entry_id": {
|
|
67
|
-
"description": "\u03a5\u03c0\u03cc\u03c3\u03c4\u03b1\u03c3\u03b7 \
|
|
121
|
+
"description": "\u03a5\u03c0\u03cc\u03c3\u03c4\u03b1\u03c3\u03b7 \u0395\u03bb\u03b2\u03b5\u03c4\u03b9\u03ba\u03ce\u03bd \u0394\u03b7\u03bc\u03cc\u03c3\u03b9\u03c9\u03bd \u03a3\u03c5\u03b3\u03ba\u03bf\u03b9\u03bd\u03c9\u03bd\u03b9\u03ce\u03bd \u03b3\u03b9\u03b1 \u03c4\u03b7 \u03bb\u03ae\u03c8\u03b7 \u03b1\u03bd\u03c4\u03b1\u03c0\u03bf\u03ba\u03c1\u03af\u03c3\u03b5\u03c9\u03bd.",
|
|
68
122
|
"name": "\u03a5\u03c0\u03cc\u03c3\u03c4\u03b1\u03c3\u03b7"
|
|
69
123
|
},
|
|
70
124
|
"limit": {
|
|
@@ -135,6 +135,18 @@
|
|
|
135
135
|
}
|
|
136
136
|
},
|
|
137
137
|
"humidifier": {
|
|
138
|
+
"evaporative_humidifier": {
|
|
139
|
+
"state_attributes": {
|
|
140
|
+
"mode": {
|
|
141
|
+
"state": {
|
|
142
|
+
"auto": "Automatikus",
|
|
143
|
+
"high": "Magas",
|
|
144
|
+
"low": "Alacsony",
|
|
145
|
+
"medium": "K\u00f6zepes"
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
},
|
|
138
150
|
"humidifier": {
|
|
139
151
|
"state_attributes": {
|
|
140
152
|
"last_run_success": {
|
|
@@ -174,6 +186,13 @@
|
|
|
174
186
|
"light_level": {
|
|
175
187
|
"name": "F\u00e9nyer\u0151 szint"
|
|
176
188
|
},
|
|
189
|
+
"water_level": {
|
|
190
|
+
"state": {
|
|
191
|
+
"high": "Magas",
|
|
192
|
+
"low": "Alacsony",
|
|
193
|
+
"medium": "K\u00f6zepes"
|
|
194
|
+
}
|
|
195
|
+
},
|
|
177
196
|
"wifi_signal": {
|
|
178
197
|
"name": "Wi-Fi jel"
|
|
179
198
|
}
|
|
@@ -70,6 +70,21 @@
|
|
|
70
70
|
}
|
|
71
71
|
},
|
|
72
72
|
"humidifier": {
|
|
73
|
+
"evaporative_humidifier": {
|
|
74
|
+
"state_attributes": {
|
|
75
|
+
"mode": {
|
|
76
|
+
"state": {
|
|
77
|
+
"drying_filter": "Filtro essiccatore",
|
|
78
|
+
"high": "Alto/a",
|
|
79
|
+
"low": "Basso/a",
|
|
80
|
+
"medium": "Medio/a",
|
|
81
|
+
"quiet": "Silenzioso",
|
|
82
|
+
"sleep": "Sonno",
|
|
83
|
+
"target_humidity": "Umidit\u00e0 desiderata"
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
},
|
|
73
88
|
"humidifier": {
|
|
74
89
|
"state_attributes": {
|
|
75
90
|
"last_run_success": {
|
|
@@ -81,6 +96,35 @@
|
|
|
81
96
|
}
|
|
82
97
|
}
|
|
83
98
|
},
|
|
99
|
+
"light": {
|
|
100
|
+
"light": {
|
|
101
|
+
"state_attributes": {
|
|
102
|
+
"effect": {
|
|
103
|
+
"state": {
|
|
104
|
+
"autumn": "Autunno",
|
|
105
|
+
"breathing": "Respirazione",
|
|
106
|
+
"christmas": "Natalizio",
|
|
107
|
+
"colorful": "Colorato",
|
|
108
|
+
"cool": "Freddo",
|
|
109
|
+
"fade": "Dissolvenza",
|
|
110
|
+
"flashing": "Lampeggiamento",
|
|
111
|
+
"flickering": "Sfarfallio",
|
|
112
|
+
"flow": "Flusso",
|
|
113
|
+
"forest": "Foresta",
|
|
114
|
+
"halloween": "Halloween",
|
|
115
|
+
"modern": "Moderno",
|
|
116
|
+
"ocean": "Oceano",
|
|
117
|
+
"relax": "Relax",
|
|
118
|
+
"rose": "Risveglio",
|
|
119
|
+
"smooth": "Diffusa",
|
|
120
|
+
"strobe": "Luce stroboscopica",
|
|
121
|
+
"sunset": "Tramonto",
|
|
122
|
+
"vitality": "Vitalit\u00e0"
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
},
|
|
84
128
|
"lock": {
|
|
85
129
|
"lock": {
|
|
86
130
|
"state_attributes": {
|
|
@@ -100,6 +144,15 @@
|
|
|
100
144
|
"light_level": {
|
|
101
145
|
"name": "Livello di luce"
|
|
102
146
|
},
|
|
147
|
+
"water_level": {
|
|
148
|
+
"name": "Livello dell'acqua",
|
|
149
|
+
"state": {
|
|
150
|
+
"empty": "Vuoto",
|
|
151
|
+
"high": "Alto/a",
|
|
152
|
+
"low": "Basso/a",
|
|
153
|
+
"medium": "Medio/a"
|
|
154
|
+
}
|
|
155
|
+
},
|
|
103
156
|
"wifi_signal": {
|
|
104
157
|
"name": "Segnale Wi Fi"
|
|
105
158
|
}
|
|
@@ -153,7 +153,12 @@ async def make_device_data(
|
|
|
153
153
|
)
|
|
154
154
|
devices_data.vacuums.append((device, coordinator))
|
|
155
155
|
|
|
156
|
-
if isinstance(device, Device) and device.device_type
|
|
156
|
+
if isinstance(device, Device) and device.device_type in [
|
|
157
|
+
"Smart Lock",
|
|
158
|
+
"Smart Lock Lite",
|
|
159
|
+
"Smart Lock Pro",
|
|
160
|
+
"Smart Lock Ultra",
|
|
161
|
+
]:
|
|
157
162
|
coordinator = await coordinator_for_device(
|
|
158
163
|
hass, entry, api, device, coordinators_by_id
|
|
159
164
|
)
|
|
@@ -48,10 +48,18 @@ BINARY_SENSOR_DESCRIPTIONS_BY_DEVICE_TYPES = {
|
|
|
48
48
|
CALIBRATION_DESCRIPTION,
|
|
49
49
|
DOOR_OPEN_DESCRIPTION,
|
|
50
50
|
),
|
|
51
|
+
"Smart Lock Lite": (
|
|
52
|
+
CALIBRATION_DESCRIPTION,
|
|
53
|
+
DOOR_OPEN_DESCRIPTION,
|
|
54
|
+
),
|
|
51
55
|
"Smart Lock Pro": (
|
|
52
56
|
CALIBRATION_DESCRIPTION,
|
|
53
57
|
DOOR_OPEN_DESCRIPTION,
|
|
54
58
|
),
|
|
59
|
+
"Smart Lock Ultra": (
|
|
60
|
+
CALIBRATION_DESCRIPTION,
|
|
61
|
+
DOOR_OPEN_DESCRIPTION,
|
|
62
|
+
),
|
|
55
63
|
}
|
|
56
64
|
|
|
57
65
|
|
|
@@ -69,7 +77,6 @@ async def async_setup_entry(
|
|
|
69
77
|
for description in BINARY_SENSOR_DESCRIPTIONS_BY_DEVICE_TYPES[
|
|
70
78
|
device.device_type
|
|
71
79
|
]
|
|
72
|
-
if device.device_type in BINARY_SENSOR_DESCRIPTIONS_BY_DEVICE_TYPES
|
|
73
80
|
)
|
|
74
81
|
|
|
75
82
|
|
|
@@ -134,8 +134,10 @@ SENSOR_DESCRIPTIONS_BY_DEVICE_TYPES = {
|
|
|
134
134
|
BATTERY_DESCRIPTION,
|
|
135
135
|
CO2_DESCRIPTION,
|
|
136
136
|
),
|
|
137
|
-
"Smart Lock Pro": (BATTERY_DESCRIPTION,),
|
|
138
137
|
"Smart Lock": (BATTERY_DESCRIPTION,),
|
|
138
|
+
"Smart Lock Lite": (BATTERY_DESCRIPTION,),
|
|
139
|
+
"Smart Lock Pro": (BATTERY_DESCRIPTION,),
|
|
140
|
+
"Smart Lock Ultra": (BATTERY_DESCRIPTION,),
|
|
139
141
|
}
|
|
140
142
|
|
|
141
143
|
|
|
@@ -151,7 +153,6 @@ async def async_setup_entry(
|
|
|
151
153
|
SwitchBotCloudSensor(data.api, device, coordinator, description)
|
|
152
154
|
for device, coordinator in data.devices.sensors
|
|
153
155
|
for description in SENSOR_DESCRIPTIONS_BY_DEVICE_TYPES[device.device_type]
|
|
154
|
-
if device.device_type in SENSOR_DESCRIPTIONS_BY_DEVICE_TYPES
|
|
155
156
|
)
|
|
156
157
|
|
|
157
158
|
|
|
@@ -34,12 +34,14 @@
|
|
|
34
34
|
},
|
|
35
35
|
"user": {
|
|
36
36
|
"data": {
|
|
37
|
+
"api_key": "Jeton d\u2019API",
|
|
37
38
|
"platform": "Plateforme"
|
|
38
39
|
},
|
|
39
40
|
"data_description": {
|
|
40
41
|
"api_key": "Le jeton d'API de votre bot.",
|
|
41
42
|
"platform": "Implantation du bot Telegram"
|
|
42
|
-
}
|
|
43
|
+
},
|
|
44
|
+
"description": "Pour cr\u00e9er un bot Telegram, suivez ces \u00e9tapes\u00a0:\n\n1. Ouvrez Telegram et d\u00e9marrez une discussion avec [{botfather_username}]({botfather_url}).\n1. Envoyez la commande `/newbot`.\n1. Suivez les instructions pour cr\u00e9er votre bot et obtenir votre jeton API."
|
|
43
45
|
},
|
|
44
46
|
"webhooks": {
|
|
45
47
|
"data": {
|
|
@@ -1,10 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"config": {
|
|
3
3
|
"step": {
|
|
4
|
+
"reconfigure": {
|
|
5
|
+
"sections": {
|
|
6
|
+
"advanced_settings": {
|
|
7
|
+
"data": {
|
|
8
|
+
"proxy_url": "URL del proxy"
|
|
9
|
+
},
|
|
10
|
+
"data_description": {
|
|
11
|
+
"proxy_url": "URL del proxy se si lavora dietro un proxy, opzionalmente includendo nome utente e password.\n(socks5://username:password@proxy_ip:proxy_port)"
|
|
12
|
+
},
|
|
13
|
+
"name": "Impostazioni avanzate"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
},
|
|
4
17
|
"user": {
|
|
5
18
|
"data_description": {
|
|
6
19
|
"api_key": "Il token API del tuo bot.",
|
|
7
20
|
"platform": "Implementazione del bot di Telegram"
|
|
21
|
+
},
|
|
22
|
+
"sections": {
|
|
23
|
+
"advanced_settings": {
|
|
24
|
+
"data": {
|
|
25
|
+
"proxy_url": "URL del proxy"
|
|
26
|
+
},
|
|
27
|
+
"data_description": {
|
|
28
|
+
"proxy_url": "URL del proxy se si lavora dietro un proxy, opzionalmente includendo nome utente e password.\n(socks5://username:password@proxy_ip:proxy_port)"
|
|
29
|
+
},
|
|
30
|
+
"name": "Impostazioni avanzate"
|
|
31
|
+
}
|
|
8
32
|
}
|
|
9
33
|
},
|
|
10
34
|
"webhooks": {
|
|
@@ -45,6 +69,12 @@
|
|
|
45
69
|
}
|
|
46
70
|
},
|
|
47
71
|
"exceptions": {
|
|
72
|
+
"failed_chat_ids": {
|
|
73
|
+
"message": "Obiettivi non riusciti: {chat_ids}. Si prega di verificare che gli ID chat per {bot_name} sono stati configurati."
|
|
74
|
+
},
|
|
75
|
+
"invalid_chat_ids": {
|
|
76
|
+
"message": "ID chat non validi: {chat_ids}. Si prega di configurare gli ID chat per {bot_name}."
|
|
77
|
+
},
|
|
48
78
|
"missing_allowed_chat_ids": {
|
|
49
79
|
"message": "Nessun ID chat consentito trovato. Aggiungi gli ID chat consentiti per {bot_name}."
|
|
50
80
|
},
|