homeassistant 2025.7.0b2__py3-none-any.whl → 2025.7.0b4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. homeassistant/components/ai_task/translations/fr.json +22 -1
  2. homeassistant/components/ai_task/translations/hu.json +22 -0
  3. homeassistant/components/ai_task/translations/it.json +22 -0
  4. homeassistant/components/alexa_devices/manifest.json +1 -1
  5. homeassistant/components/alexa_devices/translations/hu.json +4 -1
  6. homeassistant/components/alexa_devices/translations/it.json +29 -0
  7. homeassistant/components/alexa_devices/translations/pt.json +12 -1
  8. homeassistant/components/altruist/translations/hu.json +19 -0
  9. homeassistant/components/anthropic/translations/fr.json +37 -0
  10. homeassistant/components/anthropic/translations/hu.json +19 -0
  11. homeassistant/components/anthropic/translations/it.json +37 -0
  12. homeassistant/components/assist_satellite/translations/fr.json +8 -0
  13. homeassistant/components/assist_satellite/translations/hu.json +38 -0
  14. homeassistant/components/assist_satellite/translations/it.json +8 -0
  15. homeassistant/components/blue_current/translations/el.json +3 -1
  16. homeassistant/components/bluetooth/translations/el.json +3 -0
  17. homeassistant/components/denonavr/translations/el.json +5 -0
  18. homeassistant/components/derivative/translations/fr.json +4 -0
  19. homeassistant/components/derivative/translations/it.json +4 -0
  20. homeassistant/components/devolo_home_control/translations/hu.json +21 -0
  21. homeassistant/components/devolo_home_control/translations/it.json +6 -0
  22. homeassistant/components/dsmr/sensor.py +8 -0
  23. homeassistant/components/ecovacs/translations/el.json +1 -0
  24. homeassistant/components/electric_kiwi/translations/hu.json +6 -0
  25. homeassistant/components/emoncms/translations/el.json +3 -0
  26. homeassistant/components/enphase_envoy/translations/hu.json +18 -0
  27. homeassistant/components/ezviz/translations/it.json +10 -0
  28. homeassistant/components/fitbit/translations/hu.json +6 -0
  29. homeassistant/components/fronius/translations/el.json +14 -1
  30. homeassistant/components/frontend/manifest.json +1 -1
  31. homeassistant/components/geocaching/translations/hu.json +6 -0
  32. homeassistant/components/google/translations/hu.json +6 -0
  33. homeassistant/components/google_assistant_sdk/translations/hu.json +6 -0
  34. homeassistant/components/google_drive/translations/hu.json +6 -0
  35. homeassistant/components/google_generative_ai_conversation/translations/fr.json +82 -1
  36. homeassistant/components/google_generative_ai_conversation/translations/hu.json +68 -0
  37. homeassistant/components/google_generative_ai_conversation/translations/it.json +20 -0
  38. homeassistant/components/google_generative_ai_conversation/translations/pt.json +28 -0
  39. homeassistant/components/google_mail/translations/hu.json +6 -0
  40. homeassistant/components/google_photos/translations/hu.json +6 -0
  41. homeassistant/components/google_sheets/translations/hu.json +6 -0
  42. homeassistant/components/google_tasks/translations/hu.json +6 -0
  43. homeassistant/components/home_connect/translations/hu.json +6 -0
  44. homeassistant/components/homeassistant/translations/fr.json +1 -0
  45. homeassistant/components/homeassistant/translations/it.json +1 -0
  46. homeassistant/components/homeassistant_hardware/translations/el.json +1 -0
  47. homeassistant/components/homeassistant_hardware/translations/es.json +1 -0
  48. homeassistant/components/homeassistant_hardware/translations/et.json +1 -0
  49. homeassistant/components/homeassistant_hardware/translations/fr.json +4 -0
  50. homeassistant/components/homeassistant_hardware/translations/it.json +6 -0
  51. homeassistant/components/homeassistant_hardware/translations/pt.json +1 -0
  52. homeassistant/components/homeassistant_hardware/translations/sk.json +1 -0
  53. homeassistant/components/homeassistant_hardware/translations/sv.json +1 -0
  54. homeassistant/components/homeassistant_hardware/translations/zh-Hans.json +1 -0
  55. homeassistant/components/homeassistant_hardware/translations/zh-Hant.json +1 -0
  56. homeassistant/components/homeassistant_sky_connect/translations/el.json +2 -0
  57. homeassistant/components/homeassistant_sky_connect/translations/es.json +2 -0
  58. homeassistant/components/homeassistant_sky_connect/translations/et.json +2 -0
  59. homeassistant/components/homeassistant_sky_connect/translations/fr.json +4 -0
  60. homeassistant/components/homeassistant_sky_connect/translations/it.json +4 -0
  61. homeassistant/components/homeassistant_sky_connect/translations/pt.json +2 -0
  62. homeassistant/components/homeassistant_sky_connect/translations/sk.json +2 -0
  63. homeassistant/components/homeassistant_sky_connect/translations/sv.json +2 -0
  64. homeassistant/components/homeassistant_sky_connect/translations/zh-Hans.json +2 -0
  65. homeassistant/components/homeassistant_sky_connect/translations/zh-Hant.json +2 -0
  66. homeassistant/components/homeassistant_yellow/translations/el.json +2 -0
  67. homeassistant/components/homeassistant_yellow/translations/es.json +2 -0
  68. homeassistant/components/homeassistant_yellow/translations/et.json +2 -0
  69. homeassistant/components/homeassistant_yellow/translations/fr.json +2 -0
  70. homeassistant/components/homeassistant_yellow/translations/hu.json +1 -0
  71. homeassistant/components/homeassistant_yellow/translations/it.json +2 -0
  72. homeassistant/components/homeassistant_yellow/translations/pt.json +2 -0
  73. homeassistant/components/homeassistant_yellow/translations/sk.json +2 -0
  74. homeassistant/components/homeassistant_yellow/translations/sv.json +1 -0
  75. homeassistant/components/homeassistant_yellow/translations/zh-Hans.json +2 -0
  76. homeassistant/components/homeassistant_yellow/translations/zh-Hant.json +2 -0
  77. homeassistant/components/homee/translations/hu.json +25 -0
  78. homeassistant/components/homewizard/translations/sv.json +1 -1
  79. homeassistant/components/honeywell/manifest.json +1 -1
  80. homeassistant/components/husqvarna_automower/button.py +3 -1
  81. homeassistant/components/husqvarna_automower/translations/hu.json +6 -0
  82. homeassistant/components/imap/translations/fr.json +2 -0
  83. homeassistant/components/iotty/translations/hu.json +6 -0
  84. homeassistant/components/jellyfin/client_wrapper.py +1 -2
  85. homeassistant/components/jellyfin/coordinator.py +3 -0
  86. homeassistant/components/jellyfin/manifest.json +1 -2
  87. homeassistant/components/keenetic_ndms2/translations/hu.json +3 -0
  88. homeassistant/components/lametric/translations/hu.json +6 -0
  89. homeassistant/components/lifx/translations/el.json +2 -1
  90. homeassistant/components/litterrobot/translations/hu.json +3 -0
  91. homeassistant/components/litterrobot/translations/it.json +4 -0
  92. homeassistant/components/lyric/translations/hu.json +6 -0
  93. homeassistant/components/matter/translations/hu.json +10 -0
  94. homeassistant/components/mcp/translations/hu.json +6 -0
  95. homeassistant/components/microbees/translations/hu.json +6 -0
  96. homeassistant/components/miele/translations/hu.json +28 -1
  97. homeassistant/components/monzo/translations/hu.json +6 -0
  98. homeassistant/components/mqtt/config_flow.py +34 -7
  99. homeassistant/components/mqtt/strings.json +11 -4
  100. homeassistant/components/mqtt/translations/bg.json +1 -3
  101. homeassistant/components/mqtt/translations/cs.json +2 -6
  102. homeassistant/components/mqtt/translations/de.json +23 -16
  103. homeassistant/components/mqtt/translations/el.json +11 -0
  104. homeassistant/components/mqtt/translations/en-GB.json +2 -6
  105. homeassistant/components/mqtt/translations/en.json +13 -6
  106. homeassistant/components/mqtt/translations/es.json +2 -6
  107. homeassistant/components/mqtt/translations/et.json +13 -6
  108. homeassistant/components/mqtt/translations/fr.json +27 -6
  109. homeassistant/components/mqtt/translations/fy.json +2 -5
  110. homeassistant/components/mqtt/translations/ga.json +2 -6
  111. homeassistant/components/mqtt/translations/he.json +2 -6
  112. homeassistant/components/mqtt/translations/hu.json +2 -6
  113. homeassistant/components/mqtt/translations/it.json +25 -0
  114. homeassistant/components/mqtt/translations/ja.json +1 -4
  115. homeassistant/components/mqtt/translations/lt.json +2 -6
  116. homeassistant/components/mqtt/translations/mk.json +1 -6
  117. homeassistant/components/mqtt/translations/nl.json +27 -6
  118. homeassistant/components/mqtt/translations/pt.json +4 -6
  119. homeassistant/components/mqtt/translations/ru.json +2 -6
  120. homeassistant/components/mqtt/translations/sk.json +13 -6
  121. homeassistant/components/mqtt/translations/sl.json +2 -6
  122. homeassistant/components/mqtt/translations/sv.json +2 -6
  123. homeassistant/components/mqtt/translations/tr.json +2 -6
  124. homeassistant/components/mqtt/translations/zh-Hans.json +2 -6
  125. homeassistant/components/mqtt/translations/zh-Hant.json +13 -6
  126. homeassistant/components/myuplink/translations/hu.json +6 -0
  127. homeassistant/components/neato/translations/hu.json +6 -0
  128. homeassistant/components/nest/translations/hu.json +6 -0
  129. homeassistant/components/netatmo/translations/hu.json +6 -0
  130. homeassistant/components/nextdns/translations/fr.json +6 -0
  131. homeassistant/components/ntfy/translations/hu.json +112 -2
  132. homeassistant/components/nut/translations/el.json +42 -0
  133. homeassistant/components/ollama/translations/fr.json +33 -0
  134. homeassistant/components/ollama/translations/hu.json +33 -0
  135. homeassistant/components/ollama/translations/it.json +35 -0
  136. homeassistant/components/ondilo_ico/translations/hu.json +6 -0
  137. homeassistant/components/onedrive/translations/hu.json +6 -0
  138. homeassistant/components/onewire/translations/sv.json +1 -1
  139. homeassistant/components/openai_conversation/translations/fr.json +56 -0
  140. homeassistant/components/openai_conversation/translations/hu.json +56 -0
  141. homeassistant/components/openai_conversation/translations/it.json +56 -0
  142. homeassistant/components/paperless_ngx/manifest.json +1 -1
  143. homeassistant/components/paperless_ngx/translations/hu.json +4 -2
  144. homeassistant/components/peblar/translations/el.json +12 -0
  145. homeassistant/components/pegel_online/translations/bg.json +1 -2
  146. homeassistant/components/pegel_online/translations/ca.json +1 -2
  147. homeassistant/components/pegel_online/translations/cs.json +1 -2
  148. homeassistant/components/pegel_online/translations/de.json +1 -1
  149. homeassistant/components/pegel_online/translations/el.json +1 -1
  150. homeassistant/components/pegel_online/translations/en-GB.json +1 -2
  151. homeassistant/components/pegel_online/translations/en.json +1 -1
  152. homeassistant/components/pegel_online/translations/es.json +1 -1
  153. homeassistant/components/pegel_online/translations/et.json +1 -1
  154. homeassistant/components/pegel_online/translations/fi.json +1 -2
  155. homeassistant/components/pegel_online/translations/fr.json +1 -2
  156. homeassistant/components/pegel_online/translations/hu.json +1 -2
  157. homeassistant/components/pegel_online/translations/id.json +1 -2
  158. homeassistant/components/pegel_online/translations/it.json +1 -2
  159. homeassistant/components/pegel_online/translations/ja.json +1 -2
  160. homeassistant/components/pegel_online/translations/ko.json +1 -2
  161. homeassistant/components/pegel_online/translations/lt.json +1 -2
  162. homeassistant/components/pegel_online/translations/lv.json +1 -2
  163. homeassistant/components/pegel_online/translations/nl.json +1 -2
  164. homeassistant/components/pegel_online/translations/pt.json +1 -2
  165. homeassistant/components/pegel_online/translations/ru.json +1 -2
  166. homeassistant/components/pegel_online/translations/sk.json +1 -1
  167. homeassistant/components/pegel_online/translations/sv.json +1 -2
  168. homeassistant/components/pegel_online/translations/tr.json +1 -2
  169. homeassistant/components/pegel_online/translations/zh-Hant.json +1 -1
  170. homeassistant/components/pi_hole/translations/fr.json +1 -0
  171. homeassistant/components/playstation_network/translations/fr.json +15 -0
  172. homeassistant/components/playstation_network/translations/hu.json +73 -0
  173. homeassistant/components/playstation_network/translations/it.json +43 -0
  174. homeassistant/components/point/translations/hu.json +6 -0
  175. homeassistant/components/rest/data.py +40 -1
  176. homeassistant/components/screenlogic/translations/el.json +7 -0
  177. homeassistant/components/sensibo/translations/el.json +1 -0
  178. homeassistant/components/senz/translations/hu.json +6 -0
  179. homeassistant/components/shelly/entity.py +10 -3
  180. homeassistant/components/smappee/translations/hu.json +6 -0
  181. homeassistant/components/smartthings/translations/hu.json +6 -0
  182. homeassistant/components/sonos/translations/fr.json +6 -0
  183. homeassistant/components/sonos/translations/it.json +11 -0
  184. homeassistant/components/spotify/translations/hu.json +6 -0
  185. homeassistant/components/stream/__init__.py +8 -4
  186. homeassistant/components/stream/const.py +2 -1
  187. homeassistant/components/stream/core.py +3 -1
  188. homeassistant/components/subaru/translations/el.json +2 -0
  189. homeassistant/components/subaru/translations/en-GB.json +2 -0
  190. homeassistant/components/subaru/translations/es.json +2 -0
  191. homeassistant/components/subaru/translations/et.json +2 -0
  192. homeassistant/components/subaru/translations/pt.json +2 -0
  193. homeassistant/components/subaru/translations/sk.json +2 -0
  194. homeassistant/components/subaru/translations/zh-Hans.json +2 -0
  195. homeassistant/components/subaru/translations/zh-Hant.json +2 -0
  196. homeassistant/components/swiss_public_transport/translations/el.json +60 -6
  197. homeassistant/components/switchbot/translations/hu.json +19 -0
  198. homeassistant/components/switchbot/translations/it.json +53 -0
  199. homeassistant/components/switchbot_cloud/__init__.py +6 -1
  200. homeassistant/components/switchbot_cloud/binary_sensor.py +8 -1
  201. homeassistant/components/switchbot_cloud/sensor.py +3 -2
  202. homeassistant/components/telegram_bot/manifest.json +1 -1
  203. homeassistant/components/telegram_bot/translations/fr.json +3 -1
  204. homeassistant/components/telegram_bot/translations/hu.json +1 -0
  205. homeassistant/components/telegram_bot/translations/it.json +30 -0
  206. homeassistant/components/telegram_bot/translations/pt.json +30 -0
  207. homeassistant/components/tesla_fleet/translations/hu.json +7 -0
  208. homeassistant/components/teslemetry/coordinator.py +6 -6
  209. homeassistant/components/thermopro/strings.json +1 -1
  210. homeassistant/components/thermopro/translations/cs.json +0 -7
  211. homeassistant/components/thermopro/translations/de.json +1 -1
  212. homeassistant/components/thermopro/translations/el.json +1 -1
  213. homeassistant/components/thermopro/translations/en-GB.json +1 -1
  214. homeassistant/components/thermopro/translations/en.json +1 -1
  215. homeassistant/components/thermopro/translations/et.json +1 -1
  216. homeassistant/components/thermopro/translations/hu.json +0 -7
  217. homeassistant/components/thermopro/translations/ja.json +0 -7
  218. homeassistant/components/thermopro/translations/lt.json +0 -7
  219. homeassistant/components/thermopro/translations/nl.json +0 -7
  220. homeassistant/components/thermopro/translations/pt-BR.json +0 -7
  221. homeassistant/components/thermopro/translations/pt.json +0 -7
  222. homeassistant/components/thermopro/translations/ru.json +0 -7
  223. homeassistant/components/thermopro/translations/sk.json +1 -1
  224. homeassistant/components/thermopro/translations/sv.json +0 -7
  225. homeassistant/components/thermopro/translations/tr.json +0 -7
  226. homeassistant/components/tibber/manifest.json +1 -1
  227. homeassistant/components/tibber/sensor.py +1 -1
  228. homeassistant/components/tilt_pi/translations/hu.json +21 -0
  229. homeassistant/components/toon/translations/hu.json +6 -0
  230. homeassistant/components/vegehub/translations/hu.json +11 -0
  231. homeassistant/components/vegehub/translations/it.json +40 -0
  232. homeassistant/components/vulcan/manifest.json +1 -1
  233. homeassistant/components/weheat/translations/hu.json +6 -0
  234. homeassistant/components/withings/translations/hu.json +6 -0
  235. homeassistant/components/wled/translations/fr.json +1 -0
  236. homeassistant/components/wmspro/cover.py +2 -0
  237. homeassistant/components/xbox/translations/hu.json +6 -0
  238. homeassistant/components/xiaomi_miio/translations/fr.json +24 -2
  239. homeassistant/components/xiaomi_miio/translations/hu.json +7 -0
  240. homeassistant/components/yale/translations/hu.json +6 -0
  241. homeassistant/components/yolink/translations/hu.json +6 -0
  242. homeassistant/components/zha/translations/fr.json +50 -0
  243. homeassistant/components/zha/translations/hu.json +6 -0
  244. homeassistant/components/zha/translations/it.json +50 -0
  245. homeassistant/components/zha/translations/sv.json +4 -0
  246. homeassistant/components/zwave_js/config_flow.py +81 -28
  247. homeassistant/components/zwave_js/strings.json +30 -10
  248. homeassistant/components/zwave_js/translations/cs.json +0 -12
  249. homeassistant/components/zwave_js/translations/de.json +26 -6
  250. homeassistant/components/zwave_js/translations/el.json +25 -4
  251. homeassistant/components/zwave_js/translations/en-GB.json +0 -12
  252. homeassistant/components/zwave_js/translations/en.json +24 -4
  253. homeassistant/components/zwave_js/translations/es.json +24 -4
  254. homeassistant/components/zwave_js/translations/et.json +25 -4
  255. homeassistant/components/zwave_js/translations/fi.json +0 -14
  256. homeassistant/components/zwave_js/translations/fr.json +6 -0
  257. homeassistant/components/zwave_js/translations/ga.json +0 -14
  258. homeassistant/components/zwave_js/translations/hu.json +32 -4
  259. homeassistant/components/zwave_js/translations/it.json +26 -0
  260. homeassistant/components/zwave_js/translations/lt.json +0 -12
  261. homeassistant/components/zwave_js/translations/mk.json +0 -5
  262. homeassistant/components/zwave_js/translations/pt.json +10 -13
  263. homeassistant/components/zwave_js/translations/ru.json +0 -8
  264. homeassistant/components/zwave_js/translations/sk.json +25 -4
  265. homeassistant/components/zwave_js/translations/sv.json +0 -12
  266. homeassistant/components/zwave_js/translations/tr.json +0 -12
  267. homeassistant/components/zwave_js/translations/zh-Hans.json +27 -6
  268. homeassistant/components/zwave_js/translations/zh-Hant.json +24 -4
  269. homeassistant/const.py +1 -1
  270. homeassistant/generated/integrations.json +1 -8
  271. homeassistant/package_constraints.txt +1 -1
  272. {homeassistant-2025.7.0b2.dist-info → homeassistant-2025.7.0b4.dist-info}/METADATA +1 -1
  273. {homeassistant-2025.7.0b2.dist-info → homeassistant-2025.7.0b4.dist-info}/RECORD +278 -273
  274. homeassistant/components/dweet/__init__.py +0 -79
  275. homeassistant/components/dweet/manifest.json +0 -10
  276. homeassistant/components/dweet/sensor.py +0 -124
  277. homeassistant/components/thermopro/translations/ga.json +0 -9
  278. homeassistant/components/thermopro/translations/mk.json +0 -9
  279. {homeassistant-2025.7.0b2.dist-info → homeassistant-2025.7.0b4.dist-info}/WHEEL +0 -0
  280. {homeassistant-2025.7.0b2.dist-info → homeassistant-2025.7.0b4.dist-info}/entry_points.txt +0 -0
  281. {homeassistant-2025.7.0b2.dist-info → homeassistant-2025.7.0b4.dist-info}/licenses/LICENSE.md +0 -0
  282. {homeassistant-2025.7.0b2.dist-info → homeassistant-2025.7.0b4.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
  283. {homeassistant-2025.7.0b2.dist-info → homeassistant-2025.7.0b4.dist-info}/top_level.txt +0 -0
@@ -25,7 +25,8 @@
25
25
  "reconfigure": {
26
26
  "data": {
27
27
  "api_key": "API kulcs",
28
- "url": "URL"
28
+ "url": "URL",
29
+ "verify_ssl": "SSL-tan\u00fas\u00edtv\u00e1ny ellen\u0151rz\u00e9se"
29
30
  },
30
31
  "data_description": {
31
32
  "api_key": "API-kulcs a Paperless-ngx API-hoz val\u00f3 csatlakoz\u00e1shoz",
@@ -36,7 +37,8 @@
36
37
  "user": {
37
38
  "data": {
38
39
  "api_key": "API kulcs",
39
- "url": "URL"
40
+ "url": "URL",
41
+ "verify_ssl": "SSL-tan\u00fas\u00edtv\u00e1ny ellen\u0151rz\u00e9se"
40
42
  },
41
43
  "data_description": {
42
44
  "api_key": "API-kulcs a Paperless-ngx API-hoz val\u00f3 csatlakoz\u00e1shoz",
@@ -22,12 +22,18 @@
22
22
  "host": "\u039a\u03b5\u03bd\u03c4\u03c1\u03b9\u03ba\u03cc\u03c2 \u03c5\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03c4\u03ae\u03c2",
23
23
  "password": "\u039a\u03c9\u03b4\u03b9\u03ba\u03cc\u03c2 \u03c0\u03c1\u03cc\u03c3\u03b2\u03b1\u03c3\u03b7\u03c2"
24
24
  },
25
+ "data_description": {
26
+ "host": "\u03a4\u03bf \u03cc\u03bd\u03bf\u03bc\u03b1 \u03ba\u03b5\u03bd\u03c4\u03c1\u03b9\u03ba\u03bf\u03cd \u03c5\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03c4\u03ae \u03ae \u03b7 \u03b4\u03b9\u03b5\u03cd\u03b8\u03c5\u03bd\u03c3\u03b7 IP \u03c4\u03bf\u03c5 \u03c6\u03bf\u03c1\u03c4\u03b9\u03c3\u03c4\u03ae Peblar EV \u03c3\u03c4\u03bf \u03bf\u03b9\u03ba\u03b9\u03b1\u03ba\u03cc \u03c3\u03b1\u03c2 \u03b4\u03af\u03ba\u03c4\u03c5\u03bf."
27
+ },
25
28
  "description": "\u0395\u03c0\u03b1\u03bd\u03b1\u03b4\u03b9\u03b1\u03bc\u03bf\u03c1\u03c6\u03ce\u03c3\u03c4\u03b5 \u03c4\u03bf\u03bd \u03c6\u03bf\u03c1\u03c4\u03b9\u03c3\u03c4\u03ae Peblar EV.\n\n\u0391\u03c5\u03c4\u03cc \u03c3\u03b1\u03c2 \u03b5\u03c0\u03b9\u03c4\u03c1\u03ad\u03c0\u03b5\u03b9 \u03bd\u03b1 \u03b1\u03bb\u03bb\u03ac\u03be\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b4\u03b9\u03b5\u03cd\u03b8\u03c5\u03bd\u03c3\u03b7 IP \u03c4\u03bf\u03c5 \u03c6\u03bf\u03c1\u03c4\u03b9\u03c3\u03c4\u03ae Peblar EV \u03ba\u03b1\u03b9 \u03c4\u03bf\u03bd \u03ba\u03c9\u03b4\u03b9\u03ba\u03cc \u03c0\u03c1\u03cc\u03c3\u03b2\u03b1\u03c3\u03b7\u03c2 \u03c0\u03bf\u03c5 \u03c7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03b5\u03af\u03c4\u03b5 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03c3\u03c5\u03bd\u03b4\u03b5\u03b8\u03b5\u03af\u03c4\u03b5 \u03c3\u03c4\u03b7 \u03b4\u03b9\u03b5\u03c0\u03b1\u03c6\u03ae \u03b4\u03b9\u03ba\u03c4\u03cd\u03bf\u03c5 \u03c4\u03bf\u03c5."
26
29
  },
27
30
  "user": {
28
31
  "data": {
29
32
  "host": "\u039a\u03b5\u03bd\u03c4\u03c1\u03b9\u03ba\u03cc\u03c2 \u03c5\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03c4\u03ae\u03c2",
30
33
  "password": "\u039a\u03c9\u03b4\u03b9\u03ba\u03cc\u03c2 \u03c0\u03c1\u03cc\u03c3\u03b2\u03b1\u03c3\u03b7\u03c2"
34
+ },
35
+ "data_description": {
36
+ "host": "\u03a4\u03bf \u03cc\u03bd\u03bf\u03bc\u03b1 \u03ba\u03b5\u03bd\u03c4\u03c1\u03b9\u03ba\u03bf\u03cd \u03c5\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03c4\u03ae \u03ae \u03b7 \u03b4\u03b9\u03b5\u03cd\u03b8\u03c5\u03bd\u03c3\u03b7 IP \u03c4\u03bf\u03c5 \u03c6\u03bf\u03c1\u03c4\u03b9\u03c3\u03c4\u03ae Peblar EV \u03c3\u03c4\u03bf \u03bf\u03b9\u03ba\u03b9\u03b1\u03ba\u03cc \u03c3\u03b1\u03c2 \u03b4\u03af\u03ba\u03c4\u03c5\u03bf."
31
37
  }
32
38
  },
33
39
  "zeroconf_confirm": {
@@ -61,6 +67,12 @@
61
67
  "exceptions": {
62
68
  "authentication_error": {
63
69
  "message": "\u03a0\u03b1\u03c1\u03bf\u03c5\u03c3\u03b9\u03ac\u03c3\u03c4\u03b7\u03ba\u03b5 \u03c3\u03c6\u03ac\u03bb\u03bc\u03b1 \u03b5\u03bb\u03ad\u03b3\u03c7\u03bf\u03c5 \u03c4\u03b1\u03c5\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1\u03c2 \u03ba\u03b1\u03c4\u03ac \u03c4\u03b7\u03bd \u03b5\u03c0\u03b9\u03ba\u03bf\u03b9\u03bd\u03c9\u03bd\u03af\u03b1 \u03bc\u03b5 \u03c4\u03bf\u03bd \u03c6\u03bf\u03c1\u03c4\u03b9\u03c3\u03c4\u03ae \u03b7\u03bb\u03b5\u03ba\u03c4\u03c1\u03b9\u03ba\u03bf\u03cd \u03bf\u03c7\u03ae\u03bc\u03b1\u03c4\u03bf\u03c2 Peblar."
70
+ },
71
+ "communication_error": {
72
+ "message": "\u03a0\u03b1\u03c1\u03bf\u03c5\u03c3\u03b9\u03ac\u03c3\u03c4\u03b7\u03ba\u03b5 \u03c3\u03c6\u03ac\u03bb\u03bc\u03b1 \u03ba\u03b1\u03c4\u03ac \u03c4\u03b7\u03bd \u03b5\u03c0\u03b9\u03ba\u03bf\u03b9\u03bd\u03c9\u03bd\u03af\u03b1 \u03bc\u03b5 \u03c4\u03bf\u03bd \u03c6\u03bf\u03c1\u03c4\u03b9\u03c3\u03c4\u03ae Peblar EV: {error}"
73
+ },
74
+ "unknown_error": {
75
+ "message": "\u03a0\u03b1\u03c1\u03bf\u03c5\u03c3\u03b9\u03ac\u03c3\u03c4\u03b7\u03ba\u03b5 \u03ac\u03b3\u03bd\u03c9\u03c3\u03c4\u03bf \u03c3\u03c6\u03ac\u03bb\u03bc\u03b1 \u03ba\u03b1\u03c4\u03ac \u03c4\u03b7\u03bd \u03b5\u03c0\u03b9\u03ba\u03bf\u03b9\u03bd\u03c9\u03bd\u03af\u03b1 \u03bc\u03b5 \u03c4\u03bf\u03bd \u03c6\u03bf\u03c1\u03c4\u03b9\u03c3\u03c4\u03ae Peblar EV: {error}"
64
76
  }
65
77
  }
66
78
  }
@@ -11,8 +11,7 @@
11
11
  "data": {
12
12
  "station": "\u0421\u0442\u0430\u043d\u0446\u0438\u044f"
13
13
  },
14
- "description": "\u041d\u0430\u043c\u0435\u0440\u0435\u043d\u0438 \u0441\u0430 {stations_count} \u0441\u0442\u0430\u043d\u0446\u0438\u0438 \u0432 \u0440\u0430\u0434\u0438\u0443\u0441\u0430",
15
- "title": "\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0441\u0442\u0430\u043d\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 \u0438\u0437\u043c\u0435\u0440\u0432\u0430\u043d\u0435, \u043a\u043e\u044f\u0442\u043e \u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0435"
14
+ "description": "\u041d\u0430\u043c\u0435\u0440\u0435\u043d\u0438 \u0441\u0430 {stations_count} \u0441\u0442\u0430\u043d\u0446\u0438\u0438 \u0432 \u0440\u0430\u0434\u0438\u0443\u0441\u0430"
16
15
  },
17
16
  "user": {
18
17
  "data": {
@@ -12,8 +12,7 @@
12
12
  "data": {
13
13
  "station": "Estaci\u00f3"
14
14
  },
15
- "description": "S'han trobat {stations_count} estacions dins el radi",
16
- "title": "Selecciona l'estaci\u00f3 de mesura a afegir"
15
+ "description": "S'han trobat {stations_count} estacions dins el radi"
17
16
  },
18
17
  "user": {
19
18
  "data": {
@@ -12,8 +12,7 @@
12
12
  "data": {
13
13
  "station": "Stanice"
14
14
  },
15
- "description": "Nalezeno {stations_count} stanic pobl\u00ed\u017e",
16
- "title": "Vybrat m\u011b\u0159ic\u00ed stanici pro p\u0159id\u00e1n\u00ed"
15
+ "description": "Nalezeno {stations_count} stanic pobl\u00ed\u017e"
17
16
  },
18
17
  "user": {
19
18
  "data": {
@@ -13,7 +13,7 @@
13
13
  "station": "Station"
14
14
  },
15
15
  "description": "{stations_count} Stationen im Umkreis gefunden",
16
- "title": "W\u00e4hle die hinzuzuf\u00fcgende Messstation aus"
16
+ "title": "Hinzuzuf\u00fcgende Station ausw\u00e4hlen"
17
17
  },
18
18
  "user": {
19
19
  "data": {
@@ -13,7 +13,7 @@
13
13
  "station": "\u03a3\u03c4\u03b1\u03b8\u03bc\u03cc\u03c2"
14
14
  },
15
15
  "description": "\u0392\u03c1\u03ad\u03b8\u03b7\u03ba\u03b1\u03bd {stations_count} \u03c3\u03c4\u03b1\u03b8\u03bc\u03bf\u03af \u03b5\u03bd\u03c4\u03cc\u03c2 \u03c4\u03b7\u03c2 \u03b1\u03ba\u03c4\u03af\u03bd\u03b1\u03c2 \u03b1\u03bd\u03b1\u03b6\u03ae\u03c4\u03b7\u03c3\u03b7\u03c2",
16
- "title": "\u0395\u03c0\u03b9\u03bb\u03ad\u03be\u03c4\u03b5 \u03c4\u03bf \u03c3\u03c4\u03b1\u03b8\u03bc\u03cc \u03bc\u03ad\u03c4\u03c1\u03b7\u03c3\u03b7\u03c2 \u03c0\u03bf\u03c5 \u03b8\u03ad\u03bb\u03b5\u03c4\u03b5 \u03bd\u03b1 \u03c0\u03c1\u03bf\u03c3\u03b8\u03ad\u03c3\u03b5\u03c4\u03b5"
16
+ "title": "\u0395\u03c0\u03b9\u03bb\u03ad\u03be\u03c4\u03b5 \u03c4\u03bf\u03bd \u03c3\u03c4\u03b1\u03b8\u03bc\u03cc \u03c0\u03bf\u03c5 \u03b8\u03ad\u03bb\u03b5\u03c4\u03b5 \u03bd\u03b1 \u03c0\u03c1\u03bf\u03c3\u03b8\u03ad\u03c3\u03b5\u03c4\u03b5"
17
17
  },
18
18
  "user": {
19
19
  "data": {
@@ -12,8 +12,7 @@
12
12
  "data": {
13
13
  "station": "Station"
14
14
  },
15
- "description": "Found {stations_count} stations in radius",
16
- "title": "Select the measuring station to add"
15
+ "description": "Found {stations_count} stations in radius"
17
16
  },
18
17
  "user": {
19
18
  "data": {
@@ -13,7 +13,7 @@
13
13
  "station": "Station"
14
14
  },
15
15
  "description": "Found {stations_count} stations in radius",
16
- "title": "Select the measuring station to add"
16
+ "title": "Select the station to add"
17
17
  },
18
18
  "user": {
19
19
  "data": {
@@ -13,7 +13,7 @@
13
13
  "station": "Estaci\u00f3n"
14
14
  },
15
15
  "description": "Se encontraron {stations_count} estaciones en el radio",
16
- "title": "Selecciona la estaci\u00f3n de medici\u00f3n para a\u00f1adir"
16
+ "title": "Selecciona la estaci\u00f3n que quieres a\u00f1adir"
17
17
  },
18
18
  "user": {
19
19
  "data": {
@@ -13,7 +13,7 @@
13
13
  "station": "M\u00f5\u00f5tejaam"
14
14
  },
15
15
  "description": "Piirkonnas on leitud {stations_count} m\u00f5\u00f5tejaama",
16
- "title": "Vali lisatav m\u00f5\u00f5tejaam"
16
+ "title": "Vali lisatav jaam"
17
17
  },
18
18
  "user": {
19
19
  "data": {
@@ -12,8 +12,7 @@
12
12
  "data": {
13
13
  "station": "Asema"
14
14
  },
15
- "description": "S\u00e4teelt\u00e4 l\u00f6ytyi {stations_count} asemaa",
16
- "title": "Valitse lis\u00e4tt\u00e4v\u00e4 mittausasema"
15
+ "description": "S\u00e4teelt\u00e4 l\u00f6ytyi {stations_count} asemaa"
17
16
  },
18
17
  "user": {
19
18
  "data": {
@@ -12,8 +12,7 @@
12
12
  "data": {
13
13
  "station": "Station"
14
14
  },
15
- "description": "{stations_count} stations-services trouv\u00e9es dans le rayon",
16
- "title": "Identifiant de la station de mesure"
15
+ "description": "{stations_count} stations-services trouv\u00e9es dans le rayon"
17
16
  },
18
17
  "user": {
19
18
  "data": {
@@ -12,8 +12,7 @@
12
12
  "data": {
13
13
  "station": "\u00c1llom\u00e1s"
14
14
  },
15
- "description": "Tal\u00e1ltam {stations_count} \u00e1llom\u00e1st a keres\u00e9si sug\u00e1rban.",
16
- "title": "V\u00e1laszd ki a m\u00e9r\u0151\u00e1llom\u00e1st, amit hozz\u00e1 szeretn\u00e9l adni"
15
+ "description": "Tal\u00e1ltam {stations_count} \u00e1llom\u00e1st a keres\u00e9si sug\u00e1rban."
17
16
  },
18
17
  "user": {
19
18
  "data": {
@@ -12,8 +12,7 @@
12
12
  "data": {
13
13
  "station": "Stasiun"
14
14
  },
15
- "description": "Ditemukan {stations_count} stasiun dalam radius",
16
- "title": "Pilih stasiun pengukur untuk ditambahkan"
15
+ "description": "Ditemukan {stations_count} stasiun dalam radius"
17
16
  },
18
17
  "user": {
19
18
  "data": {
@@ -12,8 +12,7 @@
12
12
  "data": {
13
13
  "station": "Stazione"
14
14
  },
15
- "description": "Trovate {stations_count} stazioni nel raggio",
16
- "title": "Selezionare la stazione di misurazione da aggiungere"
15
+ "description": "Trovate {stations_count} stazioni nel raggio"
17
16
  },
18
17
  "user": {
19
18
  "data": {
@@ -12,8 +12,7 @@
12
12
  "data": {
13
13
  "station": "\u30b9\u30c6\u30fc\u30b7\u30e7\u30f3"
14
14
  },
15
- "description": "\u534a\u5f84\u5185\u306b{stations_count}\u30b9\u30c6\u30fc\u30b7\u30e7\u30f3\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f",
16
- "title": "\u8ffd\u52a0\u3059\u308b\u6e2c\u5b9a\u30b9\u30c6\u30fc\u30b7\u30e7\u30f3\u3092\u9078\u629e"
15
+ "description": "\u534a\u5f84\u5185\u306b{stations_count}\u30b9\u30c6\u30fc\u30b7\u30e7\u30f3\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f"
17
16
  },
18
17
  "user": {
19
18
  "data": {
@@ -12,8 +12,7 @@
12
12
  "data": {
13
13
  "station": "\uce21\uc815\uc18c"
14
14
  },
15
- "description": "\ubc18\uacbd\uc5d0\uc11c {stations_count} \uce21\uc815\uc18c\ub97c \ucc3e\uc558\uc2b5\ub2c8\ub2e4.",
16
- "title": "\ucd94\uac00\ud560 \uce21\uc815\uc18c\ub97c \uc120\ud0dd\ud569\ub2c8\ub2e4"
15
+ "description": "\ubc18\uacbd\uc5d0\uc11c {stations_count} \uce21\uc815\uc18c\ub97c \ucc3e\uc558\uc2b5\ub2c8\ub2e4."
17
16
  },
18
17
  "user": {
19
18
  "data": {
@@ -12,8 +12,7 @@
12
12
  "data": {
13
13
  "station": "Stotis"
14
14
  },
15
- "description": "Rasta {stations_count} sto\u010di\u0173 spinduliu",
16
- "title": "Pasirinkite matavimo stot\u012f, kuri\u0105 norite prid\u0117ti"
15
+ "description": "Rasta {stations_count} sto\u010di\u0173 spinduliu"
17
16
  },
18
17
  "user": {
19
18
  "data": {
@@ -12,8 +12,7 @@
12
12
  "data": {
13
13
  "station": "Stacija"
14
14
  },
15
- "description": "Nor\u0101d\u012btaj\u0101 r\u0101dius\u0101 atrastas {stations_count}\u00a0stacijas",
16
- "title": "Izv\u0113lieties pievienojamo m\u0113r\u012b\u0161anas staciju"
15
+ "description": "Nor\u0101d\u012btaj\u0101 r\u0101dius\u0101 atrastas {stations_count}\u00a0stacijas"
17
16
  },
18
17
  "user": {
19
18
  "data": {
@@ -12,8 +12,7 @@
12
12
  "data": {
13
13
  "station": "Station"
14
14
  },
15
- "description": "{stations_count} stations gevonden in omgeving",
16
- "title": "Selecteer stations om toe te voegen"
15
+ "description": "{stations_count} stations gevonden in omgeving"
17
16
  },
18
17
  "user": {
19
18
  "data": {
@@ -12,8 +12,7 @@
12
12
  "data": {
13
13
  "station": "Esta\u00e7\u00e3o"
14
14
  },
15
- "description": "Encontrou {stations_count} esta\u00e7\u00f5es no raio",
16
- "title": "Selecionar a esta\u00e7\u00e3o de medi\u00e7\u00e3o a adicionar"
15
+ "description": "Encontrou {stations_count} esta\u00e7\u00f5es no raio"
17
16
  },
18
17
  "user": {
19
18
  "data": {
@@ -12,8 +12,7 @@
12
12
  "data": {
13
13
  "station": "\u0421\u0442\u0430\u043d\u0446\u0438\u044f"
14
14
  },
15
- "description": "\u041d\u0430\u0439\u0434\u0435\u043d\u043e {stations_count} \u0441\u0442\u0430\u043d\u0446\u0438\u0439 \u0432 \u0440\u0430\u0434\u0438\u0443\u0441\u0435",
16
- "title": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0430\u043d\u0446\u0438\u044e"
15
+ "description": "\u041d\u0430\u0439\u0434\u0435\u043d\u043e {stations_count} \u0441\u0442\u0430\u043d\u0446\u0438\u0439 \u0432 \u0440\u0430\u0434\u0438\u0443\u0441\u0435"
17
16
  },
18
17
  "user": {
19
18
  "data": {
@@ -13,7 +13,7 @@
13
13
  "station": "Stanica"
14
14
  },
15
15
  "description": "Po\u010det n\u00e1jden\u00fdch stan\u00edc v okruhu {stations_count}",
16
- "title": "Vyberte meracie stanice, ktor\u00e9 chcete prida\u0165"
16
+ "title": "Vyberte stanicu, ktor\u00fa chcete prida\u0165"
17
17
  },
18
18
  "user": {
19
19
  "data": {
@@ -12,8 +12,7 @@
12
12
  "data": {
13
13
  "station": "Station"
14
14
  },
15
- "description": "Hittade {stations_count} stationer inom denna radien",
16
- "title": "V\u00e4lj den m\u00e4tstation som ska l\u00e4ggas till"
15
+ "description": "Hittade {stations_count} stationer inom denna radien"
17
16
  },
18
17
  "user": {
19
18
  "data": {
@@ -12,8 +12,7 @@
12
12
  "data": {
13
13
  "station": "\u0130stasyon"
14
14
  },
15
- "description": "Yar\u0131\u00e7ap i\u00e7inde {stations_count} istasyon bulundu",
16
- "title": "Eklenecek \u00f6l\u00e7\u00fcm istasyonunu se\u00e7in"
15
+ "description": "Yar\u0131\u00e7ap i\u00e7inde {stations_count} istasyon bulundu"
17
16
  },
18
17
  "user": {
19
18
  "data": {
@@ -13,7 +13,7 @@
13
13
  "station": "\u76e3\u63a7\u7ad9"
14
14
  },
15
15
  "description": "\u65bc\u534a\u5f91\u5167\u627e\u5230 {stations_count} \u5ea7\u76e3\u63a7\u7ad9",
16
- "title": "\u9078\u64c7\u6240\u8981\u589e\u52a0\u7684\u76e3\u63a7\u7ad9"
16
+ "title": "\u9078\u64c7\u6240\u8981\u589e\u52a0\u7684\u7ad9\u9ede"
17
17
  },
18
18
  "user": {
19
19
  "data": {
@@ -67,6 +67,7 @@
67
67
  "unit_of_measurement": "requ\u00eates"
68
68
  },
69
69
  "unique_clients": {
70
+ "name": "Clients DNS uniques",
70
71
  "unit_of_measurement": "clients"
71
72
  },
72
73
  "unique_domains": {
@@ -0,0 +1,15 @@
1
+ {
2
+ "config": {
3
+ "step": {
4
+ "user": {
5
+ "data": {
6
+ "npsso": "Jeton NPSSO"
7
+ },
8
+ "data_description": {
9
+ "npsso": "Le jeton NPSSO est g\u00e9n\u00e9r\u00e9 lors de la connexion r\u00e9ussie \u00e0 votre compte PlayStation Network et est utilis\u00e9 pour authentifier vos demandes dans Home Assistant."
10
+ },
11
+ "description": "Pour obtenir votre jeton OPSN, connectez-vous d'abord \u00e0 votre [compte PlayStation]({psn_link}). Puis [cliquez ici]({npsso_link}) pour r\u00e9cup\u00e9rer le jeton."
12
+ }
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,73 @@
1
+ {
2
+ "config": {
3
+ "abort": {
4
+ "already_configured": "A fi\u00f3k m\u00e1r konfigur\u00e1lva van",
5
+ "reauth_successful": "Az \u00fajrahiteles\u00edt\u00e9s sikeres volt",
6
+ "unique_id_mismatch": "A megadott NPSSO token a(z) {wrong_account} fi\u00f3khoz tartozik. Hiteles\u00edtsen \u00fajra a(z) **{name}** fi\u00f3kkal"
7
+ },
8
+ "error": {
9
+ "cannot_connect": "Sikertelen csatlakoz\u00e1s",
10
+ "invalid_account": "\u00c9rv\u00e9nytelen hozz\u00e1f\u00e9r\u00e9si token",
11
+ "invalid_auth": "\u00c9rv\u00e9nytelen hiteles\u00edt\u00e9s",
12
+ "unknown": "V\u00e1ratlan hiba"
13
+ },
14
+ "step": {
15
+ "reauth_confirm": {
16
+ "data": {
17
+ "npsso": "NPSSO token"
18
+ },
19
+ "data_description": {
20
+ "npsso": "Az NPSSO tokent akkor kapja meg, amikor sikeresen bejelentkezik a PlayStation Network fi\u00f3kj\u00e1ba, \u00e9s a Home Assistant \u00e1ltali hiteles\u00edt\u00e9sekhez haszn\u00e1latos."
21
+ },
22
+ "description": "A(z) **{name}** felhaszn\u00e1l\u00f3 NPSSO tokene lej\u00e1rt. \u00daj token beszerz\u00e9s\u00e9hez el\u0151sz\u00f6r jelentkezzen be a [PlayStation fi\u00f3kj\u00e1ba]({psn_link}), majd [kattintson ide]({npsso_link}) a token lek\u00e9r\u00e9s\u00e9hez.",
23
+ "title": "{name} \u00fajrahiteles\u00edt\u00e9se a PlayStation Network szolg\u00e1ltat\u00e1ssal"
24
+ },
25
+ "user": {
26
+ "data": {
27
+ "npsso": "NPSSO token"
28
+ },
29
+ "data_description": {
30
+ "npsso": "Az NPSSO tokent akkor kapja meg, amikor sikeresen bejelentkezik a PlayStation Network fi\u00f3kj\u00e1ba, \u00e9s a Home Assistant \u00e1ltali hiteles\u00edt\u00e9sekhez haszn\u00e1latos."
31
+ },
32
+ "description": "NPSSO token beszerz\u00e9s\u00e9hez el\u0151sz\u00f6r jelentkezzen be a [PlayStation fi\u00f3kj\u00e1ba]({psn_link}), majd [kattintson ide]({npsso_link}) a token lek\u00e9r\u00e9s\u00e9hez."
33
+ }
34
+ }
35
+ },
36
+ "entity": {
37
+ "sensor": {
38
+ "earned_trophies_bronze": {
39
+ "name": "Bronz tr\u00f3fe\u00e1k",
40
+ "unit_of_measurement": "tr\u00f3fea"
41
+ },
42
+ "earned_trophies_gold": {
43
+ "name": "Arany tr\u00f3fe\u00e1k",
44
+ "unit_of_measurement": "tr\u00f3fea"
45
+ },
46
+ "earned_trophies_platinum": {
47
+ "name": "Platina tr\u00f3fe\u00e1k",
48
+ "unit_of_measurement": "tr\u00f3fea"
49
+ },
50
+ "earned_trophies_silver": {
51
+ "name": "Ez\u00fcst tr\u00f3fe\u00e1k",
52
+ "unit_of_measurement": "tr\u00f3fea"
53
+ },
54
+ "online_id": {
55
+ "name": "Online-azonos\u00edt\u00f3"
56
+ },
57
+ "trophy_level": {
58
+ "name": "Tr\u00f3feaszint"
59
+ },
60
+ "trophy_level_progress": {
61
+ "name": "K\u00f6vetkez\u0151 szint"
62
+ }
63
+ }
64
+ },
65
+ "exceptions": {
66
+ "not_ready": {
67
+ "message": "A PlayStation Network hiteles\u00edt\u00e9se nem siker\u00fclt."
68
+ },
69
+ "update_failed": {
70
+ "message": "Nem siker\u00fclt az adatok lek\u00e9r\u00e9se a PlayStation Network el\u00e9r\u00e9s\u00e9nek k\u00eds\u00e9rletekor."
71
+ }
72
+ }
73
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "config": {
3
+ "abort": {
4
+ "reauth_successful": "L'autenticazione ha avuto successo",
5
+ "unique_id_mismatch": "Il token NPSSO fornito corrisponde all'account {wrong_account}. Per favore, autenticati nuovamente con l'account **{name}**"
6
+ },
7
+ "step": {
8
+ "reauth_confirm": {
9
+ "description": "Il token NPSSO per **{name}** \u00e8 scaduto. Per ottenerne uno nuovo, accedi prima al tuo [account PlayStation]({psn_link}). Poi [clicca qui]({npsso_link}) per recuperare il token.",
10
+ "title": "Ri-autentica {name} con PlayStation Network"
11
+ }
12
+ }
13
+ },
14
+ "entity": {
15
+ "sensor": {
16
+ "earned_trophies_bronze": {
17
+ "name": "Trofei di bronzo",
18
+ "unit_of_measurement": "trofei"
19
+ },
20
+ "earned_trophies_gold": {
21
+ "name": "Trofei d'oro",
22
+ "unit_of_measurement": "trofei"
23
+ },
24
+ "earned_trophies_platinum": {
25
+ "name": "Trofei di platino",
26
+ "unit_of_measurement": "trofei"
27
+ },
28
+ "earned_trophies_silver": {
29
+ "name": "Trofei d'argento",
30
+ "unit_of_measurement": "trofei"
31
+ },
32
+ "online_id": {
33
+ "name": "ID online"
34
+ },
35
+ "trophy_level": {
36
+ "name": "Livello del trofeo"
37
+ },
38
+ "trophy_level_progress": {
39
+ "name": "Livello successivo"
40
+ }
41
+ }
42
+ }
43
+ }
@@ -20,6 +20,12 @@
20
20
  },
21
21
  "step": {
22
22
  "pick_implementation": {
23
+ "data": {
24
+ "implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
25
+ },
26
+ "data_description": {
27
+ "implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
28
+ },
23
29
  "title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
24
30
  },
25
31
  "reauth_confirm": {
@@ -6,6 +6,7 @@ import logging
6
6
  from typing import Any
7
7
 
8
8
  import aiohttp
9
+ from aiohttp import hdrs
9
10
  from multidict import CIMultiDictProxy
10
11
  import xmltodict
11
12
 
@@ -77,6 +78,12 @@ class RestData:
77
78
  """Set url."""
78
79
  self._resource = url
79
80
 
81
+ def _is_expected_content_type(self, content_type: str) -> bool:
82
+ """Check if the content type is one we expect (JSON or XML)."""
83
+ return content_type.startswith(
84
+ ("application/json", "text/json", *XML_MIME_TYPES)
85
+ )
86
+
80
87
  def data_without_xml(self) -> str | None:
81
88
  """If the data is an XML string, convert it to a JSON string."""
82
89
  _LOGGER.debug("Data fetched from resource: %s", self.data)
@@ -84,7 +91,7 @@ class RestData:
84
91
  (value := self.data) is not None
85
92
  # If the http request failed, headers will be None
86
93
  and (headers := self.headers) is not None
87
- and (content_type := headers.get("content-type"))
94
+ and (content_type := headers.get(hdrs.CONTENT_TYPE))
88
95
  and content_type.startswith(XML_MIME_TYPES)
89
96
  ):
90
97
  value = json_dumps(xmltodict.parse(value))
@@ -120,6 +127,7 @@ class RestData:
120
127
  # Handle data/content
121
128
  if self._request_data:
122
129
  request_kwargs["data"] = self._request_data
130
+ response = None
123
131
  try:
124
132
  # Make the request
125
133
  async with self._session.request(
@@ -143,3 +151,34 @@ class RestData:
143
151
  self.last_exception = ex
144
152
  self.data = None
145
153
  self.headers = None
154
+
155
+ # Log response details outside the try block so we always get logging
156
+ if response is None:
157
+ return
158
+
159
+ # Log response details for debugging
160
+ content_type = response.headers.get(hdrs.CONTENT_TYPE)
161
+ _LOGGER.debug(
162
+ "REST response from %s: status=%s, content-type=%s, length=%s",
163
+ self._resource,
164
+ response.status,
165
+ content_type or "not set",
166
+ len(self.data) if self.data else 0,
167
+ )
168
+
169
+ # If we got an error response with non-JSON/XML content, log a sample
170
+ # This helps debug issues like servers blocking with HTML error pages
171
+ if (
172
+ response.status >= 400
173
+ and content_type
174
+ and not self._is_expected_content_type(content_type)
175
+ ):
176
+ sample = self.data[:500] if self.data else "<empty>"
177
+ _LOGGER.warning(
178
+ "REST request to %s returned status %s with %s response: %s%s",
179
+ self._resource,
180
+ response.status,
181
+ content_type,
182
+ sample,
183
+ "..." if self.data and len(self.data) > 500 else "",
184
+ )
@@ -66,6 +66,13 @@
66
66
  }
67
67
  },
68
68
  "sensor": {
69
+ "chem_dose_state": {
70
+ "state": {
71
+ "dosing": "\u0394\u03bf\u03c3\u03bf\u03bb\u03bf\u03b3\u03af\u03b1",
72
+ "mixing": "\u039c\u03af\u03be\u03b7",
73
+ "monitoring": "\u03a0\u03b1\u03c1\u03b1\u03ba\u03bf\u03bb\u03bf\u03cd\u03b8\u03b7\u03c3\u03b7"
74
+ }
75
+ },
69
76
  "controller_state": {
70
77
  "name": "\u039a\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 \u03b5\u03bb\u03b5\u03b3\u03ba\u03c4\u03ae",
71
78
  "state": {
@@ -488,6 +488,7 @@
488
488
  }
489
489
  },
490
490
  "get_device_capabilities": {
491
+ "description": "\u039b\u03b1\u03bc\u03b2\u03ac\u03bd\u03b5\u03b9 \u03c4\u03b9\u03c2 \u03b4\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b5\u03c2 \u03c3\u03c5\u03c3\u03ba\u03b5\u03c5\u03ae\u03c2 \u03b3\u03b9\u03b1 \u03bc\u03b9\u03b1 \u03c3\u03c5\u03b3\u03ba\u03b5\u03ba\u03c1\u03b9\u03bc\u03ad\u03bd\u03b7 \u03c3\u03c5\u03c3\u03ba\u03b5\u03c5\u03ae \u03c3\u03cd\u03bc\u03c6\u03c9\u03bd\u03b1 \u03bc\u03b5 \u03c4\u03b9\u03c2 \u03b1\u03c0\u03b1\u03b9\u03c4\u03ae\u03c3\u03b5\u03b9\u03c2 \u03c4\u03bf\u03c5 API.",
491
492
  "fields": {
492
493
  "hvac_mode": {
493
494
  "description": "\u03a4\u03c1\u03cc\u03c0\u03bf\u03c2 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1\u03c2 \u03ba\u03bb\u03b9\u03bc\u03b1\u03c4\u03b9\u03c3\u03bc\u03bf\u03cd",
@@ -16,6 +16,12 @@
16
16
  },
17
17
  "step": {
18
18
  "pick_implementation": {
19
+ "data": {
20
+ "implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
21
+ },
22
+ "data_description": {
23
+ "implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
24
+ },
19
25
  "title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
20
26
  }
21
27
  }
@@ -86,7 +86,10 @@ def async_setup_block_attribute_entities(
86
86
  coordinator.device.settings, block
87
87
  ):
88
88
  domain = sensor_class.__module__.split(".")[-1]
89
- unique_id = f"{coordinator.mac}-{block.description}-{sensor_id}"
89
+ unique_id = sensor_class(
90
+ coordinator, block, sensor_id, description
91
+ ).unique_id
92
+ LOGGER.debug("Removing Shelly entity with unique_id: %s", unique_id)
90
93
  async_remove_shelly_entity(hass, domain, unique_id)
91
94
  else:
92
95
  entities.append(
@@ -192,8 +195,12 @@ def async_setup_rpc_attribute_entities(
192
195
  if description.removal_condition and description.removal_condition(
193
196
  coordinator.device.config, coordinator.device.status, key
194
197
  ):
195
- domain = sensor_class.__module__.split(".")[-1]
196
- unique_id = f"{coordinator.mac}-{key}-{sensor_id}"
198
+ entity_class = get_entity_class(sensor_class, description)
199
+ domain = entity_class.__module__.split(".")[-1]
200
+ unique_id = entity_class(
201
+ coordinator, key, sensor_id, description
202
+ ).unique_id
203
+ LOGGER.debug("Removing Shelly entity with unique_id: %s", unique_id)
197
204
  async_remove_shelly_entity(hass, domain, unique_id)
198
205
  elif description.use_polling_coordinator:
199
206
  if not sleep_period: