eta_nexus.nodes.emonio_node module

class eta_nexus.nodes.emonio_node.EmonioConstants[source]

Bases: object

Dict constants for the Emonio API.

PARAMETER_MAP: Final[dict[int, list[str]]] = {0: ['VRMS', 'V_RMS', 'Voltage', 'V', 'Spannung'], 2: ['IRMS', 'I_RMS', 'Current', 'I', 'Strom'], 4: ['WATT', 'Power', 'W', 'Leistung', 'Wirkleistung'], 6: ['VAR', 'Reactive Power', 'VAR', 'Blindleistung'], 8: ['VA', 'Apparent Power', 'VA', 'Scheinleistung'], 10: ['FREQ', 'Frequency', 'Hz', 'Frequenz'], 12: ['KWH', 'Energy', 'kWh', 'Energie'], 14: ['PF', 'Power Factor', 'PF', 'Leistungsfaktor'], 20: ['VRMS MIN', 'VRMS_MIN', 'Voltage Min', 'V Min', 'Spannung Min'], 22: ['VRMS MAX', 'VRMS_MAX', 'Voltage Max', 'V Max', 'Spannung Max'], 24: ['IRMS MIN', 'IRMS_MIN', 'Current Min', 'I Min', 'Strom Min'], 26: ['IRMS MAX', 'IRMS_MAX', 'Current Max', 'I Max', 'Strom Max'], 28: ['WATT MIN', 'WATT_MIN', 'Power Min', 'W Min', 'Leistung Min'], 30: ['WATT MAX', 'WATT_MAX', 'Power Max', 'W Max', 'Leistung Max'], 500: ['Temp', 'degree', 'Temperature', '°C', 'Temperatur'], 800: ['Impulse', 'Impuls']}

Mapping of parameters to addresses

UPPER_CASED: Final[dict[int, list[str]]] = {0: ['VRMS', 'V_RMS', 'VOLTAGE', 'V', 'SPANNUNG'], 2: ['IRMS', 'I_RMS', 'CURRENT', 'I', 'STROM'], 4: ['WATT', 'POWER', 'W', 'LEISTUNG', 'WIRKLEISTUNG'], 6: ['VAR', 'REACTIVE POWER', 'VAR', 'BLINDLEISTUNG'], 8: ['VA', 'APPARENT POWER', 'VA', 'SCHEINLEISTUNG'], 10: ['FREQ', 'FREQUENCY', 'HZ', 'FREQUENZ'], 12: ['KWH', 'ENERGY', 'KWH', 'ENERGIE'], 14: ['PF', 'POWER FACTOR', 'PF', 'LEISTUNGSFAKTOR'], 20: ['VRMS MIN', 'VRMS_MIN', 'VOLTAGE MIN', 'V MIN', 'SPANNUNG MIN'], 22: ['VRMS MAX', 'VRMS_MAX', 'VOLTAGE MAX', 'V MAX', 'SPANNUNG MAX'], 24: ['IRMS MIN', 'IRMS_MIN', 'CURRENT MIN', 'I MIN', 'STROM MIN'], 26: ['IRMS MAX', 'IRMS_MAX', 'CURRENT MAX', 'I MAX', 'STROM MAX'], 28: ['WATT MIN', 'WATT_MIN', 'POWER MIN', 'W MIN', 'LEISTUNG MIN'], 30: ['WATT MAX', 'WATT_MAX', 'POWER MAX', 'W MAX', 'LEISTUNG MAX'], 500: ['TEMP', 'DEGREE', 'TEMPERATURE', '°C', 'TEMPERATUR'], 800: ['IMPULSE', 'IMPULS']}

Create dictionary with all upper cased parameters

PHASE_MAP: Final[dict[str, int]] = {'a': 0, 'abc': 300, 'b': 100, 'c': 200}

Mapping of phases to address offsets

class eta_nexus.nodes.emonio_node.EmonioNode(name: str, url: str, protocol: str, *args: Any, **kwargs: Any)[source]

Bases: Node

Node for the emonio. The parameter to read is specified by the name of the node. Available parameters are defined in the parameter_map class attribute. Additionally, the phase of the parameter can be specified, with ‘a’, ‘b’, ‘c’ or ‘abc’.

https://wiki.emonio.de/de/Emonio_P3

address: int

Modbus address of the parameter to read

phase: str

Phase of the parameter (a, b, c). If not set, all phases are read