homeassistant 2025.9.0b4__py3-none-any.whl → 2025.9.0b6__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.

Files changed (164) hide show
  1. homeassistant/components/ai_task/translations/es.json +23 -1
  2. homeassistant/components/airgradient/translations/es.json +2 -1
  3. homeassistant/components/airos/translations/es.json +32 -1
  4. homeassistant/components/airq/translations/es.json +5 -0
  5. homeassistant/components/aladdin_connect/translations/es.json +30 -1
  6. homeassistant/components/alarm_control_panel/translations/es.json +1 -1
  7. homeassistant/components/alexa_devices/translations/es.json +52 -1
  8. homeassistant/components/apcupsd/translations/es.json +3 -3
  9. homeassistant/components/bayesian/translations/es.json +257 -0
  10. homeassistant/components/bmw_connected_drive/translations/cs.json +1 -1
  11. homeassistant/components/cloud/manifest.json +1 -1
  12. homeassistant/components/conversation/manifest.json +1 -1
  13. homeassistant/components/deconz/entity.py +1 -1
  14. homeassistant/components/deconz/hub/hub.py +1 -12
  15. homeassistant/components/deconz/light.py +1 -1
  16. homeassistant/components/deconz/services.py +2 -11
  17. homeassistant/components/dsmr_reader/translations/es.json +3 -3
  18. homeassistant/components/ecowitt/manifest.json +1 -1
  19. homeassistant/components/elgato/translations/es.json +1 -1
  20. homeassistant/components/enphase_envoy/translations/es.json +8 -2
  21. homeassistant/components/foscam/translations/es.json +34 -0
  22. homeassistant/components/fritzbox/translations/es.json +3 -1
  23. homeassistant/components/fritzbox_callmonitor/translations/es.json +2 -1
  24. homeassistant/components/fronius/translations/es.json +9 -9
  25. homeassistant/components/frontend/manifest.json +1 -1
  26. homeassistant/components/fyta/translations/es.json +64 -2
  27. homeassistant/components/growatt_server/strings.json +2 -2
  28. homeassistant/components/growatt_server/translations/ca.json +0 -6
  29. homeassistant/components/growatt_server/translations/cs.json +2 -2
  30. homeassistant/components/growatt_server/translations/de.json +2 -2
  31. homeassistant/components/growatt_server/translations/el.json +0 -6
  32. homeassistant/components/growatt_server/translations/en-GB.json +2 -2
  33. homeassistant/components/growatt_server/translations/en.json +2 -2
  34. homeassistant/components/growatt_server/translations/es.json +11 -11
  35. homeassistant/components/growatt_server/translations/et.json +0 -3
  36. homeassistant/components/growatt_server/translations/fi.json +0 -6
  37. homeassistant/components/growatt_server/translations/fr.json +0 -3
  38. homeassistant/components/growatt_server/translations/ga.json +0 -3
  39. homeassistant/components/growatt_server/translations/gl.json +0 -3
  40. homeassistant/components/growatt_server/translations/hu.json +0 -6
  41. homeassistant/components/growatt_server/translations/id.json +0 -6
  42. homeassistant/components/growatt_server/translations/it.json +0 -6
  43. homeassistant/components/growatt_server/translations/ja.json +0 -6
  44. homeassistant/components/growatt_server/translations/ko.json +0 -6
  45. homeassistant/components/growatt_server/translations/lt.json +0 -6
  46. homeassistant/components/growatt_server/translations/nl.json +0 -6
  47. homeassistant/components/growatt_server/translations/pt-BR.json +0 -6
  48. homeassistant/components/growatt_server/translations/pt.json +0 -6
  49. homeassistant/components/growatt_server/translations/ro.json +0 -6
  50. homeassistant/components/growatt_server/translations/ru.json +0 -6
  51. homeassistant/components/growatt_server/translations/sk.json +0 -6
  52. homeassistant/components/growatt_server/translations/sv.json +0 -6
  53. homeassistant/components/growatt_server/translations/tr.json +0 -6
  54. homeassistant/components/growatt_server/translations/zh-Hans.json +0 -6
  55. homeassistant/components/growatt_server/translations/zh-Hant.json +0 -6
  56. homeassistant/components/habitica/translations/es.json +17 -0
  57. homeassistant/components/hassio/translations/es.json +4 -0
  58. homeassistant/components/homekit/translations/es.json +7 -0
  59. homeassistant/components/hue/translations/es.json +1 -0
  60. homeassistant/components/husqvarna_automower/translations/es.json +79 -1
  61. homeassistant/components/husqvarna_automower_ble/translations/es.json +35 -1
  62. homeassistant/components/hydrawise/translations/es.json +5 -1
  63. homeassistant/components/imeon_inverter/translations/es.json +80 -0
  64. homeassistant/components/knx/translations/es.json +104 -1
  65. homeassistant/components/lock/translations/cs.json +2 -2
  66. homeassistant/components/matter/translations/cs.json +1 -1
  67. homeassistant/components/matter/translations/es.json +33 -0
  68. homeassistant/components/media_player/translations/es.json +6 -1
  69. homeassistant/components/miele/translations/es.json +13 -0
  70. homeassistant/components/modbus/binary_sensor.py +4 -1
  71. homeassistant/components/modbus/climate.py +4 -4
  72. homeassistant/components/modbus/cover.py +2 -2
  73. homeassistant/components/modbus/entity.py +24 -55
  74. homeassistant/components/modbus/modbus.py +8 -9
  75. homeassistant/components/modbus/sensor.py +6 -2
  76. homeassistant/components/mqtt/translations/cs.json +1 -1
  77. homeassistant/components/mqtt/translations/es.json +55 -3
  78. homeassistant/components/nextdns/translations/es.json +3 -0
  79. homeassistant/components/number/translations/es.json +1 -1
  80. homeassistant/components/nut/translations/es.json +3 -3
  81. homeassistant/components/onewire/translations/es.json +3 -0
  82. homeassistant/components/osoenergy/translations/es.json +1 -1
  83. homeassistant/components/playstation_network/translations/es.json +18 -0
  84. homeassistant/components/plugwise/translations/cs.json +1 -1
  85. homeassistant/components/pooldose/translations/es.json +102 -0
  86. homeassistant/components/qbus/translations/es.json +8 -0
  87. homeassistant/components/random/translations/es.json +2 -2
  88. homeassistant/components/refoss/translations/es.json +1 -1
  89. homeassistant/components/reolink/translations/es.json +9 -0
  90. homeassistant/components/ruuvitag_ble/translations/es.json +25 -0
  91. homeassistant/components/scrape/translations/es.json +2 -2
  92. homeassistant/components/sensibo/translations/es.json +25 -0
  93. homeassistant/components/sensor/translations/es.json +6 -3
  94. homeassistant/components/sleep_as_android/translations/es.json +124 -0
  95. homeassistant/components/snapcast/translations/es.json +10 -0
  96. homeassistant/components/solarlog/translations/es.json +2 -2
  97. homeassistant/components/somfy_mylink/translations/es.json +4 -2
  98. homeassistant/components/sonos/translations/es.json +15 -0
  99. homeassistant/components/sql/translations/es.json +2 -2
  100. homeassistant/components/switch_as_x/translations/cs.json +1 -1
  101. homeassistant/components/switchbot_cloud/translations/es.json +16 -0
  102. homeassistant/components/system_bridge/translations/es.json +1 -1
  103. homeassistant/components/template/translations/ca.json +0 -10
  104. homeassistant/components/template/translations/cs.json +16 -16
  105. homeassistant/components/template/translations/da.json +0 -5
  106. homeassistant/components/template/translations/de.json +16 -16
  107. homeassistant/components/template/translations/el.json +0 -11
  108. homeassistant/components/template/translations/en-GB.json +16 -16
  109. homeassistant/components/template/translations/en.json +16 -16
  110. homeassistant/components/template/translations/es.json +22 -19
  111. homeassistant/components/template/translations/et.json +16 -16
  112. homeassistant/components/template/translations/fi.json +0 -7
  113. homeassistant/components/template/translations/fr.json +0 -18
  114. homeassistant/components/template/translations/ga.json +0 -16
  115. homeassistant/components/template/translations/gl.json +0 -4
  116. homeassistant/components/template/translations/he.json +0 -18
  117. homeassistant/components/template/translations/hu.json +0 -11
  118. homeassistant/components/template/translations/id.json +0 -11
  119. homeassistant/components/template/translations/it.json +0 -9
  120. homeassistant/components/template/translations/ja.json +0 -11
  121. homeassistant/components/template/translations/ko.json +0 -8
  122. homeassistant/components/template/translations/lb.json +0 -5
  123. homeassistant/components/template/translations/lt.json +0 -18
  124. homeassistant/components/template/translations/lv.json +0 -5
  125. homeassistant/components/template/translations/nb.json +0 -4
  126. homeassistant/components/template/translations/nl.json +0 -13
  127. homeassistant/components/template/translations/pl.json +0 -11
  128. homeassistant/components/template/translations/pt.json +0 -18
  129. homeassistant/components/template/translations/ro.json +0 -4
  130. homeassistant/components/template/translations/ru.json +0 -17
  131. homeassistant/components/template/translations/sk.json +0 -18
  132. homeassistant/components/template/translations/sl.json +0 -11
  133. homeassistant/components/template/translations/sv.json +0 -18
  134. homeassistant/components/template/translations/tr.json +0 -11
  135. homeassistant/components/template/translations/uk.json +0 -11
  136. homeassistant/components/template/translations/vi.json +0 -11
  137. homeassistant/components/template/translations/zh-Hans.json +0 -18
  138. homeassistant/components/template/translations/zh-Hant.json +0 -18
  139. homeassistant/components/tesla_fleet/translations/cs.json +1 -1
  140. homeassistant/components/teslemetry/translations/cs.json +1 -1
  141. homeassistant/components/teslemetry/translations/de.json +1 -1
  142. homeassistant/components/teslemetry/translations/es.json +97 -5
  143. homeassistant/components/tessie/translations/cs.json +1 -1
  144. homeassistant/components/togrill/translations/es.json +28 -0
  145. homeassistant/components/tuya/translations/es.json +24 -1
  146. homeassistant/components/velux/translations/es.json +7 -0
  147. homeassistant/components/volvo/translations/es.json +141 -1
  148. homeassistant/components/wallbox/translations/cs.json +1 -1
  149. homeassistant/components/yalexs_ble/translations/es.json +16 -1
  150. homeassistant/components/yolink/translations/es.json +16 -0
  151. homeassistant/components/zha/translations/es.json +66 -0
  152. homeassistant/components/zwave_js/translations/es.json +20 -2
  153. homeassistant/const.py +1 -1
  154. homeassistant/helpers/area_registry.py +2 -4
  155. homeassistant/helpers/device_registry.py +1 -1
  156. homeassistant/helpers/floor_registry.py +2 -4
  157. homeassistant/package_constraints.txt +3 -3
  158. {homeassistant-2025.9.0b4.dist-info → homeassistant-2025.9.0b6.dist-info}/METADATA +2 -2
  159. {homeassistant-2025.9.0b4.dist-info → homeassistant-2025.9.0b6.dist-info}/RECORD +164 -162
  160. {homeassistant-2025.9.0b4.dist-info → homeassistant-2025.9.0b6.dist-info}/WHEEL +0 -0
  161. {homeassistant-2025.9.0b4.dist-info → homeassistant-2025.9.0b6.dist-info}/entry_points.txt +0 -0
  162. {homeassistant-2025.9.0b4.dist-info → homeassistant-2025.9.0b6.dist-info}/licenses/LICENSE.md +0 -0
  163. {homeassistant-2025.9.0b4.dist-info → homeassistant-2025.9.0b6.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
  164. {homeassistant-2025.9.0b4.dist-info → homeassistant-2025.9.0b6.dist-info}/top_level.txt +0 -0
@@ -5,7 +5,7 @@
5
5
  "fields": {
6
6
  "attachments": {
7
7
  "description": "Lista de archivos para adjuntar para el an\u00e1lisis de IA multimodal.",
8
- "name": "Archivos adjuntos"
8
+ "name": "Adjuntos"
9
9
  },
10
10
  "entity_id": {
11
11
  "description": "ID de entidad donde se ejecutar\u00e1 la tarea. Si no se proporciona, se utilizar\u00e1 la entidad preferida.",
@@ -25,6 +25,28 @@
25
25
  }
26
26
  },
27
27
  "name": "Generar datos"
28
+ },
29
+ "generate_image": {
30
+ "description": "Utiliza IA para generar la imagen.",
31
+ "fields": {
32
+ "attachments": {
33
+ "description": "Lista de archivos a adjuntar para utilizar como referencias.",
34
+ "name": "Adjuntos"
35
+ },
36
+ "entity_id": {
37
+ "description": "ID de entidad en la que ejecutar la tarea.",
38
+ "name": "ID de entidad"
39
+ },
40
+ "instructions": {
41
+ "description": "Instrucciones que explican la imagen a generar.",
42
+ "name": "Instrucciones"
43
+ },
44
+ "task_name": {
45
+ "description": "Nombre de la tarea.",
46
+ "name": "Nombre de la tarea"
47
+ }
48
+ },
49
+ "name": "Generar imagen"
28
50
  }
29
51
  }
30
52
  }
@@ -65,6 +65,7 @@
65
65
  "display_pm_standard": {
66
66
  "name": "Mostrar PM est\u00e1ndar",
67
67
  "state": {
68
+ "ugm3": "\u03bcg/m\u00b3",
68
69
  "us_aqi": "ICA de EE.UU."
69
70
  }
70
71
  },
@@ -114,7 +115,7 @@
114
115
  "display_pm_standard": {
115
116
  "name": "Mostrar PM est\u00e1ndar",
116
117
  "state": {
117
- "ugm3": "\u00b5g/m\u00b3",
118
+ "ugm3": "\u03bcg/m\u00b3",
118
119
  "us_aqi": "ICA de EE.UU."
119
120
  }
120
121
  },
@@ -26,6 +26,20 @@
26
26
  }
27
27
  },
28
28
  "entity": {
29
+ "binary_sensor": {
30
+ "dhcp6_server": {
31
+ "name": "Servidor DHCPv6"
32
+ },
33
+ "dhcp_client": {
34
+ "name": "Cliente DHCP"
35
+ },
36
+ "dhcp_server": {
37
+ "name": "Servidor DHCP"
38
+ },
39
+ "port_forwarding": {
40
+ "name": "Reenv\u00edo de puertos"
41
+ }
42
+ },
29
43
  "sensor": {
30
44
  "host_cpuload": {
31
45
  "name": "Carga de la CPU"
@@ -37,9 +51,15 @@
37
51
  "router": "Router"
38
52
  }
39
53
  },
54
+ "host_uptime": {
55
+ "name": "Tiempo de funcionamiento"
56
+ },
40
57
  "wireless_antenna_gain": {
41
58
  "name": "Ganancia de la antena"
42
59
  },
60
+ "wireless_distance": {
61
+ "name": "Distancia inal\u00e1mbrica"
62
+ },
43
63
  "wireless_essid": {
44
64
  "name": "SSID inal\u00e1mbrico"
45
65
  },
@@ -47,7 +67,11 @@
47
67
  "name": "Frecuencia inal\u00e1mbrica"
48
68
  },
49
69
  "wireless_mode": {
50
- "name": "Modo inal\u00e1mbrico"
70
+ "name": "Modo inal\u00e1mbrico",
71
+ "state": {
72
+ "point_to_multipoint": "Punto a multipunto",
73
+ "point_to_point": "Punto a punto"
74
+ }
51
75
  },
52
76
  "wireless_polling_dl_capacity": {
53
77
  "name": "Capacidad de descarga"
@@ -58,6 +82,13 @@
58
82
  "wireless_remote_hostname": {
59
83
  "name": "Nombre de host remoto"
60
84
  },
85
+ "wireless_role": {
86
+ "name": "Rol inal\u00e1mbrico",
87
+ "state": {
88
+ "access_point": "Punto de acceso",
89
+ "station": "Estaci\u00f3n"
90
+ }
91
+ },
61
92
  "wireless_throughput_rx": {
62
93
  "name": "Ancho de banda en recepci\u00f3n (real)"
63
94
  },
@@ -20,6 +20,11 @@
20
20
  }
21
21
  },
22
22
  "entity": {
23
+ "number": {
24
+ "airq_led_brightness": {
25
+ "name": "Brillo del LED"
26
+ }
27
+ },
23
28
  "sensor": {
24
29
  "acetaldehyde": {
25
30
  "name": "Acetaldeh\u00eddo"
@@ -1 +1,30 @@
1
- {}
1
+ {
2
+ "config": {
3
+ "abort": {
4
+ "already_configured": "La cuenta ya est\u00e1 configurada",
5
+ "already_in_progress": "El flujo de configuraci\u00f3n ya est\u00e1 en curso",
6
+ "authorize_url_timeout": "Tiempo de espera agotado mientras se generaba la URL de autorizaci\u00f3n.",
7
+ "missing_configuration": "El componente no est\u00e1 configurado. Por favor, sigue la documentaci\u00f3n.",
8
+ "no_url_available": "No hay URL disponible. Para obtener informaci\u00f3n sobre este error, [revisa la secci\u00f3n de ayuda]({docs_url})",
9
+ "oauth_error": "Se han recibido datos de token no v\u00e1lidos.",
10
+ "oauth_failed": "Error al obtener el token de acceso.",
11
+ "oauth_timeout": "Tiempo de espera agotado mientras se resolv\u00eda el token OAuth.",
12
+ "oauth_unauthorized": "Error de autorizaci\u00f3n OAuth al obtener el token de acceso.",
13
+ "reauth_successful": "La autenticaci\u00f3n se volvi\u00f3 a realizar correctamente",
14
+ "user_rejected_authorize": "V\u00ednculo de cuenta rechazado: {error}",
15
+ "wrong_account": "Te has autenticado con una cuenta diferente a la configurada. Por favor, autent\u00edcate con la cuenta configurada."
16
+ },
17
+ "create_entry": {
18
+ "default": "Autenticado correctamente"
19
+ },
20
+ "step": {
21
+ "pick_implementation": {
22
+ "title": "Selecciona el m\u00e9todo de autenticaci\u00f3n"
23
+ },
24
+ "reauth_confirm": {
25
+ "description": "Aladdin Connect necesita volver a autenticar tu cuenta",
26
+ "title": "Autenticaci\u00f3n caducada para {name}"
27
+ }
28
+ }
29
+ }
30
+ }
@@ -140,7 +140,7 @@
140
140
  "name": "C\u00f3digo"
141
141
  }
142
142
  },
143
- "name": "Desencadenante"
143
+ "name": "Disparador"
144
144
  }
145
145
  },
146
146
  "title": "Panel de control de alarma"
@@ -39,7 +39,8 @@
39
39
  "password": "Contrase\u00f1a"
40
40
  },
41
41
  "data_description": {
42
- "code": "La contrase\u00f1a de un solo uso para iniciar sesi\u00f3n en tu cuenta. Actualmente, solo se admiten tokens de aplicaciones OTP."
42
+ "code": "La contrase\u00f1a de un solo uso para iniciar sesi\u00f3n en tu cuenta. Actualmente, solo se admiten tokens de aplicaciones OTP.",
43
+ "password": "La contrase\u00f1a de tu cuenta de Amazon."
43
44
  }
44
45
  },
45
46
  "user": {
@@ -106,6 +107,56 @@
106
107
  },
107
108
  "invalid_device_id": {
108
109
  "message": "ID de dispositivo no v\u00e1lido especificado: {device_id}"
110
+ },
111
+ "invalid_sound_value": {
112
+ "message": "Sonido no v\u00e1lido {sound} especificado"
113
+ }
114
+ },
115
+ "selector": {
116
+ "sound": {
117
+ "options": {
118
+ "air_horn_03": "Bocina de aire",
119
+ "amzn_sfx_cat_meow_1x_01": "Maullido de gato",
120
+ "amzn_sfx_church_bell_1x_02": "Campana de iglesia",
121
+ "amzn_sfx_crowd_applause_01": "Aplausos de la multitud",
122
+ "amzn_sfx_dog_med_bark_1x_02": "Ladrido de perro",
123
+ "amzn_sfx_doorbell_01": "Timbre 1",
124
+ "amzn_sfx_doorbell_chime_01": "Timbre 2",
125
+ "amzn_sfx_doorbell_chime_02": "Timbre 3",
126
+ "amzn_sfx_large_crowd_cheer_01": "La multitud aplaude",
127
+ "amzn_sfx_lion_roar_02": "Rugido de le\u00f3n",
128
+ "amzn_sfx_rooster_crow_01": "Gallo",
129
+ "amzn_sfx_scifi_alarm_01": "Sirenas",
130
+ "amzn_sfx_scifi_alarm_04": "Alerta roja",
131
+ "amzn_sfx_scifi_engines_on_02": "Motores encendidos",
132
+ "amzn_sfx_scifi_sheilds_up_01": "Escudos arriba",
133
+ "amzn_sfx_trumpet_bugle_04": "Trompeta",
134
+ "amzn_sfx_wolf_howl_02": "Aullido de lobo",
135
+ "bell_02": "Campanas",
136
+ "boing_01": "Boing 1",
137
+ "boing_03": "Boing 2",
138
+ "buzzers_pistols_01": "Zumbador",
139
+ "camera_01": "C\u00e1mara",
140
+ "christmas_05": "Campanas de Navidad",
141
+ "clock_01": "El tictac del reloj",
142
+ "futuristic_10": "Aeronave",
143
+ "halloween_bats": "Murci\u00e9lagos de Halloween",
144
+ "halloween_crows": "Cuervos de Halloween",
145
+ "halloween_footsteps": "Pasos espeluznantes de Halloween",
146
+ "halloween_wind": "Viento de Halloween",
147
+ "halloween_wolf": "Lobo de Halloween",
148
+ "holiday_halloween_ghost": "Fantasma de Halloween",
149
+ "horror_10": "Puerta espeluznante de Halloween",
150
+ "med_system_alerts_minimal_dragon_short": "Drag\u00f3n amistoso",
151
+ "med_system_alerts_minimal_owl_short": "B\u00faho feliz",
152
+ "med_system_alerts_minimals_blue_wave_small": "Sonata del mundo submarino",
153
+ "med_system_alerts_minimals_galaxy_short": "Galaxia infinita",
154
+ "med_system_alerts_minimals_panda_short": "Beb\u00e9 panda",
155
+ "med_system_alerts_minimals_tiger_short": "Tigre juguet\u00f3n",
156
+ "med_ui_success_generic_1-1": "\u00c9xito 1",
157
+ "squeaky_12": "Puerta chirriante",
158
+ "zap_01": "Zap"
159
+ }
109
160
  }
110
161
  },
111
162
  "services": {
@@ -59,7 +59,7 @@
59
59
  "name": "Bater\u00edas defectuosas"
60
60
  },
61
61
  "battery_nominal_voltage": {
62
- "name": "Voltaje nominal de la bater\u00eda"
62
+ "name": "Tensi\u00f3n nominal de la bater\u00eda"
63
63
  },
64
64
  "battery_replacement_date": {
65
65
  "name": "Bater\u00eda reemplazada"
@@ -98,10 +98,10 @@
98
98
  "name": "Humedad ambiente"
99
99
  },
100
100
  "input_voltage_high": {
101
- "name": "Voltaje de entrada alto"
101
+ "name": "Tensi\u00f3n de entrada alta"
102
102
  },
103
103
  "input_voltage_low": {
104
- "name": "Voltaje de entrada bajo"
104
+ "name": "Tensi\u00f3n de entrada baja"
105
105
  },
106
106
  "internal_temperature": {
107
107
  "name": "Temperatura interna"
@@ -1,4 +1,203 @@
1
1
  {
2
+ "config": {
3
+ "error": {
4
+ "above_below": "Rango no v\u00e1lido: 'Por encima de' debe ser menor que 'Por debajo de' cuando ambos est\u00e1n configurados.",
5
+ "above_or_below": "Rango no v\u00e1lido: debe configurarse al menos uno de los valores 'Por encima de' o 'Por debajo de'.",
6
+ "equal_probabilities": "Si \"Probabilidad dado verdadero\" y \"Probabilidad dado falso\" son iguales, esta observaci\u00f3n no puede tener ning\u00fan efecto y, por lo tanto, es redundante",
7
+ "extreme_prior_error": "'Previo' establecido en 0% significa que es imposible que el sensor muestre 'encendido' y 100% significa que nunca se mostrar\u00e1 'apagado', utiliza un n\u00famero cercano como 0,1% o 99,9% en su lugar",
8
+ "extreme_prob_given_error": "Si \"Probabilidad dado falso\" o \"Probabilidad dado verdadero\" es 0 o 100, se crear\u00e1n certezas que anular\u00e1n todas las dem\u00e1s observaciones",
9
+ "extreme_threshold_error": "El 'umbral de probabilidad' establecido en 0 % significa que el sensor siempre estar\u00e1 'encendido' y 100 % significa que siempre estar\u00e1 'apagado'; utiliza un n\u00famero cercano como 0,1 % o 99,9 % en su lugar.",
10
+ "overlapping_ranges": "Rango no v\u00e1lido: Los valores 'Por encima de' y 'Por debajo de' se superponen con otra observaci\u00f3n para la misma entidad."
11
+ },
12
+ "step": {
13
+ "numeric_state": {
14
+ "data": {
15
+ "above": "Por encima de",
16
+ "below": "Por debajo de",
17
+ "entity_id": "Entidad",
18
+ "name": "Nombre",
19
+ "prob_given_false": "Probabilidad cuando {parent_sensor_name} es {device_class_off}",
20
+ "prob_given_true": "Probabilidad cuando {parent_sensor_name} es {device_class_on}"
21
+ },
22
+ "data_description": {
23
+ "above": "Opcional: el l\u00edmite inferior del rango num\u00e9rico. Los valores que coincidan exactamente con este valor no se contabilizar\u00e1n.",
24
+ "below": "Opcional: el l\u00edmite superior del rango num\u00e9rico. Los valores que coincidan exactamente con este valor solo se contabilizar\u00e1n si se configura m\u00e1s de un rango para la misma entidad.",
25
+ "entity_id": "Una entidad que est\u00e1 correlacionada con `{parent_sensor_name}`.",
26
+ "name": "Este nombre se utilizar\u00e1 para identificar esta observaci\u00f3n para su edici\u00f3n en el futuro.",
27
+ "prob_given_false": "La probabilidad estimada o proporci\u00f3n de tiempo en que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_off}`.",
28
+ "prob_given_true": "La probabilidad estimada o la proporci\u00f3n de veces que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_on}`."
29
+ },
30
+ "description": "A\u00f1ade una observaci\u00f3n que eval\u00faa a `Verdadero` cuando un sensor num\u00e9rico est\u00e1 dentro de un rango elegido.",
31
+ "title": "A\u00f1adir un sensor bayesiano"
32
+ },
33
+ "observation_selector": {
34
+ "description": "Las 'observaciones' son los valores del sensor o de la plantilla que se controlan y se combinan para obtener la probabilidad final del sensor bayesiano. Cada observaci\u00f3n actualizar\u00e1 la probabilidad del sensor bayesiano si se detecta, o si no se detecta. Si el estado de la entidad es \"no disponible\" o \"desconocido\", se ignorar\u00e1. Si se configura m\u00e1s de un estado o m\u00e1s de un rango num\u00e9rico para la misma entidad, se ignorar\u00e1n las detecciones inversas.",
35
+ "menu_options": {
36
+ "finish": "Finalizar",
37
+ "numeric_state": "A\u00f1adir una observaci\u00f3n para un rango num\u00e9rico",
38
+ "state": "A\u00f1adir una observaci\u00f3n para el estado de un sensor",
39
+ "template": "A\u00f1adir una observaci\u00f3n para una plantilla"
40
+ },
41
+ "title": "A\u00f1adir una observaci\u00f3n"
42
+ },
43
+ "state": {
44
+ "data": {
45
+ "entity_id": "Entidad",
46
+ "name": "Nombre",
47
+ "prob_given_false": "Probabilidad cuando {parent_sensor_name} es {device_class_off}",
48
+ "prob_given_true": "Probabilidad cuando {parent_sensor_name} es {device_class_on}",
49
+ "to_state": "Estado deseado"
50
+ },
51
+ "data_description": {
52
+ "entity_id": "Una entidad que est\u00e1 correlacionada con `{parent_sensor_name}`.",
53
+ "name": "Este nombre se utilizar\u00e1 para identificar esta observaci\u00f3n para su edici\u00f3n en el futuro.",
54
+ "prob_given_false": "La probabilidad estimada o proporci\u00f3n de tiempo en que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_off}`.",
55
+ "prob_given_true": "La probabilidad estimada o la proporci\u00f3n de veces que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_on}`.",
56
+ "to_state": "El estado del sensor para el cual la observaci\u00f3n se considerar\u00e1 Verdadera`."
57
+ },
58
+ "description": "A\u00f1ade una observaci\u00f3n que se eval\u00faa a `Verdadero` cuando el valor del sensor coincide exactamente con *'To state'*. Cuando sea `Falso`, actualizar\u00e1 la probabilidad previa con probabilidades que son la inversa de las establecidas a continuaci\u00f3n. Este comportamiento puede ser anulado a\u00f1adiendo observaciones para los otros estados de la misma entidad.",
59
+ "title": "A\u00f1adir un sensor bayesiano"
60
+ },
61
+ "template": {
62
+ "data": {
63
+ "name": "Nombre",
64
+ "prob_given_false": "Probabilidad cuando {parent_sensor_name} es {device_class_off}",
65
+ "prob_given_true": "Probabilidad cuando {parent_sensor_name} es {device_class_on}",
66
+ "value_template": "Plantilla"
67
+ },
68
+ "data_description": {
69
+ "name": "Este nombre se utilizar\u00e1 para identificar esta observaci\u00f3n para su edici\u00f3n en el futuro.",
70
+ "prob_given_false": "La probabilidad estimada o proporci\u00f3n de tiempo en que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_off}`.",
71
+ "prob_given_true": "La probabilidad estimada o la proporci\u00f3n de veces que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_on}`.",
72
+ "value_template": "Una plantilla que se eval\u00fae como `Verdadero` actualizar\u00e1 la prioridad en consecuencia. Una plantilla que devuelva `Falso` o `Ninguno` actualizar\u00e1 la prioridad con probabilidades inversas. Una plantilla que devuelva un error no actualizar\u00e1 las probabilidades. Los resultados son forzados a ser `Verdadero` o `Falso`"
73
+ },
74
+ "description": "A\u00f1ade una observaci\u00f3n personalizada que eval\u00faa si una plantilla es observada (`Verdadero`) o no (`Falso`).",
75
+ "title": "A\u00f1adir un sensor bayesiano"
76
+ },
77
+ "user": {
78
+ "data": {
79
+ "device_class": "Clase de dispositivo",
80
+ "name": "Nombre",
81
+ "prior": "Previo",
82
+ "probability_threshold": "Umbral de probabilidad"
83
+ },
84
+ "data_description": {
85
+ "device_class": "Selecciona la clase de dispositivo en la que quieres que se muestre el sensor.",
86
+ "prior": "La probabilidad base de que el sensor est\u00e9 activado suele ser el porcentaje de tiempo que es cierto. Por ejemplo, para un sensor \"Todos durmiendo\", podr\u00eda ser 8 horas al d\u00eda (33%).",
87
+ "probability_threshold": "La probabilidad por encima de la cual el sensor se activar\u00e1. Un 50 % deber\u00eda producir el resultado m\u00e1s preciso. Utiliza valores superiores al 50 % si es importante evitar falsos positivos, o viceversa."
88
+ },
89
+ "description": "Crea un sensor binario que observe el estado de varios sensores para estimar si se est\u00e1 produciendo un evento o si algo es cierto. Consulta [la documentaci\u00f3n]({url}) para m\u00e1s informaci\u00f3n.",
90
+ "title": "A\u00f1adir un sensor bayesiano"
91
+ }
92
+ }
93
+ },
94
+ "config_subentries": {
95
+ "observation": {
96
+ "abort": {
97
+ "reconfigure_successful": "Se volvi\u00f3 a configurar correctamente"
98
+ },
99
+ "entry_type": "Observaci\u00f3n",
100
+ "error": {
101
+ "above_below": "Rango no v\u00e1lido: 'Por encima de' debe ser menor que 'Por debajo de' cuando ambos est\u00e1n configurados.",
102
+ "above_or_below": "Rango no v\u00e1lido: debe configurarse al menos uno de los valores 'Por encima de' o 'Por debajo de'.",
103
+ "equal_probabilities": "Si \"Probabilidad dado verdadero\" y \"Probabilidad dado falso\" son iguales, esta observaci\u00f3n no puede tener ning\u00fan efecto y, por lo tanto, es redundante",
104
+ "extreme_prob_given_error": "Si \"Probabilidad dado falso\" o \"Probabilidad dado verdadero\" es 0 o 100, se crear\u00e1n certezas que anular\u00e1n todas las dem\u00e1s observaciones",
105
+ "overlapping_ranges": "Rango no v\u00e1lido: Los valores 'Por encima de' y 'Por debajo de' se superponen con otra observaci\u00f3n para la misma entidad."
106
+ },
107
+ "initiate_flow": {
108
+ "user": "A\u00f1adir una observaci\u00f3n"
109
+ },
110
+ "step": {
111
+ "numeric_state": {
112
+ "data": {
113
+ "above": "Por encima de",
114
+ "below": "Por debajo de",
115
+ "entity_id": "Entidad",
116
+ "name": "Nombre",
117
+ "prob_given_false": "Probabilidad cuando {parent_sensor_name} es {device_class_off}",
118
+ "prob_given_true": "Probabilidad cuando {parent_sensor_name} es {device_class_on}"
119
+ },
120
+ "data_description": {
121
+ "above": "Opcional: el l\u00edmite inferior del rango num\u00e9rico. Los valores que coincidan exactamente con este valor no se contabilizar\u00e1n.",
122
+ "below": "Opcional: el l\u00edmite superior del rango num\u00e9rico. Los valores que coincidan exactamente con este valor solo se contabilizar\u00e1n si se configura m\u00e1s de un rango para la misma entidad.",
123
+ "entity_id": "Una entidad que est\u00e1 correlacionada con `{parent_sensor_name}`.",
124
+ "name": "Este nombre se utilizar\u00e1 para identificar esta observaci\u00f3n para su edici\u00f3n en el futuro.",
125
+ "prob_given_false": "La probabilidad estimada o proporci\u00f3n de tiempo en que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_off}`.",
126
+ "prob_given_true": "La probabilidad estimada o la proporci\u00f3n de veces que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_on}`."
127
+ },
128
+ "description": "A\u00f1ade una observaci\u00f3n que eval\u00faa a `Verdadero` cuando un sensor num\u00e9rico est\u00e1 dentro de un rango elegido.",
129
+ "title": "A\u00f1adir un sensor bayesiano"
130
+ },
131
+ "reconfigure": {
132
+ "data": {
133
+ "above": "Por encima de",
134
+ "below": "Por debajo de",
135
+ "entity_id": "Entidad",
136
+ "name": "Nombre",
137
+ "prob_given_false": "Probabilidad cuando {parent_sensor_name} es {device_class_off}",
138
+ "prob_given_true": "Probabilidad cuando {parent_sensor_name} es {device_class_on}",
139
+ "to_state": "Estado deseado",
140
+ "value_template": "Plantilla"
141
+ },
142
+ "data_description": {
143
+ "above": "Opcional: el l\u00edmite inferior del rango num\u00e9rico. Los valores que coincidan exactamente con este valor no se contabilizar\u00e1n.",
144
+ "below": "Opcional: el l\u00edmite superior del rango num\u00e9rico. Los valores que coincidan exactamente con este valor solo se contabilizar\u00e1n si se configura m\u00e1s de un rango para la misma entidad.",
145
+ "entity_id": "Una entidad que est\u00e1 correlacionada con `{parent_sensor_name}`.",
146
+ "name": "Este nombre se utilizar\u00e1 para identificar esta observaci\u00f3n para su edici\u00f3n en el futuro.",
147
+ "prob_given_false": "La probabilidad estimada o proporci\u00f3n de tiempo en que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_off}`.",
148
+ "prob_given_true": "La probabilidad estimada o la proporci\u00f3n de veces que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_on}`.",
149
+ "to_state": "El estado del sensor para el cual la observaci\u00f3n se considerar\u00e1 Verdadera`.",
150
+ "value_template": "Una plantilla que se eval\u00fae como `Verdadero` actualizar\u00e1 la prioridad en consecuencia. Una plantilla que devuelva `Falso` o `Ninguno` actualizar\u00e1 la prioridad con probabilidades inversas. Una plantilla que devuelva un error no actualizar\u00e1 las probabilidades. Los resultados son forzados a ser `Verdadero` o `Falso`"
151
+ },
152
+ "description": "A\u00f1ade una observaci\u00f3n que se eval\u00faa a `Verdadero` cuando el valor del sensor coincide exactamente con *'To state'*. Cuando sea `Falso`, actualizar\u00e1 la probabilidad previa con probabilidades que son la inversa de las establecidas a continuaci\u00f3n. Este comportamiento puede ser anulado a\u00f1adiendo observaciones para los otros estados de la misma entidad.",
153
+ "title": "Editar observaci\u00f3n"
154
+ },
155
+ "state": {
156
+ "data": {
157
+ "entity_id": "Entidad",
158
+ "name": "Nombre",
159
+ "prob_given_false": "Probabilidad cuando {parent_sensor_name} es {device_class_off}",
160
+ "prob_given_true": "Probabilidad cuando {parent_sensor_name} es {device_class_on}",
161
+ "to_state": "Estado deseado"
162
+ },
163
+ "data_description": {
164
+ "entity_id": "Una entidad que est\u00e1 correlacionada con `{parent_sensor_name}`.",
165
+ "name": "Este nombre se utilizar\u00e1 para identificar esta observaci\u00f3n para su edici\u00f3n en el futuro.",
166
+ "prob_given_false": "La probabilidad estimada o proporci\u00f3n de tiempo en que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_off}`.",
167
+ "prob_given_true": "La probabilidad estimada o la proporci\u00f3n de veces que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_on}`.",
168
+ "to_state": "El estado del sensor para el cual la observaci\u00f3n se considerar\u00e1 Verdadera`."
169
+ },
170
+ "description": "A\u00f1ade una observaci\u00f3n que se eval\u00faa a `Verdadero` cuando el valor del sensor coincide exactamente con *'To state'*. Cuando sea `Falso`, actualizar\u00e1 la probabilidad previa con probabilidades que son la inversa de las establecidas a continuaci\u00f3n. Este comportamiento puede ser anulado a\u00f1adiendo observaciones para los otros estados de la misma entidad.",
171
+ "title": "A\u00f1adir un sensor bayesiano"
172
+ },
173
+ "template": {
174
+ "data": {
175
+ "name": "Nombre",
176
+ "prob_given_false": "Probabilidad cuando {parent_sensor_name} es {device_class_off}",
177
+ "prob_given_true": "Probabilidad cuando {parent_sensor_name} es {device_class_on}",
178
+ "value_template": "Plantilla"
179
+ },
180
+ "data_description": {
181
+ "name": "Este nombre se utilizar\u00e1 para identificar esta observaci\u00f3n para su edici\u00f3n en el futuro.",
182
+ "prob_given_false": "La probabilidad estimada o proporci\u00f3n de tiempo en que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_off}`.",
183
+ "prob_given_true": "La probabilidad estimada o la proporci\u00f3n de veces que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_on}`.",
184
+ "value_template": "Una plantilla que se eval\u00fae como `Verdadero` actualizar\u00e1 la prioridad en consecuencia. Una plantilla que devuelva `Falso` o `Ninguno` actualizar\u00e1 la prioridad con probabilidades inversas. Una plantilla que devuelva un error no actualizar\u00e1 las probabilidades. Los resultados son forzados a ser `Verdadero` o `Falso`"
185
+ },
186
+ "description": "A\u00f1ade una observaci\u00f3n personalizada que eval\u00faa si una plantilla es observada (`Verdadero`) o no (`Falso`).",
187
+ "title": "A\u00f1adir un sensor bayesiano"
188
+ },
189
+ "user": {
190
+ "description": "Las 'observaciones' son los valores del sensor o de la plantilla que se controlan y se combinan para obtener la probabilidad final del sensor bayesiano. Cada observaci\u00f3n actualizar\u00e1 la probabilidad del sensor bayesiano si se detecta, o si no se detecta. Si el estado de la entidad es \"no disponible\" o \"desconocido\", se ignorar\u00e1. Si se configura m\u00e1s de un estado o m\u00e1s de un rango num\u00e9rico para la misma entidad, se ignorar\u00e1n las detecciones inversas.",
191
+ "menu_options": {
192
+ "numeric_state": "A\u00f1adir una observaci\u00f3n para un rango num\u00e9rico",
193
+ "state": "A\u00f1adir una observaci\u00f3n para el estado de un sensor",
194
+ "template": "A\u00f1adir una observaci\u00f3n para una plantilla"
195
+ },
196
+ "title": "A\u00f1adir una observaci\u00f3n"
197
+ }
198
+ }
199
+ }
200
+ },
2
201
  "issues": {
3
202
  "manual_migration": {
4
203
  "description": "La integraci\u00f3n Bayesian ahora tambi\u00e9n actualiza la probabilidad si el 'to_state', 'above', 'below' o 'value_template' observado se eval\u00faa como 'False' en lugar de solo 'True'. Por lo tanto ya no es necesario tener entradas complementarias duplicadas para cada estado binario. Por favor, elimina la entrada duplicada para `{entity}`.",
@@ -9,6 +208,64 @@
9
208
  "title": "Es necesario realizar una adici\u00f3n manual al YAML de Bayesian"
10
209
  }
11
210
  },
211
+ "options": {
212
+ "error": {
213
+ "equal_probabilities": "Si \"Probabilidad dado verdadero\" y \"Probabilidad dado falso\" son iguales, esta observaci\u00f3n no puede tener ning\u00fan efecto y, por lo tanto, es redundante",
214
+ "extreme_prior_error": "'Previo' establecido en 0% significa que es imposible que el sensor muestre 'encendido' y 100% significa que nunca se mostrar\u00e1 'apagado', utiliza un n\u00famero cercano como 0,1% o 99,9% en su lugar",
215
+ "extreme_prob_given_error": "Si \"Probabilidad dado falso\" o \"Probabilidad dado verdadero\" es 0 o 100, se crear\u00e1n certezas que anular\u00e1n todas las dem\u00e1s observaciones",
216
+ "extreme_threshold_error": "El 'umbral de probabilidad' establecido en 0 % significa que el sensor siempre estar\u00e1 'encendido' y 100 % significa que siempre estar\u00e1 'apagado'; utiliza un n\u00famero cercano como 0,1 % o 99,9 % en su lugar."
217
+ },
218
+ "step": {
219
+ "init": {
220
+ "data": {
221
+ "device_class": "Clase de dispositivo",
222
+ "name": "Nombre",
223
+ "prior": "Previo",
224
+ "probability_threshold": "Umbral de probabilidad"
225
+ },
226
+ "data_description": {
227
+ "prior": "La probabilidad base de que el sensor est\u00e9 activado suele ser el porcentaje de tiempo que es cierto. Por ejemplo, para un sensor \"Todos durmiendo\", podr\u00eda ser 8 horas al d\u00eda (33%).",
228
+ "probability_threshold": "La probabilidad por encima de la cual el sensor se activar\u00e1. Un 50 % deber\u00eda producir el resultado m\u00e1s preciso. Utiliza valores superiores al 50 % si es importante evitar falsos positivos, o viceversa."
229
+ },
230
+ "description": "Estas opciones afectan la cantidad de evidencia necesaria para que el sensor bayesiano se considere \"activado\".",
231
+ "title": "Opciones de sensor"
232
+ }
233
+ }
234
+ },
235
+ "selector": {
236
+ "binary_sensor_device_class": {
237
+ "options": {
238
+ "battery": "Bater\u00eda",
239
+ "battery_charging": "Cargando",
240
+ "carbon_monoxide": "Mon\u00f3xido de carbono",
241
+ "cold": "Fr\u00edo",
242
+ "connectivity": "Conectividad",
243
+ "door": "Puerta",
244
+ "garage_door": "Puerta de garaje",
245
+ "gas": "Gas",
246
+ "heat": "Calor",
247
+ "light": "Luz",
248
+ "lock": "Cerradura",
249
+ "moisture": "Humedad",
250
+ "motion": "Movimiento",
251
+ "moving": "En movimiento",
252
+ "occupancy": "Ocupaci\u00f3n",
253
+ "opening": "Apertura",
254
+ "plug": "Enchufe",
255
+ "power": "Energ\u00eda",
256
+ "presence": "Presencia",
257
+ "problem": "Problema",
258
+ "running": "Ejecutando",
259
+ "safety": "Seguridad",
260
+ "smoke": "Humo",
261
+ "sound": "Sonido",
262
+ "tamper": "Manipulaci\u00f3n",
263
+ "update": "Actualizar",
264
+ "vibration": "Vibraci\u00f3n",
265
+ "window": "Ventana"
266
+ }
267
+ }
268
+ },
12
269
  "services": {
13
270
  "reload": {
14
271
  "description": "Recarga los sensores bayesianos desde la configuraci\u00f3n YAML.",
@@ -91,7 +91,7 @@
91
91
  },
92
92
  "lock": {
93
93
  "lock": {
94
- "name": "Zamknout"
94
+ "name": "Z\u00e1mek"
95
95
  }
96
96
  },
97
97
  "number": {
@@ -13,6 +13,6 @@
13
13
  "integration_type": "system",
14
14
  "iot_class": "cloud_push",
15
15
  "loggers": ["acme", "hass_nabucasa", "snitun"],
16
- "requirements": ["hass-nabucasa==1.0.0"],
16
+ "requirements": ["hass-nabucasa==1.1.0"],
17
17
  "single_config_entry": true
18
18
  }
@@ -6,5 +6,5 @@
6
6
  "documentation": "https://www.home-assistant.io/integrations/conversation",
7
7
  "integration_type": "system",
8
8
  "quality_scale": "internal",
9
- "requirements": ["hassil==3.2.0", "home-assistant-intents==2025.8.29"]
9
+ "requirements": ["hassil==3.2.0", "home-assistant-intents==2025.9.3"]
10
10
  }
@@ -177,7 +177,7 @@ class DeconzSceneMixin(DeconzDevice[PydeconzScene]):
177
177
  """Return a device description for device registry."""
178
178
  return DeviceInfo(
179
179
  identifiers={(DOMAIN, self._group_identifier)},
180
- manufacturer="Dresden Elektronik",
180
+ manufacturer="dresden elektronik",
181
181
  model="deCONZ group",
182
182
  name=self.group.name,
183
183
  via_device=(DOMAIN, self.hub.api.config.bridge_id),
@@ -14,7 +14,6 @@ from pydeconz.models.event import EventType
14
14
  from homeassistant.config_entries import SOURCE_HASSIO
15
15
  from homeassistant.core import Event, HomeAssistant, callback
16
16
  from homeassistant.helpers import device_registry as dr, entity_registry as er
17
- from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC
18
17
  from homeassistant.helpers.dispatcher import async_dispatcher_send
19
18
 
20
19
  from ..const import CONF_MASTER_GATEWAY, DOMAIN, HASSIO_CONFIGURATION_URL, PLATFORMS
@@ -169,17 +168,8 @@ class DeconzHub:
169
168
 
170
169
  async def async_update_device_registry(self) -> None:
171
170
  """Update device registry."""
172
- if self.api.config.mac is None:
173
- return
174
-
175
171
  device_registry = dr.async_get(self.hass)
176
172
 
177
- # Host device
178
- device_registry.async_get_or_create(
179
- config_entry_id=self.config_entry.entry_id,
180
- connections={(CONNECTION_NETWORK_MAC, self.api.config.mac)},
181
- )
182
-
183
173
  # Gateway service
184
174
  configuration_url = f"http://{self.config.host}:{self.config.port}"
185
175
  if self.config_entry.source == SOURCE_HASSIO:
@@ -189,11 +179,10 @@ class DeconzHub:
189
179
  configuration_url=configuration_url,
190
180
  entry_type=dr.DeviceEntryType.SERVICE,
191
181
  identifiers={(DOMAIN, self.api.config.bridge_id)},
192
- manufacturer="Dresden Elektronik",
182
+ manufacturer="dresden elektronik",
193
183
  model=self.api.config.model_id,
194
184
  name=self.api.config.name,
195
185
  sw_version=self.api.config.software_version,
196
- via_device=(CONNECTION_NETWORK_MAC, self.api.config.mac),
197
186
  )
198
187
 
199
188
  @staticmethod
@@ -396,7 +396,7 @@ class DeconzGroup(DeconzBaseLight[Group]):
396
396
  """Return a device description for device registry."""
397
397
  return DeviceInfo(
398
398
  identifiers={(DOMAIN, self.unique_id)},
399
- manufacturer="Dresden Elektronik",
399
+ manufacturer="dresden elektronik",
400
400
  model="deCONZ group",
401
401
  name=self._device.name,
402
402
  via_device=(DOMAIN, self.hub.api.config.bridge_id),