Hassock.EntityEntry (hassock v0.3.0)

Copy Markdown View Source

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

t()

@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
}

Functions

from_map(map)

@spec from_map(map()) :: t()

Build from an HA registry map. Unknown keys are ignored, missing keys are nil.