Reimplemented group entities

This commit is contained in:
Maximilian Giller 2025-01-16 20:52:55 +01:00
parent 08c4372c4e
commit e131f58849
4 changed files with 25 additions and 2 deletions

View file

@ -1,2 +1,4 @@
from .bridge import Bridge, BridgeException from .bridge import Bridge, BridgeException
from .entity import Entity from .entity import Entity
from .group import Group
from .room import Room

View file

@ -1,6 +1,13 @@
class Entity: class Entity:
def __init__( def __init__(
self, *, id: str, name: str, room: str, device_type: str, groups: list[str] = [] self,
*,
id: str,
name: str,
room: str | None,
device_type: str,
groups: list[str] = [],
) -> None: ) -> None:
self._id = id self._id = id
self._name = name self._name = name
@ -18,7 +25,8 @@ class Entity:
return self._name return self._name
@property @property
def room(self) -> str: def room(self) -> str | None:
"""Returns the room of the entity. Meta entities, like groups and rooms, are usually not part of rooms and likely return None."""
return self._room return self._room
@property @property

6
src/core/group.py Normal file
View file

@ -0,0 +1,6 @@
from core import Entity
class Group(Entity):
def __init__(self, *, id: str, name: str):
super().__init__(id=id, name=name, room=None, device_type="group")

7
src/core/room.py Normal file
View file

@ -0,0 +1,7 @@
from core import Group
class Room(Group):
def __init__(self, *, id: str, name: str):
super().__init__(id=id, name=name)
self._device_type = "room"