Classes | |
| class | _CollectionLifeCycle |
| class | CollectionChange |
| class | CollectionEntity |
| class | CollectionError |
| class | DictStorageCollection |
| class | DictStorageCollectionWebsocket |
| class | IDLessCollection |
| class | IDManager |
| class | ItemNotFound |
| class | ObservableCollection |
| class | SerializedStorageCollection |
| class | StorageCollection |
| class | StorageCollectionWebsocket |
| class | YamlCollection |
Functions | |
| None | __init__ (self, _StorageCollectionT storage_collection, str api_prefix, str model_name, VolDictType create_schema, VolDictType update_schema) |
| None | __init__ (self, Store[_StoreT] store, IDManager|None id_manager=None) |
| _StoreT|None | _async_load_data (self) |
| None | _async_schedule_save (self) |
| SerializedStorageCollection | _base_data_to_save (self) |
| _ItemT | _create_item (self, str item_id, dict data) |
| _StoreT | _data_to_save (self) |
| _ItemT | _deserialize_item (self, dict data) |
| str | _get_suggested_id (self, dict info) |
| str | _hash_item (self, dict item) |
| dict | _process_create_data (self, dict data) |
| dict | _serialize_item (self, str item_id, _ItemT item) |
| _ItemT | _update_data (self, _ItemT item, dict update_data) |
| None | _ws_subscribe (self, HomeAssistant hass, websocket_api.ActiveConnection connection, dict msg) |
| _ItemT | async_create_item (self, dict data) |
| None | async_delete_item (self, str item_id) |
| None | async_load (self) |
| None | async_setup (self, HomeAssistant hass) |
| _ItemT | async_update_item (self, str item_id, dict updates) |
| CollectionEntity | create_entity (type[CollectionEntity] entity_class, ConfigType config) |
| HomeAssistant | hass (self) |
| str | item_id_key (self) |
| None | sync_entity_lifecycle (HomeAssistant hass, str domain, str platform, EntityComponent[_EntityT] entity_component, StorageCollection|YamlCollection collection, type[CollectionEntity] entity_class) |
| None | ws_create_item (self, HomeAssistant hass, websocket_api.ActiveConnection connection, dict msg) |
| None | ws_delete_item (self, HomeAssistant hass, websocket_api.ActiveConnection connection, dict msg) |
| None | ws_list_item (self, HomeAssistant hass, websocket_api.ActiveConnection connection, dict msg) |
| None | ws_update_item (self, HomeAssistant hass, websocket_api.ActiveConnection connection, dict msg) |
Variables | |
| _EntityT = TypeVar("_EntityT", bound=Entity, default=Entity) | |
| _GROUP_BY_KEY = attrgetter("change_type") | |
| _remove_subscription | |
| api_prefix | |
| string | CHANGE_ADDED = "added" |
| string | CHANGE_REMOVED = "removed" |
| string | CHANGE_UPDATED = "updated" |
| ChangeListener | |
| ChangeSetListener | |
| create_schema | |
| model_name | |
| int | SAVE_DELAY = 10 |
| storage_collection | |
| int | STORAGE_VERSION = 1 |
| store | |
| update_schema | |
Helper to deal with YAML + storage.
| None homeassistant.helpers.collection.__init__ | ( | self, | |
| _StorageCollectionT | storage_collection, | ||
| str | api_prefix, | ||
| str | model_name, | ||
| VolDictType | create_schema, | ||
| VolDictType | update_schema | ||
| ) |
Class to expose storage collection management over websocket.
Initialize a websocket CRUD.
Definition at line 544 of file collection.py.
| None homeassistant.helpers.collection.__init__ | ( | self, | |
| Store[_StoreT] | store, | ||
| IDManager | None | id_manager = None |
||
| ) |
Offer a CRUD interface on top of JSON storage.
Initialize the storage collection.
Definition at line 244 of file collection.py.
|
private |
Load the data.
Definition at line 265 of file collection.py.
|
private |
Schedule saving the collection.
Definition at line 372 of file collection.py.
|
private |
Return JSON-compatible data for storing to file.
Definition at line 377 of file collection.py.
|
private |
Create an item from validated config.
Definition at line 300 of file collection.py.
|
private |
Return JSON-compatible date for storing to file.
Definition at line 388 of file collection.py.
|
private |
Create an item from its serialized representation.
Definition at line 304 of file collection.py.
|
private |
Suggest an ID based on the config.
Definition at line 292 of file collection.py.
|
private |
Return a hash of the item.
Definition at line 391 of file collection.py.
|
private |
Validate the config is valid.
Definition at line 287 of file collection.py.
|
private |
Return the serialized representation of an item for storing. The serialized representation must include the item_id in the "id" key.
Definition at line 308 of file collection.py.
|
private |
Return a new updated item.
Definition at line 296 of file collection.py.
|
private |
Subscribe to collection updates.
Definition at line 660 of file collection.py.
| _ItemT homeassistant.helpers.collection.async_create_item | ( | self, | |
| dict | data | ||
| ) |
Create a new item.
Definition at line 314 of file collection.py.
| None homeassistant.helpers.collection.async_delete_item | ( | self, | |
| str | item_id | ||
| ) |
Delete item.
Definition at line 361 of file collection.py.
| None homeassistant.helpers.collection.async_load | ( | self | ) |
Load the storage Manager.
Definition at line 269 of file collection.py.
| None homeassistant.helpers.collection.async_setup | ( | self, | |
| HomeAssistant | hass | ||
| ) |
Set up the websocket commands.
Definition at line 570 of file collection.py.
| _ItemT homeassistant.helpers.collection.async_update_item | ( | self, | |
| str | item_id, | ||
| dict | updates | ||
| ) |
Update item.
Definition at line 333 of file collection.py.
|
static |
Create a CollectionEntity instance.
Definition at line 254 of file collection.py.
| HomeAssistant homeassistant.helpers.collection.hass | ( | self | ) |
Home Assistant object.
Definition at line 261 of file collection.py.
| str homeassistant.helpers.collection.item_id_key | ( | self | ) |
Return item ID key.
Definition at line 565 of file collection.py.
| None homeassistant.helpers.collection.sync_entity_lifecycle | ( | HomeAssistant | hass, |
| str | domain, | ||
| str | platform, | ||
| EntityComponent[_EntityT] | entity_component, | ||
| StorageCollection | YamlCollection | collection, | ||
| type[CollectionEntity] | entity_class | ||
| ) |
Map a collection to an entity component.
Definition at line 526 of file collection.py.
| None homeassistant.helpers.collection.ws_create_item | ( | self, | |
| HomeAssistant | hass, | ||
| websocket_api.ActiveConnection | connection, | ||
| dict | msg | ||
| ) |
Create an item.
Definition at line 640 of file collection.py.
| None homeassistant.helpers.collection.ws_delete_item | ( | self, | |
| HomeAssistant | hass, | ||
| websocket_api.ActiveConnection | connection, | ||
| dict | msg | ||
| ) |
Delete an item.
Definition at line 736 of file collection.py.
| None homeassistant.helpers.collection.ws_list_item | ( | self, | |
| HomeAssistant | hass, | ||
| websocket_api.ActiveConnection | connection, | ||
| dict | msg | ||
| ) |
List items.
Definition at line 634 of file collection.py.
| None homeassistant.helpers.collection.ws_update_item | ( | self, | |
| HomeAssistant | hass, | ||
| websocket_api.ActiveConnection | connection, | ||
| dict | msg | ||
| ) |
Update an item.
Definition at line 709 of file collection.py.
|
private |
Definition at line 40 of file collection.py.
|
private |
Definition at line 447 of file collection.py.
|
private |
Definition at line 680 of file collection.py.
| homeassistant.helpers.collection.api_prefix |
Definition at line 554 of file collection.py.
| string homeassistant.helpers.collection.CHANGE_ADDED = "added" |
Definition at line 36 of file collection.py.
| string homeassistant.helpers.collection.CHANGE_REMOVED = "removed" |
Definition at line 38 of file collection.py.
| string homeassistant.helpers.collection.CHANGE_UPDATED = "updated" |
Definition at line 37 of file collection.py.
| homeassistant.helpers.collection.ChangeListener |
Definition at line 58 of file collection.py.
| homeassistant.helpers.collection.ChangeSetListener |
Definition at line 70 of file collection.py.
| homeassistant.helpers.collection.create_schema |
Definition at line 556 of file collection.py.
| homeassistant.helpers.collection.model_name |
Definition at line 555 of file collection.py.
| int homeassistant.helpers.collection.SAVE_DELAY = 10 |
Definition at line 34 of file collection.py.
| homeassistant.helpers.collection.storage_collection |
Definition at line 553 of file collection.py.
| int homeassistant.helpers.collection.STORAGE_VERSION = 1 |
Definition at line 33 of file collection.py.
| homeassistant.helpers.collection.store |
Definition at line 251 of file collection.py.
| homeassistant.helpers.collection.update_schema |
Definition at line 557 of file collection.py.