@@ -47,7 +47,10 @@ def __init__(
4747 True
4848 )
4949 self .vehicle_state = vehicle_state
50- self .ha_discovery = HomeAssistantDiscovery (vehicle_state , vin_info , config )
50+ if self .configuration .ha_discovery_enabled :
51+ self .__ha_discovery = HomeAssistantDiscovery (vehicle_state , vin_info , config )
52+ else :
53+ self .__ha_discovery = None
5154
5255 self .__setup_abrp (config , vin_info )
5356 self .__setup_osmand (config , vin_info )
@@ -114,8 +117,7 @@ async def handle_vehicle(self) -> None:
114117 exc_info = e
115118 )
116119 finally :
117- if self .configuration .ha_discovery_enabled :
118- self .ha_discovery .publish_ha_discovery_messages ()
120+ self .publish_ha_discovery_messages (force = False )
119121 else :
120122 # car not active, wait a second
121123 await asyncio .sleep (1.0 )
@@ -464,6 +466,10 @@ def __get_command_topics(self, topic: str) -> tuple[str, str]:
464466 result_topic = global_topic_removed .removesuffix (SET_SUFFIX ).removesuffix ('/' ) + '/' + RESULT_SUFFIX
465467 return set_topic , result_topic
466468
469+ def publish_ha_discovery_messages (self , * , force : bool = False ):
470+ if self .__ha_discovery is not None :
471+ self .__ha_discovery .publish_ha_discovery_messages (force = force )
472+
467473
468474class VehicleHandlerLocator (ABC ):
469475
0 commit comments