homeassistant 2025.8.0b2__py3-none-any.whl → 2025.8.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.
- homeassistant/components/airos/config_flow.py +9 -9
- homeassistant/components/airos/coordinator.py +11 -7
- homeassistant/components/airos/manifest.json +1 -1
- homeassistant/components/airos/sensor.py +0 -7
- homeassistant/components/airos/strings.json +0 -7
- homeassistant/components/airos/translations/bg.json +0 -7
- homeassistant/components/airos/translations/cs.json +0 -7
- homeassistant/components/airos/translations/de.json +0 -7
- homeassistant/components/airos/translations/en-GB.json +0 -7
- homeassistant/components/airos/translations/en.json +0 -7
- homeassistant/components/airos/translations/es.json +0 -7
- homeassistant/components/airos/translations/et.json +0 -7
- homeassistant/components/airos/translations/ga.json +0 -7
- homeassistant/components/airos/translations/he.json +29 -0
- homeassistant/components/airos/translations/sk.json +25 -6
- homeassistant/components/airos/translations/zh-Hans.json +0 -7
- homeassistant/components/airos/translations/zh-Hant.json +0 -7
- homeassistant/components/airthings/__init__.py +2 -5
- homeassistant/components/airthings/coordinator.py +10 -1
- homeassistant/components/alert/translations/he.json +1 -1
- homeassistant/components/alexa_devices/translations/es.json +192 -1
- homeassistant/components/alexa_devices/translations/sk.json +134 -1
- homeassistant/components/ambient_station/translations/ga.json +12 -0
- homeassistant/components/androidtv_remote/translations/sl.json +2 -1
- homeassistant/components/anova/translations/he.json +1 -1
- homeassistant/components/apcupsd/translations/ga.json +50 -0
- homeassistant/components/aprilaire/translations/he.json +4 -4
- homeassistant/components/assist_satellite/translations/he.json +1 -1
- homeassistant/components/asuswrt/router.py +12 -3
- homeassistant/components/backup/translations/he.json +1 -1
- homeassistant/components/bluemaestro/translations/ga.json +9 -0
- homeassistant/components/bmw_connected_drive/translations/ga.json +1 -0
- homeassistant/components/broadlink/updater.py +1 -0
- homeassistant/components/caldav/manifest.json +1 -1
- homeassistant/components/camera/translations/he.json +1 -1
- homeassistant/components/climate/translations/he.json +1 -1
- homeassistant/components/cloud/manifest.json +1 -1
- homeassistant/components/cloud/translations/ga.json +4 -0
- homeassistant/components/deluge/translations/he.json +1 -1
- homeassistant/components/downloader/translations/ga.json +3 -0
- homeassistant/components/ecovacs/manifest.json +1 -1
- homeassistant/components/ecovacs/translations/ga.json +23 -0
- homeassistant/components/ecovacs/translations/he.json +1 -1
- homeassistant/components/emoncms/translations/es.json +8 -0
- homeassistant/components/energy/translations/sl.json +4 -0
- homeassistant/components/enphase_envoy/translations/he.json +1 -1
- homeassistant/components/flexit_bacnet/translations/ga.json +33 -0
- homeassistant/components/fritzbox_callmonitor/translations/he.json +1 -1
- homeassistant/components/fronius/__init__.py +6 -0
- homeassistant/components/fronius/translations/he.json +1 -1
- homeassistant/components/glances/translations/ga.json +18 -0
- homeassistant/components/group/translations/he.json +18 -0
- homeassistant/components/hassio/strings.json +4 -0
- homeassistant/components/hassio/translations/de.json +5 -1
- homeassistant/components/hassio/translations/el.json +4 -0
- homeassistant/components/hassio/translations/en.json +4 -0
- homeassistant/components/hassio/translations/es.json +4 -0
- homeassistant/components/hassio/translations/et.json +4 -0
- homeassistant/components/hassio/translations/he.json +4 -0
- homeassistant/components/hassio/translations/lt.json +4 -0
- homeassistant/components/hassio/translations/zh-Hant.json +4 -0
- homeassistant/components/homeassistant/translations/ga.json +3 -0
- homeassistant/components/homekit_controller/translations/he.json +1 -1
- homeassistant/components/hue/v1/light.py +2 -0
- homeassistant/components/hue/v1/sensor_base.py +1 -0
- homeassistant/components/humidifier/translations/he.json +1 -1
- homeassistant/components/husqvarna_automower/manifest.json +1 -1
- homeassistant/components/husqvarna_automower/sensor.py +3 -4
- homeassistant/components/husqvarna_automower/translations/ga.json +10 -0
- homeassistant/components/husqvarna_automower/translations/he.json +5 -0
- homeassistant/components/imap/translations/ga.json +20 -0
- homeassistant/components/ipp/translations/he.json +1 -1
- homeassistant/components/iron_os/translations/he.json +1 -1
- homeassistant/components/ituran/translations/he.json +3 -0
- homeassistant/components/knx/manifest.json +1 -1
- homeassistant/components/knx/translations/zh-Hant.json +1 -1
- homeassistant/components/kraken/__init__.py +1 -0
- homeassistant/components/lg_netcast/translations/ga.json +14 -0
- homeassistant/components/lg_thinq/translations/he.json +2 -1
- homeassistant/components/matter/number.py +3 -1
- homeassistant/components/matter/translations/he.json +6 -0
- homeassistant/components/mealie/manifest.json +1 -1
- homeassistant/components/mealie/todo.py +3 -2
- homeassistant/components/media_extractor/manifest.json +1 -1
- homeassistant/components/media_player/translations/he.json +1 -1
- homeassistant/components/meteo_france/__init__.py +3 -0
- homeassistant/components/microbees/translations/ga.json +2 -1
- homeassistant/components/miele/translations/es.json +46 -1
- homeassistant/components/miele/translations/ga.json +1 -0
- homeassistant/components/miele/translations/he.json +32 -1
- homeassistant/components/miele/translations/lt.json +13 -1
- homeassistant/components/miele/translations/sk.json +22 -1
- homeassistant/components/mill/__init__.py +1 -0
- homeassistant/components/mill/coordinator.py +2 -0
- homeassistant/components/modbus/translations/ga.json +8 -0
- homeassistant/components/motionblinds_ble/translations/ga.json +25 -0
- homeassistant/components/mqtt/translations/el.json +1 -0
- homeassistant/components/mqtt/translations/es.json +39 -5
- homeassistant/components/mqtt/translations/he.json +67 -0
- homeassistant/components/mqtt/translations/lt.json +1 -0
- homeassistant/components/mqtt/translations/sk.json +1 -0
- homeassistant/components/mqtt/translations/sl.json +5 -0
- homeassistant/components/mqtt/translations/zh-Hant.json +45 -45
- homeassistant/components/mystrom/translations/ga.json +9 -0
- homeassistant/components/open_router/translations/he.json +10 -0
- homeassistant/components/openweathermap/translations/he.json +2 -1
- homeassistant/components/oralb/translations/ga.json +21 -0
- homeassistant/components/playstation_network/translations/es.json +27 -0
- homeassistant/components/playstation_network/translations/he.json +8 -0
- homeassistant/components/proximity/translations/ga.json +40 -0
- homeassistant/components/prusalink/translations/he.json +1 -1
- homeassistant/components/qbittorrent/translations/he.json +1 -1
- homeassistant/components/qnap/translations/ga.json +12 -0
- homeassistant/components/random/translations/el.json +2 -0
- homeassistant/components/random/translations/es.json +2 -0
- homeassistant/components/random/translations/he.json +2 -0
- homeassistant/components/random/translations/lt.json +1 -0
- homeassistant/components/random/translations/sk.json +1 -0
- homeassistant/components/remote_calendar/coordinator.py +1 -0
- homeassistant/components/rfxtrx/translations/ga.json +13 -0
- homeassistant/components/ring/translations/ga.json +11 -0
- homeassistant/components/roborock/translations/he.json +1 -1
- homeassistant/components/rympro/translations/ga.json +3 -0
- homeassistant/components/scrape/translations/el.json +1 -0
- homeassistant/components/scrape/translations/es.json +1 -0
- homeassistant/components/scrape/translations/he.json +1 -0
- homeassistant/components/screenlogic/translations/ga.json +1 -0
- homeassistant/components/sfr_box/translations/he.json +1 -1
- homeassistant/components/simplisafe/__init__.py +1 -0
- homeassistant/components/smartthings/translations/he.json +1 -1
- homeassistant/components/smarttub/controller.py +1 -0
- homeassistant/components/sms/__init__.py +2 -2
- homeassistant/components/sms/coordinator.py +4 -2
- homeassistant/components/snoo/__init__.py +1 -1
- homeassistant/components/snoo/coordinator.py +8 -1
- homeassistant/components/sql/translations/el.json +1 -0
- homeassistant/components/sql/translations/es.json +1 -0
- homeassistant/components/sql/translations/he.json +1 -0
- homeassistant/components/swiss_public_transport/translations/ga.json +3 -0
- homeassistant/components/template/cover.py +1 -0
- homeassistant/components/template/entity.py +9 -3
- homeassistant/components/template/strings.json +6 -0
- homeassistant/components/template/translations/de.json +6 -0
- homeassistant/components/template/translations/el.json +2 -0
- homeassistant/components/template/translations/en.json +6 -0
- homeassistant/components/template/translations/es.json +115 -17
- homeassistant/components/template/translations/et.json +6 -0
- homeassistant/components/template/translations/he.json +681 -18
- homeassistant/components/template/translations/lt.json +24 -0
- homeassistant/components/template/translations/sk.json +1 -0
- homeassistant/components/template/translations/sl.json +478 -12
- homeassistant/components/template/translations/zh-Hant.json +6 -0
- homeassistant/components/template/vacuum.py +46 -1
- homeassistant/components/teslemetry/models.py +1 -1
- homeassistant/components/teslemetry/sensor.py +8 -7
- homeassistant/components/teslemetry/translations/ga.json +19 -1
- homeassistant/components/teslemetry/translations/he.json +1 -1
- homeassistant/components/tessie/translations/ga.json +14 -1
- homeassistant/components/tibber/translations/ga.json +45 -0
- homeassistant/components/timer/translations/he.json +1 -1
- homeassistant/components/traccar_server/translations/ga.json +4 -1
- homeassistant/components/transmission/translations/he.json +1 -1
- homeassistant/components/tuya/fan.py +3 -1
- homeassistant/components/tuya/translations/es.json +12 -0
- homeassistant/components/tuya/translations/he.json +3 -0
- homeassistant/components/unifi/hub/entity_loader.py +5 -3
- homeassistant/components/unifi/hub/hub.py +1 -1
- homeassistant/components/unifiprotect/translations/ga.json +4 -2
- homeassistant/components/uptime_kuma/translations/es.json +10 -0
- homeassistant/components/uptime_kuma/translations/he.json +5 -0
- homeassistant/components/utility_meter/translations/ga.json +22 -0
- homeassistant/components/vacuum/translations/he.json +1 -1
- homeassistant/components/venstar/translations/he.json +1 -1
- homeassistant/components/volvo/icons.json +9 -5
- homeassistant/components/volvo/translations/he.json +59 -0
- homeassistant/components/waze_travel_time/translations/he.json +10 -0
- homeassistant/components/wyoming/manifest.json +1 -1
- homeassistant/components/xiaomi_ble/translations/ga.json +17 -1
- homeassistant/components/zha/translations/he.json +21 -1
- homeassistant/components/zha/translations/sl.json +1 -0
- homeassistant/components/zwave_js/__init__.py +33 -25
- homeassistant/components/zwave_js/config_flow.py +16 -2
- homeassistant/components/zwave_js/manifest.json +1 -1
- homeassistant/components/zwave_js/strings.json +1 -1
- homeassistant/components/zwave_js/translations/cs.json +0 -1
- homeassistant/components/zwave_js/translations/de.json +1 -1
- homeassistant/components/zwave_js/translations/el.json +0 -1
- homeassistant/components/zwave_js/translations/en-GB.json +0 -1
- homeassistant/components/zwave_js/translations/en.json +1 -1
- homeassistant/components/zwave_js/translations/es.json +1 -1
- homeassistant/components/zwave_js/translations/et.json +1 -1
- homeassistant/components/zwave_js/translations/ga.json +0 -1
- homeassistant/components/zwave_js/translations/hu.json +0 -1
- homeassistant/components/zwave_js/translations/lt.json +0 -1
- homeassistant/components/zwave_js/translations/nl.json +0 -1
- homeassistant/components/zwave_js/translations/pt.json +0 -1
- homeassistant/components/zwave_js/translations/ru.json +0 -1
- homeassistant/components/zwave_js/translations/sk.json +0 -1
- homeassistant/components/zwave_js/translations/sv.json +0 -1
- homeassistant/components/zwave_js/translations/zh-Hans.json +0 -1
- homeassistant/components/zwave_js/translations/zh-Hant.json +1 -1
- homeassistant/const.py +1 -1
- homeassistant/helpers/device_registry.py +5 -2
- homeassistant/package_constraints.txt +1 -1
- {homeassistant-2025.8.0b2.dist-info → homeassistant-2025.8.0b3.dist-info}/METADATA +2 -2
- {homeassistant-2025.8.0b2.dist-info → homeassistant-2025.8.0b3.dist-info}/RECORD +211 -205
- {homeassistant-2025.8.0b2.dist-info → homeassistant-2025.8.0b3.dist-info}/WHEEL +0 -0
- {homeassistant-2025.8.0b2.dist-info → homeassistant-2025.8.0b3.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.8.0b2.dist-info → homeassistant-2025.8.0b3.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.8.0b2.dist-info → homeassistant-2025.8.0b3.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.8.0b2.dist-info → homeassistant-2025.8.0b3.dist-info}/top_level.txt +0 -0
|
@@ -17,6 +17,9 @@
|
|
|
17
17
|
"all_group_on": "Uile/gr\u00fapa ar si\u00fal",
|
|
18
18
|
"all_off": "Gach rud as",
|
|
19
19
|
"all_on": "Ar si\u00fal go l\u00e9ir",
|
|
20
|
+
"bright": "Geal",
|
|
21
|
+
"dark_detected": "Dorchadas braite",
|
|
22
|
+
"dim": "Lag",
|
|
20
23
|
"disable_sun_automation": "D\u00edchumasaigh uathoibri\u00fa na gr\u00e9ine",
|
|
21
24
|
"disarm": "D\u00ed-arm\u00e1il",
|
|
22
25
|
"down": "S\u00edos",
|
|
@@ -25,6 +28,7 @@
|
|
|
25
28
|
"group_off": "Gr\u00fap\u00e1il as",
|
|
26
29
|
"group_on": "Gr\u00fap\u00e1il ar",
|
|
27
30
|
"illegal_command": "Ord\u00fa m\u00eddhleathach",
|
|
31
|
+
"ir": "IR",
|
|
28
32
|
"level_1": "Leibh\u00e9al 1",
|
|
29
33
|
"level_2": "Leibh\u00e9al 2",
|
|
30
34
|
"level_3": "Leibh\u00e9al 3",
|
|
@@ -47,6 +51,15 @@
|
|
|
47
51
|
"normal_delayed": "Moill gn\u00e1th",
|
|
48
52
|
"normal_delayed_tamper": "Gn\u00e1th-mhoilli\u00fa tamp\u00e1la",
|
|
49
53
|
"normal_tamper": "Gn\u00e1th-tharmad\u00f3ir",
|
|
54
|
+
"pairing_kd101": "Ag p\u00e9ire\u00e1il KD101",
|
|
55
|
+
"panic": "Scaoll",
|
|
56
|
+
"program": "Cl\u00e1r",
|
|
57
|
+
"scene": "Radharc",
|
|
58
|
+
"set_group_level": "Socraigh leibh\u00e9al gr\u00fapa",
|
|
59
|
+
"set_level": "Socraigh leibh\u00e9al",
|
|
60
|
+
"sound_0": "Fuaim 0",
|
|
61
|
+
"sound_1": "Fuaim 1",
|
|
62
|
+
"sound_10": "Fuaim 10",
|
|
50
63
|
"sound_11": "Fuaim 11",
|
|
51
64
|
"sound_12": "Fuaim 12",
|
|
52
65
|
"sound_13": "Fuaim 13",
|
|
@@ -66,6 +66,17 @@
|
|
|
66
66
|
"name": "Toirt"
|
|
67
67
|
}
|
|
68
68
|
},
|
|
69
|
+
"sensor": {
|
|
70
|
+
"doorbell_volume": {
|
|
71
|
+
"name": "Toirt an chloig\u00edn dorais"
|
|
72
|
+
},
|
|
73
|
+
"mic_volume": {
|
|
74
|
+
"name": "Toirt micreaf\u00f3in"
|
|
75
|
+
},
|
|
76
|
+
"voice_volume": {
|
|
77
|
+
"name": "Toirt gutha"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
69
80
|
"switch": {
|
|
70
81
|
"in_home_chime": {
|
|
71
82
|
"name": "Cling sa bhaile"
|
|
@@ -230,7 +230,7 @@
|
|
|
230
230
|
"error": "\u05e9\u05d2\u05d9\u05d0\u05d4",
|
|
231
231
|
"going_to_target": "\u05d4\u05d5\u05dc\u05da \u05dc\u05d9\u05e2\u05d3",
|
|
232
232
|
"going_to_wash_the_mop": "\u05d4\u05d5\u05dc\u05da \u05dc\u05e9\u05d8\u05d5\u05e3 \u05d0\u05ea \u05d4\u05de\u05d2\u05d1",
|
|
233
|
-
"idle": "\
|
|
233
|
+
"idle": "\u05d1\u05d4\u05de\u05ea\u05e0\u05d4",
|
|
234
234
|
"locked": "\u05e0\u05e2\u05d5\u05dc",
|
|
235
235
|
"manual_mode": "\u05de\u05e6\u05d1 \u05d9\u05d3\u05e0\u05d9",
|
|
236
236
|
"mapping": "\u05e9\u05d5\u05d8\u05e3",
|
|
@@ -184,6 +184,7 @@
|
|
|
184
184
|
"temperature": "\u0398\u03b5\u03c1\u03bc\u03bf\u03ba\u03c1\u03b1\u03c3\u03af\u03b1",
|
|
185
185
|
"timestamp": "\u03a7\u03c1\u03bf\u03bd\u03b9\u03ba\u03ae \u03c3\u03ae\u03bc\u03b1\u03bd\u03c3\u03b7",
|
|
186
186
|
"volatile_organic_compounds": "\u03a0\u03c4\u03b7\u03c4\u03b9\u03ba\u03ad\u03c2 \u03bf\u03c1\u03b3\u03b1\u03bd\u03b9\u03ba\u03ad\u03c2 \u03b5\u03bd\u03ce\u03c3\u03b5\u03b9\u03c2 (VOCs)",
|
|
187
|
+
"volatile_organic_compounds_parts": "\u039c\u03ad\u03c1\u03b7 \u03c0\u03c4\u03b7\u03c4\u03b9\u03ba\u03ce\u03bd \u03bf\u03c1\u03b3\u03b1\u03bd\u03b9\u03ba\u03ce\u03bd \u03b5\u03bd\u03ce\u03c3\u03b5\u03c9\u03bd",
|
|
187
188
|
"voltage": "\u03a4\u03ac\u03c3\u03b7",
|
|
188
189
|
"volume": "\u039f\u03b3\u03ba\u03bf\u03c2",
|
|
189
190
|
"volume_flow_rate": "\u03a1\u03c5\u03b8\u03bc\u03cc\u03c2 \u03cc\u03b3\u03ba\u03bf\u03c5 \u03c1\u03bf\u03ae\u03c2",
|
|
@@ -184,6 +184,7 @@
|
|
|
184
184
|
"temperature": "Temperatura",
|
|
185
185
|
"timestamp": "Marca de tiempo",
|
|
186
186
|
"volatile_organic_compounds": "Compuestos org\u00e1nicos vol\u00e1tiles",
|
|
187
|
+
"volatile_organic_compounds_parts": "Partes de compuestos org\u00e1nicos vol\u00e1tiles",
|
|
187
188
|
"voltage": "Voltaje",
|
|
188
189
|
"volume": "Volumen",
|
|
189
190
|
"volume_flow_rate": "Caudal volum\u00e9trico",
|
|
@@ -101,6 +101,7 @@
|
|
|
101
101
|
"temperature": "\u05d8\u05de\u05e4\u05e8\u05d8\u05d5\u05e8\u05d4",
|
|
102
102
|
"timestamp": "\u05d7\u05d5\u05ea\u05de\u05ea \u05d6\u05de\u05df",
|
|
103
103
|
"volatile_organic_compounds": "\u05ea\u05e8\u05db\u05d5\u05d1\u05d5\u05ea \u05d0\u05d5\u05e8\u05d2\u05e0\u05d9\u05d5\u05ea \u05e0\u05d3\u05d9\u05e4\u05d5\u05ea",
|
|
104
|
+
"volatile_organic_compounds_parts": "\u05d7\u05dc\u05e7\u05d9 \u05ea\u05e8\u05db\u05d5\u05d1\u05d5\u05ea \u05d0\u05d5\u05e8\u05d2\u05e0\u05d9\u05d5\u05ea \u05e0\u05d3\u05d9\u05e4\u05d5\u05ea",
|
|
104
105
|
"voltage": "\u05de\u05ea\u05d7",
|
|
105
106
|
"volume": "\u05e0\u05e4\u05d7",
|
|
106
107
|
"volume_flow_rate": "\u05e7\u05e6\u05d1 \u05d6\u05e8\u05d9\u05de\u05ea \u05e0\u05e4\u05d7",
|
|
@@ -174,6 +174,7 @@
|
|
|
174
174
|
}
|
|
175
175
|
},
|
|
176
176
|
"start_super_chlorination": {
|
|
177
|
+
"description": "Tosa\u00edonn s\u00e9 s\u00e1rchl\u00f3ir\u00edni\u00fa, ag rith ar feadh na tr\u00e9imhse sonraithe n\u00f3 24 uair an chloig mura sonra\u00edtear aon cheann.",
|
|
177
178
|
"fields": {
|
|
178
179
|
"config_entry": {
|
|
179
180
|
"description": "An iontr\u00e1il chumra\u00edochta le h\u00fas\u00e1id don ghn\u00edomh seo.",
|
|
@@ -352,7 +352,7 @@
|
|
|
352
352
|
"charging": "\u05d8\u05e2\u05d9\u05e0\u05d4",
|
|
353
353
|
"cleaning": "\u05de\u05e0\u05e7\u05d4",
|
|
354
354
|
"homing": "\u05d1\u05d9\u05d5\u05ea",
|
|
355
|
-
"idle": "\
|
|
355
|
+
"idle": "\u05d1\u05d4\u05de\u05ea\u05e0\u05d4",
|
|
356
356
|
"off": "\u05db\u05d1\u05d5\u05d9",
|
|
357
357
|
"pause": "\u05de\u05d5\u05e9\u05d4\u05d4",
|
|
358
358
|
"point": "\u05e0\u05e7\u05d5\u05d3\u05d4",
|
|
@@ -83,8 +83,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|
|
83
83
|
if not gateway:
|
|
84
84
|
raise ConfigEntryNotReady(f"Cannot find device {device}")
|
|
85
85
|
|
|
86
|
-
signal_coordinator = SignalCoordinator(hass, gateway)
|
|
87
|
-
network_coordinator = NetworkCoordinator(hass, gateway)
|
|
86
|
+
signal_coordinator = SignalCoordinator(hass, entry, gateway)
|
|
87
|
+
network_coordinator = NetworkCoordinator(hass, entry, gateway)
|
|
88
88
|
|
|
89
89
|
# Fetch initial data so we have data when entities subscribe
|
|
90
90
|
await signal_coordinator.async_config_entry_first_refresh()
|
|
@@ -16,13 +16,14 @@ _LOGGER = logging.getLogger(__name__)
|
|
|
16
16
|
class SignalCoordinator(DataUpdateCoordinator):
|
|
17
17
|
"""Signal strength coordinator."""
|
|
18
18
|
|
|
19
|
-
def __init__(self, hass, gateway):
|
|
19
|
+
def __init__(self, hass, entry, gateway):
|
|
20
20
|
"""Initialize signal strength coordinator."""
|
|
21
21
|
super().__init__(
|
|
22
22
|
hass,
|
|
23
23
|
_LOGGER,
|
|
24
24
|
name="Device signal state",
|
|
25
25
|
update_interval=timedelta(seconds=DEFAULT_SCAN_INTERVAL),
|
|
26
|
+
config_entry=entry,
|
|
26
27
|
)
|
|
27
28
|
self._gateway = gateway
|
|
28
29
|
|
|
@@ -38,13 +39,14 @@ class SignalCoordinator(DataUpdateCoordinator):
|
|
|
38
39
|
class NetworkCoordinator(DataUpdateCoordinator):
|
|
39
40
|
"""Network info coordinator."""
|
|
40
41
|
|
|
41
|
-
def __init__(self, hass, gateway):
|
|
42
|
+
def __init__(self, hass, entry, gateway):
|
|
42
43
|
"""Initialize network info coordinator."""
|
|
43
44
|
super().__init__(
|
|
44
45
|
hass,
|
|
45
46
|
_LOGGER,
|
|
46
47
|
name="Device network state",
|
|
47
48
|
update_interval=timedelta(seconds=DEFAULT_SCAN_INTERVAL),
|
|
49
|
+
config_entry=entry,
|
|
48
50
|
)
|
|
49
51
|
self._gateway = gateway
|
|
50
52
|
|
|
@@ -46,7 +46,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: SnooConfigEntry) -> bool
|
|
|
46
46
|
coordinators: dict[str, SnooCoordinator] = {}
|
|
47
47
|
tasks = []
|
|
48
48
|
for device in devices:
|
|
49
|
-
coordinators[device.serialNumber] = SnooCoordinator(hass, device, snoo)
|
|
49
|
+
coordinators[device.serialNumber] = SnooCoordinator(hass, entry, device, snoo)
|
|
50
50
|
tasks.append(coordinators[device.serialNumber].setup())
|
|
51
51
|
await asyncio.gather(*tasks)
|
|
52
52
|
entry.runtime_data = coordinators
|
|
@@ -19,11 +19,18 @@ class SnooCoordinator(DataUpdateCoordinator[SnooData]):
|
|
|
19
19
|
|
|
20
20
|
config_entry: SnooConfigEntry
|
|
21
21
|
|
|
22
|
-
def __init__(
|
|
22
|
+
def __init__(
|
|
23
|
+
self,
|
|
24
|
+
hass: HomeAssistant,
|
|
25
|
+
entry: SnooConfigEntry,
|
|
26
|
+
device: SnooDevice,
|
|
27
|
+
snoo: Snoo,
|
|
28
|
+
) -> None:
|
|
23
29
|
"""Set up Snoo Coordinator."""
|
|
24
30
|
super().__init__(
|
|
25
31
|
hass,
|
|
26
32
|
name=device.name,
|
|
33
|
+
config_entry=entry,
|
|
27
34
|
logger=_LOGGER,
|
|
28
35
|
)
|
|
29
36
|
self.device_unique_id = device.serialNumber
|
|
@@ -121,6 +121,7 @@
|
|
|
121
121
|
"temperature": "\u0398\u03b5\u03c1\u03bc\u03bf\u03ba\u03c1\u03b1\u03c3\u03af\u03b1",
|
|
122
122
|
"timestamp": "\u03a7\u03c1\u03bf\u03bd\u03b9\u03ba\u03ae \u03c3\u03ae\u03bc\u03b1\u03bd\u03c3\u03b7",
|
|
123
123
|
"volatile_organic_compounds": "\u03a0\u03c4\u03b7\u03c4\u03b9\u03ba\u03ad\u03c2 \u03bf\u03c1\u03b3\u03b1\u03bd\u03b9\u03ba\u03ad\u03c2 \u03b5\u03bd\u03ce\u03c3\u03b5\u03b9\u03c2 (VOCs)",
|
|
124
|
+
"volatile_organic_compounds_parts": "\u039c\u03ad\u03c1\u03b7 \u03c0\u03c4\u03b7\u03c4\u03b9\u03ba\u03ce\u03bd \u03bf\u03c1\u03b3\u03b1\u03bd\u03b9\u03ba\u03ce\u03bd \u03b5\u03bd\u03ce\u03c3\u03b5\u03c9\u03bd",
|
|
124
125
|
"voltage": "\u03a4\u03ac\u03c3\u03b7",
|
|
125
126
|
"volume": "\u039f\u03b3\u03ba\u03bf\u03c2",
|
|
126
127
|
"volume_flow_rate": "\u03a1\u03c5\u03b8\u03bc\u03cc\u03c2 \u03cc\u03b3\u03ba\u03bf\u03c5 \u03c1\u03bf\u03ae\u03c2",
|
|
@@ -121,6 +121,7 @@
|
|
|
121
121
|
"temperature": "Temperatura",
|
|
122
122
|
"timestamp": "Marca de tiempo",
|
|
123
123
|
"volatile_organic_compounds": "Compuestos org\u00e1nicos vol\u00e1tiles",
|
|
124
|
+
"volatile_organic_compounds_parts": "Partes de compuestos org\u00e1nicos vol\u00e1tiles",
|
|
124
125
|
"voltage": "Voltaje",
|
|
125
126
|
"volume": "Volumen",
|
|
126
127
|
"volume_flow_rate": "Caudal volum\u00e9trico",
|
|
@@ -121,6 +121,7 @@
|
|
|
121
121
|
"temperature": "\u05d8\u05de\u05e4\u05e8\u05d8\u05d5\u05e8\u05d4",
|
|
122
122
|
"timestamp": "\u05d7\u05d5\u05ea\u05de\u05ea \u05d6\u05de\u05df",
|
|
123
123
|
"volatile_organic_compounds": "\u05ea\u05e8\u05db\u05d5\u05d1\u05d5\u05ea \u05d0\u05d5\u05e8\u05d2\u05e0\u05d9\u05d5\u05ea \u05e0\u05d3\u05d9\u05e4\u05d5\u05ea",
|
|
124
|
+
"volatile_organic_compounds_parts": "\u05d7\u05dc\u05e7\u05d9 \u05ea\u05e8\u05db\u05d5\u05d1\u05d5\u05ea \u05d0\u05d5\u05e8\u05d2\u05e0\u05d9\u05d5\u05ea \u05e0\u05d3\u05d9\u05e4\u05d5\u05ea",
|
|
124
125
|
"voltage": "\u05de\u05ea\u05d7",
|
|
125
126
|
"volume": "\u05e0\u05e4\u05d7",
|
|
126
127
|
"volume_flow_rate": "\u05e7\u05e6\u05d1 \u05d6\u05e8\u05d9\u05de\u05ea \u05e0\u05e4\u05d7",
|
|
@@ -216,6 +216,7 @@ class AbstractTemplateCover(AbstractTemplateEntity, CoverEntity):
|
|
|
216
216
|
|
|
217
217
|
_entity_id_format = ENTITY_ID_FORMAT
|
|
218
218
|
_optimistic_entity = True
|
|
219
|
+
_extra_optimistic_options = (CONF_POSITION,)
|
|
219
220
|
|
|
220
221
|
# The super init is not called because TemplateEntity and TriggerEntity will call AbstractTemplateEntity.__init__.
|
|
221
222
|
# This ensures that the __init__ on AbstractTemplateEntity is not called twice.
|
|
@@ -20,6 +20,7 @@ class AbstractTemplateEntity(Entity):
|
|
|
20
20
|
|
|
21
21
|
_entity_id_format: str
|
|
22
22
|
_optimistic_entity: bool = False
|
|
23
|
+
_extra_optimistic_options: tuple[str, ...] | None = None
|
|
23
24
|
_template: Template | None = None
|
|
24
25
|
|
|
25
26
|
def __init__(
|
|
@@ -35,9 +36,14 @@ class AbstractTemplateEntity(Entity):
|
|
|
35
36
|
if self._optimistic_entity:
|
|
36
37
|
self._template = config.get(CONF_STATE)
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
optimistic = self._template is None
|
|
40
|
+
if self._extra_optimistic_options:
|
|
41
|
+
optimistic = optimistic and all(
|
|
42
|
+
config.get(option) is None
|
|
43
|
+
for option in self._extra_optimistic_options
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
self._attr_assumed_state = optimistic or config.get(CONF_OPTIMISTIC, False)
|
|
41
47
|
|
|
42
48
|
if (object_id := config.get(CONF_OBJECT_ID)) is not None:
|
|
43
49
|
self.entity_id = async_generate_entity_id(
|
|
@@ -440,6 +440,12 @@
|
|
|
440
440
|
}
|
|
441
441
|
}
|
|
442
442
|
},
|
|
443
|
+
"issues": {
|
|
444
|
+
"deprecated_battery_level": {
|
|
445
|
+
"title": "Deprecated battery level option in {entity_name}",
|
|
446
|
+
"description": "The template vacuum options `battery_level` and `battery_level_template` are being removed in 2026.8.\n\nPlease remove the `battery_level` or `battery_level_template` option from the YAML configuration for {entity_id} ({entity_name})."
|
|
447
|
+
}
|
|
448
|
+
},
|
|
443
449
|
"options": {
|
|
444
450
|
"step": {
|
|
445
451
|
"alarm_control_panel": {
|
|
@@ -445,6 +445,12 @@
|
|
|
445
445
|
"message": "Fehler beim Auswerten des Codeformat-Template \u201e{code_format_template}\u201c f\u00fcr {entity_id}:{cause}"
|
|
446
446
|
}
|
|
447
447
|
},
|
|
448
|
+
"issues": {
|
|
449
|
+
"deprecated_battery_level": {
|
|
450
|
+
"description": "Die Staubsauger-Template-Optionen `battery_level` und `battery_level_template` werden in 2026.8 entfernt.\n\nBitte entferne die Option `battery_level` oder `battery_level_template` aus der YAML-Konfiguration f\u00fcr {entity_id} ({entity_name}).",
|
|
451
|
+
"title": "Veraltete Batteriestand-Option in {entity_name}"
|
|
452
|
+
}
|
|
453
|
+
},
|
|
448
454
|
"options": {
|
|
449
455
|
"step": {
|
|
450
456
|
"alarm_control_panel": {
|
|
@@ -288,6 +288,7 @@
|
|
|
288
288
|
},
|
|
289
289
|
"sensor_device_class": {
|
|
290
290
|
"options": {
|
|
291
|
+
"absolute_humidity": "\u0391\u03c0\u03cc\u03bb\u03c5\u03c4\u03b7 \u03c5\u03b3\u03c1\u03b1\u03c3\u03af\u03b1",
|
|
291
292
|
"apparent_power": "\u03a6\u03b1\u03b9\u03bd\u03bf\u03bc\u03b5\u03bd\u03b9\u03ba\u03ae \u03b9\u03c3\u03c7\u03cd\u03c2",
|
|
292
293
|
"aqi": "\u0394\u03b5\u03af\u03ba\u03c4\u03b7\u03c2 \u03c0\u03bf\u03b9\u03cc\u03c4\u03b7\u03c4\u03b1\u03c2 \u03b1\u03ad\u03c1\u03b1",
|
|
293
294
|
"area": "\u03a0\u03b5\u03c1\u03b9\u03bf\u03c7\u03ae",
|
|
@@ -335,6 +336,7 @@
|
|
|
335
336
|
"temperature": "\u0398\u03b5\u03c1\u03bc\u03bf\u03ba\u03c1\u03b1\u03c3\u03af\u03b1",
|
|
336
337
|
"timestamp": "\u03a7\u03c1\u03bf\u03bd\u03b9\u03ba\u03ae \u03c3\u03ae\u03bc\u03b1\u03bd\u03c3\u03b7",
|
|
337
338
|
"volatile_organic_compounds": "\u03a0\u03c4\u03b7\u03c4\u03b9\u03ba\u03ad\u03c2 \u03bf\u03c1\u03b3\u03b1\u03bd\u03b9\u03ba\u03ad\u03c2 \u03b5\u03bd\u03ce\u03c3\u03b5\u03b9\u03c2 (VOCs)",
|
|
339
|
+
"volatile_organic_compounds_parts": "\u039c\u03ad\u03c1\u03b7 \u03c0\u03c4\u03b7\u03c4\u03b9\u03ba\u03ce\u03bd \u03bf\u03c1\u03b3\u03b1\u03bd\u03b9\u03ba\u03ce\u03bd \u03b5\u03bd\u03ce\u03c3\u03b5\u03c9\u03bd",
|
|
338
340
|
"voltage": "\u03a4\u03ac\u03c3\u03b7",
|
|
339
341
|
"volume": "\u039f\u03b3\u03ba\u03bf\u03c2",
|
|
340
342
|
"volume_flow_rate": "\u03a1\u03c5\u03b8\u03bc\u03cc\u03c2 \u03cc\u03b3\u03ba\u03bf\u03c5 \u03c1\u03bf\u03ae\u03c2",
|
|
@@ -445,6 +445,12 @@
|
|
|
445
445
|
"message": "Error evaluating code format template \"{code_format_template}\" for {entity_id}: {cause}"
|
|
446
446
|
}
|
|
447
447
|
},
|
|
448
|
+
"issues": {
|
|
449
|
+
"deprecated_battery_level": {
|
|
450
|
+
"description": "The template vacuum options `battery_level` and `battery_level_template` are being removed in 2026.8.\n\nPlease remove the `battery_level` or `battery_level_template` option from the YAML configuration for {entity_id} ({entity_name}).",
|
|
451
|
+
"title": "Deprecated battery level option in {entity_name}"
|
|
452
|
+
}
|
|
453
|
+
},
|
|
448
454
|
"options": {
|
|
449
455
|
"step": {
|
|
450
456
|
"alarm_control_panel": {
|