VeraGridEngine.Devices.Associations package

Submodules

VeraGridEngine.Devices.Associations.association module

class VeraGridEngine.Devices.Associations.association.Association(api_object: ASSOCIATION_TYPES | None = None, value: float = 1.0)[source]

Bases: object

VeraGrid relationship object, this handles the unit of association

api_object: ASSOCIATION_TYPES
copy()[source]
Returns:

parse(data: Dict[str, str | float], elements_dict: Dict[str, ALL_DEV_TYPES | None]) str[source]
Parameters:
  • data

  • elements_dict

Returns:

rebind_device_references(objects_by_idtag: Dict[str, ALL_DEV_TYPES]) None[source]

Rebind the associated API object to an equivalent object from a target lookup.

Parameters:

objects_by_idtag – idtag -> target object lookup

to_dict() Dict[str, str | float | None][source]
Returns:

value
class VeraGridEngine.Devices.Associations.association.Associations(device_type: DeviceType)[source]

Bases: object

VeraGrid associations object, this handles a set of associations

add(val: Association)[source]

Add Association :param val: Association :return: None

add_object(api_object: ASSOCIATION_TYPES, val: float) Association[source]

Add association :param api_object: ASSOCIATION_TYPES :param val: float :return: Association

append(item: Association) None[source]

Add item :param item:

at_key(key: str) Association | None[source]

Remove Association by key :param key: :return:

clear() None[source]

Clear data

copy()[source]

Copy data :return:

property data: Dict[str, Association]
Returns:

property device_type: DeviceType

Device Type :return: DeviceType

parse(data: List[Dict[str, str | float]], elements_dict: Dict[str, ALL_DEV_TYPES], logger: Logger, elm_name: str, updatable_device_type: bool = False) None[source]

Parse the data generated with to_dict() :param data: Json data :param elements_dict: dictionary of elements of the type self.device_type :param logger: Logger :param elm_name: base element name for reporting :param updatable_device_type: if the device type has to be updated in case of empty investments

rebind_device_references(objects_by_idtag: Dict[str, ALL_DEV_TYPES]) None[source]

Rebind all associated API objects to equivalent objects from a target lookup.

Parameters:

objects_by_idtag – idtag -> target object lookup

remove(val: Association)[source]

Remove Association :param val: Association :return: None

remove_by_key(key: str)[source]

Remove Association by key :param key: :return:

to_dict() List[Dict[str, str | float]][source]

Get dictionary representation of Associations :return:

to_list() List[ALL_DEV_TYPES][source]

Get a list of the associated api objects :return:

VeraGridEngine.Devices.Associations.emission_gas module

class VeraGridEngine.Devices.Associations.emission_gas.EmissionGas(name: str = '', code: str = '', idtag: str | None = None, cost: float = 0.0, color: str | None = None)[source]

Bases: EditableDevice

CLASS_NON_EDITABLE_PROPERTIES: Tuple[str, ...] = ('idtag', 'diff_changes')
CLASS_PROPERTIES_WITH_PROFILE: Dict[str, str] = {'cost': 'cost_prof'}
CLASS_PROPERTY_DECLARATIONS: Tuple[GCProp, ...] = (prop:idtag, prop:name, prop:code, prop:rdfid, prop:action, prop:comment, prop:diff_changes, prop:cost, prop:color)
CLASS_PROPERTY_LIST: Tuple[GCProp, ...] = (prop:idtag, prop:name, prop:code, prop:rdfid, prop:action, prop:comment, prop:diff_changes, prop:cost, prop:color)
CLASS_REGISTERED_PROPERTIES: Dict[str, GCProp] = {'action': prop:action, 'code': prop:code, 'color': prop:color, 'comment': prop:comment, 'cost': prop:cost, 'diff_changes': prop:diff_changes, 'idtag': prop:idtag, 'name': prop:name, 'rdfid': prop:rdfid}
LOCAL_PROPERTY_DECLARATIONS: Tuple[GCProp, ...] = (prop:cost, prop:color)
color
property cost: float

Get cost.

Returns:

float

property cost_prof: ProfileFloat

Cost profile :return: Profile

VeraGridEngine.Devices.Associations.fuel module

class VeraGridEngine.Devices.Associations.fuel.Fuel(name='', code='', idtag: str | None = None, cost: float = 0.0, color: str | None = None)[source]

Bases: EditableDevice

CLASS_NON_EDITABLE_PROPERTIES: Tuple[str, ...] = ('idtag', 'diff_changes')
CLASS_PROPERTIES_WITH_PROFILE: Dict[str, str] = {'cost': 'cost_prof'}
CLASS_PROPERTY_DECLARATIONS: Tuple[GCProp, ...] = (prop:idtag, prop:name, prop:code, prop:rdfid, prop:action, prop:comment, prop:diff_changes, prop:cost, prop:color)
CLASS_PROPERTY_LIST: Tuple[GCProp, ...] = (prop:idtag, prop:name, prop:code, prop:rdfid, prop:action, prop:comment, prop:diff_changes, prop:cost, prop:color)
CLASS_REGISTERED_PROPERTIES: Dict[str, GCProp] = {'action': prop:action, 'code': prop:code, 'color': prop:color, 'comment': prop:comment, 'cost': prop:cost, 'diff_changes': prop:diff_changes, 'idtag': prop:idtag, 'name': prop:name, 'rdfid': prop:rdfid}
LOCAL_PROPERTY_DECLARATIONS: Tuple[GCProp, ...] = (prop:cost, prop:color)
color
property cost: float

Get cost.

Returns:

float

property cost_prof: ProfileFloat

Cost profile :return: Profile

VeraGridEngine.Devices.Associations.owner module

class VeraGridEngine.Devices.Associations.owner.Owner(name: str = '', code: str = '', idtag: str | None = None, color: str | None = None)[source]

Bases: EditableDevice

CLASS_NON_EDITABLE_PROPERTIES: Tuple[str, ...] = ('idtag', 'diff_changes')
CLASS_PROPERTIES_WITH_PROFILE: Dict[str, str] = {}
CLASS_PROPERTY_DECLARATIONS: Tuple[GCProp, ...] = (prop:idtag, prop:name, prop:code, prop:rdfid, prop:action, prop:comment, prop:diff_changes, prop:address, prop:color)
CLASS_PROPERTY_LIST: Tuple[GCProp, ...] = (prop:idtag, prop:name, prop:code, prop:rdfid, prop:action, prop:comment, prop:diff_changes, prop:address, prop:color)
CLASS_REGISTERED_PROPERTIES: Dict[str, GCProp] = {'action': prop:action, 'address': prop:address, 'code': prop:code, 'color': prop:color, 'comment': prop:comment, 'diff_changes': prop:diff_changes, 'idtag': prop:idtag, 'name': prop:name, 'rdfid': prop:rdfid}
LOCAL_PROPERTY_DECLARATIONS: Tuple[GCProp, ...] = (prop:address, prop:color)
address
color

VeraGridEngine.Devices.Associations.technology module

class VeraGridEngine.Devices.Associations.technology.Technology(name: str = '', code: str = '', idtag: str | None = None, color: str | None = None)[source]

Bases: EditableDevice

CLASS_NON_EDITABLE_PROPERTIES: Tuple[str, ...] = ('idtag', 'diff_changes')
CLASS_PROPERTIES_WITH_PROFILE: Dict[str, str] = {}
CLASS_PROPERTY_DECLARATIONS: Tuple[GCProp, ...] = (prop:idtag, prop:name, prop:code, prop:rdfid, prop:action, prop:comment, prop:diff_changes, prop:name2, prop:name3, prop:name4, prop:color)
CLASS_PROPERTY_LIST: Tuple[GCProp, ...] = (prop:idtag, prop:name, prop:code, prop:rdfid, prop:action, prop:comment, prop:diff_changes, prop:name2, prop:name3, prop:name4, prop:color)
CLASS_REGISTERED_PROPERTIES: Dict[str, GCProp] = {'action': prop:action, 'code': prop:code, 'color': prop:color, 'comment': prop:comment, 'diff_changes': prop:diff_changes, 'idtag': prop:idtag, 'name': prop:name, 'name2': prop:name2, 'name3': prop:name3, 'name4': prop:name4, 'rdfid': prop:rdfid}
LOCAL_PROPERTY_DECLARATIONS: Tuple[GCProp, ...] = (prop:name2, prop:name3, prop:name4, prop:color)
color
name2
name3
name4

Module contents