homeassistant 2025.9.0b6__py3-none-any.whl → 2025.9.1__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/airos/translations/es.json +3 -0
- homeassistant/components/alexa_devices/translations/zh-Hans.json +12 -2
- homeassistant/components/androidtv_remote/translations/bg.json +0 -1
- homeassistant/components/androidtv_remote/translations/ca.json +0 -1
- homeassistant/components/androidtv_remote/translations/cs.json +0 -1
- homeassistant/components/androidtv_remote/translations/de.json +1 -1
- homeassistant/components/androidtv_remote/translations/el.json +0 -1
- homeassistant/components/androidtv_remote/translations/en-GB.json +1 -1
- homeassistant/components/androidtv_remote/translations/en.json +1 -1
- homeassistant/components/androidtv_remote/translations/es.json +0 -1
- homeassistant/components/androidtv_remote/translations/fi.json +0 -1
- homeassistant/components/androidtv_remote/translations/fr.json +0 -1
- homeassistant/components/androidtv_remote/translations/ga.json +0 -1
- homeassistant/components/androidtv_remote/translations/gl.json +0 -1
- homeassistant/components/androidtv_remote/translations/he.json +0 -1
- homeassistant/components/androidtv_remote/translations/hu.json +0 -1
- homeassistant/components/androidtv_remote/translations/id.json +0 -1
- homeassistant/components/androidtv_remote/translations/it.json +0 -1
- homeassistant/components/androidtv_remote/translations/ja.json +0 -1
- homeassistant/components/androidtv_remote/translations/ko.json +0 -1
- homeassistant/components/androidtv_remote/translations/lt.json +0 -1
- homeassistant/components/androidtv_remote/translations/lv.json +0 -1
- homeassistant/components/androidtv_remote/translations/nl.json +0 -1
- homeassistant/components/androidtv_remote/translations/pl.json +0 -1
- homeassistant/components/androidtv_remote/translations/pt-BR.json +0 -1
- homeassistant/components/androidtv_remote/translations/pt.json +0 -1
- homeassistant/components/androidtv_remote/translations/ro.json +0 -1
- homeassistant/components/androidtv_remote/translations/ru.json +0 -1
- homeassistant/components/androidtv_remote/translations/sk.json +0 -1
- homeassistant/components/androidtv_remote/translations/sl.json +0 -1
- homeassistant/components/androidtv_remote/translations/sv.json +0 -1
- homeassistant/components/androidtv_remote/translations/tr.json +0 -1
- homeassistant/components/androidtv_remote/translations/uk.json +0 -1
- homeassistant/components/androidtv_remote/translations/zh-Hans.json +0 -1
- homeassistant/components/apsystems/translations/de.json +1 -1
- homeassistant/components/bayesian/translations/lt.json +14 -4
- homeassistant/components/blue_current/translations/sl.json +1 -0
- homeassistant/components/bmw_connected_drive/manifest.json +1 -1
- homeassistant/components/bosch_alarm/translations/es.json +3 -0
- homeassistant/components/bsblan/translations/es.json +14 -0
- homeassistant/components/coinbase/translations/es.json +10 -1
- homeassistant/components/conversation/default_agent.py +4 -6
- homeassistant/components/device_tracker/translations/ga.json +7 -1
- homeassistant/components/dsmr/translations/ga.json +5 -0
- homeassistant/components/dsmr_reader/translations/ga.json +15 -0
- homeassistant/components/elkm1/translations/de.json +1 -1
- homeassistant/components/fan/strings.json +3 -0
- homeassistant/components/fan/translations/de.json +3 -0
- homeassistant/components/fan/translations/en-GB.json +3 -0
- homeassistant/components/fan/translations/en.json +3 -0
- homeassistant/components/fan/translations/es.json +3 -0
- homeassistant/components/fan/translations/et.json +3 -0
- homeassistant/components/fan/translations/ga.json +3 -0
- homeassistant/components/fan/translations/lt.json +3 -0
- homeassistant/components/fan/translations/zh-Hans.json +3 -0
- homeassistant/components/fan/translations/zh-Hant.json +3 -0
- homeassistant/components/firmata/translations/ga.json +7 -0
- homeassistant/components/fivem/translations/ga.json +15 -0
- homeassistant/components/flipr/translations/ga.json +9 -0
- homeassistant/components/flo/translations/ga.json +44 -0
- homeassistant/components/foscam/translations/es.json +6 -1
- homeassistant/components/fritz/strings.json +2 -2
- homeassistant/components/fritz/translations/bg.json +0 -4
- homeassistant/components/fritz/translations/ca.json +1 -7
- homeassistant/components/fritz/translations/cs.json +3 -7
- homeassistant/components/fritz/translations/de.json +4 -4
- homeassistant/components/fritz/translations/el.json +2 -9
- homeassistant/components/fritz/translations/en-GB.json +5 -5
- homeassistant/components/fritz/translations/en.json +5 -5
- homeassistant/components/fritz/translations/es.json +5 -5
- homeassistant/components/fritz/translations/et.json +4 -4
- homeassistant/components/fritz/translations/fi.json +1 -6
- homeassistant/components/fritz/translations/fr.json +1 -2
- homeassistant/components/fritz/translations/ga.json +20 -9
- homeassistant/components/fritz/translations/hu.json +2 -9
- homeassistant/components/fritz/translations/id.json +1 -6
- homeassistant/components/fritz/translations/it.json +2 -9
- homeassistant/components/fritz/translations/ja.json +2 -9
- homeassistant/components/fritz/translations/ko.json +1 -6
- homeassistant/components/fritz/translations/lt.json +3 -7
- homeassistant/components/fritz/translations/nb.json +1 -2
- homeassistant/components/fritz/translations/nl.json +1 -5
- homeassistant/components/fritz/translations/pl.json +1 -2
- homeassistant/components/fritz/translations/pt-BR.json +1 -2
- homeassistant/components/fritz/translations/pt.json +2 -9
- homeassistant/components/fritz/translations/ro.json +1 -2
- homeassistant/components/fritz/translations/ru.json +2 -9
- homeassistant/components/fritz/translations/sk.json +2 -9
- homeassistant/components/fritz/translations/sv.json +2 -9
- homeassistant/components/fritz/translations/tr.json +2 -9
- homeassistant/components/fritz/translations/uk.json +1 -2
- homeassistant/components/fritz/translations/zh-Hans.json +4 -4
- homeassistant/components/fritz/translations/zh-Hant.json +5 -5
- homeassistant/components/fritzbox/translations/ga.json +40 -3
- homeassistant/components/fritzbox_callmonitor/translations/ga.json +15 -0
- homeassistant/components/fritzbox_callmonitor/translations/ru.json +2 -1
- homeassistant/components/frontend/manifest.json +1 -1
- homeassistant/components/fully_kiosk/translations/ga.json +40 -0
- homeassistant/components/generic/translations/ga.json +6 -0
- homeassistant/components/geo_json_events/translations/ga.json +9 -0
- homeassistant/components/geo_location/translations/ga.json +6 -1
- homeassistant/components/geocaching/translations/ga.json +36 -2
- homeassistant/components/goalzero/translations/ga.json +17 -2
- homeassistant/components/gogogate2/translations/ga.json +23 -0
- homeassistant/components/goodwe/translations/ga.json +33 -0
- homeassistant/components/google_sheets/translations/ga.json +16 -1
- homeassistant/components/google_translate/translations/ga.json +15 -0
- homeassistant/components/google_travel_time/translations/ga.json +29 -5
- homeassistant/components/govee_ble/translations/ga.json +1 -0
- homeassistant/components/group/translations/es.json +8 -0
- homeassistant/components/group/translations/ga.json +52 -16
- homeassistant/components/growatt_server/translations/et.json +3 -0
- homeassistant/components/growatt_server/translations/ga.json +85 -0
- homeassistant/components/growatt_server/translations/lt.json +6 -0
- homeassistant/components/growatt_server/translations/zh-Hans.json +6 -0
- homeassistant/components/growatt_server/translations/zh-Hant.json +6 -0
- homeassistant/components/habitica/translations/es.json +21 -1
- homeassistant/components/harmony/translations/ga.json +2 -1
- homeassistant/components/harmony/translations/select.ga.json +7 -0
- homeassistant/components/hassio/ingress.py +2 -2
- homeassistant/components/hassio/translations/de.json +2 -2
- homeassistant/components/hassio/translations/ga.json +54 -2
- homeassistant/components/hdmi_cec/translations/ga.json +31 -1
- homeassistant/components/homeassistant/translations/ga.json +7 -0
- homeassistant/components/homeassistant_hardware/translations/ga.json +4 -0
- homeassistant/components/homeassistant_sky_connect/translations/ga.json +24 -2
- homeassistant/components/homeassistant_yellow/translations/ga.json +11 -1
- homeassistant/components/homekit/translations/ga.json +45 -1
- homeassistant/components/homekit_controller/translations/ga.json +25 -1
- homeassistant/components/homematic/translations/ca.json +0 -1
- homeassistant/components/homematic/translations/cs.json +0 -5
- homeassistant/components/homematic/translations/de.json +9 -9
- homeassistant/components/homematic/translations/el.json +0 -5
- homeassistant/components/homematic/translations/en-GB.json +5 -5
- homeassistant/components/homematic/translations/en.json +5 -5
- homeassistant/components/homematic/translations/es.json +0 -5
- homeassistant/components/homematic/translations/et.json +4 -4
- homeassistant/components/homematic/translations/fi.json +0 -5
- homeassistant/components/homematic/translations/fr.json +0 -4
- homeassistant/components/homematic/translations/ga.json +6 -3
- homeassistant/components/homematic/translations/hu.json +0 -5
- homeassistant/components/homematic/translations/it.json +0 -5
- homeassistant/components/homematic/translations/ja.json +0 -5
- homeassistant/components/homematic/translations/ko.json +0 -5
- homeassistant/components/homematic/translations/lt.json +0 -5
- homeassistant/components/homematic/translations/nl.json +0 -5
- homeassistant/components/homematic/translations/pt-BR.json +0 -4
- homeassistant/components/homematic/translations/pt.json +0 -5
- homeassistant/components/homematic/translations/ru.json +0 -5
- homeassistant/components/homematic/translations/sk.json +0 -5
- homeassistant/components/homematic/translations/sv.json +0 -5
- homeassistant/components/homematic/translations/tr.json +0 -5
- homeassistant/components/homematic/translations/zh-Hans.json +0 -5
- homeassistant/components/homematic/translations/zh-Hant.json +3 -3
- homeassistant/components/homematicip_cloud/translations/ga.json +8 -0
- homeassistant/components/homewizard/translations/ga.json +17 -0
- homeassistant/components/honeywell/translations/ga.json +29 -0
- homeassistant/components/hue/config_flow.py +76 -4
- homeassistant/components/hue/manifest.json +1 -1
- homeassistant/components/hue/translations/ga.json +17 -1
- homeassistant/components/hue/translations/ru.json +1 -0
- homeassistant/components/husqvarna_automower/translations/es.json +75 -1
- homeassistant/components/huum/translations/es.json +5 -0
- homeassistant/components/hyperion/translations/ga.json +40 -0
- homeassistant/components/ialarm/translations/ga.json +8 -0
- homeassistant/components/icloud/translations/ga.json +4 -0
- homeassistant/components/imap/translations/ga.json +20 -1
- homeassistant/components/imeon_inverter/manifest.json +1 -1
- homeassistant/components/imeon_inverter/translations/ga.json +12 -0
- homeassistant/components/inkbird/translations/ga.json +7 -0
- homeassistant/components/insteon/translations/ga.json +43 -0
- homeassistant/components/insteon/translations/ru.json +6 -2
- homeassistant/components/integration/translations/ga.json +9 -3
- homeassistant/components/intent/__init__.py +1 -1
- homeassistant/components/ios/translations/de.json +1 -1
- homeassistant/components/iqvia/translations/ga.json +2 -1
- homeassistant/components/islamic_prayer_times/translations/ga.json +9 -1
- homeassistant/components/iss/translations/ga.json +21 -0
- homeassistant/components/isy994/translations/ga.json +4 -0
- homeassistant/components/kaleidescape/translations/ga.json +9 -0
- homeassistant/components/keenetic_ndms2/translations/ga.json +27 -1
- homeassistant/components/kef/translations/ga.json +28 -1
- homeassistant/components/kitchen_sink/translations/ga.json +5 -0
- homeassistant/components/knx/translations/ga.json +60 -6
- homeassistant/components/kodi/translations/ga.json +12 -1
- homeassistant/components/konnected/translations/ga.json +22 -0
- homeassistant/components/lastfm/translations/ga.json +39 -0
- homeassistant/components/launch_library/translations/es.json +7 -0
- homeassistant/components/launch_library/translations/ga.json +7 -0
- homeassistant/components/laundrify/translations/ga.json +24 -0
- homeassistant/components/lcn/translations/ga.json +7 -0
- homeassistant/components/led_ble/translations/ga.json +16 -1
- homeassistant/components/lg_soundbar/translations/ga.json +10 -0
- homeassistant/components/lg_thinq/translations/es.json +2 -0
- homeassistant/components/lg_thinq/translations/ga.json +4 -0
- homeassistant/components/lidarr/translations/ga.json +11 -0
- homeassistant/components/light/strings.json +2 -1
- homeassistant/components/light/translations/de.json +2 -1
- homeassistant/components/light/translations/en-GB.json +2 -1
- homeassistant/components/light/translations/en.json +2 -1
- homeassistant/components/light/translations/es.json +2 -1
- homeassistant/components/light/translations/et.json +2 -1
- homeassistant/components/light/translations/ga.json +53 -2
- homeassistant/components/light/translations/lt.json +2 -1
- homeassistant/components/light/translations/zh-Hans.json +2 -1
- homeassistant/components/light/translations/zh-Hant.json +2 -1
- homeassistant/components/litterrobot/translations/ga.json +67 -1
- homeassistant/components/local_ip/translations/ga.json +4 -2
- homeassistant/components/locative/translations/ga.json +8 -0
- homeassistant/components/logger/translations/ga.json +14 -1
- homeassistant/components/matrix/translations/ga.json +21 -0
- homeassistant/components/matter/translations/ga.json +9 -1
- homeassistant/components/media_player/translations/ga.json +5 -1
- homeassistant/components/mill/manifest.json +1 -1
- homeassistant/components/modbus/entity.py +0 -7
- homeassistant/components/mqtt/translations/lt.json +10 -4
- homeassistant/components/mqtt/translations/ru.json +30 -2
- homeassistant/components/ohme/coordinator.py +16 -1
- homeassistant/components/ohme/manifest.json +1 -1
- homeassistant/components/ohme/translations/es.json +1 -1
- homeassistant/components/openai_conversation/translations/es.json +9 -1
- homeassistant/components/opower/translations/es.json +11 -0
- homeassistant/components/overkiz/translations/de.json +1 -1
- homeassistant/components/playstation_network/translations/es.json +2 -1
- homeassistant/components/remote/strings.json +3 -0
- homeassistant/components/remote/translations/de.json +3 -0
- homeassistant/components/remote/translations/en-GB.json +3 -0
- homeassistant/components/remote/translations/en.json +3 -0
- homeassistant/components/remote/translations/es.json +3 -0
- homeassistant/components/remote/translations/et.json +3 -0
- homeassistant/components/remote/translations/lt.json +3 -0
- homeassistant/components/remote/translations/zh-Hans.json +3 -0
- homeassistant/components/remote/translations/zh-Hant.json +3 -0
- homeassistant/components/reolink/translations/es.json +1 -1
- homeassistant/components/risco/translations/ru.json +2 -0
- homeassistant/components/samsungtv/translations/ru.json +1 -0
- homeassistant/components/schlage/manifest.json +1 -1
- homeassistant/components/sensibo/translations/es.json +4 -0
- homeassistant/components/sensor/translations/es.json +3 -0
- homeassistant/components/sia/translations/bg.json +1 -2
- homeassistant/components/sia/translations/ca.json +2 -4
- homeassistant/components/sia/translations/cs.json +3 -6
- homeassistant/components/sia/translations/de.json +3 -3
- homeassistant/components/sia/translations/el.json +3 -6
- homeassistant/components/sia/translations/en-GB.json +3 -3
- homeassistant/components/sia/translations/en.json +3 -3
- homeassistant/components/sia/translations/es.json +3 -6
- homeassistant/components/sia/translations/et.json +1 -2
- homeassistant/components/sia/translations/fi.json +2 -4
- homeassistant/components/sia/translations/fr.json +3 -6
- homeassistant/components/sia/translations/he.json +1 -2
- homeassistant/components/sia/translations/hu.json +3 -6
- homeassistant/components/sia/translations/id.json +2 -4
- homeassistant/components/sia/translations/it.json +2 -4
- homeassistant/components/sia/translations/ja.json +2 -4
- homeassistant/components/sia/translations/ko.json +2 -4
- homeassistant/components/sia/translations/lt.json +3 -6
- homeassistant/components/sia/translations/nb.json +2 -4
- homeassistant/components/sia/translations/nl.json +2 -4
- homeassistant/components/sia/translations/pl.json +2 -4
- homeassistant/components/sia/translations/pt-BR.json +2 -4
- homeassistant/components/sia/translations/pt.json +3 -6
- homeassistant/components/sia/translations/ro.json +2 -4
- homeassistant/components/sia/translations/ru.json +3 -6
- homeassistant/components/sia/translations/sk.json +3 -6
- homeassistant/components/sia/translations/sv.json +3 -6
- homeassistant/components/sia/translations/tr.json +2 -4
- homeassistant/components/sia/translations/uk.json +2 -4
- homeassistant/components/sia/translations/zh-Hans.json +3 -6
- homeassistant/components/sia/translations/zh-Hant.json +2 -2
- homeassistant/components/sleep_as_android/translations/es.json +8 -1
- homeassistant/components/sleep_as_android/translations/zh-Hans.json +3 -1
- homeassistant/components/smarla/translations/es.json +15 -0
- homeassistant/components/smarla/translations/sl.json +9 -0
- homeassistant/components/solarlog/translations/es.json +9 -0
- homeassistant/components/sonos/select.py +9 -2
- homeassistant/components/sonos/speaker.py +6 -1
- homeassistant/components/switch/strings.json +3 -0
- homeassistant/components/switch/translations/de.json +3 -0
- homeassistant/components/switch/translations/en-GB.json +3 -0
- homeassistant/components/switch/translations/en.json +3 -0
- homeassistant/components/switch/translations/es.json +3 -0
- homeassistant/components/switch/translations/et.json +3 -0
- homeassistant/components/switch/translations/lt.json +3 -0
- homeassistant/components/switch/translations/zh-Hans.json +3 -0
- homeassistant/components/switch/translations/zh-Hant.json +3 -0
- homeassistant/components/template/translations/lt.json +22 -0
- homeassistant/components/template/translations/ru.json +21 -0
- homeassistant/components/template/translations/zh-Hans.json +18 -0
- homeassistant/components/template/translations/zh-Hant.json +18 -0
- homeassistant/components/tesla_fleet/translations/es.json +2 -2
- homeassistant/components/teslemetry/translations/es.json +64 -13
- homeassistant/components/tessie/translations/es.json +1 -1
- homeassistant/components/togrill/translations/es.json +23 -0
- homeassistant/components/tractive/translations/sl.json +5 -0
- homeassistant/components/tuya/translations/es.json +8 -0
- homeassistant/components/update/strings.json +3 -0
- homeassistant/components/update/translations/de.json +3 -0
- homeassistant/components/update/translations/en-GB.json +3 -0
- homeassistant/components/update/translations/en.json +3 -0
- homeassistant/components/update/translations/es.json +3 -0
- homeassistant/components/update/translations/et.json +3 -0
- homeassistant/components/update/translations/lt.json +3 -0
- homeassistant/components/update/translations/zh-Hans.json +3 -0
- homeassistant/components/update/translations/zh-Hant.json +3 -0
- homeassistant/components/webostv/translations/ru.json +2 -1
- homeassistant/const.py +1 -1
- homeassistant/package_constraints.txt +1 -1
- {homeassistant-2025.9.0b6.dist-info → homeassistant-2025.9.1.dist-info}/METADATA +1 -1
- {homeassistant-2025.9.0b6.dist-info → homeassistant-2025.9.1.dist-info}/RECORD +315 -307
- {homeassistant-2025.9.0b6.dist-info → homeassistant-2025.9.1.dist-info}/WHEEL +0 -0
- {homeassistant-2025.9.0b6.dist-info → homeassistant-2025.9.1.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.9.0b6.dist-info → homeassistant-2025.9.1.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.9.0b6.dist-info → homeassistant-2025.9.1.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.9.0b6.dist-info → homeassistant-2025.9.1.dist-info}/top_level.txt +0 -0
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"services": {
|
|
3
3
|
"put_paramset": {
|
|
4
|
-
"description": "Chamadas para putParamset na interface RPC XML.",
|
|
5
4
|
"fields": {
|
|
6
5
|
"address": {
|
|
7
6
|
"description": "Endere\u00e7o do dispositivo Homematic.",
|
|
8
7
|
"name": "Endere\u00e7o"
|
|
9
8
|
},
|
|
10
9
|
"interface": {
|
|
11
|
-
"description": "O nome das interfaces do arquivo config.",
|
|
12
10
|
"name": "Interface"
|
|
13
11
|
}
|
|
14
12
|
}
|
|
@@ -45,11 +43,9 @@
|
|
|
45
43
|
"name": "Endere\u00e7o"
|
|
46
44
|
},
|
|
47
45
|
"interface": {
|
|
48
|
-
"description": "Selecione a interface fornecida no modo de instala\u00e7\u00e3o.",
|
|
49
46
|
"name": "Interface"
|
|
50
47
|
},
|
|
51
48
|
"mode": {
|
|
52
|
-
"description": "1= Modo normal / 2= Remover links antigos existentes.",
|
|
53
49
|
"name": "Modo"
|
|
54
50
|
},
|
|
55
51
|
"time": {
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"services": {
|
|
3
3
|
"put_paramset": {
|
|
4
|
-
"description": "Chamadas para putParamset na interface RPC XML.",
|
|
5
4
|
"fields": {
|
|
6
5
|
"address": {
|
|
7
6
|
"description": "Endere\u00e7o do dispositivo Homematic.",
|
|
8
7
|
"name": "Endere\u00e7o"
|
|
9
8
|
},
|
|
10
9
|
"interface": {
|
|
11
|
-
"description": "O nome das interfaces da configura\u00e7\u00e3o.",
|
|
12
10
|
"name": "Interface"
|
|
13
11
|
},
|
|
14
12
|
"paramset": {
|
|
@@ -31,7 +29,6 @@
|
|
|
31
29
|
"name": "Voltar a ligar"
|
|
32
30
|
},
|
|
33
31
|
"set_device_value": {
|
|
34
|
-
"description": "Define uma propriedade de dispositivo na interface XML RPC.",
|
|
35
32
|
"fields": {
|
|
36
33
|
"address": {
|
|
37
34
|
"description": "Endere\u00e7o do dispositivo Homematic ou BidCoS-RF para remoto virtual.",
|
|
@@ -68,11 +65,9 @@
|
|
|
68
65
|
"name": "Morada"
|
|
69
66
|
},
|
|
70
67
|
"interface": {
|
|
71
|
-
"description": "Selecionar a interface em causa para o modo de instala\u00e7\u00e3o.",
|
|
72
68
|
"name": "Interface"
|
|
73
69
|
},
|
|
74
70
|
"mode": {
|
|
75
|
-
"description": "1= Modo normal / 2= Remover as liga\u00e7\u00f5es antigas existentes.",
|
|
76
71
|
"name": "Modo"
|
|
77
72
|
},
|
|
78
73
|
"time": {
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"services": {
|
|
3
3
|
"put_paramset": {
|
|
4
|
-
"description": "\u0412\u044b\u0437\u044b\u0432\u0430\u0435\u0442 putParamset \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 RPC XML.",
|
|
5
4
|
"fields": {
|
|
6
5
|
"address": {
|
|
7
6
|
"description": "\u0410\u0434\u0440\u0435\u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 Homematic.",
|
|
8
7
|
"name": "\u0410\u0434\u0440\u0435\u0441"
|
|
9
8
|
},
|
|
10
9
|
"interface": {
|
|
11
|
-
"description": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0438\u0437 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438.",
|
|
12
10
|
"name": "\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441"
|
|
13
11
|
},
|
|
14
12
|
"paramset": {
|
|
@@ -31,7 +29,6 @@
|
|
|
31
29
|
"name": "\u041f\u0435\u0440\u0435\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c"
|
|
32
30
|
},
|
|
33
31
|
"set_device_value": {
|
|
34
|
-
"description": "\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 RPC XML.",
|
|
35
32
|
"fields": {
|
|
36
33
|
"address": {
|
|
37
34
|
"description": "\u0410\u0434\u0440\u0435\u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 Homematic \u0438\u043b\u0438 BidCoS-RF \u0434\u043b\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0443\u043b\u044c\u0442\u0430.",
|
|
@@ -68,11 +65,9 @@
|
|
|
68
65
|
"name": "\u0410\u0434\u0440\u0435\u0441"
|
|
69
66
|
},
|
|
70
67
|
"interface": {
|
|
71
|
-
"description": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438.",
|
|
72
68
|
"name": "\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441"
|
|
73
69
|
},
|
|
74
70
|
"mode": {
|
|
75
|
-
"description": "1= \u041e\u0431\u044b\u0447\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c / 2= \u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0430\u0440\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438.",
|
|
76
71
|
"name": "\u0420\u0435\u0436\u0438\u043c"
|
|
77
72
|
},
|
|
78
73
|
"time": {
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"services": {
|
|
3
3
|
"put_paramset": {
|
|
4
|
-
"description": "Volanie funkcie putParamset v rozhran\u00ed RPC XML.",
|
|
5
4
|
"fields": {
|
|
6
5
|
"address": {
|
|
7
6
|
"description": "Adresa zariadenia Homematic.",
|
|
8
7
|
"name": "Adresa"
|
|
9
8
|
},
|
|
10
9
|
"interface": {
|
|
11
|
-
"description": "N\u00e1zov rozhrania z konfigur\u00e1cie.",
|
|
12
10
|
"name": "Rozhranie"
|
|
13
11
|
},
|
|
14
12
|
"paramset": {
|
|
@@ -31,7 +29,6 @@
|
|
|
31
29
|
"name": "Op\u00e4tovn\u00e9 pripojenie"
|
|
32
30
|
},
|
|
33
31
|
"set_device_value": {
|
|
34
|
-
"description": "Nastav\u00ed vlastnos\u0165 zariadenia na rozhran\u00ed RPC XML.",
|
|
35
32
|
"fields": {
|
|
36
33
|
"address": {
|
|
37
34
|
"description": "Adresa zariadenia Homematic alebo BidCoS-RF pre virtu\u00e1lne dia\u013ekov\u00e9 ovl\u00e1danie.",
|
|
@@ -68,11 +65,9 @@
|
|
|
68
65
|
"name": "Adresa"
|
|
69
66
|
},
|
|
70
67
|
"interface": {
|
|
71
|
-
"description": "Vyberte dan\u00e9 rozhranie do re\u017eimu in\u0161tal\u00e1cie.",
|
|
72
68
|
"name": "Rozhranie"
|
|
73
69
|
},
|
|
74
70
|
"mode": {
|
|
75
|
-
"description": "1= Norm\u00e1lny re\u017eim / 2= Odstr\u00e1ni\u0165 existuj\u00face star\u00e9 odkazy.",
|
|
76
71
|
"name": "Re\u017eim"
|
|
77
72
|
},
|
|
78
73
|
"time": {
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"services": {
|
|
3
3
|
"put_paramset": {
|
|
4
|
-
"description": "Anropar putParamset i RPC XML-gr\u00e4nssnittet.",
|
|
5
4
|
"fields": {
|
|
6
5
|
"address": {
|
|
7
6
|
"description": "Adress till Homematic-enhet.",
|
|
8
7
|
"name": "Adress"
|
|
9
8
|
},
|
|
10
9
|
"interface": {
|
|
11
|
-
"description": "Gr\u00e4nssnittets namn fr\u00e5n konfigurationen.",
|
|
12
10
|
"name": "Gr\u00e4nssnitt"
|
|
13
11
|
},
|
|
14
12
|
"paramset": {
|
|
@@ -31,7 +29,6 @@
|
|
|
31
29
|
"name": "\u00c5teranslut"
|
|
32
30
|
},
|
|
33
31
|
"set_device_value": {
|
|
34
|
-
"description": "St\u00e4ller in en enhetsegenskap p\u00e5 RPC XML-gr\u00e4nssnitt.",
|
|
35
32
|
"fields": {
|
|
36
33
|
"address": {
|
|
37
34
|
"description": "Adress till Homematic-enhet eller BidCoS-RF f\u00f6r virtuell fj\u00e4rrkontroll.",
|
|
@@ -68,11 +65,9 @@
|
|
|
68
65
|
"name": "Adress"
|
|
69
66
|
},
|
|
70
67
|
"interface": {
|
|
71
|
-
"description": "St\u00e4ller in det givna gr\u00e4nssnittet i installationsl\u00e4ge.",
|
|
72
68
|
"name": "Gr\u00e4nssnitt"
|
|
73
69
|
},
|
|
74
70
|
"mode": {
|
|
75
|
-
"description": "1= Normalt l\u00e4ge / 2= Ta bort existerande gamla l\u00e4nkar.",
|
|
76
71
|
"name": "L\u00e4ge"
|
|
77
72
|
},
|
|
78
73
|
"time": {
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"services": {
|
|
3
3
|
"put_paramset": {
|
|
4
|
-
"description": "RPC XML arabiriminde putParamset'e yap\u0131lan \u00e7a\u011fr\u0131lar.",
|
|
5
4
|
"fields": {
|
|
6
5
|
"address": {
|
|
7
6
|
"description": "Homematic cihaz\u0131n\u0131n adresi.",
|
|
8
7
|
"name": "Adres"
|
|
9
8
|
},
|
|
10
9
|
"interface": {
|
|
11
|
-
"description": "Yap\u0131land\u0131rmadaki aray\u00fcz ad\u0131.",
|
|
12
10
|
"name": "Aray\u00fcz"
|
|
13
11
|
},
|
|
14
12
|
"paramset": {
|
|
@@ -31,7 +29,6 @@
|
|
|
31
29
|
"name": "Yeniden Ba\u011flan"
|
|
32
30
|
},
|
|
33
31
|
"set_device_value": {
|
|
34
|
-
"description": "RPC XML aray\u00fcz\u00fcnde bir cihaz \u00f6zelli\u011fi ayarlar.",
|
|
35
32
|
"fields": {
|
|
36
33
|
"address": {
|
|
37
34
|
"description": "Sanal uzaktan kumanda i\u00e7in Homematic cihaz\u0131n\u0131n veya BidCoS-RF'nin adresi.",
|
|
@@ -68,11 +65,9 @@
|
|
|
68
65
|
"name": "Adres"
|
|
69
66
|
},
|
|
70
67
|
"interface": {
|
|
71
|
-
"description": "Kurulum moduna verilen aray\u00fcz\u00fc se\u00e7in.",
|
|
72
68
|
"name": "Aray\u00fcz"
|
|
73
69
|
},
|
|
74
70
|
"mode": {
|
|
75
|
-
"description": "1= Normal mod / 2= Var olan eski ba\u011flant\u0131lar\u0131 kald\u0131r.",
|
|
76
71
|
"name": "Mod"
|
|
77
72
|
},
|
|
78
73
|
"time": {
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"services": {
|
|
3
3
|
"put_paramset": {
|
|
4
|
-
"description": "\u8c03\u7528 RPC XML \u63a5\u53e3\u4e2d\u7684 putParamset\u3002",
|
|
5
4
|
"fields": {
|
|
6
5
|
"address": {
|
|
7
6
|
"description": "Homematic \u8bbe\u5907\u7684\u5730\u5740\u3002",
|
|
8
7
|
"name": "\u5730\u5740"
|
|
9
8
|
},
|
|
10
9
|
"interface": {
|
|
11
|
-
"description": "\u914d\u7f6e\u4e2d\u7684\u63a5\u53e3\u540d\u79f0\u3002",
|
|
12
10
|
"name": "\u754c\u9762"
|
|
13
11
|
},
|
|
14
12
|
"paramset": {
|
|
@@ -31,7 +29,6 @@
|
|
|
31
29
|
"name": "\u91cd\u65b0\u8fde\u63a5"
|
|
32
30
|
},
|
|
33
31
|
"set_device_value": {
|
|
34
|
-
"description": "\u5728 RPC XML \u63a5\u53e3\u4e0a\u8bbe\u7f6e\u8bbe\u5907\u5c5e\u6027\u3002",
|
|
35
32
|
"fields": {
|
|
36
33
|
"address": {
|
|
37
34
|
"description": "Homematic \u8bbe\u5907\u6216 BidCoS-RF \u865a\u62df\u9065\u63a7\u5668\u7684\u5730\u5740\u3002",
|
|
@@ -68,11 +65,9 @@
|
|
|
68
65
|
"name": "\u5730\u5740"
|
|
69
66
|
},
|
|
70
67
|
"interface": {
|
|
71
|
-
"description": "\u9009\u62e9\u7ed9\u5b9a\u7684\u63a5\u53e3\u8fdb\u5165\u5b89\u88c5\u6a21\u5f0f\u3002",
|
|
72
68
|
"name": "\u63a5\u53e3"
|
|
73
69
|
},
|
|
74
70
|
"mode": {
|
|
75
|
-
"description": "1 = \u6b63\u5e38\u6a21\u5f0f / 2 = \u5220\u9664\u73b0\u6709\u7684\u65e7\u94fe\u63a5\u3002",
|
|
76
71
|
"name": "\u6a21\u5f0f"
|
|
77
72
|
},
|
|
78
73
|
"time": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"services": {
|
|
3
3
|
"put_paramset": {
|
|
4
|
-
"description": "\
|
|
4
|
+
"description": "\u624b\u52d5\u8b8a\u66f4\u88dd\u7f6e\u7684\u53c3\u6578\u96c6\uff0c\u7b49\u540c\u65bc XML-RPC \u7684 putParamset \u65b9\u6cd5\u3002",
|
|
5
5
|
"fields": {
|
|
6
6
|
"address": {
|
|
7
7
|
"description": "Homematic \u88dd\u7f6e\u5730\u5740\u3002",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"name": "\u91cd\u65b0\u9023\u7dda"
|
|
32
32
|
},
|
|
33
33
|
"set_device_value": {
|
|
34
|
-
"description": "\
|
|
34
|
+
"description": "\u624b\u52d5\u63a7\u5236\u88dd\u7f6e\uff0c\u76f8\u7576\u65bc XML-RPC \u7684 setValue \u65b9\u6cd5\u3002",
|
|
35
35
|
"fields": {
|
|
36
36
|
"address": {
|
|
37
37
|
"description": "Homematic \u88dd\u7f6e\u5730\u5740\u6216\u7528\u65bc\u865b\u64ec\u9059\u63a7\u7684 BidCoS-RF\u3002",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"name": "\u4f4d\u5740"
|
|
69
69
|
},
|
|
70
70
|
"interface": {
|
|
71
|
-
"description": "\
|
|
71
|
+
"description": "\u8a2d\u5b9a\u9032\u5165\u5b89\u88dd\u6a21\u5f0f\u7684\u4ecb\u9762\u3002",
|
|
72
72
|
"name": "\u4ecb\u9762"
|
|
73
73
|
},
|
|
74
74
|
"mode": {
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"config": {
|
|
3
|
+
"abort": {
|
|
4
|
+
"already_configured": "T\u00e1 an gl\u00e9as cumraithe cheana f\u00e9in",
|
|
5
|
+
"connection_aborted": "Theip ar an nascadh",
|
|
6
|
+
"unknown": "Earr\u00e1id gan choinne"
|
|
7
|
+
},
|
|
8
|
+
"error": {
|
|
9
|
+
"invalid_sgtin_or_pin": "SGTIN n\u00f3 c\u00f3d PIN neamhbhail\u00ed, d\u00e9an iarracht ar\u00eds."
|
|
10
|
+
},
|
|
3
11
|
"step": {
|
|
4
12
|
"init": {
|
|
5
13
|
"description": "M\u00e1s mian leat **Homematic IP HCU1** a chl\u00e1r\u00fa, br\u00faigh an cnaipe ar bharr an fheiste sula leanann t\u00fa ar aghaidh.\n\nN\u00ed m\u00f3r an pr\u00f3iseas cl\u00e1r\u00fach\u00e1in a chr\u00edochn\u00fa laistigh de 5 n\u00f3im\u00e9ad.",
|
|
@@ -132,6 +132,9 @@
|
|
|
132
132
|
"total_liter_m3": {
|
|
133
133
|
"name": "\u00das\u00e1id ioml\u00e1n uisce"
|
|
134
134
|
},
|
|
135
|
+
"unique_meter_id": {
|
|
136
|
+
"name": "Aitheant\u00f3ir m\u00e9adair chliste"
|
|
137
|
+
},
|
|
135
138
|
"uptime": {
|
|
136
139
|
"name": "Am ar F\u00e1il"
|
|
137
140
|
},
|
|
@@ -143,6 +146,20 @@
|
|
|
143
146
|
},
|
|
144
147
|
"wifi_rssi": {
|
|
145
148
|
"name": "Wi-Fi RSSI"
|
|
149
|
+
},
|
|
150
|
+
"wifi_ssid": {
|
|
151
|
+
"name": "Wi-Fi SSID"
|
|
152
|
+
},
|
|
153
|
+
"wifi_strength": {
|
|
154
|
+
"name": "Neart Wi-Fi"
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
"switch": {
|
|
158
|
+
"cloud_connection": {
|
|
159
|
+
"name": "Nasc scamall"
|
|
160
|
+
},
|
|
161
|
+
"switch_lock": {
|
|
162
|
+
"name": "Glas lasc"
|
|
146
163
|
}
|
|
147
164
|
}
|
|
148
165
|
},
|
|
@@ -2,6 +2,26 @@
|
|
|
2
2
|
"config": {
|
|
3
3
|
"abort": {
|
|
4
4
|
"reauth_successful": "D'\u00e9irigh leis an athfh\u00edordheimhni\u00fa"
|
|
5
|
+
},
|
|
6
|
+
"error": {
|
|
7
|
+
"cannot_connect": "Theip ar an nascadh",
|
|
8
|
+
"invalid_auth": "F\u00edordheimhni\u00fa neamhbhail\u00ed"
|
|
9
|
+
},
|
|
10
|
+
"step": {
|
|
11
|
+
"reauth_confirm": {
|
|
12
|
+
"data": {
|
|
13
|
+
"password": "Pasfhocal"
|
|
14
|
+
},
|
|
15
|
+
"description": "Caithfidh comhth\u00e1th\u00fa Honeywell d\u2019chuntas a athfh\u00edordheimhni\u00fa",
|
|
16
|
+
"title": "T\u00e1 an f\u00edordheimhni\u00fa imithe in \u00e9ag do {name}"
|
|
17
|
+
},
|
|
18
|
+
"user": {
|
|
19
|
+
"data": {
|
|
20
|
+
"password": "Pasfhocal",
|
|
21
|
+
"username": "Ainm \u00fas\u00e1ideora"
|
|
22
|
+
},
|
|
23
|
+
"description": "Cuir isteach na dinti\u00fair a \u00fas\u00e1ideadh chun log\u00e1il isteach chuig mytotalconnectcomfort.com."
|
|
24
|
+
}
|
|
5
25
|
}
|
|
6
26
|
},
|
|
7
27
|
"entity": {
|
|
@@ -26,6 +46,14 @@
|
|
|
26
46
|
"name": "Taiseoir"
|
|
27
47
|
}
|
|
28
48
|
},
|
|
49
|
+
"sensor": {
|
|
50
|
+
"outdoor_humidity": {
|
|
51
|
+
"name": "Taise lasmuigh"
|
|
52
|
+
},
|
|
53
|
+
"outdoor_temperature": {
|
|
54
|
+
"name": "Teocht lasmuigh"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
29
57
|
"switch": {
|
|
30
58
|
"emergency_heat": {
|
|
31
59
|
"name": "Teas \u00e9igeand\u00e1la"
|
|
@@ -71,6 +99,7 @@
|
|
|
71
99
|
"step": {
|
|
72
100
|
"init": {
|
|
73
101
|
"data": {
|
|
102
|
+
"away_cool_temperature": "Teocht fhuar ar shi\u00fal",
|
|
74
103
|
"away_heat_temperature": "Teocht teasa ar shi\u00fal"
|
|
75
104
|
},
|
|
76
105
|
"description": "Roghanna cumra\u00edochta breise Honeywell. Socra\u00edtear teochta\u00ed i Fahrenheit."
|
|
@@ -9,7 +9,9 @@ from typing import Any
|
|
|
9
9
|
import aiohttp
|
|
10
10
|
from aiohue import LinkButtonNotPressed, create_app_key
|
|
11
11
|
from aiohue.discovery import DiscoveredHueBridge, discover_bridge, discover_nupnp
|
|
12
|
+
from aiohue.errors import AiohueException
|
|
12
13
|
from aiohue.util import normalize_bridge_id
|
|
14
|
+
from aiohue.v2 import HueBridgeV2
|
|
13
15
|
import slugify as unicode_slug
|
|
14
16
|
import voluptuous as vol
|
|
15
17
|
|
|
@@ -40,6 +42,9 @@ HUE_MANUFACTURERURL = ("http://www.philips.com", "http://www.philips-hue.com")
|
|
|
40
42
|
HUE_IGNORED_BRIDGE_NAMES = ["Home Assistant Bridge", "Espalexa"]
|
|
41
43
|
HUE_MANUAL_BRIDGE_ID = "manual"
|
|
42
44
|
|
|
45
|
+
BSB002_MODEL_ID = "BSB002"
|
|
46
|
+
BSB003_MODEL_ID = "BSB003"
|
|
47
|
+
|
|
43
48
|
|
|
44
49
|
class HueFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
45
50
|
"""Handle a Hue config flow."""
|
|
@@ -74,7 +79,14 @@ class HueFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
|
74
79
|
"""Return a DiscoveredHueBridge object."""
|
|
75
80
|
try:
|
|
76
81
|
bridge = await discover_bridge(
|
|
77
|
-
host,
|
|
82
|
+
host,
|
|
83
|
+
websession=aiohttp_client.async_get_clientsession(
|
|
84
|
+
# NOTE: we disable SSL verification for now due to the fact that the (BSB003)
|
|
85
|
+
# Hue bridge uses a certificate from a on-bridge root authority.
|
|
86
|
+
# We need to specifically handle this case in a follow-up update.
|
|
87
|
+
self.hass,
|
|
88
|
+
verify_ssl=False,
|
|
89
|
+
),
|
|
78
90
|
)
|
|
79
91
|
except aiohttp.ClientError as err:
|
|
80
92
|
LOGGER.warning(
|
|
@@ -110,7 +122,9 @@ class HueFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
|
110
122
|
try:
|
|
111
123
|
async with asyncio.timeout(5):
|
|
112
124
|
bridges = await discover_nupnp(
|
|
113
|
-
websession=aiohttp_client.async_get_clientsession(
|
|
125
|
+
websession=aiohttp_client.async_get_clientsession(
|
|
126
|
+
self.hass, verify_ssl=False
|
|
127
|
+
)
|
|
114
128
|
)
|
|
115
129
|
except TimeoutError:
|
|
116
130
|
bridges = []
|
|
@@ -178,7 +192,9 @@ class HueFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
|
178
192
|
app_key = await create_app_key(
|
|
179
193
|
bridge.host,
|
|
180
194
|
f"home-assistant#{device_name}",
|
|
181
|
-
websession=aiohttp_client.async_get_clientsession(
|
|
195
|
+
websession=aiohttp_client.async_get_clientsession(
|
|
196
|
+
self.hass, verify_ssl=False
|
|
197
|
+
),
|
|
182
198
|
)
|
|
183
199
|
except LinkButtonNotPressed:
|
|
184
200
|
errors["base"] = "register_failed"
|
|
@@ -228,7 +244,6 @@ class HueFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
|
228
244
|
self._abort_if_unique_id_configured(
|
|
229
245
|
updates={CONF_HOST: discovery_info.host}, reload_on_update=True
|
|
230
246
|
)
|
|
231
|
-
|
|
232
247
|
# we need to query the other capabilities too
|
|
233
248
|
bridge = await self._get_bridge(
|
|
234
249
|
discovery_info.host, discovery_info.properties["bridgeid"]
|
|
@@ -236,6 +251,14 @@ class HueFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
|
236
251
|
if bridge is None:
|
|
237
252
|
return self.async_abort(reason="cannot_connect")
|
|
238
253
|
self.bridge = bridge
|
|
254
|
+
if (
|
|
255
|
+
bridge.supports_v2
|
|
256
|
+
and discovery_info.properties.get("modelid") == BSB003_MODEL_ID
|
|
257
|
+
):
|
|
258
|
+
# try to handle migration of BSB002 --> BSB003
|
|
259
|
+
if await self._check_migrated_bridge(bridge):
|
|
260
|
+
return self.async_abort(reason="migrated_bridge")
|
|
261
|
+
|
|
239
262
|
return await self.async_step_link()
|
|
240
263
|
|
|
241
264
|
async def async_step_homekit(
|
|
@@ -272,6 +295,55 @@ class HueFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
|
272
295
|
self.bridge = bridge
|
|
273
296
|
return await self.async_step_link()
|
|
274
297
|
|
|
298
|
+
async def _check_migrated_bridge(self, bridge: DiscoveredHueBridge) -> bool:
|
|
299
|
+
"""Check if the discovered bridge is a migrated bridge."""
|
|
300
|
+
# Try to handle migration of BSB002 --> BSB003.
|
|
301
|
+
# Once we detect a BSB003 bridge on the network which has not yet been
|
|
302
|
+
# configured in HA (otherwise we would have had a unique id match),
|
|
303
|
+
# we check if we have any existing (BSB002) entries and if we can connect to the
|
|
304
|
+
# new bridge with our previously stored api key.
|
|
305
|
+
# If that succeeds, we migrate the entry to the new bridge.
|
|
306
|
+
for conf_entry in self.hass.config_entries.async_entries(
|
|
307
|
+
DOMAIN, include_ignore=False, include_disabled=False
|
|
308
|
+
):
|
|
309
|
+
if conf_entry.data[CONF_API_VERSION] != 2:
|
|
310
|
+
continue
|
|
311
|
+
if conf_entry.data[CONF_HOST] == bridge.host:
|
|
312
|
+
continue
|
|
313
|
+
# found an existing (BSB002) bridge entry,
|
|
314
|
+
# check if we can connect to the new BSB003 bridge using the old credentials
|
|
315
|
+
api = HueBridgeV2(bridge.host, conf_entry.data[CONF_API_KEY])
|
|
316
|
+
try:
|
|
317
|
+
await api.fetch_full_state()
|
|
318
|
+
except (AiohueException, aiohttp.ClientError):
|
|
319
|
+
continue
|
|
320
|
+
old_bridge_id = conf_entry.unique_id
|
|
321
|
+
assert old_bridge_id is not None
|
|
322
|
+
# found a matching entry, migrate it
|
|
323
|
+
self.hass.config_entries.async_update_entry(
|
|
324
|
+
conf_entry,
|
|
325
|
+
data={
|
|
326
|
+
**conf_entry.data,
|
|
327
|
+
CONF_HOST: bridge.host,
|
|
328
|
+
},
|
|
329
|
+
unique_id=bridge.id,
|
|
330
|
+
)
|
|
331
|
+
# also update the bridge device
|
|
332
|
+
dev_reg = dr.async_get(self.hass)
|
|
333
|
+
if bridge_device := dev_reg.async_get_device(
|
|
334
|
+
identifiers={(DOMAIN, old_bridge_id)}
|
|
335
|
+
):
|
|
336
|
+
dev_reg.async_update_device(
|
|
337
|
+
bridge_device.id,
|
|
338
|
+
# overwrite identifiers with new bridge id
|
|
339
|
+
new_identifiers={(DOMAIN, bridge.id)},
|
|
340
|
+
# overwrite mac addresses with empty set to drop the old (incorrect) addresses
|
|
341
|
+
# this will be auto corrected once the integration is loaded
|
|
342
|
+
new_connections=set(),
|
|
343
|
+
)
|
|
344
|
+
return True
|
|
345
|
+
return False
|
|
346
|
+
|
|
275
347
|
|
|
276
348
|
class HueV1OptionsFlowHandler(OptionsFlow):
|
|
277
349
|
"""Handle Hue options for V1 implementation."""
|
|
@@ -55,7 +55,21 @@
|
|
|
55
55
|
"dim_up": "Laghdaigh suas",
|
|
56
56
|
"double_buttons_1_3": "An ch\u00e9ad agus an tr\u00ed\u00fa cnaipe",
|
|
57
57
|
"double_buttons_2_4": "An dara agus an ceathr\u00fa cnaipe",
|
|
58
|
-
"turn_off": "M\u00fach"
|
|
58
|
+
"turn_off": "M\u00fach",
|
|
59
|
+
"turn_on": "Cas air"
|
|
60
|
+
},
|
|
61
|
+
"trigger_type": {
|
|
62
|
+
"double_short_release": "Scaoileadh an d\u00e1 \"{subtype}\"",
|
|
63
|
+
"initial_press": "\"{subtype}\" br\u00faite ar dt\u00fas",
|
|
64
|
+
"long_release": "Scaoiltear \"{subtype}\" tar \u00e9is br\u00fa fada",
|
|
65
|
+
"remote_button_long_release": "Scaoiltear \"{subtype}\" tar \u00e9is br\u00fa fada",
|
|
66
|
+
"remote_button_short_press": "\"{subtype}\" br\u00faite",
|
|
67
|
+
"remote_button_short_release": "\"{subtype}\" scaoilte",
|
|
68
|
+
"remote_double_button_long_press": "Scaoileadh an d\u00e1 \"{subtype}\" tar \u00e9is br\u00fa fada",
|
|
69
|
+
"remote_double_button_short_press": "Scaoileadh an d\u00e1 \"{subtype}\"",
|
|
70
|
+
"repeat": "\"{subtype}\" coinnithe s\u00edos",
|
|
71
|
+
"short_release": "Scaoiltear \"{subtype}\" tar \u00e9is br\u00fa gairid",
|
|
72
|
+
"start": "\"{subtype}\" br\u00faite ar dt\u00fas"
|
|
59
73
|
}
|
|
60
74
|
},
|
|
61
75
|
"entity": {
|
|
@@ -139,6 +153,8 @@
|
|
|
139
153
|
"step": {
|
|
140
154
|
"init": {
|
|
141
155
|
"data": {
|
|
156
|
+
"allow_hue_groups": "Ceadaigh gr\u00fapa\u00ed Hue",
|
|
157
|
+
"allow_hue_scenes": "Ceadaigh radhairc Hue",
|
|
142
158
|
"allow_unreachable": "Lig do bholg\u00e1in neamh-inrochtana a staid a thuairisci\u00fa i gceart",
|
|
143
159
|
"ignore_availability": "D\u00e9an neamhaird de st\u00e1das nascachta na ngl\u00e9asanna tugtha"
|
|
144
160
|
}
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"title": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0448\u043b\u044e\u0437 Hue"
|
|
27
27
|
},
|
|
28
28
|
"link": {
|
|
29
|
+
"description": "\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \u043d\u0430 \u0448\u043b\u044e\u0437\u0435 \u0434\u043b\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 Philips Hue \u0432 Home Assistant.",
|
|
29
30
|
"title": "Philips Hue"
|
|
30
31
|
},
|
|
31
32
|
"manual": {
|