homeassistant 2025.7.0b1__py3-none-any.whl → 2025.7.0b5__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 (534) 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/ai_task/translations/ja.json +20 -0
  5. homeassistant/components/alexa_devices/manifest.json +1 -1
  6. homeassistant/components/alexa_devices/translations/cs.json +12 -1
  7. homeassistant/components/alexa_devices/translations/de.json +8 -0
  8. homeassistant/components/alexa_devices/translations/el.json +8 -0
  9. homeassistant/components/alexa_devices/translations/es.json +12 -1
  10. homeassistant/components/alexa_devices/translations/et.json +8 -0
  11. homeassistant/components/alexa_devices/translations/hu.json +27 -1
  12. homeassistant/components/alexa_devices/translations/it.json +29 -0
  13. homeassistant/components/alexa_devices/translations/ja.json +29 -0
  14. homeassistant/components/alexa_devices/translations/pt.json +12 -1
  15. homeassistant/components/alexa_devices/translations/sk.json +8 -0
  16. homeassistant/components/alexa_devices/translations/sv.json +8 -0
  17. homeassistant/components/alexa_devices/translations/zh-Hans.json +12 -1
  18. homeassistant/components/alexa_devices/translations/zh-Hant.json +8 -0
  19. homeassistant/components/altruist/translations/hu.json +51 -0
  20. homeassistant/components/altruist/translations/ja.json +50 -0
  21. homeassistant/components/anthropic/__init__.py +6 -0
  22. homeassistant/components/anthropic/translations/fr.json +37 -0
  23. homeassistant/components/anthropic/translations/hu.json +37 -0
  24. homeassistant/components/anthropic/translations/it.json +37 -0
  25. homeassistant/components/anthropic/translations/nl.json +2 -1
  26. homeassistant/components/assist_satellite/__init__.py +24 -6
  27. homeassistant/components/assist_satellite/services.yaml +18 -6
  28. homeassistant/components/assist_satellite/translations/fr.json +8 -0
  29. homeassistant/components/assist_satellite/translations/hu.json +38 -0
  30. homeassistant/components/assist_satellite/translations/it.json +8 -0
  31. homeassistant/components/assist_satellite/translations/ja.json +8 -0
  32. homeassistant/components/asuswrt/translations/nl.json +6 -0
  33. homeassistant/components/backup/translations/de.json +1 -1
  34. homeassistant/components/blue_current/translations/el.json +3 -1
  35. homeassistant/components/bluetooth/translations/el.json +3 -0
  36. homeassistant/components/climate/translations/hu.json +3 -0
  37. homeassistant/components/comelit/translations/de.json +1 -1
  38. homeassistant/components/counter/translations/sv.json +2 -2
  39. homeassistant/components/denonavr/translations/el.json +5 -0
  40. homeassistant/components/derivative/translations/fr.json +4 -0
  41. homeassistant/components/derivative/translations/hu.json +4 -0
  42. homeassistant/components/derivative/translations/it.json +4 -0
  43. homeassistant/components/devolo_home_control/translations/hu.json +21 -0
  44. homeassistant/components/devolo_home_control/translations/it.json +6 -0
  45. homeassistant/components/devolo_home_control/translations/nl.json +10 -0
  46. homeassistant/components/dsmr/sensor.py +8 -0
  47. homeassistant/components/ecovacs/translations/el.json +1 -0
  48. homeassistant/components/electric_kiwi/translations/hu.json +6 -0
  49. homeassistant/components/electric_kiwi/translations/ja.json +6 -0
  50. homeassistant/components/emoncms/translations/el.json +3 -0
  51. homeassistant/components/enphase_envoy/translations/hu.json +30 -0
  52. homeassistant/components/enphase_envoy/translations/it.json +27 -0
  53. homeassistant/components/enphase_envoy/translations/ja.json +27 -0
  54. homeassistant/components/enphase_envoy/translations/sv.json +4 -1
  55. homeassistant/components/ezviz/translations/hu.json +10 -0
  56. homeassistant/components/ezviz/translations/it.json +10 -0
  57. homeassistant/components/ezviz/translations/ja.json +10 -0
  58. homeassistant/components/ezviz/translations/sv.json +1 -1
  59. homeassistant/components/fitbit/translations/hu.json +6 -0
  60. homeassistant/components/fitbit/translations/ja.json +6 -0
  61. homeassistant/components/fritz/translations/nl.json +3 -0
  62. homeassistant/components/fronius/translations/el.json +14 -1
  63. homeassistant/components/fronius/translations/sv.json +2 -2
  64. homeassistant/components/frontend/manifest.json +1 -1
  65. homeassistant/components/geocaching/translations/hu.json +6 -0
  66. homeassistant/components/geocaching/translations/ja.json +6 -0
  67. homeassistant/components/google/translations/hu.json +6 -0
  68. homeassistant/components/google/translations/ja.json +6 -0
  69. homeassistant/components/google_assistant_sdk/translations/hu.json +6 -0
  70. homeassistant/components/google_assistant_sdk/translations/ja.json +11 -0
  71. homeassistant/components/google_drive/translations/hu.json +6 -0
  72. homeassistant/components/google_drive/translations/ja.json +6 -0
  73. homeassistant/components/google_generative_ai_conversation/__init__.py +15 -0
  74. homeassistant/components/google_generative_ai_conversation/conversation.py +0 -10
  75. homeassistant/components/google_generative_ai_conversation/translations/cs.json +28 -0
  76. homeassistant/components/google_generative_ai_conversation/translations/fr.json +82 -1
  77. homeassistant/components/google_generative_ai_conversation/translations/hu.json +69 -0
  78. homeassistant/components/google_generative_ai_conversation/translations/it.json +69 -0
  79. homeassistant/components/google_generative_ai_conversation/translations/ja.json +69 -0
  80. homeassistant/components/google_generative_ai_conversation/translations/nl.json +16 -0
  81. homeassistant/components/google_generative_ai_conversation/translations/pt.json +28 -0
  82. homeassistant/components/google_generative_ai_conversation/translations/sv.json +2 -0
  83. homeassistant/components/google_mail/translations/hu.json +6 -0
  84. homeassistant/components/google_mail/translations/ja.json +6 -0
  85. homeassistant/components/google_photos/translations/hu.json +6 -0
  86. homeassistant/components/google_photos/translations/ja.json +6 -0
  87. homeassistant/components/google_sheets/translations/hu.json +6 -0
  88. homeassistant/components/google_sheets/translations/ja.json +6 -0
  89. homeassistant/components/google_tasks/translations/hu.json +6 -0
  90. homeassistant/components/google_tasks/translations/ja.json +6 -0
  91. homeassistant/components/group/translations/pl.json +52 -2
  92. homeassistant/components/home_connect/translations/hu.json +6 -0
  93. homeassistant/components/home_connect/translations/ja.json +9 -0
  94. homeassistant/components/homeassistant/translations/fr.json +1 -0
  95. homeassistant/components/homeassistant/translations/hu.json +1 -0
  96. homeassistant/components/homeassistant/translations/it.json +1 -0
  97. homeassistant/components/homeassistant/translations/ja.json +1 -0
  98. homeassistant/components/homeassistant/translations/nl.json +1 -1
  99. homeassistant/components/homeassistant_hardware/firmware_config_flow.py +119 -7
  100. homeassistant/components/homeassistant_hardware/strings.json +3 -1
  101. homeassistant/components/homeassistant_hardware/translations/de.json +2 -0
  102. homeassistant/components/homeassistant_hardware/translations/el.json +1 -0
  103. homeassistant/components/homeassistant_hardware/translations/en-GB.json +1 -0
  104. homeassistant/components/homeassistant_hardware/translations/en.json +2 -0
  105. homeassistant/components/homeassistant_hardware/translations/es.json +1 -0
  106. homeassistant/components/homeassistant_hardware/translations/et.json +1 -0
  107. homeassistant/components/homeassistant_hardware/translations/fr.json +4 -0
  108. homeassistant/components/homeassistant_hardware/translations/hu.json +4 -0
  109. homeassistant/components/homeassistant_hardware/translations/it.json +6 -0
  110. homeassistant/components/homeassistant_hardware/translations/ja.json +4 -0
  111. homeassistant/components/homeassistant_hardware/translations/pt.json +1 -0
  112. homeassistant/components/homeassistant_hardware/translations/ru.json +1 -0
  113. homeassistant/components/homeassistant_hardware/translations/sk.json +1 -0
  114. homeassistant/components/homeassistant_hardware/translations/sv.json +1 -0
  115. homeassistant/components/homeassistant_hardware/translations/zh-Hans.json +1 -0
  116. homeassistant/components/homeassistant_hardware/translations/zh-Hant.json +1 -0
  117. homeassistant/components/homeassistant_sky_connect/config_flow.py +1 -1
  118. homeassistant/components/homeassistant_sky_connect/strings.json +6 -2
  119. homeassistant/components/homeassistant_sky_connect/translations/de.json +4 -0
  120. homeassistant/components/homeassistant_sky_connect/translations/el.json +2 -0
  121. homeassistant/components/homeassistant_sky_connect/translations/en-GB.json +2 -0
  122. homeassistant/components/homeassistant_sky_connect/translations/en.json +4 -0
  123. homeassistant/components/homeassistant_sky_connect/translations/es.json +2 -0
  124. homeassistant/components/homeassistant_sky_connect/translations/et.json +2 -0
  125. homeassistant/components/homeassistant_sky_connect/translations/fr.json +4 -0
  126. homeassistant/components/homeassistant_sky_connect/translations/hu.json +4 -0
  127. homeassistant/components/homeassistant_sky_connect/translations/it.json +4 -0
  128. homeassistant/components/homeassistant_sky_connect/translations/ja.json +4 -0
  129. homeassistant/components/homeassistant_sky_connect/translations/pt.json +2 -0
  130. homeassistant/components/homeassistant_sky_connect/translations/ru.json +2 -0
  131. homeassistant/components/homeassistant_sky_connect/translations/sk.json +2 -0
  132. homeassistant/components/homeassistant_sky_connect/translations/sv.json +2 -0
  133. homeassistant/components/homeassistant_sky_connect/translations/zh-Hans.json +2 -0
  134. homeassistant/components/homeassistant_sky_connect/translations/zh-Hant.json +2 -0
  135. homeassistant/components/homeassistant_yellow/strings.json +3 -1
  136. homeassistant/components/homeassistant_yellow/translations/bg.json +0 -1
  137. homeassistant/components/homeassistant_yellow/translations/cs.json +0 -1
  138. homeassistant/components/homeassistant_yellow/translations/de.json +2 -0
  139. homeassistant/components/homeassistant_yellow/translations/el.json +1 -0
  140. homeassistant/components/homeassistant_yellow/translations/en-GB.json +2 -1
  141. homeassistant/components/homeassistant_yellow/translations/en.json +3 -1
  142. homeassistant/components/homeassistant_yellow/translations/es.json +1 -0
  143. homeassistant/components/homeassistant_yellow/translations/et.json +1 -0
  144. homeassistant/components/homeassistant_yellow/translations/fr.json +2 -1
  145. homeassistant/components/homeassistant_yellow/translations/he.json +0 -1
  146. homeassistant/components/homeassistant_yellow/translations/hu.json +3 -1
  147. homeassistant/components/homeassistant_yellow/translations/id.json +0 -1
  148. homeassistant/components/homeassistant_yellow/translations/it.json +2 -1
  149. homeassistant/components/homeassistant_yellow/translations/ja.json +2 -1
  150. homeassistant/components/homeassistant_yellow/translations/lt.json +0 -1
  151. homeassistant/components/homeassistant_yellow/translations/pt.json +1 -0
  152. homeassistant/components/homeassistant_yellow/translations/ru.json +1 -0
  153. homeassistant/components/homeassistant_yellow/translations/sk.json +1 -0
  154. homeassistant/components/homeassistant_yellow/translations/sv.json +1 -1
  155. homeassistant/components/homeassistant_yellow/translations/tr.json +0 -1
  156. homeassistant/components/homeassistant_yellow/translations/zh-Hans.json +1 -0
  157. homeassistant/components/homeassistant_yellow/translations/zh-Hant.json +1 -0
  158. homeassistant/components/homee/translations/hu.json +25 -0
  159. homeassistant/components/homee/translations/ja.json +31 -1
  160. homeassistant/components/homewizard/translations/hu.json +19 -2
  161. homeassistant/components/homewizard/translations/sv.json +1 -1
  162. homeassistant/components/honeywell/__init__.py +8 -16
  163. homeassistant/components/honeywell/config_flow.py +6 -2
  164. homeassistant/components/honeywell/manifest.json +1 -1
  165. homeassistant/components/husqvarna_automower/button.py +3 -1
  166. homeassistant/components/husqvarna_automower/translations/hu.json +6 -0
  167. homeassistant/components/husqvarna_automower/translations/ja.json +6 -0
  168. homeassistant/components/imap/translations/fr.json +2 -0
  169. homeassistant/components/immich/translations/hu.json +5 -0
  170. homeassistant/components/immich/translations/ja.json +9 -0
  171. homeassistant/components/input_number/translations/sv.json +2 -2
  172. homeassistant/components/input_text/translations/sv.json +1 -1
  173. homeassistant/components/iotty/translations/hu.json +6 -0
  174. homeassistant/components/iotty/translations/ja.json +6 -0
  175. homeassistant/components/iron_os/manifest.json +1 -1
  176. homeassistant/components/ista_ecotrend/util.py +14 -14
  177. homeassistant/components/jellyfin/client_wrapper.py +1 -2
  178. homeassistant/components/jellyfin/coordinator.py +3 -0
  179. homeassistant/components/jellyfin/manifest.json +1 -2
  180. homeassistant/components/juicenet/translations/hu.json +8 -1
  181. homeassistant/components/juicenet/translations/it.json +8 -1
  182. homeassistant/components/juicenet/translations/ja.json +8 -1
  183. homeassistant/components/keenetic_ndms2/translations/hu.json +4 -0
  184. homeassistant/components/keenetic_ndms2/translations/it.json +4 -0
  185. homeassistant/components/keenetic_ndms2/translations/ja.json +4 -0
  186. homeassistant/components/knx/translations/ja.json +11 -0
  187. homeassistant/components/lamarzocco/entity.py +19 -1
  188. homeassistant/components/lamarzocco/number.py +0 -4
  189. homeassistant/components/lamarzocco/sensor.py +2 -4
  190. homeassistant/components/lametric/translations/hu.json +6 -0
  191. homeassistant/components/lametric/translations/ja.json +6 -0
  192. homeassistant/components/lifx/translations/el.json +2 -1
  193. homeassistant/components/litterrobot/translations/hu.json +4 -0
  194. homeassistant/components/litterrobot/translations/it.json +4 -0
  195. homeassistant/components/lyric/translations/hu.json +6 -0
  196. homeassistant/components/lyric/translations/ja.json +6 -0
  197. homeassistant/components/matter/translations/hu.json +32 -0
  198. homeassistant/components/matter/translations/ja.json +29 -0
  199. homeassistant/components/mcp/translations/hu.json +6 -0
  200. homeassistant/components/meater/translations/hu.json +12 -1
  201. homeassistant/components/microbees/translations/hu.json +6 -0
  202. homeassistant/components/microbees/translations/ja.json +6 -0
  203. homeassistant/components/miele/translations/hu.json +30 -1
  204. homeassistant/components/miele/translations/it.json +24 -1
  205. homeassistant/components/miele/translations/ja.json +29 -0
  206. homeassistant/components/minecraft_server/translations/sv.json +1 -1
  207. homeassistant/components/monzo/translations/hu.json +6 -0
  208. homeassistant/components/monzo/translations/ja.json +6 -0
  209. homeassistant/components/motioneye/translations/sv.json +1 -1
  210. homeassistant/components/mqtt/config_flow.py +34 -7
  211. homeassistant/components/mqtt/strings.json +11 -4
  212. homeassistant/components/mqtt/translations/bg.json +1 -3
  213. homeassistant/components/mqtt/translations/cs.json +21 -6
  214. homeassistant/components/mqtt/translations/de.json +23 -16
  215. homeassistant/components/mqtt/translations/el.json +11 -0
  216. homeassistant/components/mqtt/translations/en-GB.json +2 -6
  217. homeassistant/components/mqtt/translations/en.json +13 -6
  218. homeassistant/components/mqtt/translations/es.json +13 -6
  219. homeassistant/components/mqtt/translations/et.json +13 -6
  220. homeassistant/components/mqtt/translations/fr.json +38 -6
  221. homeassistant/components/mqtt/translations/fy.json +2 -5
  222. homeassistant/components/mqtt/translations/ga.json +2 -6
  223. homeassistant/components/mqtt/translations/he.json +2 -6
  224. homeassistant/components/mqtt/translations/hu.json +39 -6
  225. homeassistant/components/mqtt/translations/it.json +40 -0
  226. homeassistant/components/mqtt/translations/ja.json +39 -4
  227. homeassistant/components/mqtt/translations/lt.json +2 -6
  228. homeassistant/components/mqtt/translations/mk.json +1 -6
  229. homeassistant/components/mqtt/translations/nl.json +39 -7
  230. homeassistant/components/mqtt/translations/pt.json +4 -6
  231. homeassistant/components/mqtt/translations/ru.json +13 -6
  232. homeassistant/components/mqtt/translations/sk.json +13 -6
  233. homeassistant/components/mqtt/translations/sl.json +2 -6
  234. homeassistant/components/mqtt/translations/sv.json +13 -6
  235. homeassistant/components/mqtt/translations/tr.json +2 -6
  236. homeassistant/components/mqtt/translations/zh-Hans.json +13 -6
  237. homeassistant/components/mqtt/translations/zh-Hant.json +13 -6
  238. homeassistant/components/music_assistant/translations/hu.json +7 -0
  239. homeassistant/components/music_assistant/translations/ja.json +7 -0
  240. homeassistant/components/myuplink/translations/hu.json +6 -0
  241. homeassistant/components/myuplink/translations/ja.json +6 -0
  242. homeassistant/components/nam/translations/pl.json +9 -0
  243. homeassistant/components/neato/translations/hu.json +6 -0
  244. homeassistant/components/neato/translations/ja.json +6 -0
  245. homeassistant/components/nest/translations/hu.json +6 -0
  246. homeassistant/components/nest/translations/ja.json +6 -0
  247. homeassistant/components/netatmo/translations/hu.json +6 -0
  248. homeassistant/components/netatmo/translations/ja.json +6 -0
  249. homeassistant/components/nextcloud/translations/nl.json +3 -0
  250. homeassistant/components/nextdns/translations/fr.json +6 -0
  251. homeassistant/components/nextdns/translations/hu.json +14 -0
  252. homeassistant/components/nextdns/translations/ja.json +6 -0
  253. homeassistant/components/ntfy/translations/hu.json +112 -2
  254. homeassistant/components/ntfy/translations/it.json +82 -0
  255. homeassistant/components/ntfy/translations/ja.json +71 -0
  256. homeassistant/components/ntfy/translations/nl.json +18 -0
  257. homeassistant/components/ntfy/translations/sv.json +1 -0
  258. homeassistant/components/number/translations/sv.json +2 -2
  259. homeassistant/components/nut/config_flow.py +4 -2
  260. homeassistant/components/nut/translations/el.json +42 -0
  261. homeassistant/components/nzbget/translations/ja.json +5 -0
  262. homeassistant/components/ollama/__init__.py +6 -0
  263. homeassistant/components/ollama/translations/fr.json +33 -0
  264. homeassistant/components/ollama/translations/hu.json +33 -0
  265. homeassistant/components/ollama/translations/it.json +35 -0
  266. homeassistant/components/ollama/translations/ja.json +33 -0
  267. homeassistant/components/ollama/translations/sv.json +1 -0
  268. homeassistant/components/ondilo_ico/translations/hu.json +6 -0
  269. homeassistant/components/ondilo_ico/translations/ja.json +6 -0
  270. homeassistant/components/onedrive/translations/hu.json +6 -0
  271. homeassistant/components/onedrive/translations/ja.json +6 -0
  272. homeassistant/components/onewire/translations/sv.json +1 -1
  273. homeassistant/components/openai_conversation/__init__.py +6 -0
  274. homeassistant/components/openai_conversation/translations/fr.json +56 -0
  275. homeassistant/components/openai_conversation/translations/hu.json +56 -0
  276. homeassistant/components/openai_conversation/translations/it.json +56 -0
  277. homeassistant/components/openai_conversation/translations/ja.json +45 -0
  278. homeassistant/components/openai_conversation/translations/nl.json +13 -0
  279. homeassistant/components/openai_conversation/translations/sv.json +4 -0
  280. homeassistant/components/opentherm_gw/climate.py +12 -1
  281. homeassistant/components/opentherm_gw/strings.json +3 -0
  282. homeassistant/components/opentherm_gw/translations/de.json +3 -0
  283. homeassistant/components/opentherm_gw/translations/en.json +3 -0
  284. homeassistant/components/opentherm_gw/translations/ja.json +5 -0
  285. homeassistant/components/osoenergy/translations/nl.json +1 -0
  286. homeassistant/components/paperless_ngx/manifest.json +1 -1
  287. homeassistant/components/paperless_ngx/translations/hu.json +8 -4
  288. homeassistant/components/paperless_ngx/translations/ja.json +20 -0
  289. homeassistant/components/peblar/translations/el.json +12 -0
  290. homeassistant/components/pegel_online/translations/bg.json +1 -2
  291. homeassistant/components/pegel_online/translations/ca.json +1 -2
  292. homeassistant/components/pegel_online/translations/cs.json +1 -2
  293. homeassistant/components/pegel_online/translations/de.json +1 -1
  294. homeassistant/components/pegel_online/translations/el.json +1 -1
  295. homeassistant/components/pegel_online/translations/en-GB.json +1 -1
  296. homeassistant/components/pegel_online/translations/en.json +1 -1
  297. homeassistant/components/pegel_online/translations/es.json +1 -1
  298. homeassistant/components/pegel_online/translations/et.json +1 -1
  299. homeassistant/components/pegel_online/translations/fi.json +1 -2
  300. homeassistant/components/pegel_online/translations/fr.json +1 -2
  301. homeassistant/components/pegel_online/translations/hu.json +1 -1
  302. homeassistant/components/pegel_online/translations/id.json +1 -2
  303. homeassistant/components/pegel_online/translations/it.json +1 -2
  304. homeassistant/components/pegel_online/translations/ja.json +1 -2
  305. homeassistant/components/pegel_online/translations/ko.json +1 -2
  306. homeassistant/components/pegel_online/translations/lt.json +1 -2
  307. homeassistant/components/pegel_online/translations/lv.json +1 -2
  308. homeassistant/components/pegel_online/translations/nl.json +1 -2
  309. homeassistant/components/pegel_online/translations/pt.json +1 -2
  310. homeassistant/components/pegel_online/translations/ru.json +1 -1
  311. homeassistant/components/pegel_online/translations/sk.json +1 -1
  312. homeassistant/components/pegel_online/translations/sv.json +1 -1
  313. homeassistant/components/pegel_online/translations/tr.json +1 -2
  314. homeassistant/components/pegel_online/translations/zh-Hant.json +1 -1
  315. homeassistant/components/person/__init__.py +1 -2
  316. homeassistant/components/pi_hole/translations/fr.json +1 -0
  317. homeassistant/components/playstation_network/diagnostics.py +55 -0
  318. homeassistant/components/playstation_network/quality_scale.yaml +1 -1
  319. homeassistant/components/playstation_network/translations/fr.json +15 -0
  320. homeassistant/components/playstation_network/translations/hu.json +73 -0
  321. homeassistant/components/playstation_network/translations/it.json +73 -0
  322. homeassistant/components/playstation_network/translations/ja.json +44 -0
  323. homeassistant/components/playstation_network/translations/pl.json +73 -0
  324. homeassistant/components/playstation_network/translations/ru.json +1 -0
  325. homeassistant/components/playstation_network/translations/sv.json +2 -1
  326. homeassistant/components/plugwise/translations/sv.json +2 -2
  327. homeassistant/components/point/translations/hu.json +6 -0
  328. homeassistant/components/point/translations/ja.json +6 -0
  329. homeassistant/components/proximity/translations/bg.json +0 -3
  330. homeassistant/components/proximity/translations/ca.json +2 -27
  331. homeassistant/components/proximity/translations/cs.json +1 -25
  332. homeassistant/components/proximity/translations/el.json +1 -25
  333. homeassistant/components/proximity/translations/en-GB.json +4 -4
  334. homeassistant/components/proximity/translations/en.json +4 -4
  335. homeassistant/components/proximity/translations/et.json +1 -1
  336. homeassistant/components/proximity/translations/fi.json +1 -25
  337. homeassistant/components/proximity/translations/fr.json +1 -25
  338. homeassistant/components/proximity/translations/gl.json +1 -24
  339. homeassistant/components/proximity/translations/hu.json +1 -25
  340. homeassistant/components/proximity/translations/id.json +1 -25
  341. homeassistant/components/proximity/translations/it.json +1 -13
  342. homeassistant/components/proximity/translations/ja.json +1 -25
  343. homeassistant/components/proximity/translations/lt.json +1 -25
  344. homeassistant/components/proximity/translations/nl.json +8 -0
  345. homeassistant/components/proximity/translations/pl.json +1 -25
  346. homeassistant/components/proximity/translations/pt-BR.json +1 -25
  347. homeassistant/components/proximity/translations/pt.json +1 -25
  348. homeassistant/components/proximity/translations/ru.json +1 -25
  349. homeassistant/components/proximity/translations/sk.json +2 -2
  350. homeassistant/components/proximity/translations/sv.json +1 -25
  351. homeassistant/components/proximity/translations/tr.json +1 -25
  352. homeassistant/components/proximity/translations/zh-Hans.json +2 -2
  353. homeassistant/components/pushbullet/sensor.py +7 -2
  354. homeassistant/components/random/translations/sv.json +4 -4
  355. homeassistant/components/reolink/manifest.json +1 -1
  356. homeassistant/components/reolink/translations/hu.json +21 -0
  357. homeassistant/components/reolink/translations/it.json +12 -0
  358. homeassistant/components/reolink/translations/ja.json +15 -0
  359. homeassistant/components/rest/data.py +46 -1
  360. homeassistant/components/russound_rio/translations/hu.json +21 -0
  361. homeassistant/components/russound_rio/translations/ja.json +21 -0
  362. homeassistant/components/screenlogic/translations/el.json +7 -0
  363. homeassistant/components/sensibo/translations/el.json +1 -0
  364. homeassistant/components/sensor/translations/pl.json +1 -0
  365. homeassistant/components/senz/translations/hu.json +6 -0
  366. homeassistant/components/senz/translations/ja.json +6 -0
  367. homeassistant/components/shelly/entity.py +10 -3
  368. homeassistant/components/shelly/manifest.json +1 -1
  369. homeassistant/components/sma/translations/ja.json +8 -0
  370. homeassistant/components/smappee/translations/hu.json +6 -0
  371. homeassistant/components/smappee/translations/ja.json +6 -0
  372. homeassistant/components/smarla/translations/ja.json +9 -0
  373. homeassistant/components/smartthings/translations/hu.json +15 -0
  374. homeassistant/components/smartthings/translations/ja.json +6 -0
  375. homeassistant/components/sonos/translations/cs.json +6 -0
  376. homeassistant/components/sonos/translations/fr.json +6 -0
  377. homeassistant/components/sonos/translations/hu.json +9 -0
  378. homeassistant/components/sonos/translations/it.json +11 -0
  379. homeassistant/components/sonos/translations/ja.json +9 -0
  380. homeassistant/components/spotify/translations/hu.json +6 -0
  381. homeassistant/components/stream/__init__.py +8 -4
  382. homeassistant/components/stream/const.py +2 -1
  383. homeassistant/components/stream/core.py +3 -1
  384. homeassistant/components/subaru/strings.json +2 -2
  385. homeassistant/components/subaru/translations/ca.json +0 -1
  386. homeassistant/components/subaru/translations/cs.json +0 -2
  387. homeassistant/components/subaru/translations/de.json +2 -2
  388. homeassistant/components/subaru/translations/el.json +2 -2
  389. homeassistant/components/subaru/translations/en-GB.json +2 -2
  390. homeassistant/components/subaru/translations/en.json +2 -2
  391. homeassistant/components/subaru/translations/es.json +2 -2
  392. homeassistant/components/subaru/translations/et.json +2 -2
  393. homeassistant/components/subaru/translations/fi.json +0 -1
  394. homeassistant/components/subaru/translations/hu.json +2 -2
  395. homeassistant/components/subaru/translations/it.json +0 -1
  396. homeassistant/components/subaru/translations/ja.json +0 -1
  397. homeassistant/components/subaru/translations/ko.json +0 -1
  398. homeassistant/components/subaru/translations/lt.json +0 -2
  399. homeassistant/components/subaru/translations/pt-BR.json +0 -1
  400. homeassistant/components/subaru/translations/pt.json +2 -2
  401. homeassistant/components/subaru/translations/ru.json +2 -2
  402. homeassistant/components/subaru/translations/sk.json +2 -2
  403. homeassistant/components/subaru/translations/sv.json +0 -2
  404. homeassistant/components/subaru/translations/tr.json +0 -2
  405. homeassistant/components/subaru/translations/zh-Hans.json +2 -2
  406. homeassistant/components/subaru/translations/zh-Hant.json +2 -2
  407. homeassistant/components/sun/translations/ja.json +9 -0
  408. homeassistant/components/swiss_public_transport/translations/el.json +60 -6
  409. homeassistant/components/switchbot/translations/hu.json +54 -0
  410. homeassistant/components/switchbot/translations/it.json +53 -0
  411. homeassistant/components/switchbot/translations/ja.json +46 -0
  412. homeassistant/components/switchbot/translations/sv.json +2 -0
  413. homeassistant/components/switchbot_cloud/__init__.py +6 -1
  414. homeassistant/components/switchbot_cloud/binary_sensor.py +8 -1
  415. homeassistant/components/switchbot_cloud/sensor.py +3 -2
  416. homeassistant/components/telegram_bot/config_flow.py +23 -11
  417. homeassistant/components/telegram_bot/manifest.json +1 -1
  418. homeassistant/components/telegram_bot/translations/cs.json +30 -0
  419. homeassistant/components/telegram_bot/translations/de.json +23 -1
  420. homeassistant/components/telegram_bot/translations/el.json +30 -0
  421. homeassistant/components/telegram_bot/translations/en-GB.json +3 -1
  422. homeassistant/components/telegram_bot/translations/es.json +30 -0
  423. homeassistant/components/telegram_bot/translations/et.json +24 -0
  424. homeassistant/components/telegram_bot/translations/fr.json +3 -1
  425. homeassistant/components/telegram_bot/translations/hu.json +56 -0
  426. homeassistant/components/telegram_bot/translations/it.json +30 -0
  427. homeassistant/components/telegram_bot/translations/ja.json +99 -0
  428. homeassistant/components/telegram_bot/translations/pt.json +30 -0
  429. homeassistant/components/telegram_bot/translations/ru.json +21 -1
  430. homeassistant/components/telegram_bot/translations/sk.json +30 -0
  431. homeassistant/components/telegram_bot/translations/sv.json +23 -0
  432. homeassistant/components/telegram_bot/translations/zh-Hans.json +30 -0
  433. homeassistant/components/telegram_bot/translations/zh-Hant.json +30 -0
  434. homeassistant/components/template/translations/pl.json +25 -3
  435. homeassistant/components/tesla_fleet/translations/de.json +1 -1
  436. homeassistant/components/tesla_fleet/translations/hu.json +30 -0
  437. homeassistant/components/tesla_fleet/translations/ja.json +22 -0
  438. homeassistant/components/teslemetry/coordinator.py +6 -6
  439. homeassistant/components/teslemetry/translations/de.json +2 -2
  440. homeassistant/components/text/translations/sv.json +1 -1
  441. homeassistant/components/thermopro/strings.json +1 -1
  442. homeassistant/components/thermopro/translations/cs.json +0 -7
  443. homeassistant/components/thermopro/translations/de.json +1 -1
  444. homeassistant/components/thermopro/translations/el.json +1 -1
  445. homeassistant/components/thermopro/translations/en-GB.json +1 -1
  446. homeassistant/components/thermopro/translations/en.json +1 -1
  447. homeassistant/components/thermopro/translations/et.json +1 -1
  448. homeassistant/components/thermopro/translations/ja.json +0 -7
  449. homeassistant/components/thermopro/translations/lt.json +0 -7
  450. homeassistant/components/thermopro/translations/nl.json +0 -7
  451. homeassistant/components/thermopro/translations/pt-BR.json +0 -7
  452. homeassistant/components/thermopro/translations/pt.json +0 -7
  453. homeassistant/components/thermopro/translations/sk.json +1 -1
  454. homeassistant/components/thermopro/translations/sv.json +0 -7
  455. homeassistant/components/thermopro/translations/tr.json +0 -7
  456. homeassistant/components/tibber/manifest.json +1 -1
  457. homeassistant/components/tibber/sensor.py +1 -1
  458. homeassistant/components/tilt_pi/translations/hu.json +31 -0
  459. homeassistant/components/tilt_pi/translations/ja.json +31 -0
  460. homeassistant/components/tilt_pi/translations/nl.json +7 -0
  461. homeassistant/components/toon/translations/hu.json +6 -0
  462. homeassistant/components/vegehub/translations/hu.json +44 -0
  463. homeassistant/components/vegehub/translations/it.json +44 -0
  464. homeassistant/components/vegehub/translations/ja.json +44 -0
  465. homeassistant/components/vegehub/translations/sv.json +2 -1
  466. homeassistant/components/vesync/fan.py +25 -17
  467. homeassistant/components/vicare/translations/sv.json +2 -2
  468. homeassistant/components/vulcan/manifest.json +1 -1
  469. homeassistant/components/wallbox/const.py +4 -0
  470. homeassistant/components/wallbox/coordinator.py +47 -20
  471. homeassistant/components/wallbox/lock.py +1 -12
  472. homeassistant/components/wallbox/number.py +1 -12
  473. homeassistant/components/wallbox/translations/hu.json +3 -0
  474. homeassistant/components/wallbox/translations/ja.json +5 -0
  475. homeassistant/components/weheat/translations/hu.json +6 -0
  476. homeassistant/components/withings/translations/de.json +4 -4
  477. homeassistant/components/withings/translations/hu.json +6 -0
  478. homeassistant/components/withings/translations/ja.json +3 -0
  479. homeassistant/components/wled/translations/fr.json +1 -0
  480. homeassistant/components/wmspro/cover.py +4 -7
  481. homeassistant/components/wmspro/light.py +12 -9
  482. homeassistant/components/wmspro/manifest.json +1 -1
  483. homeassistant/components/wyoming/translations/sv.json +2 -2
  484. homeassistant/components/xbox/translations/hu.json +6 -0
  485. homeassistant/components/xiaomi_miio/translations/fr.json +24 -2
  486. homeassistant/components/xiaomi_miio/translations/hu.json +30 -7
  487. homeassistant/components/yale/translations/hu.json +6 -0
  488. homeassistant/components/yolink/translations/hu.json +6 -0
  489. homeassistant/components/zha/translations/fr.json +50 -0
  490. homeassistant/components/zha/translations/hu.json +53 -0
  491. homeassistant/components/zha/translations/it.json +50 -0
  492. homeassistant/components/zha/translations/ja.json +41 -0
  493. homeassistant/components/zha/translations/nl.json +7 -0
  494. homeassistant/components/zha/translations/sv.json +23 -0
  495. homeassistant/components/zwave_js/config_flow.py +84 -88
  496. homeassistant/components/zwave_js/strings.json +31 -15
  497. homeassistant/components/zwave_js/translations/bg.json +0 -3
  498. homeassistant/components/zwave_js/translations/cs.json +0 -17
  499. homeassistant/components/zwave_js/translations/de.json +27 -11
  500. homeassistant/components/zwave_js/translations/el.json +25 -9
  501. homeassistant/components/zwave_js/translations/en-GB.json +25 -9
  502. homeassistant/components/zwave_js/translations/en.json +25 -9
  503. homeassistant/components/zwave_js/translations/es.json +25 -9
  504. homeassistant/components/zwave_js/translations/et.json +25 -9
  505. homeassistant/components/zwave_js/translations/fi.json +0 -14
  506. homeassistant/components/zwave_js/translations/fr.json +6 -0
  507. homeassistant/components/zwave_js/translations/ga.json +0 -19
  508. homeassistant/components/zwave_js/translations/hu.json +33 -9
  509. homeassistant/components/zwave_js/translations/it.json +26 -0
  510. homeassistant/components/zwave_js/translations/ja.json +26 -0
  511. homeassistant/components/zwave_js/translations/lt.json +0 -17
  512. homeassistant/components/zwave_js/translations/mk.json +0 -10
  513. homeassistant/components/zwave_js/translations/pt.json +10 -18
  514. homeassistant/components/zwave_js/translations/ru.json +28 -8
  515. homeassistant/components/zwave_js/translations/sk.json +25 -9
  516. homeassistant/components/zwave_js/translations/sv.json +30 -14
  517. homeassistant/components/zwave_js/translations/tr.json +0 -12
  518. homeassistant/components/zwave_js/translations/zh-Hans.json +27 -11
  519. homeassistant/components/zwave_js/translations/zh-Hant.json +25 -9
  520. homeassistant/const.py +1 -1
  521. homeassistant/generated/integrations.json +1 -8
  522. homeassistant/package_constraints.txt +1 -1
  523. {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b5.dist-info}/METADATA +1 -1
  524. {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b5.dist-info}/RECORD +529 -511
  525. homeassistant/components/dweet/__init__.py +0 -79
  526. homeassistant/components/dweet/manifest.json +0 -10
  527. homeassistant/components/dweet/sensor.py +0 -124
  528. homeassistant/components/thermopro/translations/ga.json +0 -9
  529. homeassistant/components/thermopro/translations/mk.json +0 -9
  530. {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b5.dist-info}/WHEEL +0 -0
  531. {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b5.dist-info}/entry_points.txt +0 -0
  532. {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b5.dist-info}/licenses/LICENSE.md +0 -0
  533. {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b5.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
  534. {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b5.dist-info}/top_level.txt +0 -0
@@ -280,7 +280,7 @@ async def async_setup_entry(
280
280
  except TimeoutError as err:
281
281
  _LOGGER.error("Timeout connecting to Tibber home: %s ", err)
282
282
  raise PlatformNotReady from err
283
- except aiohttp.ClientError as err:
283
+ except (tibber.RetryableHttpExceptionError, aiohttp.ClientError) as err:
284
284
  _LOGGER.error("Error connecting to Tibber home: %s ", err)
285
285
  raise PlatformNotReady from err
286
286
 
@@ -0,0 +1,31 @@
1
+ {
2
+ "config": {
3
+ "abort": {
4
+ "already_configured": "Az eszk\u00f6z m\u00e1r konfigur\u00e1lva van"
5
+ },
6
+ "error": {
7
+ "cannot_connect": "Sikertelen csatlakoz\u00e1s",
8
+ "invalid_host": "\u00c9rv\u00e9nytelen g\u00e9pn\u00e9v vagy IP-c\u00edm"
9
+ },
10
+ "step": {
11
+ "confirm": {
12
+ "description": "El szeretn\u00e9 kezdeni a be\u00e1ll\u00edt\u00e1st?"
13
+ },
14
+ "user": {
15
+ "data": {
16
+ "url": "URL"
17
+ },
18
+ "data_description": {
19
+ "url": "A Tilt Pi p\u00e9ld\u00e1ny URL-c\u00edme."
20
+ }
21
+ }
22
+ }
23
+ },
24
+ "entity": {
25
+ "sensor": {
26
+ "gravity": {
27
+ "name": "Fajs\u00faly"
28
+ }
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "config": {
3
+ "abort": {
4
+ "already_configured": "\u30c7\u30d0\u30a4\u30b9\u306f\u3059\u3067\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059"
5
+ },
6
+ "error": {
7
+ "cannot_connect": "\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f",
8
+ "invalid_host": "\u7121\u52b9\u306a\u30db\u30b9\u30c8\u540d\u307e\u305f\u306fIP\u30a2\u30c9\u30ec\u30b9"
9
+ },
10
+ "step": {
11
+ "confirm": {
12
+ "description": "\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3092\u958b\u59cb\u3057\u307e\u3059\u304b\uff1f"
13
+ },
14
+ "user": {
15
+ "data": {
16
+ "url": "URL"
17
+ },
18
+ "data_description": {
19
+ "url": "Tilt Pi \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e URL\u3002"
20
+ }
21
+ }
22
+ }
23
+ },
24
+ "entity": {
25
+ "sensor": {
26
+ "gravity": {
27
+ "name": "\u91cd\u529b"
28
+ }
29
+ }
30
+ }
31
+ }
@@ -17,5 +17,12 @@
17
17
  }
18
18
  }
19
19
  }
20
+ },
21
+ "entity": {
22
+ "sensor": {
23
+ "gravity": {
24
+ "name": "Zwaartekracht"
25
+ }
26
+ }
20
27
  }
21
28
  }
@@ -22,6 +22,12 @@
22
22
  "title": "V\u00e1lassza ki a szerz\u0151d\u00e9s\u00e9t"
23
23
  },
24
24
  "pick_implementation": {
25
+ "data": {
26
+ "implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
27
+ },
28
+ "data_description": {
29
+ "implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
30
+ },
25
31
  "title": "V\u00e1lassza ki azt a b\u00e9rl\u0151t, amellyel hiteles\u00edteni szeretne"
26
32
  }
27
33
  }
@@ -0,0 +1,44 @@
1
+ {
2
+ "config": {
3
+ "abort": {
4
+ "already_configured": "Az eszk\u00f6z m\u00e1r konfigur\u00e1lva van.",
5
+ "already_in_progress": "Az eszk\u00f6z m\u00e1r felismer\u00e9sre ker\u00fclt. Ellen\u0151rizze a felfedezett eszk\u00f6z\u00f6ket.",
6
+ "cannot_connect": "Nem siker\u00fclt csatlakozni az eszk\u00f6zh\u00f6z. Pr\u00f3b\u00e1lja meg \u00fajra.",
7
+ "timeout_connect": "A csatlakoz\u00e1si k\u00eds\u00e9rlet id\u0151t\u00fall\u00e9p\u00e9ssel megszakadt. Gy\u0151z\u0151dj\u00f6n meg r\u00f3la, hogy a VegeHub akt\u00edv, majd pr\u00f3b\u00e1lja meg \u00fajra.",
8
+ "unknown_error": "Ismeretlen hiba t\u00f6rt\u00e9nt."
9
+ },
10
+ "error": {
11
+ "cannot_connect": "Nem siker\u00fclt csatlakozni. Gy\u0151z\u0151dj\u00f6n meg r\u00f3la, hogy a VegeHub akt\u00edv, majd pr\u00f3b\u00e1lja meg \u00fajra.",
12
+ "invalid_ip": "\u00c9rv\u00e9nytelen IPv4-c\u00edm.",
13
+ "timeout_connect": "Id\u0151t\u00fall\u00e9p\u00e9s a kapcsolat l\u00e9trehoz\u00e1sa sor\u00e1n. Gy\u0151z\u0151dj\u00f6n meg r\u00f3la, hogy a VegeHub akt\u00edv, majd pr\u00f3b\u00e1lja meg \u00fajra."
14
+ },
15
+ "flow_title": "{host}",
16
+ "step": {
17
+ "user": {
18
+ "data": {
19
+ "ip_address": "IP-c\u00edm"
20
+ },
21
+ "data_description": {
22
+ "ip_address": "A c\u00e9l VegeHub IP-c\u00edme."
23
+ },
24
+ "description": "Szeretn\u00e9 be\u00e1ll\u00edtani ezt a VegeHub eszk\u00f6zt?",
25
+ "title": "VegeHub be\u00e1ll\u00edt\u00e1sa"
26
+ },
27
+ "zeroconf_confirm": {
28
+ "description": "Szeretn\u00e9 be\u00e1ll\u00edtani ezt a VegeHub eszk\u00f6zt?",
29
+ "title": "VegeHub be\u00e1ll\u00edt\u00e1sa"
30
+ }
31
+ }
32
+ },
33
+ "entity": {
34
+ "sensor": {
35
+ "analog_sensor": {
36
+ "name": "{index} bemenet"
37
+ },
38
+ "battery_volts": {
39
+ "name": "Akkumul\u00e1tor fesz\u00fclts\u00e9g"
40
+ }
41
+ }
42
+ },
43
+ "title": "VegeHub"
44
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "config": {
3
+ "abort": {
4
+ "already_configured": "Il dispositivo \u00e8 gi\u00e0 configurato.",
5
+ "already_in_progress": "Dispositivo gi\u00e0 rilevato. Controlla i dispositivi rilevati.",
6
+ "cannot_connect": "Impossibile connettersi al dispositivo. Riprova.",
7
+ "timeout_connect": "Tempo scaduto per la connessione. Assicurati che VegeHub sia attivo e riprova.",
8
+ "unknown_error": "Si \u00e8 verificato un errore sconosciuto."
9
+ },
10
+ "error": {
11
+ "cannot_connect": "Impossibile connettersi. Assicurati che VegeHub sia attivo e riprova.",
12
+ "invalid_ip": "Indirizzo IPv4 non valido.",
13
+ "timeout_connect": "Tempo scaduto durante la connessione. Assicurati che VegeHub sia attivo e riprova."
14
+ },
15
+ "flow_title": "{host}",
16
+ "step": {
17
+ "user": {
18
+ "data": {
19
+ "ip_address": "Indirizzo IP"
20
+ },
21
+ "data_description": {
22
+ "ip_address": "Indirizzo IP del VegeHub di destinazione"
23
+ },
24
+ "description": "Vuoi configurare questo VegeHub?",
25
+ "title": "Configura VegeHub"
26
+ },
27
+ "zeroconf_confirm": {
28
+ "description": "Vuoi configurare questo VegeHub?",
29
+ "title": "Configura VegeHub"
30
+ }
31
+ }
32
+ },
33
+ "entity": {
34
+ "sensor": {
35
+ "analog_sensor": {
36
+ "name": "Ingresso {index}"
37
+ },
38
+ "battery_volts": {
39
+ "name": "Tensione della batteria"
40
+ }
41
+ }
42
+ },
43
+ "title": "VegeHub"
44
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "config": {
3
+ "abort": {
4
+ "already_configured": "\u30c7\u30d0\u30a4\u30b9\u306f\u3059\u3067\u306b\u69cb\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002",
5
+ "already_in_progress": "\u30c7\u30d0\u30a4\u30b9\u306f\u3059\u3067\u306b\u691c\u51fa\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u691c\u51fa\u3055\u308c\u305f\u30c7\u30d0\u30a4\u30b9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
6
+ "cannot_connect": "\u30c7\u30d0\u30a4\u30b9\u3078\u306e\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002",
7
+ "timeout_connect": "\u63a5\u7d9a\u304c\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3057\u307e\u3057\u305f\u3002VegeHub \u304c\u8d77\u52d5\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u3001\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002",
8
+ "unknown_error": "\u4e0d\u660e\u306a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002"
9
+ },
10
+ "error": {
11
+ "cannot_connect": "\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002VegeHub \u304c\u8d77\u52d5\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u3001\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002",
12
+ "invalid_ip": "IPv4\u30a2\u30c9\u30ec\u30b9\u304c\u7121\u52b9\u3067\u3059\u3002",
13
+ "timeout_connect": "\u63a5\u7d9a\u78ba\u7acb\u4e2d\u306b\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3057\u307e\u3057\u305f\u3002VegeHub \u304c\u8d77\u52d5\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u3001\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002"
14
+ },
15
+ "flow_title": "{host}",
16
+ "step": {
17
+ "user": {
18
+ "data": {
19
+ "ip_address": "IP\u30a2\u30c9\u30ec\u30b9"
20
+ },
21
+ "data_description": {
22
+ "ip_address": "\u5bfe\u8c61VegeHub\u306eIP\u30a2\u30c9\u30ec\u30b9"
23
+ },
24
+ "description": "\u3053\u306eVegeHub\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u304b?",
25
+ "title": "VegeHub\u3092\u8a2d\u5b9a\u3059\u308b"
26
+ },
27
+ "zeroconf_confirm": {
28
+ "description": "\u3053\u306eVegeHub\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u304b?",
29
+ "title": "VegeHub\u3092\u8a2d\u5b9a\u3059\u308b"
30
+ }
31
+ }
32
+ },
33
+ "entity": {
34
+ "sensor": {
35
+ "analog_sensor": {
36
+ "name": "\u5165\u529b{index}"
37
+ },
38
+ "battery_volts": {
39
+ "name": "\u30d0\u30c3\u30c6\u30ea\u30fc\u96fb\u5727"
40
+ }
41
+ }
42
+ },
43
+ "title": "VegeHub"
44
+ }
@@ -3,7 +3,8 @@
3
3
  "abort": {
4
4
  "already_configured": "Enheten \u00e4r redan konfigurerad.",
5
5
  "already_in_progress": "Enheten har redan uppt\u00e4ckts. Kontrollera uppt\u00e4ckta enheter.",
6
- "cannot_connect": "Misslyckades med att ansluta till enheten. F\u00f6rs\u00f6k igen."
6
+ "cannot_connect": "Misslyckades med att ansluta till enheten. F\u00f6rs\u00f6k igen.",
7
+ "unknown_error": "Ett ok\u00e4nt fel har uppst\u00e5tt."
7
8
  },
8
9
  "error": {
9
10
  "invalid_ip": "Ogiltig IPv4-adress."
@@ -165,28 +165,36 @@ class VeSyncFanHA(VeSyncBaseEntity, FanEntity):
165
165
  return attr
166
166
 
167
167
  def set_percentage(self, percentage: int) -> None:
168
- """Set the speed of the device."""
168
+ """Set the speed of the device.
169
+
170
+ If percentage is 0, turn off the fan. Otherwise, ensure the fan is on,
171
+ set manual mode if needed, and set the speed.
172
+ """
173
+ device_type = SKU_TO_BASE_DEVICE[self.device.device_type]
174
+ speed_range = SPEED_RANGE[device_type]
175
+
169
176
  if percentage == 0:
170
- success = self.device.turn_off()
171
- if not success:
177
+ # Turning off is a special case: do not set speed or mode
178
+ if not self.device.turn_off():
172
179
  raise HomeAssistantError("An error occurred while turning off.")
173
- elif not self.device.is_on:
174
- success = self.device.turn_on()
175
- if not success:
180
+ self.schedule_update_ha_state()
181
+ return
182
+
183
+ # If the fan is off, turn it on first
184
+ if not self.device.is_on:
185
+ if not self.device.turn_on():
176
186
  raise HomeAssistantError("An error occurred while turning on.")
177
187
 
178
- success = self.device.manual_mode()
179
- if not success:
180
- raise HomeAssistantError("An error occurred while manual mode.")
181
- success = self.device.change_fan_speed(
182
- math.ceil(
183
- percentage_to_ranged_value(
184
- SPEED_RANGE[SKU_TO_BASE_DEVICE[self.device.device_type]], percentage
185
- )
186
- )
187
- )
188
- if not success:
188
+ # Switch to manual mode if not already set
189
+ if self.device.mode != VS_FAN_MODE_MANUAL:
190
+ if not self.device.manual_mode():
191
+ raise HomeAssistantError("An error occurred while setting manual mode.")
192
+
193
+ # Calculate the speed level and set it
194
+ speed_level = math.ceil(percentage_to_ranged_value(speed_range, percentage))
195
+ if not self.device.change_fan_speed(speed_level):
189
196
  raise HomeAssistantError("An error occurred while changing fan speed.")
197
+
190
198
  self.schedule_update_ha_state()
191
199
 
192
200
  def set_preset_mode(self, preset_mode: str) -> None:
@@ -353,10 +353,10 @@
353
353
  "name": "Varmvatten gasf\u00f6rbrukning senaste sju dagarna"
354
354
  },
355
355
  "hotwater_max_temperature": {
356
- "name": "Varmvatten max temperatur"
356
+ "name": "Varmvatten h\u00f6gsta temperatur"
357
357
  },
358
358
  "hotwater_min_temperature": {
359
- "name": "Varmvatten min temperatur"
359
+ "name": "Varmvatten l\u00e4gsta temperatur"
360
360
  },
361
361
  "hotwater_out_temperature": {
362
362
  "name": "Varmvatten uttemperatur"
@@ -5,5 +5,5 @@
5
5
  "config_flow": true,
6
6
  "documentation": "https://www.home-assistant.io/integrations/vulcan",
7
7
  "iot_class": "cloud_polling",
8
- "requirements": ["vulcan-api==2.3.2"]
8
+ "requirements": ["vulcan-api==2.4.2"]
9
9
  }
@@ -22,6 +22,8 @@ CHARGER_CURRENT_MODE_KEY = "current_mode"
22
22
  CHARGER_CURRENT_VERSION_KEY = "currentVersion"
23
23
  CHARGER_CURRENCY_KEY = "currency"
24
24
  CHARGER_DATA_KEY = "config_data"
25
+ CHARGER_DATA_POST_L1_KEY = "data"
26
+ CHARGER_DATA_POST_L2_KEY = "chargerData"
25
27
  CHARGER_DEPOT_PRICE_KEY = "depot_price"
26
28
  CHARGER_ENERGY_PRICE_KEY = "energy_price"
27
29
  CHARGER_FEATURES_KEY = "features"
@@ -32,7 +34,9 @@ CHARGER_POWER_BOOST_KEY = "POWER_BOOST"
32
34
  CHARGER_SOFTWARE_KEY = "software"
33
35
  CHARGER_MAX_AVAILABLE_POWER_KEY = "max_available_power"
34
36
  CHARGER_MAX_CHARGING_CURRENT_KEY = "max_charging_current"
37
+ CHARGER_MAX_CHARGING_CURRENT_POST_KEY = "maxChargingCurrent"
35
38
  CHARGER_MAX_ICP_CURRENT_KEY = "icp_max_current"
39
+ CHARGER_MAX_ICP_CURRENT_POST_KEY = "maxAvailableCurrent"
36
40
  CHARGER_PAUSE_RESUME_KEY = "paused"
37
41
  CHARGER_LOCKED_UNLOCKED_KEY = "locked"
38
42
  CHARGER_NAME_KEY = "name"
@@ -14,11 +14,13 @@ from wallbox import Wallbox
14
14
  from homeassistant.config_entries import ConfigEntry
15
15
  from homeassistant.core import HomeAssistant
16
16
  from homeassistant.exceptions import ConfigEntryAuthFailed, HomeAssistantError
17
- from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
17
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
18
18
 
19
19
  from .const import (
20
20
  CHARGER_CURRENCY_KEY,
21
21
  CHARGER_DATA_KEY,
22
+ CHARGER_DATA_POST_L1_KEY,
23
+ CHARGER_DATA_POST_L2_KEY,
22
24
  CHARGER_ECO_SMART_KEY,
23
25
  CHARGER_ECO_SMART_MODE_KEY,
24
26
  CHARGER_ECO_SMART_STATUS_KEY,
@@ -26,6 +28,7 @@ from .const import (
26
28
  CHARGER_FEATURES_KEY,
27
29
  CHARGER_LOCKED_UNLOCKED_KEY,
28
30
  CHARGER_MAX_CHARGING_CURRENT_KEY,
31
+ CHARGER_MAX_CHARGING_CURRENT_POST_KEY,
29
32
  CHARGER_MAX_ICP_CURRENT_KEY,
30
33
  CHARGER_PLAN_KEY,
31
34
  CHARGER_POWER_BOOST_KEY,
@@ -192,10 +195,10 @@ class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
192
195
  return data # noqa: TRY300
193
196
  except requests.exceptions.HTTPError as wallbox_connection_error:
194
197
  if wallbox_connection_error.response.status_code == 429:
195
- raise HomeAssistantError(
198
+ raise UpdateFailed(
196
199
  translation_domain=DOMAIN, translation_key="too_many_requests"
197
200
  ) from wallbox_connection_error
198
- raise HomeAssistantError(
201
+ raise UpdateFailed(
199
202
  translation_domain=DOMAIN, translation_key="api_failed"
200
203
  ) from wallbox_connection_error
201
204
 
@@ -204,10 +207,19 @@ class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
204
207
  return await self.hass.async_add_executor_job(self._get_data)
205
208
 
206
209
  @_require_authentication
207
- def _set_charging_current(self, charging_current: float) -> None:
210
+ def _set_charging_current(
211
+ self, charging_current: float
212
+ ) -> dict[str, dict[str, dict[str, Any]]]:
208
213
  """Set maximum charging current for Wallbox."""
209
214
  try:
210
- self._wallbox.setMaxChargingCurrent(self._station, charging_current)
215
+ result = self._wallbox.setMaxChargingCurrent(
216
+ self._station, charging_current
217
+ )
218
+ data = self.data
219
+ data[CHARGER_MAX_CHARGING_CURRENT_KEY] = result[CHARGER_DATA_POST_L1_KEY][
220
+ CHARGER_DATA_POST_L2_KEY
221
+ ][CHARGER_MAX_CHARGING_CURRENT_POST_KEY]
222
+ return data # noqa: TRY300
211
223
  except requests.exceptions.HTTPError as wallbox_connection_error:
212
224
  if wallbox_connection_error.response.status_code == 403:
213
225
  raise InvalidAuth from wallbox_connection_error
@@ -221,16 +233,19 @@ class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
221
233
 
222
234
  async def async_set_charging_current(self, charging_current: float) -> None:
223
235
  """Set maximum charging current for Wallbox."""
224
- await self.hass.async_add_executor_job(
236
+ data = await self.hass.async_add_executor_job(
225
237
  self._set_charging_current, charging_current
226
238
  )
227
- await self.async_request_refresh()
239
+ self.async_set_updated_data(data)
228
240
 
229
241
  @_require_authentication
230
- def _set_icp_current(self, icp_current: float) -> None:
242
+ def _set_icp_current(self, icp_current: float) -> dict[str, Any]:
231
243
  """Set maximum icp current for Wallbox."""
232
244
  try:
233
- self._wallbox.setIcpMaxCurrent(self._station, icp_current)
245
+ result = self._wallbox.setIcpMaxCurrent(self._station, icp_current)
246
+ data = self.data
247
+ data[CHARGER_MAX_ICP_CURRENT_KEY] = result[CHARGER_MAX_ICP_CURRENT_KEY]
248
+ return data # noqa: TRY300
234
249
  except requests.exceptions.HTTPError as wallbox_connection_error:
235
250
  if wallbox_connection_error.response.status_code == 403:
236
251
  raise InvalidAuth from wallbox_connection_error
@@ -244,14 +259,19 @@ class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
244
259
 
245
260
  async def async_set_icp_current(self, icp_current: float) -> None:
246
261
  """Set maximum icp current for Wallbox."""
247
- await self.hass.async_add_executor_job(self._set_icp_current, icp_current)
248
- await self.async_request_refresh()
262
+ data = await self.hass.async_add_executor_job(
263
+ self._set_icp_current, icp_current
264
+ )
265
+ self.async_set_updated_data(data)
249
266
 
250
267
  @_require_authentication
251
- def _set_energy_cost(self, energy_cost: float) -> None:
268
+ def _set_energy_cost(self, energy_cost: float) -> dict[str, Any]:
252
269
  """Set energy cost for Wallbox."""
253
270
  try:
254
- self._wallbox.setEnergyCost(self._station, energy_cost)
271
+ result = self._wallbox.setEnergyCost(self._station, energy_cost)
272
+ data = self.data
273
+ data[CHARGER_ENERGY_PRICE_KEY] = result[CHARGER_ENERGY_PRICE_KEY]
274
+ return data # noqa: TRY300
255
275
  except requests.exceptions.HTTPError as wallbox_connection_error:
256
276
  if wallbox_connection_error.response.status_code == 429:
257
277
  raise HomeAssistantError(
@@ -263,17 +283,24 @@ class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
263
283
 
264
284
  async def async_set_energy_cost(self, energy_cost: float) -> None:
265
285
  """Set energy cost for Wallbox."""
266
- await self.hass.async_add_executor_job(self._set_energy_cost, energy_cost)
267
- await self.async_request_refresh()
286
+ data = await self.hass.async_add_executor_job(
287
+ self._set_energy_cost, energy_cost
288
+ )
289
+ self.async_set_updated_data(data)
268
290
 
269
291
  @_require_authentication
270
- def _set_lock_unlock(self, lock: bool) -> None:
292
+ def _set_lock_unlock(self, lock: bool) -> dict[str, dict[str, dict[str, Any]]]:
271
293
  """Set wallbox to locked or unlocked."""
272
294
  try:
273
295
  if lock:
274
- self._wallbox.lockCharger(self._station)
296
+ result = self._wallbox.lockCharger(self._station)
275
297
  else:
276
- self._wallbox.unlockCharger(self._station)
298
+ result = self._wallbox.unlockCharger(self._station)
299
+ data = self.data
300
+ data[CHARGER_LOCKED_UNLOCKED_KEY] = result[CHARGER_DATA_POST_L1_KEY][
301
+ CHARGER_DATA_POST_L2_KEY
302
+ ][CHARGER_LOCKED_UNLOCKED_KEY]
303
+ return data # noqa: TRY300
277
304
  except requests.exceptions.HTTPError as wallbox_connection_error:
278
305
  if wallbox_connection_error.response.status_code == 403:
279
306
  raise InvalidAuth from wallbox_connection_error
@@ -287,8 +314,8 @@ class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
287
314
 
288
315
  async def async_set_lock_unlock(self, lock: bool) -> None:
289
316
  """Set wallbox to locked or unlocked."""
290
- await self.hass.async_add_executor_job(self._set_lock_unlock, lock)
291
- await self.async_request_refresh()
317
+ data = await self.hass.async_add_executor_job(self._set_lock_unlock, lock)
318
+ self.async_set_updated_data(data)
292
319
 
293
320
  @_require_authentication
294
321
  def _pause_charger(self, pause: bool) -> None:
@@ -7,7 +7,6 @@ from typing import Any
7
7
  from homeassistant.components.lock import LockEntity, LockEntityDescription
8
8
  from homeassistant.config_entries import ConfigEntry
9
9
  from homeassistant.core import HomeAssistant
10
- from homeassistant.exceptions import HomeAssistantError, PlatformNotReady
11
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
12
11
 
13
12
  from .const import (
@@ -16,7 +15,7 @@ from .const import (
16
15
  CHARGER_SERIAL_NUMBER_KEY,
17
16
  DOMAIN,
18
17
  )
19
- from .coordinator import InvalidAuth, WallboxCoordinator
18
+ from .coordinator import WallboxCoordinator
20
19
  from .entity import WallboxEntity
21
20
 
22
21
  LOCK_TYPES: dict[str, LockEntityDescription] = {
@@ -34,16 +33,6 @@ async def async_setup_entry(
34
33
  ) -> None:
35
34
  """Create wallbox lock entities in HASS."""
36
35
  coordinator: WallboxCoordinator = hass.data[DOMAIN][entry.entry_id]
37
- # Check if the user is authorized to lock, if so, add lock component
38
- try:
39
- await coordinator.async_set_lock_unlock(
40
- coordinator.data[CHARGER_LOCKED_UNLOCKED_KEY]
41
- )
42
- except InvalidAuth:
43
- return
44
- except HomeAssistantError as exc:
45
- raise PlatformNotReady from exc
46
-
47
36
  async_add_entities(
48
37
  WallboxLock(coordinator, description)
49
38
  for ent in coordinator.data
@@ -12,7 +12,6 @@ from typing import cast
12
12
  from homeassistant.components.number import NumberEntity, NumberEntityDescription
13
13
  from homeassistant.config_entries import ConfigEntry
14
14
  from homeassistant.core import HomeAssistant
15
- from homeassistant.exceptions import HomeAssistantError, PlatformNotReady
16
15
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
17
16
 
18
17
  from .const import (
@@ -26,7 +25,7 @@ from .const import (
26
25
  CHARGER_SERIAL_NUMBER_KEY,
27
26
  DOMAIN,
28
27
  )
29
- from .coordinator import InvalidAuth, WallboxCoordinator
28
+ from .coordinator import WallboxCoordinator
30
29
  from .entity import WallboxEntity
31
30
 
32
31
 
@@ -86,16 +85,6 @@ async def async_setup_entry(
86
85
  ) -> None:
87
86
  """Create wallbox number entities in HASS."""
88
87
  coordinator: WallboxCoordinator = hass.data[DOMAIN][entry.entry_id]
89
- # Check if the user has sufficient rights to change values, if so, add number component:
90
- try:
91
- await coordinator.async_set_charging_current(
92
- coordinator.data[CHARGER_MAX_CHARGING_CURRENT_KEY]
93
- )
94
- except InvalidAuth:
95
- return
96
- except HomeAssistantError as exc:
97
- raise PlatformNotReady from exc
98
-
99
88
  async_add_entities(
100
89
  WallboxNumber(coordinator, entry, description)
101
90
  for ent in coordinator.data
@@ -112,6 +112,9 @@
112
112
  "exceptions": {
113
113
  "api_failed": {
114
114
  "message": "Hiba t\u00f6rt\u00e9nt a Wallbox API-val val\u00f3 kommunik\u00e1ci\u00f3 sor\u00e1n"
115
+ },
116
+ "too_many_requests": {
117
+ "message": "Hiba a Wallbox API-val val\u00f3 kommunik\u00e1ci\u00f3 sor\u00e1n: t\u00fal sok k\u00e9r\u00e9s"
115
118
  }
116
119
  }
117
120
  }
@@ -92,5 +92,10 @@
92
92
  "name": "\u4e00\u6642\u505c\u6b62/\u518d\u958b"
93
93
  }
94
94
  }
95
+ },
96
+ "exceptions": {
97
+ "too_many_requests": {
98
+ "message": "Wallbox API\u3068\u306e\u901a\u4fe1\u30a8\u30e9\u30fc\u3001\u30ea\u30af\u30a8\u30b9\u30c8\u304c\u591a\u3059\u304e\u307e\u3059"
99
+ }
95
100
  }
96
101
  }
@@ -23,6 +23,12 @@
23
23
  "title": "V\u00e1lassza ki a h\u0151szivatty\u00faj\u00e1t"
24
24
  },
25
25
  "pick_implementation": {
26
+ "data": {
27
+ "implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
28
+ },
29
+ "data_description": {
30
+ "implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
31
+ },
26
32
  "title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
27
33
  },
28
34
  "reauth_confirm": {
@@ -223,7 +223,7 @@
223
223
  "name": "Schnarchen"
224
224
  },
225
225
  "snoring_episode_count": {
226
- "name": "Anzahl der Schnarchepisoden"
226
+ "name": "Anzahl der Schnarchphasen"
227
227
  },
228
228
  "spo2": {
229
229
  "name": "SpO\u2082"
@@ -235,10 +235,10 @@
235
235
  "name": "Systolischer Blutdruck"
236
236
  },
237
237
  "time_to_sleep": {
238
- "name": "Zeit zum Schlafen"
238
+ "name": "Einschlafdauer"
239
239
  },
240
240
  "time_to_wakeup": {
241
- "name": "Zeit zum Aufwachen"
241
+ "name": "Aufwachdauer"
242
242
  },
243
243
  "vascular_age": {
244
244
  "name": "Vaskul\u00e4res Alter"
@@ -250,7 +250,7 @@
250
250
  "name": "VO\u2082 max."
251
251
  },
252
252
  "wakeup_count": {
253
- "name": "Anzahl der Weckrufe"
253
+ "name": "Anzahl der Wachphasen"
254
254
  },
255
255
  "wakeup_time": {
256
256
  "name": "Aufwachzeit"
@@ -26,6 +26,12 @@
26
26
  "description": "A Home Assistant tal\u00e1lt egy Withings eszk\u00f6zt a h\u00e1l\u00f3zat\u00e1n. Vegye figyelembe, hogy a Withings be\u00e1ll\u00edt\u00e1sa bonyolultabb lehet, mint sok m\u00e1s integr\u00e1ci\u00f3\u00e9. A folytat\u00e1shoz nyomja meg a **Mehet** gombot."
27
27
  },
28
28
  "pick_implementation": {
29
+ "data": {
30
+ "implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
31
+ },
32
+ "data_description": {
33
+ "implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
34
+ },
29
35
  "title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
30
36
  },
31
37
  "reauth_confirm": {
@@ -1,4 +1,7 @@
1
1
  {
2
+ "application_credentials": {
3
+ "description": "Withings\u306b\u30ed\u30b0\u30a4\u30f3\u3059\u308b\u306b\u306f\u3001\u30af\u30e9\u30a4\u30a2\u30f3\u30c8ID\u3068\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u304c\u5fc5\u8981\u3067\u3059\u3002\u53d6\u5f97\u3059\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002\n\n1. [Withings Developer Dashboard]({developer_dashboard_url}) \u3092\u30af\u30ea\u30c3\u30af\u3057\u3001\u5fc5\u305a [\u30d1\u30d6\u30ea\u30c3\u30af \u30af\u30e9\u30a6\u30c9] \u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n1. Withings\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u30ed\u30b0\u30a4\u30f3\u3057\u307e\u3059\u3002\n1. **Create an application** \u3092\u9078\u629e\u3057\u307e\u3059\u3002\n1. **Public API integration** \u306e\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9\u3092\u9078\u629e\u3057\u307e\u3059\u3002\n1. \u30bf\u30fc\u30b2\u30c3\u30c8\u74b0\u5883\u3068\u3057\u3066 **Development** \u3092\u9078\u629e\u3057\u307e\u3059\u3002\n1. \u4efb\u610f\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u540d\u3068\u8aac\u660e\u3092\u5165\u529b\u3057\u307e\u3059\u3002\n1. \u300c{redirect_url}' \u3092\u767b\u9332\u6e08\u307f\u306e URL \u306b\u542b\u3081\u307e\u3059\u3002\u30c6\u30b9\u30c8\u306e\u305f\u3081\u306b\u30dc\u30bf\u30f3\u3092\u62bc\u3055\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002\n1. \u5229\u7528\u53ef\u80fd\u306b\u306a\u3063\u305f\u30af\u30e9\u30a4\u30a2\u30f3\u30c8 ID \u3068\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u3092\u5165\u529b\u3057\u307e\u3059\u3002"
4
+ },
2
5
  "config": {
3
6
  "abort": {
4
7
  "already_configured": "\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u306e\u8a2d\u5b9a\u3092\u66f4\u65b0\u3057\u307e\u3057\u305f\u3002",