Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
tr4nt0r committed Feb 6, 2025
1 parent cb5aaf2 commit f813597
Show file tree
Hide file tree
Showing 4 changed files with 399 additions and 307 deletions.
2 changes: 2 additions & 0 deletions homeassistant/components/bring/coordinator.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@

from bring_api import (
Bring,
BringActivityResponse,
BringAuthException,
BringItemsResponse,
BringList,
BringParseException,
BringRequestException,
BringUserSettingsResponse,
BringUsersResponse,
)
from mashumaro.mixins.orjson import DataClassORJSONMixin

Expand Down
6 changes: 5 additions & 1 deletion homeassistant/components/bring/diagnostics.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,8 @@ async def async_get_config_entry_diagnostics(
) -> dict[str, Any]:
"""Return diagnostics for a config entry."""

return {k: v.to_dict() for k, v in config_entry.runtime_data.data.items()}
return {
"data": {k: v.to_dict() for k, v in config_entry.runtime_data.data.items()},
"lists": [lst.to_dict() for lst in config_entry.runtime_data.lists],
"user_settings": config_entry.runtime_data.user_settings.to_dict(),
}
34 changes: 23 additions & 11 deletions homeassistant/components/bring/event.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
from dataclasses import asdict
from datetime import datetime

from bring_api.types import ActivityType
from bring_api import ActivityType, BringList

from homeassistant.components.event import EventEntity
from homeassistant.core import HomeAssistant
from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback

from . import BringConfigEntry
from .coordinator import BringData, BringDataUpdateCoordinator
from .coordinator import BringDataUpdateCoordinator
from .entity import BringBaseEntity

PARALLEL_UPDATES = 0
Expand All @@ -25,14 +25,26 @@ async def async_setup_entry(
) -> None:
"""Set up the event platform."""
coordinator = config_entry.runtime_data
lists_added: set[str] = set()

@callback
def add_entities() -> None:
"""Add event entities."""
nonlocal lists_added

if new_lists := {lst.listUuid for lst in coordinator.lists} - lists_added:
async_add_entities(
BringEventEntity(
coordinator,
bring_list,
)
for bring_list in coordinator.lists
if bring_list.listUuid in new_lists
)
lists_added |= new_lists

async_add_entities(
BringEventEntity(
coordinator,
bring_list,
)
for bring_list in coordinator.data.values()
)
coordinator.async_add_listener(add_entities)
add_entities()


class BringEventEntity(BringBaseEntity, EventEntity):
Expand All @@ -43,7 +55,7 @@ class BringEventEntity(BringBaseEntity, EventEntity):
def __init__(
self,
coordinator: BringDataUpdateCoordinator,
bring_list: BringData,
bring_list: BringList,
) -> None:
"""Initialize the entity."""
super().__init__(coordinator, bring_list)
Expand Down
Loading

0 comments on commit f813597

Please sign in to comment.