RoomGroups

class iesve.RoomGroups

Bases: object

Interface for Room Groups and HVAC Zones manipulation.

VE Room Groups consist of nested containers. At the top level, we have a number of Grouping Schemes. Each Scheme can hold a number of Groups. Rooms are assigned to groups. A scheme is created with a default group to hold all the unassigned rooms. Assigning a room takes it out of its current group and moves it to the new group.

VE HVAC Zones follow a similar structure. An HVAC zone is a group of rooms that functions as a unit for the purpose of HVAC system control in the context of the ApacheHVAC (ApHVAC) system methodology. At the top level, we have a number of Zone Groups. Each Zone Group can hold a number of Zones. Rooms are assigned to Zones. One of the rooms assigned to each HVAC zone is designated the zone’s master room. Conditions in this room (as sensed by ApacheHVAC control sensors placed in the zone’s air outflow) may be used to control conditions in all rooms in the zone.


assign_rooms_to_group(scheme_handle: int, group_handle: int, room_ids: list[str] | list[VEBody]) None

Assigns the rooms specified by room IDs list to the specified group. The room IDs list can be either a list of strings or a list of VEBody objects.


assign_rooms_to_zone(zone_id: str) None

Assigns all rooms to the specified zone.


create_grouping_scheme(name: str) int

Creates a room grouping scheme with the given name. Returns the handle of the new grouping scheme


create_room_group(scheme_handle: int, group_name: str, colour: tuple[int, int, int] = (0, 0, 0)) int

Creates a room group with the given name and colour in the provided grouping scheme. Colour is expressed as a tuple of (R,G,B) and is optional, defaulting to black. Returns the handle of the new room group


create_zone(group_id: str, zone_name: str) str

Creates a zone with the given name in the provided zone group. Returns the ID of the newly added zone.


create_zone_group(name: str) str

Creates a zone group with the given name. Returns the ID of the newly added zone group.


get_grouping_schemes() list[dict]

Get a list of room grouping schemes stored as dictionaries. Dictionary entries are:

Key

Description

handle

(string)

name

(string)


get_room_groups(scheme_handle: int) list[dict]

Get a list of room groups (stored as dictionaries) for a grouping scheme. Dictionary entries are:

Key

Description

colour

(tuple of R,G,B ints) each colour entry in range 0-255

handle

(int)

name

(string)

rooms

(list of strings) list of room IDs assigned to group


get_zone_groups() list[dict]

Get a list of zone groups (stored as dictionaries). Dictionary entries are:

Key

Description

name

(string)

id

(string)


get_zones(group_id: str) list[dict]

Get a list of zones (stored as dictionaries) for a zone group. Dictionary entries are:

Key

Description

name

(string)

id

(string)

rooms

(list of strings) list of room IDs assigned to zone

master_room

(string) ID of the master room