@@ -378,14 +378,23 @@ async def _async_update_data(self) -> None:
378378 if self .sleep_period :
379379 # Sleeping device, no point polling it, just mark it unavailable
380380 raise UpdateFailed (
381- f"Sleeping device did not update within { self .sleep_period } seconds interval"
381+ translation_domain = DOMAIN ,
382+ translation_key = "update_error_sleeping_device" ,
383+ translation_placeholders = {
384+ "device" : self .name ,
385+ "period" : str (self .sleep_period ),
386+ },
382387 )
383388
384389 LOGGER .debug ("Polling Shelly Block Device - %s" , self .name )
385390 try :
386391 await self .device .update ()
387392 except DeviceConnectionError as err :
388- raise UpdateFailed (repr (err )) from err
393+ raise UpdateFailed (
394+ translation_domain = DOMAIN ,
395+ translation_key = "update_error" ,
396+ translation_placeholders = {"device" : self .name },
397+ ) from err
389398 except InvalidAuthError :
390399 await self .async_shutdown_device_and_start_reauth ()
391400
@@ -470,7 +479,11 @@ async def _async_update_data(self) -> None:
470479 return
471480 await self .device .update_shelly ()
472481 except (DeviceConnectionError , MacAddressMismatchError ) as err :
473- raise UpdateFailed (repr (err )) from err
482+ raise UpdateFailed (
483+ translation_domain = DOMAIN ,
484+ translation_key = "update_error" ,
485+ translation_placeholders = {"device" : self .name },
486+ ) from err
474487 except InvalidAuthError :
475488 await self .async_shutdown_device_and_start_reauth ()
476489 else :
@@ -636,15 +649,24 @@ async def _async_update_data(self) -> None:
636649 if self .sleep_period :
637650 # Sleeping device, no point polling it, just mark it unavailable
638651 raise UpdateFailed (
639- f"Sleeping device did not update within { self .sleep_period } seconds interval"
652+ translation_domain = DOMAIN ,
653+ translation_key = "update_error_sleeping_device" ,
654+ translation_placeholders = {
655+ "device" : self .name ,
656+ "period" : str (self .sleep_period ),
657+ },
640658 )
641659
642660 async with self ._connection_lock :
643661 if self .device .connected : # Already connected
644662 return
645663
646664 if not await self ._async_device_connect_task ():
647- raise UpdateFailed ("Device reconnect error" )
665+ raise UpdateFailed (
666+ translation_domain = DOMAIN ,
667+ translation_key = "update_error_reconnect_error" ,
668+ translation_placeholders = {"device" : self .name },
669+ )
648670
649671 async def _async_disconnected (self , reconnect : bool ) -> None :
650672 """Handle device disconnected."""
@@ -820,13 +842,21 @@ def __init__(
820842 async def _async_update_data (self ) -> None :
821843 """Fetch data."""
822844 if not self .device .connected :
823- raise UpdateFailed ("Device disconnected" )
845+ raise UpdateFailed (
846+ translation_domain = DOMAIN ,
847+ translation_key = "update_error_device_disconnected" ,
848+ translation_placeholders = {"device" : self .name },
849+ )
824850
825851 LOGGER .debug ("Polling Shelly RPC Device - %s" , self .name )
826852 try :
827853 await self .device .poll ()
828854 except (DeviceConnectionError , RpcCallError ) as err :
829- raise UpdateFailed (f"Device disconnected: { err !r} " ) from err
855+ raise UpdateFailed (
856+ translation_domain = DOMAIN ,
857+ translation_key = "update_error" ,
858+ translation_placeholders = {"device" : self .name },
859+ ) from err
830860 except InvalidAuthError :
831861 await self .async_shutdown_device_and_start_reauth ()
832862
0 commit comments