1 """Monarch money entity definition."""
3 from typedmonarchmoney.models
import MonarchAccount, MonarchCashflowSummary
9 from .const
import DOMAIN
10 from .coordinator
import MonarchMoneyDataUpdateCoordinator
14 """Base entity for Monarch Money with entity name attribute."""
16 _attr_has_entity_name =
True
20 """Entity for Cashflow sensors."""
24 coordinator: MonarchMoneyDataUpdateCoordinator,
25 description: EntityDescription,
27 """Initialize the Monarch Money Entity."""
30 f
"{coordinator.subscription_id}_cashflow_{description.key}"
34 identifiers={(DOMAIN,
str(coordinator.subscription_id))},
40 """Return cashflow summary data."""
41 return self.coordinator.cashflow_summary
45 """Entity for Account Sensors."""
49 coordinator: MonarchMoneyDataUpdateCoordinator,
50 description: EntityDescription,
51 account: MonarchAccount,
53 """Initialize the Monarch Money Entity."""
59 f
"Data provided by Monarch Money API via {account.data_provider}"
62 f
"{coordinator.subscription_id}_{account.id}_{description.translation_key}"
65 identifiers={(DOMAIN,
str(account.id))},
66 name=f
"{account.institution_name} {account.name}",
67 entry_type=DeviceEntryType.SERVICE,
68 manufacturer=account.data_provider,
69 model=f
"{account.institution_name} - {account.type_name} - {account.subtype_name}",
70 configuration_url=account.institution_url,
75 """Return if entity is available."""
76 return super().available
and (
77 self.
_account_id_account_id
in self.coordinator.data.account_data
82 """Return the account data."""
83 return self.coordinator.data.account_data[self.
_account_id_account_id]
None __init__(self, MonarchMoneyDataUpdateCoordinator coordinator, EntityDescription description, MonarchAccount account)
MonarchAccount account_data(self)
MonarchCashflowSummary summary_data(self)
None __init__(self, MonarchMoneyDataUpdateCoordinator coordinator, EntityDescription description)