Phase data
For a metered Envoy with installed and configured current transformers (CT meters) in three‑phase mode and more than one active phase, data for individual phases is reported for solar production in pyenphase.EnvoyData.system_production_phases and house consumption in pyenphase.EnvoyData.system_consumption_phases.
Upon completion of the probe call, the phase setup is available. The phase_count, ct_meter_count, phase_mode, and consumption_meter_type are available from the Envoy model.
Phase names are enumerated as L1, L2, and L3 by pyenphase.const.PhaseNames. Phase modes are enumerated as single, split, and three by pyenphase.models.meters.EnvoyPhaseMode. CT meter types are enumerated as production, storage, net-consumption, and total-consumption by pyenphase.models.meters.CtType.
Be aware that phase_count and phase_mode apply for all configured CTs. The metered Envoy can, however, be configured with only 1, 2, or all 3 CT types. In this case, the unused CT data in system_production_phases, system_consumption_phases, or ctmeter_storage_phases will be None.
The Envoy property pyenphase.Envoy.active_phase_count returns how many phases are present in the production/consumption reports. This is 0 for single configurations.
from pyenphase import Envoy
envoy = Envoy(host_ip_or_name)
await envoy.setup()
print(f'Envoy {envoy.host} running {envoy.firmware}, sn: {envoy.serial_number}')
await envoy.authenticate(username=username, password=password, token=token)
await envoy.probe()
print(f'Number of configured Phases: {envoy.phase_count}')
print(f'Number of configured CT meters: {envoy.ct_meter_count}')
print(f'Phases are configured in: {envoy.phase_mode} mode')
print(f'Phases reported in production/consumption: {envoy.active_phase_count}')