homeassistant 2025.9.0b2__py3-none-any.whl → 2025.9.0b3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of homeassistant might be problematic. Click here for more details.
- homeassistant/components/airgradient/translations/lt.json +2 -1
- homeassistant/components/alexa_devices/translations/cs.json +50 -0
- homeassistant/components/alexa_devices/translations/lt.json +47 -0
- homeassistant/components/alexa_devices/translations/nl.json +17 -0
- homeassistant/components/alexa_devices/translations/pt.json +50 -0
- homeassistant/components/alexa_devices/translations/sk.json +50 -0
- homeassistant/components/bang_olufsen/translations/lt.json +4 -0
- homeassistant/components/bayesian/strings.json +1 -1
- homeassistant/components/bayesian/translations/lt.json +23 -4
- homeassistant/components/bosch_alarm/translations/lt.json +3 -0
- homeassistant/components/bsblan/climate.py +4 -0
- homeassistant/components/bsblan/config_flow.py +1 -1
- homeassistant/components/bsblan/sensor.py +23 -3
- homeassistant/components/bsblan/water_heater.py +22 -2
- homeassistant/components/button/translations/lt.json +1 -0
- homeassistant/components/devolo_home_network/translations/lt.json +4 -0
- homeassistant/components/dominos/translations/lt.json +2 -0
- homeassistant/components/dsmr/translations/lt.json +2 -1
- homeassistant/components/dsmr_reader/translations/lt.json +1 -0
- homeassistant/components/fritz/translations/lt.json +3 -0
- homeassistant/components/fritzbox/translations/lt.json +3 -1
- homeassistant/components/fritzbox_callmonitor/translations/lt.json +2 -1
- homeassistant/components/frontend/manifest.json +1 -1
- homeassistant/components/google_travel_time/translations/lt.json +3 -2
- homeassistant/components/govee_light_local/__init__.py +6 -1
- homeassistant/components/govee_light_local/config_flow.py +7 -12
- homeassistant/components/govee_light_local/coordinator.py +2 -3
- homeassistant/components/habitica/translations/lt.json +2 -1
- homeassistant/components/hassio/translations/lt.json +25 -0
- homeassistant/components/homekit/__init__.py +2 -3
- homeassistant/components/homekit/services.yaml +7 -3
- homeassistant/components/homekit/strings.json +7 -1
- homeassistant/components/homekit/translations/cs.json +7 -1
- homeassistant/components/homekit/translations/de.json +6 -0
- homeassistant/components/homekit/translations/el.json +0 -1
- homeassistant/components/homekit/translations/en-GB.json +7 -1
- homeassistant/components/homekit/translations/en.json +7 -1
- homeassistant/components/homekit/translations/es.json +0 -1
- homeassistant/components/homekit/translations/et.json +7 -1
- homeassistant/components/homekit/translations/ga.json +0 -1
- homeassistant/components/homekit/translations/hu.json +0 -1
- homeassistant/components/homekit/translations/it.json +6 -0
- homeassistant/components/homekit/translations/ja.json +0 -1
- homeassistant/components/homekit/translations/lt.json +7 -1
- homeassistant/components/homekit/translations/nl.json +5 -0
- homeassistant/components/homekit/translations/pt.json +6 -0
- homeassistant/components/homekit/translations/ru.json +0 -1
- homeassistant/components/homekit/translations/sk.json +6 -0
- homeassistant/components/homekit/translations/sv.json +0 -1
- homeassistant/components/homekit/translations/tr.json +0 -1
- homeassistant/components/homekit/translations/vi.json +0 -1
- homeassistant/components/homekit/translations/zh-Hans.json +6 -1
- homeassistant/components/homekit/translations/zh-Hant.json +6 -0
- homeassistant/components/hue/translations/ar.json +0 -5
- homeassistant/components/hue/translations/bg.json +0 -1
- homeassistant/components/hue/translations/ca.json +0 -1
- homeassistant/components/hue/translations/cs.json +1 -1
- homeassistant/components/hue/translations/cy.json +0 -1
- homeassistant/components/hue/translations/da.json +0 -1
- homeassistant/components/hue/translations/de.json +1 -1
- homeassistant/components/hue/translations/el.json +1 -1
- homeassistant/components/hue/translations/en-GB.json +1 -1
- homeassistant/components/hue/translations/en.json +1 -1
- homeassistant/components/hue/translations/es-419.json +0 -1
- homeassistant/components/hue/translations/es.json +0 -1
- homeassistant/components/hue/translations/et.json +1 -1
- homeassistant/components/hue/translations/fi.json +0 -1
- homeassistant/components/hue/translations/fr.json +0 -1
- homeassistant/components/hue/translations/ga.json +0 -1
- homeassistant/components/hue/translations/he.json +0 -1
- homeassistant/components/hue/translations/hu.json +0 -1
- homeassistant/components/hue/translations/id.json +0 -1
- homeassistant/components/hue/translations/it.json +0 -1
- homeassistant/components/hue/translations/ja.json +0 -1
- homeassistant/components/hue/translations/ko.json +0 -1
- homeassistant/components/hue/translations/lb.json +0 -1
- homeassistant/components/hue/translations/lt.json +1 -1
- homeassistant/components/hue/translations/nb.json +0 -1
- homeassistant/components/hue/translations/nl.json +0 -1
- homeassistant/components/hue/translations/nn.json +0 -1
- homeassistant/components/hue/translations/pl.json +0 -1
- homeassistant/components/hue/translations/pt-BR.json +0 -1
- homeassistant/components/hue/translations/pt.json +1 -1
- homeassistant/components/hue/translations/ro.json +0 -1
- homeassistant/components/hue/translations/ru.json +0 -1
- homeassistant/components/hue/translations/sk.json +1 -1
- homeassistant/components/hue/translations/sl.json +0 -1
- homeassistant/components/hue/translations/sv.json +0 -1
- homeassistant/components/hue/translations/tr.json +0 -1
- homeassistant/components/hue/translations/uk.json +0 -1
- homeassistant/components/hue/translations/vi.json +0 -1
- homeassistant/components/hue/translations/zh-Hans.json +0 -1
- homeassistant/components/hue/translations/zh-Hant.json +1 -1
- homeassistant/components/hue/v2/group.py +67 -12
- homeassistant/components/hydrawise/translations/lt.json +2 -1
- homeassistant/components/imeon_inverter/const.py +1 -1
- homeassistant/components/imeon_inverter/translations/cs.json +1 -0
- homeassistant/components/imeon_inverter/translations/de.json +1 -0
- homeassistant/components/imeon_inverter/translations/el.json +5 -0
- homeassistant/components/imeon_inverter/translations/en-GB.json +1 -0
- homeassistant/components/imeon_inverter/translations/et.json +1 -0
- homeassistant/components/imeon_inverter/translations/it.json +5 -0
- homeassistant/components/imeon_inverter/translations/lt.json +13 -0
- homeassistant/components/imeon_inverter/translations/pt.json +1 -0
- homeassistant/components/imeon_inverter/translations/sk.json +1 -0
- homeassistant/components/imeon_inverter/translations/zh-Hant.json +1 -0
- homeassistant/components/insteon/translations/lt.json +6 -2
- homeassistant/components/iskra/manifest.json +1 -1
- homeassistant/components/lcn/translations/lt.json +2 -0
- homeassistant/components/leaone/translations/lt.json +2 -1
- homeassistant/components/lg_thinq/translations/lt.json +4 -0
- homeassistant/components/luftdaten/translations/lt.json +7 -0
- homeassistant/components/matter/translations/lt.json +3 -0
- homeassistant/components/mealie/manifest.json +1 -1
- homeassistant/components/miele/climate.py +20 -10
- homeassistant/components/miele/translations/lt.json +3 -0
- homeassistant/components/mqtt/translations/lt.json +8 -2
- homeassistant/components/music_assistant/media_browser.py +8 -8
- homeassistant/components/music_assistant/translations/lt.json +2 -1
- homeassistant/components/onkyo/config_flow.py +1 -1
- homeassistant/components/openweathermap/translations/lt.json +2 -1
- homeassistant/components/opower/translations/lt.json +1 -0
- homeassistant/components/pooldose/entity.py +1 -4
- homeassistant/components/pooldose/manifest.json +1 -1
- homeassistant/components/pooldose/quality_scale.yaml +13 -27
- homeassistant/components/qnap/translations/lt.json +1 -0
- homeassistant/components/random/translations/lt.json +1 -1
- homeassistant/components/risco/translations/lt.json +8 -0
- homeassistant/components/scrape/translations/lt.json +2 -1
- homeassistant/components/sensibo/translations/lt.json +5 -0
- homeassistant/components/sensor/translations/lt.json +5 -0
- homeassistant/components/somfy_mylink/translations/lt.json +4 -2
- homeassistant/components/sql/translations/lt.json +2 -1
- homeassistant/components/switchbot/translations/lt.json +3 -1
- homeassistant/components/tellduslive/translations/lt.json +4 -0
- homeassistant/components/template/translations/lt.json +40 -10
- homeassistant/components/teslemetry/translations/lt.json +1 -0
- homeassistant/components/tuya/translations/lt.json +5 -2
- homeassistant/components/unifiprotect/translations/lt.json +3 -0
- homeassistant/components/waze_travel_time/translations/lt.json +8 -0
- homeassistant/components/waze_travel_time/translations/nl.json +3 -0
- homeassistant/components/whois/translations/lt.json +1 -0
- homeassistant/components/xiaomi_ble/translations/lt.json +2 -1
- homeassistant/components/yalexs_ble/translations/cs.json +16 -1
- homeassistant/components/yalexs_ble/translations/el.json +11 -0
- homeassistant/components/yalexs_ble/translations/et.json +16 -1
- homeassistant/components/yalexs_ble/translations/lt.json +16 -1
- homeassistant/components/yalexs_ble/translations/pt.json +16 -1
- homeassistant/components/yalexs_ble/translations/sk.json +16 -1
- homeassistant/components/zwave_js/translations/lt.json +2 -0
- homeassistant/const.py +1 -1
- homeassistant/generated/config_flows.py +0 -1
- homeassistant/generated/integrations.json +0 -6
- homeassistant/package_constraints.txt +1 -1
- {homeassistant-2025.9.0b2.dist-info → homeassistant-2025.9.0b3.dist-info}/METADATA +1 -1
- {homeassistant-2025.9.0b2.dist-info → homeassistant-2025.9.0b3.dist-info}/RECORD +161 -205
- homeassistant/components/vulcan/__init__.py +0 -48
- homeassistant/components/vulcan/calendar.py +0 -176
- homeassistant/components/vulcan/config_flow.py +0 -327
- homeassistant/components/vulcan/const.py +0 -3
- homeassistant/components/vulcan/fetch_data.py +0 -98
- homeassistant/components/vulcan/manifest.json +0 -9
- homeassistant/components/vulcan/register.py +0 -12
- homeassistant/components/vulcan/strings.json +0 -62
- homeassistant/components/vulcan/translations/bg.json +0 -37
- homeassistant/components/vulcan/translations/ca.json +0 -59
- homeassistant/components/vulcan/translations/cs.json +0 -62
- homeassistant/components/vulcan/translations/de.json +0 -62
- homeassistant/components/vulcan/translations/el.json +0 -61
- homeassistant/components/vulcan/translations/en-GB.json +0 -62
- homeassistant/components/vulcan/translations/en.json +0 -62
- homeassistant/components/vulcan/translations/es.json +0 -62
- homeassistant/components/vulcan/translations/et.json +0 -62
- homeassistant/components/vulcan/translations/fi.json +0 -59
- homeassistant/components/vulcan/translations/fr.json +0 -61
- homeassistant/components/vulcan/translations/ga.json +0 -9
- homeassistant/components/vulcan/translations/gl.json +0 -7
- homeassistant/components/vulcan/translations/he.json +0 -29
- homeassistant/components/vulcan/translations/hu.json +0 -62
- homeassistant/components/vulcan/translations/id.json +0 -59
- homeassistant/components/vulcan/translations/it.json +0 -60
- homeassistant/components/vulcan/translations/ja.json +0 -62
- homeassistant/components/vulcan/translations/ko.json +0 -59
- homeassistant/components/vulcan/translations/lt.json +0 -62
- homeassistant/components/vulcan/translations/mk.json +0 -11
- homeassistant/components/vulcan/translations/nb.json +0 -59
- homeassistant/components/vulcan/translations/nl.json +0 -60
- homeassistant/components/vulcan/translations/pl.json +0 -57
- homeassistant/components/vulcan/translations/pt-BR.json +0 -58
- homeassistant/components/vulcan/translations/pt.json +0 -62
- homeassistant/components/vulcan/translations/ro.json +0 -45
- homeassistant/components/vulcan/translations/ru.json +0 -62
- homeassistant/components/vulcan/translations/sk.json +0 -62
- homeassistant/components/vulcan/translations/sl.json +0 -21
- homeassistant/components/vulcan/translations/sv.json +0 -62
- homeassistant/components/vulcan/translations/tr.json +0 -62
- homeassistant/components/vulcan/translations/uk.json +0 -52
- homeassistant/components/vulcan/translations/vi.json +0 -15
- homeassistant/components/vulcan/translations/zh-Hans.json +0 -62
- homeassistant/components/vulcan/translations/zh-Hant.json +0 -62
- {homeassistant-2025.9.0b2.dist-info → homeassistant-2025.9.0b3.dist-info}/WHEEL +0 -0
- {homeassistant-2025.9.0b2.dist-info → homeassistant-2025.9.0b3.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.9.0b2.dist-info → homeassistant-2025.9.0b3.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.9.0b2.dist-info → homeassistant-2025.9.0b3.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.9.0b2.dist-info → homeassistant-2025.9.0b3.dist-info}/top_level.txt +0 -0
|
@@ -65,6 +65,7 @@
|
|
|
65
65
|
"display_pm_standard": {
|
|
66
66
|
"name": "Ekrano kiet\u0173j\u0173 daleli\u0173 standartas",
|
|
67
67
|
"state": {
|
|
68
|
+
"ugm3": "\u03bcg/m\u00b3",
|
|
68
69
|
"us_aqi": "JAV AQI"
|
|
69
70
|
}
|
|
70
71
|
},
|
|
@@ -114,7 +115,7 @@
|
|
|
114
115
|
"display_pm_standard": {
|
|
115
116
|
"name": "Ekrano kiet\u0173j\u0173 daleli\u0173 standartas",
|
|
116
117
|
"state": {
|
|
117
|
-
"ugm3": "\
|
|
118
|
+
"ugm3": "\u03bcg/m\u00b3",
|
|
118
119
|
"us_aqi": "JAV AQI"
|
|
119
120
|
}
|
|
120
121
|
},
|
|
@@ -107,6 +107,56 @@
|
|
|
107
107
|
},
|
|
108
108
|
"invalid_device_id": {
|
|
109
109
|
"message": "Zad\u00e1no neplatn\u00e9 ID za\u0159\u00edzen\u00ed: {device_id}"
|
|
110
|
+
},
|
|
111
|
+
"invalid_sound_value": {
|
|
112
|
+
"message": "Zad\u00e1n neplatn\u00fd zvuk {sound}"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"selector": {
|
|
116
|
+
"sound": {
|
|
117
|
+
"options": {
|
|
118
|
+
"air_horn_03": "Houka\u010dka",
|
|
119
|
+
"amzn_sfx_cat_meow_1x_01": "Ko\u010di\u010d\u00ed m\u0148ouk\u00e1n\u00ed",
|
|
120
|
+
"amzn_sfx_church_bell_1x_02": "Kosteln\u00ed zvon",
|
|
121
|
+
"amzn_sfx_crowd_applause_01": "Potlesk davu",
|
|
122
|
+
"amzn_sfx_dog_med_bark_1x_02": "Ps\u00ed \u0161t\u011bk\u00e1n\u00ed",
|
|
123
|
+
"amzn_sfx_doorbell_01": "Domovn\u00ed zvonek 1",
|
|
124
|
+
"amzn_sfx_doorbell_chime_01": "Domovn\u00ed zvonek 2",
|
|
125
|
+
"amzn_sfx_doorbell_chime_02": "Domovn\u00ed zvonek 3",
|
|
126
|
+
"amzn_sfx_large_crowd_cheer_01": "J\u00e1sot davu",
|
|
127
|
+
"amzn_sfx_lion_roar_02": "Lv\u00ed \u0159ev",
|
|
128
|
+
"amzn_sfx_rooster_crow_01": "Kohout",
|
|
129
|
+
"amzn_sfx_scifi_alarm_01": "Sir\u00e9ny",
|
|
130
|
+
"amzn_sfx_scifi_alarm_04": "\u010cerven\u00fd poplach",
|
|
131
|
+
"amzn_sfx_scifi_engines_on_02": "Zapnut\u00e9 motory",
|
|
132
|
+
"amzn_sfx_scifi_sheilds_up_01": "\u0160t\u00edty nahoru",
|
|
133
|
+
"amzn_sfx_trumpet_bugle_04": "Trubka",
|
|
134
|
+
"amzn_sfx_wolf_howl_02": "Vl\u010d\u00ed vyt\u00ed",
|
|
135
|
+
"bell_02": "Zvonky",
|
|
136
|
+
"boing_01": "Boing 1",
|
|
137
|
+
"boing_03": "Boing 2",
|
|
138
|
+
"buzzers_pistols_01": "Bzu\u010d\u00e1k",
|
|
139
|
+
"camera_01": "Kamera",
|
|
140
|
+
"christmas_05": "V\u00e1no\u010dn\u00ed zvonky",
|
|
141
|
+
"clock_01": "Tikaj\u00edc\u00ed hodiny",
|
|
142
|
+
"futuristic_10": "Letadlo",
|
|
143
|
+
"halloween_bats": "Halloween\u0161t\u00ed netop\u00fd\u0159i",
|
|
144
|
+
"halloween_crows": "Halloweensk\u00e9 vr\u00e1ny",
|
|
145
|
+
"halloween_footsteps": "Halloweensk\u00e9 stra\u0161ideln\u00e9 kroky",
|
|
146
|
+
"halloween_wind": "Halloweensk\u00fd v\u00edtr",
|
|
147
|
+
"halloween_wolf": "Halloweensk\u00fd vlk",
|
|
148
|
+
"holiday_halloween_ghost": "Halloweensk\u00fd duch",
|
|
149
|
+
"horror_10": "Halloweensk\u00e9 stra\u0161ideln\u00e9 dve\u0159e",
|
|
150
|
+
"med_system_alerts_minimal_dragon_short": "P\u0159\u00e1telsk\u00fd drak",
|
|
151
|
+
"med_system_alerts_minimal_owl_short": "\u0160\u0165astn\u00e1 sova",
|
|
152
|
+
"med_system_alerts_minimals_blue_wave_small": "Son\u00e1ta podmo\u0159sk\u00e9ho sv\u011bta",
|
|
153
|
+
"med_system_alerts_minimals_galaxy_short": "Nekone\u010dn\u00e1 galaxie",
|
|
154
|
+
"med_system_alerts_minimals_panda_short": "Ml\u00e1d\u011b pandy",
|
|
155
|
+
"med_system_alerts_minimals_tiger_short": "Hrav\u00fd tygr",
|
|
156
|
+
"med_ui_success_generic_1-1": "\u00dasp\u011bch 1",
|
|
157
|
+
"squeaky_12": "Vrzaj\u00edc\u00ed dve\u0159e",
|
|
158
|
+
"zap_01": "Zap"
|
|
159
|
+
}
|
|
110
160
|
}
|
|
111
161
|
},
|
|
112
162
|
"services": {
|
|
@@ -112,6 +112,53 @@
|
|
|
112
112
|
"message": "Nurodytas neteisingas garsas {sound}"
|
|
113
113
|
}
|
|
114
114
|
},
|
|
115
|
+
"selector": {
|
|
116
|
+
"sound": {
|
|
117
|
+
"options": {
|
|
118
|
+
"air_horn_03": "Oro signalas",
|
|
119
|
+
"amzn_sfx_cat_meow_1x_01": "Kat\u0117s miauks\u0117jimas",
|
|
120
|
+
"amzn_sfx_church_bell_1x_02": "Ba\u017eny\u010dios varpas",
|
|
121
|
+
"amzn_sfx_crowd_applause_01": "Minios plojimai",
|
|
122
|
+
"amzn_sfx_dog_med_bark_1x_02": "\u0160uns lojimas",
|
|
123
|
+
"amzn_sfx_doorbell_01": "Dur\u0173 skambutis 1",
|
|
124
|
+
"amzn_sfx_doorbell_chime_01": "Dur\u0173 skambutis 2",
|
|
125
|
+
"amzn_sfx_doorbell_chime_02": "Dur\u0173 skambutis 3",
|
|
126
|
+
"amzn_sfx_large_crowd_cheer_01": "Minios plojimai",
|
|
127
|
+
"amzn_sfx_lion_roar_02": "Li\u016bto riaumojimas",
|
|
128
|
+
"amzn_sfx_rooster_crow_01": "Gaidys",
|
|
129
|
+
"amzn_sfx_scifi_alarm_01": "Sirenos",
|
|
130
|
+
"amzn_sfx_scifi_alarm_04": "Raudonas pavojaus signalas",
|
|
131
|
+
"amzn_sfx_scifi_engines_on_02": "\u012ejungti varikliai",
|
|
132
|
+
"amzn_sfx_scifi_sheilds_up_01": "Skydai \u012f vir\u0161\u0173",
|
|
133
|
+
"amzn_sfx_trumpet_bugle_04": "Trimitas",
|
|
134
|
+
"amzn_sfx_wolf_howl_02": "Vilko kaukimas",
|
|
135
|
+
"bell_02": "Varpai",
|
|
136
|
+
"boing_01": "Boing 1",
|
|
137
|
+
"boing_03": "Boing 2",
|
|
138
|
+
"buzzers_pistols_01": "Signalizatorius",
|
|
139
|
+
"camera_01": "Kamera",
|
|
140
|
+
"christmas_05": "Kal\u0117d\u0173 varpeliai",
|
|
141
|
+
"clock_01": "Tiksintis laikrodis",
|
|
142
|
+
"futuristic_10": "Orlaiviai",
|
|
143
|
+
"halloween_bats": "Helovino \u0161ik\u0161nosparniai",
|
|
144
|
+
"halloween_crows": "Helovino varnos",
|
|
145
|
+
"halloween_footsteps": "Helovino bais\u016bs \u017eingsniai",
|
|
146
|
+
"halloween_wind": "Helovino v\u0117jas",
|
|
147
|
+
"halloween_wolf": "Helovino vilkas",
|
|
148
|
+
"holiday_halloween_ghost": "Helovino vaiduoklis",
|
|
149
|
+
"horror_10": "Helovino baisios durys",
|
|
150
|
+
"med_system_alerts_minimal_dragon_short": "Draugi\u0161kas drakonas",
|
|
151
|
+
"med_system_alerts_minimal_owl_short": "Laiminga pel\u0117da",
|
|
152
|
+
"med_system_alerts_minimals_blue_wave_small": "Povandeninio pasaulio sonata",
|
|
153
|
+
"med_system_alerts_minimals_galaxy_short": "Begalin\u0117 galaktika",
|
|
154
|
+
"med_system_alerts_minimals_panda_short": "K\u016bdikis panda",
|
|
155
|
+
"med_system_alerts_minimals_tiger_short": "\u017daismingas tigras",
|
|
156
|
+
"med_ui_success_generic_1-1": "S\u0117km\u0117 1",
|
|
157
|
+
"squeaky_12": "Girg\u017edan\u010dios durys",
|
|
158
|
+
"zap_01": "Zap"
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
},
|
|
115
162
|
"services": {
|
|
116
163
|
"send_sound": {
|
|
117
164
|
"description": "Siun\u010dia gars\u0105 \u012f \u012frengin\u012f",
|
|
@@ -67,5 +67,22 @@
|
|
|
67
67
|
"name": "Niet storen"
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
+
},
|
|
71
|
+
"selector": {
|
|
72
|
+
"sound": {
|
|
73
|
+
"options": {
|
|
74
|
+
"amzn_sfx_doorbell_01": "Deurbel 1",
|
|
75
|
+
"amzn_sfx_doorbell_chime_01": "Deurbel 2",
|
|
76
|
+
"amzn_sfx_doorbell_chime_02": "Deurbel 3",
|
|
77
|
+
"amzn_sfx_scifi_alarm_01": "Sirenes",
|
|
78
|
+
"amzn_sfx_trumpet_bugle_04": "Trompet",
|
|
79
|
+
"bell_02": "Klokken",
|
|
80
|
+
"camera_01": "Camera",
|
|
81
|
+
"futuristic_10": "Vliegtuig",
|
|
82
|
+
"med_system_alerts_minimal_dragon_short": "Vriendelijke draak",
|
|
83
|
+
"med_system_alerts_minimal_owl_short": "Blije uil",
|
|
84
|
+
"med_system_alerts_minimals_panda_short": "Baby panda"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
70
87
|
}
|
|
71
88
|
}
|
|
@@ -107,6 +107,56 @@
|
|
|
107
107
|
},
|
|
108
108
|
"invalid_device_id": {
|
|
109
109
|
"message": "ID de dispositivo inv\u00e1lida especificada: {device_id}"
|
|
110
|
+
},
|
|
111
|
+
"invalid_sound_value": {
|
|
112
|
+
"message": "Som inv\u00e1lido {sound} especificado"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"selector": {
|
|
116
|
+
"sound": {
|
|
117
|
+
"options": {
|
|
118
|
+
"air_horn_03": "Buzina de ar",
|
|
119
|
+
"amzn_sfx_cat_meow_1x_01": "Miau de gato",
|
|
120
|
+
"amzn_sfx_church_bell_1x_02": "Sino da igreja",
|
|
121
|
+
"amzn_sfx_crowd_applause_01": "Aplausos da multid\u00e3o",
|
|
122
|
+
"amzn_sfx_dog_med_bark_1x_02": "Latido de c\u00e3o",
|
|
123
|
+
"amzn_sfx_doorbell_01": "Campainha 1",
|
|
124
|
+
"amzn_sfx_doorbell_chime_01": "Campainha 2",
|
|
125
|
+
"amzn_sfx_doorbell_chime_02": "Campainha 3",
|
|
126
|
+
"amzn_sfx_large_crowd_cheer_01": "A multid\u00e3o aplaude",
|
|
127
|
+
"amzn_sfx_lion_roar_02": "Rugido de le\u00e3o",
|
|
128
|
+
"amzn_sfx_rooster_crow_01": "Galo",
|
|
129
|
+
"amzn_sfx_scifi_alarm_01": "Sirenes",
|
|
130
|
+
"amzn_sfx_scifi_alarm_04": "Alerta vermelho",
|
|
131
|
+
"amzn_sfx_scifi_engines_on_02": "Motores ligados",
|
|
132
|
+
"amzn_sfx_scifi_sheilds_up_01": "Escudos levantados",
|
|
133
|
+
"amzn_sfx_trumpet_bugle_04": "Trompete",
|
|
134
|
+
"amzn_sfx_wolf_howl_02": "Uivo de lobo",
|
|
135
|
+
"bell_02": "Sinos",
|
|
136
|
+
"boing_01": "Boing 1",
|
|
137
|
+
"boing_03": "Boing 2",
|
|
138
|
+
"buzzers_pistols_01": "Campainha",
|
|
139
|
+
"camera_01": "C\u00e2mara",
|
|
140
|
+
"christmas_05": "Sinos de Natal",
|
|
141
|
+
"clock_01": "Rel\u00f3gio de ponto",
|
|
142
|
+
"futuristic_10": "Aeronaves",
|
|
143
|
+
"halloween_bats": "Morcegos de Halloween",
|
|
144
|
+
"halloween_crows": "Corvos de Halloween",
|
|
145
|
+
"halloween_footsteps": "Passos assustadores no Halloween",
|
|
146
|
+
"halloween_wind": "Vento de Halloween",
|
|
147
|
+
"halloween_wolf": "Lobo de Halloween",
|
|
148
|
+
"holiday_halloween_ghost": "Fantasma de Halloween",
|
|
149
|
+
"horror_10": "Porta assustadora de Halloween",
|
|
150
|
+
"med_system_alerts_minimal_dragon_short": "Drag\u00e3o amig\u00e1vel",
|
|
151
|
+
"med_system_alerts_minimal_owl_short": "Coruja feliz",
|
|
152
|
+
"med_system_alerts_minimals_blue_wave_small": "Sonata do mundo subaqu\u00e1tico",
|
|
153
|
+
"med_system_alerts_minimals_galaxy_short": "Gal\u00e1xia infinita",
|
|
154
|
+
"med_system_alerts_minimals_panda_short": "Beb\u00e9 panda",
|
|
155
|
+
"med_system_alerts_minimals_tiger_short": "Tigre brincalh\u00e3o",
|
|
156
|
+
"med_ui_success_generic_1-1": "Sucesso 1",
|
|
157
|
+
"squeaky_12": "Porta que range",
|
|
158
|
+
"zap_01": "Zap"
|
|
159
|
+
}
|
|
110
160
|
}
|
|
111
161
|
},
|
|
112
162
|
"services": {
|
|
@@ -107,6 +107,56 @@
|
|
|
107
107
|
},
|
|
108
108
|
"invalid_device_id": {
|
|
109
109
|
"message": "Zadan\u00e9 nespr\u00e1vne ID zariadenia: {device_id}"
|
|
110
|
+
},
|
|
111
|
+
"invalid_sound_value": {
|
|
112
|
+
"message": "Zadan\u00fd neplatn\u00fd zvuk {sound} "
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"selector": {
|
|
116
|
+
"sound": {
|
|
117
|
+
"options": {
|
|
118
|
+
"air_horn_03": "Vzduchov\u00fd klaks\u00f3n",
|
|
119
|
+
"amzn_sfx_cat_meow_1x_01": "M\u0148aukanie ma\u010dky",
|
|
120
|
+
"amzn_sfx_church_bell_1x_02": "Kostoln\u00fd zvon",
|
|
121
|
+
"amzn_sfx_crowd_applause_01": "Potlesk davu",
|
|
122
|
+
"amzn_sfx_dog_med_bark_1x_02": "\u0160tekot psa",
|
|
123
|
+
"amzn_sfx_doorbell_01": "Zvon\u010dek 1",
|
|
124
|
+
"amzn_sfx_doorbell_chime_01": "Zvon\u010dek 2",
|
|
125
|
+
"amzn_sfx_doorbell_chime_02": "Zvon\u010dek 3",
|
|
126
|
+
"amzn_sfx_large_crowd_cheer_01": "Dav jas\u00e1",
|
|
127
|
+
"amzn_sfx_lion_roar_02": "Lev\u00ed rev",
|
|
128
|
+
"amzn_sfx_rooster_crow_01": "Koh\u00fat",
|
|
129
|
+
"amzn_sfx_scifi_alarm_01": "Sir\u00e9ny",
|
|
130
|
+
"amzn_sfx_scifi_alarm_04": "\u010cerven\u00fd poplach",
|
|
131
|
+
"amzn_sfx_scifi_engines_on_02": "Motory zapnut\u00e9",
|
|
132
|
+
"amzn_sfx_scifi_sheilds_up_01": "\u0160t\u00edty hore",
|
|
133
|
+
"amzn_sfx_trumpet_bugle_04": "Tr\u00fabka",
|
|
134
|
+
"amzn_sfx_wolf_howl_02": "Vytie vlka",
|
|
135
|
+
"bell_02": "Zvony",
|
|
136
|
+
"boing_01": "Boing 1",
|
|
137
|
+
"boing_03": "Boing 2",
|
|
138
|
+
"buzzers_pistols_01": "Bzu\u010diak",
|
|
139
|
+
"camera_01": "Kamera",
|
|
140
|
+
"christmas_05": "Viano\u010dn\u00e9 zvon\u010deky",
|
|
141
|
+
"clock_01": "Tikaj\u00face hodiny",
|
|
142
|
+
"futuristic_10": "Lietadlo",
|
|
143
|
+
"halloween_bats": "Halloween netopiere",
|
|
144
|
+
"halloween_crows": "Halloweenske vrany",
|
|
145
|
+
"halloween_footsteps": "Stra\u0161ideln\u00e9 halloweenske kroky",
|
|
146
|
+
"halloween_wind": "Halloween vietor",
|
|
147
|
+
"halloween_wolf": "Halloween vlk",
|
|
148
|
+
"holiday_halloween_ghost": "Halloween duch",
|
|
149
|
+
"horror_10": "Halloween stra\u0161ideln\u00e9 dvere",
|
|
150
|
+
"med_system_alerts_minimal_dragon_short": "Priate\u013esk\u00fd drak",
|
|
151
|
+
"med_system_alerts_minimal_owl_short": "\u0160\u0165astn\u00e1 sova",
|
|
152
|
+
"med_system_alerts_minimals_blue_wave_small": "Son\u00e1ta podmorsk\u00e9ho sveta",
|
|
153
|
+
"med_system_alerts_minimals_galaxy_short": "Nekone\u010dn\u00e1 galaxia",
|
|
154
|
+
"med_system_alerts_minimals_panda_short": "Ml\u00e1\u010fa pandy",
|
|
155
|
+
"med_system_alerts_minimals_tiger_short": "Hrav\u00fd tiger",
|
|
156
|
+
"med_ui_success_generic_1-1": "\u00daspech 1",
|
|
157
|
+
"squeaky_12": "V\u0155zgaj\u00face dvere",
|
|
158
|
+
"zap_01": "Zap"
|
|
159
|
+
}
|
|
110
160
|
}
|
|
111
161
|
},
|
|
112
162
|
"services": {
|
|
@@ -93,6 +93,7 @@
|
|
|
93
93
|
}
|
|
94
94
|
},
|
|
95
95
|
"preset1": {
|
|
96
|
+
"name": "M\u0117gstamiausias 1",
|
|
96
97
|
"state_attributes": {
|
|
97
98
|
"event_type": {
|
|
98
99
|
"state": {
|
|
@@ -106,6 +107,7 @@
|
|
|
106
107
|
}
|
|
107
108
|
},
|
|
108
109
|
"preset2": {
|
|
110
|
+
"name": "M\u0117gstamiausias 2",
|
|
109
111
|
"state_attributes": {
|
|
110
112
|
"event_type": {
|
|
111
113
|
"state": {
|
|
@@ -119,6 +121,7 @@
|
|
|
119
121
|
}
|
|
120
122
|
},
|
|
121
123
|
"preset3": {
|
|
124
|
+
"name": "M\u0117gstamiausias 3",
|
|
122
125
|
"state_attributes": {
|
|
123
126
|
"event_type": {
|
|
124
127
|
"state": {
|
|
@@ -132,6 +135,7 @@
|
|
|
132
135
|
}
|
|
133
136
|
},
|
|
134
137
|
"preset4": {
|
|
138
|
+
"name": "M\u0117gstamiausias 4",
|
|
135
139
|
"state_attributes": {
|
|
136
140
|
"event_type": {
|
|
137
141
|
"state": {
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
},
|
|
97
97
|
"numeric_state": {
|
|
98
98
|
"title": "[%key:component::bayesian::config_subentries::observation::step::state::title%]",
|
|
99
|
-
"description": "[%key:component::bayesian::config_subentries::observation::step::
|
|
99
|
+
"description": "[%key:component::bayesian::config_subentries::observation::step::numeric_state::description%]",
|
|
100
100
|
"data": {
|
|
101
101
|
"name": "[%key:common::config_flow::data::name%]",
|
|
102
102
|
"entity_id": "[%key:component::bayesian::config_subentries::observation::step::state::data::entity_id%]",
|
|
@@ -21,7 +21,9 @@
|
|
|
21
21
|
},
|
|
22
22
|
"data_description": {
|
|
23
23
|
"above": "Pasirinktinai \u2013 apatin\u0117 skaitinio diapazono riba. Tiksliai \u0161i\u0105 reik\u0161m\u0119 atitinkan\u010dios reik\u0161m\u0117s nebus skai\u010diuojamos.",
|
|
24
|
-
"below": "Pasirinktinai \u2013 vir\u0161utin\u0117 skaitinio diapazono riba. Tiksliai \u0161i\u0105 rib\u0105 atitinkan\u010dios reik\u0161m\u0117s bus skai\u010diuojamos tik tuo atveju, jei tam pa\u010diam objektui sukonfig\u016bruotas daugiau nei vienas diapazonas."
|
|
24
|
+
"below": "Pasirinktinai \u2013 vir\u0161utin\u0117 skaitinio diapazono riba. Tiksliai \u0161i\u0105 rib\u0105 atitinkan\u010dios reik\u0161m\u0117s bus skai\u010diuojamos tik tuo atveju, jei tam pa\u010diam objektui sukonfig\u016bruotas daugiau nei vienas diapazonas.",
|
|
25
|
+
"entity_id": "Objektas, susij\u0119s su ` {parent_sensor_name} `.",
|
|
26
|
+
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje."
|
|
25
27
|
},
|
|
26
28
|
"description": "Prid\u0117kite steb\u0117jim\u0105, kuris \u012fvertinamas kaip 'Teisinga', kai skaitmeninis jutiklis yra pasirinktame diapazone.",
|
|
27
29
|
"title": "Prid\u0117ti Bajeso jutikl\u012f"
|
|
@@ -41,7 +43,12 @@
|
|
|
41
43
|
"entity_id": "Subjektas",
|
|
42
44
|
"name": "Vardas",
|
|
43
45
|
"prob_given_false": "Tikimyb\u0117, kai {parent_sensor_name} yra {device_class_off}",
|
|
44
|
-
"prob_given_true": "Tikimyb\u0117, kada {parent_sensor_name} yra {device_class_on}"
|
|
46
|
+
"prob_given_true": "Tikimyb\u0117, kada {parent_sensor_name} yra {device_class_on}",
|
|
47
|
+
"to_state": "Nurodyti"
|
|
48
|
+
},
|
|
49
|
+
"data_description": {
|
|
50
|
+
"entity_id": "Objektas, susij\u0119s su ` {parent_sensor_name} `.",
|
|
51
|
+
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje."
|
|
45
52
|
},
|
|
46
53
|
"title": "Prid\u0117ti Bajeso jutikl\u012f"
|
|
47
54
|
},
|
|
@@ -53,6 +60,7 @@
|
|
|
53
60
|
"value_template": "\u0160ablonas"
|
|
54
61
|
},
|
|
55
62
|
"data_description": {
|
|
63
|
+
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje.",
|
|
56
64
|
"value_template": "\u0160ablonas, kuris \u012fvertinamas kaip 'Teisinga', atitinkamai atnaujins ankstesn\u012f, \u0160ablonas, pateikiantis 'Klaidinga' arba 'N\u0117ra', atnaujins ankstesn\u012f su atvirk\u0161tin\u0117mis tikimyb\u0117mis. \u0160ablonas, pateikiantis klaid\u0105, tikimybi\u0173 neatnaujins. Rezultatai priversti b\u016bti 'teisingi' arba 'klaidingi'"
|
|
57
65
|
},
|
|
58
66
|
"description": "Prid\u0117kite pasirinktin\u012f steb\u0117jim\u0105, kuris \u012fvertina, ar \u0161ablonas stebimas ('Teisinga'), ar ne ('Klaidingas').",
|
|
@@ -103,7 +111,9 @@
|
|
|
103
111
|
},
|
|
104
112
|
"data_description": {
|
|
105
113
|
"above": "Pasirinktinai \u2013 apatin\u0117 skaitinio diapazono riba. Tiksliai \u0161i\u0105 reik\u0161m\u0119 atitinkan\u010dios reik\u0161m\u0117s nebus skai\u010diuojamos.",
|
|
106
|
-
"below": "Pasirinktinai \u2013 vir\u0161utin\u0117 skaitinio diapazono riba. Tiksliai \u0161i\u0105 rib\u0105 atitinkan\u010dios reik\u0161m\u0117s bus skai\u010diuojamos tik tuo atveju, jei tam pa\u010diam objektui sukonfig\u016bruotas daugiau nei vienas diapazonas."
|
|
114
|
+
"below": "Pasirinktinai \u2013 vir\u0161utin\u0117 skaitinio diapazono riba. Tiksliai \u0161i\u0105 rib\u0105 atitinkan\u010dios reik\u0161m\u0117s bus skai\u010diuojamos tik tuo atveju, jei tam pa\u010diam objektui sukonfig\u016bruotas daugiau nei vienas diapazonas.",
|
|
115
|
+
"entity_id": "Objektas, susij\u0119s su ` {parent_sensor_name} `.",
|
|
116
|
+
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje."
|
|
107
117
|
},
|
|
108
118
|
"description": "Prid\u0117kite steb\u0117jim\u0105, kuris \u012fvertinamas kaip 'Teisinga', kai skaitmeninis jutiklis yra pasirinktame diapazone.",
|
|
109
119
|
"title": "Prid\u0117ti Bajeso jutikl\u012f"
|
|
@@ -116,11 +126,14 @@
|
|
|
116
126
|
"name": "Vardas",
|
|
117
127
|
"prob_given_false": "Tikimyb\u0117, kai {parent_sensor_name} yra {device_class_off}",
|
|
118
128
|
"prob_given_true": "Tikimyb\u0117, kada {parent_sensor_name} yra {device_class_on}",
|
|
129
|
+
"to_state": "Nurodyti",
|
|
119
130
|
"value_template": "\u0160ablonas"
|
|
120
131
|
},
|
|
121
132
|
"data_description": {
|
|
122
133
|
"above": "Pasirinktinai \u2013 apatin\u0117 skaitinio diapazono riba. Tiksliai \u0161i\u0105 reik\u0161m\u0119 atitinkan\u010dios reik\u0161m\u0117s nebus skai\u010diuojamos.",
|
|
123
134
|
"below": "Pasirinktinai \u2013 vir\u0161utin\u0117 skaitinio diapazono riba. Tiksliai \u0161i\u0105 rib\u0105 atitinkan\u010dios reik\u0161m\u0117s bus skai\u010diuojamos tik tuo atveju, jei tam pa\u010diam objektui sukonfig\u016bruotas daugiau nei vienas diapazonas.",
|
|
135
|
+
"entity_id": "Objektas, susij\u0119s su ` {parent_sensor_name} `.",
|
|
136
|
+
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje.",
|
|
124
137
|
"value_template": "\u0160ablonas, kuris \u012fvertinamas kaip 'Teisinga', atitinkamai atnaujins ankstesn\u012f, \u0160ablonas, pateikiantis 'Klaidinga' arba 'N\u0117ra', atnaujins ankstesn\u012f su atvirk\u0161tin\u0117mis tikimyb\u0117mis. \u0160ablonas, pateikiantis klaid\u0105, tikimybi\u0173 neatnaujins. Rezultatai priversti b\u016bti 'teisingi' arba 'klaidingi'"
|
|
125
138
|
},
|
|
126
139
|
"title": "Redaguoti steb\u0117jim\u0105"
|
|
@@ -130,7 +143,12 @@
|
|
|
130
143
|
"entity_id": "Subjektas",
|
|
131
144
|
"name": "Vardas",
|
|
132
145
|
"prob_given_false": "Tikimyb\u0117, kai {parent_sensor_name} yra {device_class_off}",
|
|
133
|
-
"prob_given_true": "Tikimyb\u0117, kada {parent_sensor_name} yra {device_class_on}"
|
|
146
|
+
"prob_given_true": "Tikimyb\u0117, kada {parent_sensor_name} yra {device_class_on}",
|
|
147
|
+
"to_state": "Nurodyti"
|
|
148
|
+
},
|
|
149
|
+
"data_description": {
|
|
150
|
+
"entity_id": "Objektas, susij\u0119s su ` {parent_sensor_name} `.",
|
|
151
|
+
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje."
|
|
134
152
|
},
|
|
135
153
|
"title": "Prid\u0117ti Bajeso jutikl\u012f"
|
|
136
154
|
},
|
|
@@ -142,6 +160,7 @@
|
|
|
142
160
|
"value_template": "\u0160ablonas"
|
|
143
161
|
},
|
|
144
162
|
"data_description": {
|
|
163
|
+
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje.",
|
|
145
164
|
"value_template": "\u0160ablonas, kuris \u012fvertinamas kaip 'Teisinga', atitinkamai atnaujins ankstesn\u012f, \u0160ablonas, pateikiantis 'Klaidinga' arba 'N\u0117ra', atnaujins ankstesn\u012f su atvirk\u0161tin\u0117mis tikimyb\u0117mis. \u0160ablonas, pateikiantis klaid\u0105, tikimybi\u0173 neatnaujins. Rezultatai priversti b\u016bti 'teisingi' arba 'klaidingi'"
|
|
146
165
|
},
|
|
147
166
|
"description": "Prid\u0117kite pasirinktin\u012f steb\u0117jim\u0105, kuris \u012fvertina, ar \u0161ablonas stebimas ('Teisinga'), ar ne ('Klaidingas').",
|
|
@@ -81,11 +81,15 @@ class BSBLANClimate(BSBLanEntity, ClimateEntity):
|
|
|
81
81
|
@property
|
|
82
82
|
def current_temperature(self) -> float | None:
|
|
83
83
|
"""Return the current temperature."""
|
|
84
|
+
if self.coordinator.data.state.current_temperature is None:
|
|
85
|
+
return None
|
|
84
86
|
return self.coordinator.data.state.current_temperature.value
|
|
85
87
|
|
|
86
88
|
@property
|
|
87
89
|
def target_temperature(self) -> float | None:
|
|
88
90
|
"""Return the temperature we try to reach."""
|
|
91
|
+
if self.coordinator.data.state.target_temperature is None:
|
|
92
|
+
return None
|
|
89
93
|
return self.coordinator.data.state.target_temperature.value
|
|
90
94
|
|
|
91
95
|
@property
|
|
@@ -25,7 +25,7 @@ class BSBLANFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
|
25
25
|
|
|
26
26
|
def __init__(self) -> None:
|
|
27
27
|
"""Initialize BSBLan flow."""
|
|
28
|
-
self.host: str
|
|
28
|
+
self.host: str = ""
|
|
29
29
|
self.port: int = DEFAULT_PORT
|
|
30
30
|
self.mac: str | None = None
|
|
31
31
|
self.passkey: str | None = None
|
|
@@ -28,6 +28,7 @@ class BSBLanSensorEntityDescription(SensorEntityDescription):
|
|
|
28
28
|
"""Describes BSB-Lan sensor entity."""
|
|
29
29
|
|
|
30
30
|
value_fn: Callable[[BSBLanCoordinatorData], StateType]
|
|
31
|
+
exists_fn: Callable[[BSBLanCoordinatorData], bool] = lambda data: True
|
|
31
32
|
|
|
32
33
|
|
|
33
34
|
SENSOR_TYPES: tuple[BSBLanSensorEntityDescription, ...] = (
|
|
@@ -37,7 +38,12 @@ SENSOR_TYPES: tuple[BSBLanSensorEntityDescription, ...] = (
|
|
|
37
38
|
device_class=SensorDeviceClass.TEMPERATURE,
|
|
38
39
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
|
39
40
|
state_class=SensorStateClass.MEASUREMENT,
|
|
40
|
-
value_fn=lambda data:
|
|
41
|
+
value_fn=lambda data: (
|
|
42
|
+
data.sensor.current_temperature.value
|
|
43
|
+
if data.sensor.current_temperature is not None
|
|
44
|
+
else None
|
|
45
|
+
),
|
|
46
|
+
exists_fn=lambda data: data.sensor.current_temperature is not None,
|
|
41
47
|
),
|
|
42
48
|
BSBLanSensorEntityDescription(
|
|
43
49
|
key="outside_temperature",
|
|
@@ -45,7 +51,12 @@ SENSOR_TYPES: tuple[BSBLanSensorEntityDescription, ...] = (
|
|
|
45
51
|
device_class=SensorDeviceClass.TEMPERATURE,
|
|
46
52
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
|
47
53
|
state_class=SensorStateClass.MEASUREMENT,
|
|
48
|
-
value_fn=lambda data:
|
|
54
|
+
value_fn=lambda data: (
|
|
55
|
+
data.sensor.outside_temperature.value
|
|
56
|
+
if data.sensor.outside_temperature is not None
|
|
57
|
+
else None
|
|
58
|
+
),
|
|
59
|
+
exists_fn=lambda data: data.sensor.outside_temperature is not None,
|
|
49
60
|
),
|
|
50
61
|
)
|
|
51
62
|
|
|
@@ -57,7 +68,16 @@ async def async_setup_entry(
|
|
|
57
68
|
) -> None:
|
|
58
69
|
"""Set up BSB-Lan sensor based on a config entry."""
|
|
59
70
|
data = entry.runtime_data
|
|
60
|
-
|
|
71
|
+
|
|
72
|
+
# Only create sensors for available data points
|
|
73
|
+
entities = [
|
|
74
|
+
BSBLanSensor(data, description)
|
|
75
|
+
for description in SENSOR_TYPES
|
|
76
|
+
if description.exists_fn(data.coordinator.data)
|
|
77
|
+
]
|
|
78
|
+
|
|
79
|
+
if entities:
|
|
80
|
+
async_add_entities(entities)
|
|
61
81
|
|
|
62
82
|
|
|
63
83
|
class BSBLanSensor(BSBLanEntity, SensorEntity):
|
|
@@ -41,6 +41,18 @@ async def async_setup_entry(
|
|
|
41
41
|
) -> None:
|
|
42
42
|
"""Set up BSBLAN water heater based on a config entry."""
|
|
43
43
|
data = entry.runtime_data
|
|
44
|
+
|
|
45
|
+
# Only create water heater entity if DHW (Domestic Hot Water) is available
|
|
46
|
+
# Check if we have any DHW-related data indicating water heater support
|
|
47
|
+
dhw_data = data.coordinator.data.dhw
|
|
48
|
+
if (
|
|
49
|
+
dhw_data.operating_mode is None
|
|
50
|
+
and dhw_data.nominal_setpoint is None
|
|
51
|
+
and dhw_data.dhw_actual_value_top_temperature is None
|
|
52
|
+
):
|
|
53
|
+
# No DHW functionality available, skip water heater setup
|
|
54
|
+
return
|
|
55
|
+
|
|
44
56
|
async_add_entities([BSBLANWaterHeater(data)])
|
|
45
57
|
|
|
46
58
|
|
|
@@ -61,23 +73,31 @@ class BSBLANWaterHeater(BSBLanEntity, WaterHeaterEntity):
|
|
|
61
73
|
|
|
62
74
|
# Set temperature limits based on device capabilities
|
|
63
75
|
self._attr_temperature_unit = data.coordinator.client.get_temperature_unit
|
|
64
|
-
|
|
65
|
-
|
|
76
|
+
if data.coordinator.data.dhw.reduced_setpoint is not None:
|
|
77
|
+
self._attr_min_temp = data.coordinator.data.dhw.reduced_setpoint.value
|
|
78
|
+
if data.coordinator.data.dhw.nominal_setpoint_max is not None:
|
|
79
|
+
self._attr_max_temp = data.coordinator.data.dhw.nominal_setpoint_max.value
|
|
66
80
|
|
|
67
81
|
@property
|
|
68
82
|
def current_operation(self) -> str | None:
|
|
69
83
|
"""Return current operation."""
|
|
84
|
+
if self.coordinator.data.dhw.operating_mode is None:
|
|
85
|
+
return None
|
|
70
86
|
current_mode = self.coordinator.data.dhw.operating_mode.desc
|
|
71
87
|
return OPERATION_MODES.get(current_mode)
|
|
72
88
|
|
|
73
89
|
@property
|
|
74
90
|
def current_temperature(self) -> float | None:
|
|
75
91
|
"""Return the current temperature."""
|
|
92
|
+
if self.coordinator.data.dhw.dhw_actual_value_top_temperature is None:
|
|
93
|
+
return None
|
|
76
94
|
return self.coordinator.data.dhw.dhw_actual_value_top_temperature.value
|
|
77
95
|
|
|
78
96
|
@property
|
|
79
97
|
def target_temperature(self) -> float | None:
|
|
80
98
|
"""Return the temperature we try to reach."""
|
|
99
|
+
if self.coordinator.data.dhw.nominal_setpoint is None:
|
|
100
|
+
return None
|
|
81
101
|
return self.coordinator.data.dhw.nominal_setpoint.value
|
|
82
102
|
|
|
83
103
|
async def async_set_temperature(self, **kwargs: Any) -> None:
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"password": "Slapta\u017eodis"
|
|
27
27
|
},
|
|
28
28
|
"data_description": {
|
|
29
|
+
"ip_address": "J\u016bs\u0173 devolo Home Network \u012frenginio IP adresas. J\u012f galite rasti devolo Home Network program\u0117l\u0117je \u012frenginio valdymo skydelyje.",
|
|
29
30
|
"password": "Slapta\u017eodis, kuriuo apsaugojote \u012frengin\u012f."
|
|
30
31
|
},
|
|
31
32
|
"description": "Ar norite prad\u0117ti s\u0105rank\u0105?"
|
|
@@ -103,6 +104,9 @@
|
|
|
103
104
|
"no_response": {
|
|
104
105
|
"message": "Prietaisas {title} neatsak\u0117"
|
|
105
106
|
},
|
|
107
|
+
"password_protected": {
|
|
108
|
+
"message": "\u012erenginys {title} reikalauja pakartotinio autentifikavimo, kad b\u016bt\u0173 galima nustatyti arba pakeisti slapta\u017eod\u012f."
|
|
109
|
+
},
|
|
106
110
|
"password_wrong": {
|
|
107
111
|
"message": "Naudotas slapta\u017eodis neteisingas"
|
|
108
112
|
},
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"services": {
|
|
3
3
|
"order": {
|
|
4
|
+
"description": "Pateikia u\u017esakym\u0173 rinkin\u012f Domino's Pizza.",
|
|
4
5
|
"fields": {
|
|
5
6
|
"order_entity_id": {
|
|
7
|
+
"description": "Pateikiamo u\u017esakymo ID (kaip nurodyta konfig\u016bracijoje). Jei pateikiamas kaip masyvas, bus pateikti visi identifikuoti u\u017esakymai.",
|
|
6
8
|
"name": "U\u017esakymo subjektas"
|
|
7
9
|
}
|
|
8
10
|
},
|
|
@@ -262,6 +262,7 @@
|
|
|
262
262
|
},
|
|
263
263
|
"issues": {
|
|
264
264
|
"cannot_subscribe_mqtt_topic": {
|
|
265
|
+
"description": "DSMR Reader integracija negali u\u017esiprenumeruoti MQTT temos: ` {topic} `. Patikrinkite MQTT tarpininko ir temos konfig\u016bracij\u0105. \n Prie\u0161 pradedant \u0161i\u0105 integracij\u0105, turi b\u016bti paleista DSMR Reader.",
|
|
265
266
|
"title": "Negaliu prenumeruoti MQTT temos {topic_title}"
|
|
266
267
|
}
|
|
267
268
|
}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
"already_in_progress": "Konfig\u016bracijos procesas jau vyksta",
|
|
6
6
|
"ignore_ip6_link_local": "IPv6 saito vietinis adresas nepalaikomas.",
|
|
7
7
|
"no_devices_found": "Tinkle nerasta joki\u0173 prietais\u0173",
|
|
8
|
+
"not_supported": "Prijungta prie FRITZ!Box, bet negali valdyti i\u0161mani\u0173j\u0173 nam\u0173 \u012frengini\u0173.",
|
|
8
9
|
"reauth_successful": "Pakartotinis autentifikavimas buvo s\u0117kmingas",
|
|
9
10
|
"reconfigure_successful": "Pakartotinis konfig\u016bravimas buvo s\u0117kmingas"
|
|
10
11
|
},
|
|
@@ -45,7 +46,8 @@
|
|
|
45
46
|
},
|
|
46
47
|
"data_description": {
|
|
47
48
|
"host": "J\u016bs\u0173 FRITZ!Box mar\u0161rutizatoriaus pagrindinio kompiuterio pavadinimas arba IP adresas."
|
|
48
|
-
}
|
|
49
|
+
},
|
|
50
|
+
"description": "\u012eveskite savo FRITZ!Box informacij\u0105."
|
|
49
51
|
}
|
|
50
52
|
}
|
|
51
53
|
},
|