diff --git a/homeassistant/components/nest/event.py b/homeassistant/components/nest/event.py index 9bb041fce6c6aa..eed45bdc8f8890 100644 --- a/homeassistant/components/nest/event.py +++ b/homeassistant/components/nest/event.py @@ -8,6 +8,7 @@ from google_nest_sdm.traits import TraitType from homeassistant.components.event import ( + DoorbellEventType, EventDeviceClass, EventEntity, EventEntityDescription, @@ -42,7 +43,7 @@ class NestEventEntityDescription(EventEntityDescription): key=EVENT_DOORBELL_CHIME, translation_key="chime", device_class=EventDeviceClass.DOORBELL, - event_types=[EVENT_DOORBELL_CHIME], + event_types=[DoorbellEventType.RING], trait_types=[TraitType.DOORBELL_CHIME], api_event_types=[EventType.DOORBELL_CHIME], ), @@ -80,7 +81,7 @@ async def async_setup_entry( class NestTraitEventEntity(EventEntity): - """Nest doorbell event entity.""" + """Nest event entity for event entity descriptions.""" entity_description: NestEventEntityDescription _attr_has_entity_name = True @@ -113,6 +114,9 @@ async def _async_handle_event(self, event_message: EventMessage) -> None: # This event is a duplicate message in the same thread return + if event_type == EVENT_DOORBELL_CHIME: + event_type = DoorbellEventType.RING + self._trigger_event( event_type, {"nest_event_id": nest_event_id}, diff --git a/homeassistant/components/nest/strings.json b/homeassistant/components/nest/strings.json index e15c7f2dcb7a50..aa4490d03f92c0 100644 --- a/homeassistant/components/nest/strings.json +++ b/homeassistant/components/nest/strings.json @@ -113,7 +113,7 @@ "state_attributes": { "event_type": { "state": { - "doorbell_chime": "[%key:component::nest::entity::event::chime::name%]" + "ring": "[%key:component::event::entity_component::doorbell::state_attributes::event_type::state::ring%]" } } } diff --git a/tests/components/nest/test_event.py b/tests/components/nest/test_event.py index 37a81c1eb004ff..466393a308a6d1 100644 --- a/tests/components/nest/test_event.py +++ b/tests/components/nest/test_event.py @@ -100,11 +100,11 @@ def create_event_messages( "event.front_chime", { "device_class": "doorbell", - "event_types": ["doorbell_chime"], + "event_types": ["ring"], "friendly_name": "Front Chime", }, EventType.DOORBELL_CHIME, - "doorbell_chime", + "ring", ), ( [TraitType.CAMERA_MOTION, TraitType.CAMERA_PERSON, TraitType.CAMERA_SOUND], @@ -205,7 +205,7 @@ async def test_ignore_unrelated_event( assert state.attributes == { "device_class": "doorbell", "event_type": None, - "event_types": ["doorbell_chime"], + "event_types": ["ring"], "friendly_name": "Front Chime", } @@ -249,9 +249,9 @@ async def test_event_threads( assert state.state == "2024-08-24T12:00:02.000+00:00" assert state.attributes == { "device_class": "doorbell", - "event_types": ["doorbell_chime"], + "event_types": ["ring"], "friendly_name": "Front Chime", - "event_type": "doorbell_chime", + "event_type": "ring", "nest_event_id": ENCODED_EVENT_ID, } @@ -280,9 +280,9 @@ async def test_event_threads( ) # A second event is not received assert state.attributes == { "device_class": "doorbell", - "event_types": ["doorbell_chime"], + "event_types": ["ring"], "friendly_name": "Front Chime", - "event_type": "doorbell_chime", + "event_type": "ring", "nest_event_id": ENCODED_EVENT_ID, } @@ -309,8 +309,8 @@ async def test_event_threads( assert state.state == "2024-08-24T12:00:06.000+00:00" # Third event is received assert state.attributes == { "device_class": "doorbell", - "event_types": ["doorbell_chime"], + "event_types": ["ring"], "friendly_name": "Front Chime", - "event_type": "doorbell_chime", + "event_type": "ring", "nest_event_id": ENCODED_EVENT_ID2, }