An entry from Home Assistant's entity registry (config/entity_registry/list).
This is registry metadata, not state: use Hassock.EntityState for the
current value. HA's list doesn't include device_class; read it from the
entity state's "device_class" attribute.
An entity's effective area is its own area_id, or its device's when that
is nil. hidden_by, disabled_by and entity_category ("config",
"diagnostic") are what HA's auto-generated dashboards filter on; they are
kept as HA's strings.
Summary
Functions
Build from an HA registry map. Unknown keys are ignored, missing keys are nil.
Types
@type t() :: %Hassock.EntityEntry{ area_id: String.t() | nil, categories: %{required(String.t()) => String.t()}, config_entry_id: String.t() | nil, device_id: String.t() | nil, disabled_by: String.t() | nil, entity_category: String.t() | nil, entity_id: String.t(), has_entity_name: boolean(), hidden_by: String.t() | nil, icon: String.t() | nil, id: String.t() | nil, labels: [String.t()], name: String.t() | nil, original_name: String.t() | nil, platform: String.t() | nil, translation_key: String.t() | nil }