Skip to content

Commit

Permalink
add diagnostics
Browse files Browse the repository at this point in the history
  • Loading branch information
dwradcliffe committed Jun 13, 2024
1 parent e0a4b55 commit d0a9d0c
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 0 deletions.
32 changes: 32 additions & 0 deletions custom_components/intellicenter/diagnostics.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
"""Diagnostics support for Intellicenter."""

from __future__ import annotations

from typing import Any

from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant

from .const import DOMAIN
from .pyintellicenter import ModelController


async def async_get_config_entry_diagnostics(
hass: HomeAssistant, entry: ConfigEntry
) -> dict[str, Any]:
"""Return diagnostics for a config entry."""
controller: ModelController = hass.data[DOMAIN][entry.entry_id].controller

objects = [
{
"objnam": obj.objnam,
"objtype": obj.objtype,
"subtype": obj.subtype,
"properties": obj.properties,
}
for obj in controller.model.objectList
]

return {
"objects": objects
}
5 changes: 5 additions & 0 deletions custom_components/intellicenter/pyintellicenter/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,11 @@ def attributes(self) -> list:
"""Return the list of attributes for this object."""
return list(self._properties.keys())

@property
def properties(self) -> dict:
"""Return the properties of the object."""
return self._properties

def update(self, updates):
"""Update the object from a set of key/value pairs, return the changed attributes."""

Expand Down

0 comments on commit d0a9d0c

Please sign in to comment.