Classes, methods and properties
- class pyenphase.Envoy(host, client=None, timeout=None)
Bases:
objectClass for communicating with an envoy.
- async setup()
Obtain the firmware version for later Envoy authentication.
- Return type:
None
- async authenticate(username=None, password=None, token=None)
Authenticate to the Envoy based on firmware version.
- Return type:
None
- async probe_request(endpoint)
Make a probe request.
Probe requests are not retried on bad JSON responses.
- Return type:
Response
- async request(endpoint, data=None)
Make a request to the Envoy.
Request retries on bad JSON responses which the Envoy sometimes returns.
- Return type:
Response
- property host: str
Return the Envoy host.
- property firmware: AwesomeVersion
Return the Envoy firmware version.
- property part_number: str | None
Return the Envoy part number.
- property serial_number: str | None
Return the Envoy serial number.
- property supported_features: SupportedFeatures
Return the supported features.
- property phase_count: int
Return the number of configured phases for CT meters.
- property active_phase_count: int
Return the number of phases reported in production/consumption report.
- property ct_meter_count: int
Return the number of configured current transformers (CT)
- property consumption_meter_type: CtType | None
Return the type of consumption ct meter installed (total or net consumption or None).
- property production_meter_type: CtType | None
Return the type of production ct meter installed (Production or None).
- property storage_meter_type: CtType | None
Return the type of storage ct meter installed (Storage or None).
- property phase_mode: EnvoyPhaseMode | None
Return the phase mode configured for the CT meters (single, split or three).
- property envoy_model: str
Return Envoy model description.
- async probe()
Probe for model and supported features.
- Return type:
None
- async go_on_grid()
Make a request to the Envoy to go on grid.
- Return type:
dict[str,Any]
- async go_off_grid()
Make a request to the Envoy to go off grid.
- Return type:
dict[str,Any]
- async update_dry_contact(new_data)
Update settings for an Enpower dry contact relay.
- Return type:
dict[str,Any]
- async open_dry_contact(id)
Open a dry contact relay.
- Return type:
dict[str,Any]
- async close_dry_contact(id)
Open a dry contact relay.
- Return type:
dict[str,Any]
- async enable_charge_from_grid()
Enable charge from grid for Encharge batteries.
- Return type:
dict[str,Any]
- async disable_charge_from_grid()
Disable charge from grid for Encharge batteries.
- Return type:
dict[str,Any]
- async set_storage_mode(mode)
Set the Encharge storage mode.
- Return type:
dict[str,Any]
- async set_reserve_soc(value)
Set the Encharge reserve state of charge.
- Return type:
dict[str,Any]
- class pyenphase.auth.EnvoyTokenAuth(host, cloud_username=None, cloud_password=None, envoy_serial=None, token=None)
Bases:
EnvoyAuth- JSON_LOGIN_URL = 'https://enlighten.enphaseenergy.com/login/login.json?'
- TOKEN_URL = 'https://entrez.enphaseenergy.com/tokens'
- async setup(client)
Obtain the token for Envoy authentication.
- Return type:
None
- async refresh()
Refresh the token for Envoy authentication.
- Return type:
None
- property expire_timestamp: int
Return the remaining seconds for the token.
- property token: str
Return token retrieved from enligthen
- property manager_token: str
Return manager token returned in enligthen login json
- property cookies: dict[str, str]
return cookies returned from local jwt check
- property is_consumer: bool
Return is_consumer state returned in enligthen login json
- property auth: None
No auth required for token authentication.
- property headers: dict[str, str]
Return the headers for Envoy authentication.
- get_endpoint_url(endpoint)
Return the URL for the endpoint.
- Return type:
str
- class pyenphase.firmware.EnvoyFirmware(_client, host)
Bases:
objectClass for querying and determining the Envoy firmware version.
- async setup()
Obtain the firmware version for Envoy authentication.
- Return type:
None
- property version: AwesomeVersion
- property serial: str | None
- property part_number: str | None
- class pyenphase.EnvoyData(encharge_inventory=None, encharge_power=None, encharge_aggregate=None, enpower=None, system_consumption=None, system_production=None, system_consumption_phases=None, system_production_phases=None, ctmeter_production=None, ctmeter_consumption=None, ctmeter_storage=None, ctmeter_production_phases=None, ctmeter_consumption_phases=None, ctmeter_storage_phases=None, dry_contact_status=<factory>, dry_contact_settings=<factory>, inverters=<factory>, tariff=None, raw=<factory>)
Bases:
objectModel for an envoy.
-
encharge_inventory:
dict[str,EnvoyEncharge] |None
-
encharge_power:
dict[str,EnvoyEnchargePower] |None
-
encharge_aggregate:
EnvoyEnchargeAggregate|None
-
enpower:
EnvoyEnpower|None
-
system_consumption:
EnvoySystemConsumption|None
-
system_production:
EnvoySystemProduction|None
-
system_consumption_phases:
dict[str,EnvoySystemConsumption|None] |None
-
system_production_phases:
dict[str,EnvoySystemProduction|None] |None
-
ctmeter_production:
EnvoyMeterData|None Production CT Meter data
-
ctmeter_consumption:
EnvoyMeterData|None Consumption CT Meter data
-
ctmeter_storage:
EnvoyMeterData|None Storage CT Meter data
-
ctmeter_production_phases:
dict[str,EnvoyMeterData] |None
-
ctmeter_consumption_phases:
dict[str,EnvoyMeterData] |None
-
ctmeter_storage_phases:
dict[str,EnvoyMeterData] |None
-
dry_contact_status:
dict[str,EnvoyDryContactStatus]
-
dry_contact_settings:
dict[str,EnvoyDryContactSettings]
-
inverters:
dict[str,EnvoyInverter]
-
tariff:
EnvoyTariff|None
-
raw:
dict[str,Any]
-
encharge_inventory:
- class pyenphase.const.SupportedFeatures(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
IntFlagFeatures available from Envoy
- INVERTERS = 1
Envoy reports inverters
- METERING = 2
Envoy reports active production meter
- TOTAL_CONSUMPTION = 4
Envoy reports total consumption
- NET_CONSUMPTION = 8
Envoy reports net consumption
- ENCHARGE = 16
Envoy reports encharge data
- ENPOWER = 32
Envoy reports Enpower data
- PRODUCTION = 64
Envoy reports production data
- TARIFF = 128
Envoy reports tariff information
- DUALPHASE = 256
Envoy metered is configured in split phase mode
- THREEPHASE = 512
Envoy metered is configured in three phase mode
- CTMETERS = 1024
Envoy has enabled CT meter(s)
- GENERATOR = 2048
Envoy reports generator data
- class pyenphase.const.PhaseNames(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
StrEnum- PHASE_1 = 'L1'
- PHASE_2 = 'L2'
- PHASE_3 = 'L3'
Model for common properties of an envoy.
- class pyenphase.models.common.CommonProperties(production_fallback_list=<factory>, phase_count=0, ct_meter_count=0, phase_mode=None, consumption_meter_type=None, production_meter_type=None, storage_meter_type=None, active_phase_count=0)
Bases:
objectModel for common properties of an envoy shared amongst all updaters.
One set are properties set during probe to share amongst updaters and with clients. These should be reset at each probe run.
More properties can be added, originators should handle reset as needed by adding to reset_probe_properties to reset at probe or in a different way or leave existing all lifetime.
-
production_fallback_list:
list[str] Fallback production endpoints for Metered without CT
-
phase_count:
int number of phases configured in envoy
-
ct_meter_count:
int number of active ct meters
-
phase_mode:
EnvoyPhaseMode|None phase mode configured in the CT meters
-
active_phase_count:
int number of phases actually reporting phase data
- reset_probe_properties()
Reset common properties that are initialized during probe.
probe properties are reset at each probe to avoid sticking memories. This should exclude common properties set outside of probe or controlled by a specific updater, these should be reset at different moments by different method by updaters or owner
reset properties: :rtype:
Noneproduction_fallback_list shared amongst production updaters
-
production_fallback_list:
Updaters
Base class
- class pyenphase.updaters.base.EnvoyUpdater(envoy_version, probe_request, request, common_properties)
Bases:
objectBase class for Envoy updaters.
- abstract async probe(discovered_features)
Probe the Envoy for this updater and return SupportedFeatures.
- Return type:
SupportedFeatures|None
- abstract async update(envoy_data)
Update the Envoy for this updater.
- Return type:
None
production
Envoy production data updater
- class pyenphase.updaters.production.EnvoyProductionUpdater(envoy_version, probe_request, request, common_properties)
Bases:
EnvoyUpdaterClass to handle updates for production data.
- end_point = '/production'
- allow_inverters_fallback = False
- async probe(discovered_features)
Probe the Envoy for this endpoint and return SupportedFeatures.
- Return type:
SupportedFeatures|None
- async update(envoy_data)
Update the Envoy for this endpoint.
- Return type:
None
- class pyenphase.updaters.production.EnvoyProductionJsonUpdater(envoy_version, probe_request, request, common_properties)
Bases:
EnvoyProductionUpdaterClass to handle updates for production data from the production.json endpoint.
- end_point = '/production.json?details=1'
- class pyenphase.updaters.production.EnvoyProductionJsonFallbackUpdater(envoy_version, probe_request, request, common_properties)
Bases:
EnvoyProductionJsonUpdaterClass to handle updates for production data from the production.json endpoint.
This class will accept the production endpoint even if activeCount is 0
- allow_inverters_fallback = True
- class pyenphase.updaters.api_v1_production.EnvoyApiV1ProductionUpdater(envoy_version, probe_request, request, common_properties)
Bases:
EnvoyUpdaterClass to handle updates for production data.
- async probe(discovered_features)
Probe the Envoy for this updater and return SupportedFeatures.
- Return type:
SupportedFeatures|None
- async update(envoy_data)
Update the Envoy for this updater.
- Return type:
None
Inverters
- class pyenphase.updaters.api_v1_production_inverters.EnvoyApiV1ProductionInvertersUpdater(envoy_version, probe_request, request, common_properties)
Bases:
EnvoyUpdaterClass to handle updates for inverter production data.
- async probe(discovered_features)
Probe the Envoy for this updater and return SupportedFeatures.
- Return type:
SupportedFeatures|None
- async update(envoy_data)
Update the Envoy for this updater.
- Return type:
None
EnvoyEnsemble
- class pyenphase.updaters.ensemble.EnvoyEnembleUpdater(envoy_version, probe_request, request, common_properties)
Bases:
EnvoyUpdaterClass to handle updates for Ensemble devices.
- async probe(discovered_features)
Probe the Envoy for this updater and return SupportedFeatures.
- Return type:
SupportedFeatures|None
- async update(envoy_data)
Update the Envoy for this updater.
- Return type:
None
EnvoyTariff
- class pyenphase.updaters.tariff.EnvoyTariffUpdater(envoy_version, probe_request, request, common_properties)
Bases:
EnvoyUpdaterClass to handle updates for the Envoy tariff data.
- async probe(discovered_features)
Probe the Envoy for this updater and return SupportedFeatures.
- Return type:
SupportedFeatures|None
- async update(envoy_data)
Update the Envoy for this updater.
- Return type:
None
Current Transformers
Envoy CT Meter updater
- class pyenphase.updaters.meters.EnvoyMetersUpdater(envoy_version, probe_request, request, common_properties)
Bases:
EnvoyUpdaterClass to handle updates for Envoy CT Meters.
- end_point = '/ivp/meters'
endpoint in envoy to read CT meter configuration
- data_end_point = '/ivp/meters/readings'
-
phase_mode:
EnvoyPhaseMode|None= None
-
phase_count:
int= 0 Number of phases configured and measured in the Envoy
-
ct_meters_count:
int= 0
-
production_meter_eid:
str|None= None Production CT identifier
-
consumption_meter_eid:
str|None= None Consumption CT identifier
-
storage_meter_eid:
str|None= None Storage CT identifier
- async probe(discovered_features)
Probe the Envoy meter setup and return CT and multiphase details in SupportedFeatures.
Get CT configuration info from ivp/meters in the Envoy and determine any multi-phase setup. Set Threephase or Dualphase supported feature if Envoy is in one of these setups. Set common property information in envoy data for phase_count, ct_meter_count, phase_mode and ct_consumption_meter type to default or found values. These 4 are owned by this updater.
- Parameters:
discovered_features (
SupportedFeatures) – Features discovered by other updaters for this updater to skip- Return type:
SupportedFeatures|None- Returns:
features discovered by this updater
- async update(envoy_data)
Update the Envoy data from the meters endpoints.
Get CT configuration from ivp/meters and CT readings from ivp/meters/readings. Store data as EnvoyMeterData in ctmeter_production, ctmeter_consumption if either meter is found enabled during probe. If more then 1 phase is active, store phase data in ctmeter_production_phases and ctmeter_consumption_phases. Match data in ivp/meters and ivp/meters/reading using the eid field in both datasets.
- Parameters:
envoy_data (
EnvoyData) – EnvoyData structure to store data to- Return type:
None
Models
EnvoySystemProduction
- class pyenphase.models.system_production.EnvoySystemProduction(watt_hours_lifetime, watt_hours_last_7_days, watt_hours_today, watts_now)
Bases:
objectModel for the Envoy’s production data.
-
watt_hours_lifetime:
int Lifetime Energy produced
-
watt_hours_last_7_days:
int Energy produced in previous 7 days (not including today)
-
watt_hours_today:
int Energy produced since start of day
-
watts_now:
int Current Power production
- classmethod from_v1_api(data)
Initialize from the V1 API.
- Parameters:
data (
dict[str,Any]) – JSON reply from api/v1/production endpoint- Return type:
- Returns:
Lifetime, last seven days, todays energy and current power for solar production
- classmethod from_production(data)
Initialize from the production API.
- Parameters:
data (
dict[str,Any]) – JSON reply from /production endpoint- Return type:
- Returns:
Lifetime, last seven days, todays energy and current power for solar production
- classmethod from_production_phase(data, phase)
Initialize from the production API phase data.
- Parameters:
data (
dict[str,Any]) – JSON reply from /production endpointphase (
int) – Index (0-2) in [lines] segment for which to return data
- Return type:
EnvoySystemProduction|None- Returns:
Lifetime, last seven days, todays energy and current power for production phase
-
watt_hours_lifetime:
EnvoySystemConsumption
- class pyenphase.models.system_consumption.EnvoySystemConsumption(watt_hours_lifetime, watt_hours_last_7_days, watt_hours_today, watts_now)
Bases:
objectModel for the Envoy’s (total, house) consumption data.
-
watt_hours_lifetime:
int Lifetime Energy consumed (total-consumption, house)
-
watt_hours_last_7_days:
int Energy consumed in previous 7 days (not including today)
-
watt_hours_today:
int Energy consumption since start of day (total-consumption, house)
-
watts_now:
int Current Power consumption (total-consumption, house)
- classmethod from_production(data)
Initialize from the production API.
- Parameters:
data (
dict[str,Any]) – JSON reply from /production endpoint- Return type:
- Returns:
Lifetime, last 7 days, todays energy and current power for total-consumption
- classmethod from_production_phase(data, phase)
Initialize from the production API phase data.
- Parameters:
data (
dict[str,Any]) – JSON reply from /production endpointphase (
int) – Index (0-2) in [lines] segment for which to return data
- Return type:
EnvoySystemConsumption|None- Returns:
Lifetime, last 7 days, todays energy and current power for total-consumption phase
-
watt_hours_lifetime:
EnvoyInverter
- class pyenphase.models.inverter.EnvoyInverter(serial_number, last_report_date, last_report_watts, max_report_watts)
Bases:
objectModel for an Enphase microinverter.
-
serial_number:
str
-
last_report_date:
int
-
last_report_watts:
int
-
max_report_watts:
int
- classmethod from_v1_api(data)
Initialize from the V1 API.
- Return type:
-
serial_number:
EnvoyEncharge
- class pyenphase.models.encharge.EnvoyEncharge(admin_state, admin_state_str, bmu_firmware_version, comm_level_2_4_ghz, comm_level_sub_ghz, communicating, dc_switch_off, encharge_capacity, encharge_revision, firmware_loaded_date, firmware_version, installed_date, last_report_date, led_status, max_cell_temp, operating, part_number, percent_full, serial_number, temperature, temperature_unit, zigbee_dongle_fw_version)
Bases:
objectModel for the Encharge/IQ battery.
-
admin_state:
int
-
admin_state_str:
str
-
bmu_firmware_version:
str
-
comm_level_2_4_ghz:
int
-
comm_level_sub_ghz:
int
-
communicating:
bool
-
dc_switch_off:
bool
-
encharge_capacity:
int
-
encharge_revision:
int
-
firmware_loaded_date:
int
-
firmware_version:
str
-
installed_date:
int
-
last_report_date:
int
-
led_status:
int
-
max_cell_temp:
int
-
operating:
bool|None
-
part_number:
str
-
percent_full:
int
-
serial_number:
str
-
temperature:
int
-
temperature_unit:
str
-
zigbee_dongle_fw_version:
str|None
- classmethod from_api(inventory)
Initialize from the API.
- Return type:
-
admin_state:
EnvoyEnchargeAggregate
- class pyenphase.models.encharge.EnvoyEnchargeAggregate(available_energy, backup_reserve, state_of_charge, reserve_state_of_charge, configured_reserve_state_of_charge, max_available_capacity)
Bases:
objectModel for Encharge aggregate data.
-
available_energy:
int
-
backup_reserve:
int
-
state_of_charge:
int
-
reserve_state_of_charge:
int
-
configured_reserve_state_of_charge:
int
-
max_available_capacity:
int
- classmethod from_api(data)
Initialize from the API.
- Return type:
-
available_energy:
EnvoyEnchargePower
EnvoyEnpower
- class pyenphase.models.enpower.EnvoyEnpower(grid_mode, admin_state, admin_state_str, comm_level_2_4_ghz, comm_level_sub_ghz, communicating, firmware_loaded_date, firmware_version, installed_date, last_report_date, mains_admin_state, mains_oper_state, operating, part_number, serial_number, temperature, temperature_unit, zigbee_dongle_fw_version)
Bases:
objectModel for the Enpower/IQ System Controller.
-
grid_mode:
str
-
admin_state:
int
-
admin_state_str:
str
-
comm_level_2_4_ghz:
int
-
comm_level_sub_ghz:
int
-
communicating:
bool
-
firmware_loaded_date:
int
-
firmware_version:
str
-
installed_date:
int
-
last_report_date:
int
-
mains_admin_state:
str
-
mains_oper_state:
str
-
operating:
bool|None
-
part_number:
str
-
serial_number:
str
-
temperature:
int
-
temperature_unit:
str
-
zigbee_dongle_fw_version:
str|None
- classmethod from_api(enpower)
Initialize from the API.
- Return type:
-
grid_mode:
EnvoyDryContactSettings
Model for the Enpower dry contact relays.
- class pyenphase.models.dry_contacts.DryContactStatus(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
StrEnum- OPEN = 'open'
- CLOSED = 'closed'
- class pyenphase.models.dry_contacts.DryContactAction(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
StrEnum- APPLY = 'apply'
- SHED = 'shed'
- SCHEDULE = 'schedule'
- NONE = 'none'
- class pyenphase.models.dry_contacts.DryContactType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
StrEnum- NONE = 'NONE'
- PV = 'PV'
- LOAD = 'LOAD'
- class pyenphase.models.dry_contacts.DryContactMode(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
StrEnum- MANUAL = 'manual'
- STATE_OF_CHARGE = 'soc'
- class pyenphase.models.dry_contacts.EnvoyDryContactStatus(id, status)
Bases:
objectModel for the Enpower dry contact relay status.
-
id:
str
-
status:
str
- classmethod from_api(relay)
Initialize from the API.
- Return type:
-
id:
- class pyenphase.models.dry_contacts.EnvoyDryContactSettings(id, black_start, essential_end_time, essential_start_time, generator_action, grid_action, load_name, manual_override, micro_grid_action, mode, override, priority, pv_serial_nb, soc_high, soc_low, type)
Bases:
objectModel for the Enpower dry contact relay settings.
-
id:
str
-
black_start:
float|None
-
essential_end_time:
float|None
-
essential_start_time:
float|None
-
generator_action:
DryContactAction
-
grid_action:
DryContactAction
-
load_name:
str
-
manual_override:
bool|None
-
micro_grid_action:
DryContactAction
-
mode:
DryContactMode
-
override:
bool
-
priority:
float|None
-
pv_serial_nb:
list[Any]
-
soc_high:
float
-
soc_low:
float
-
type:
DryContactType
- classmethod from_api(relay)
Initialize from the API.
- Return type:
- to_api()
Convert to API format.
- Return type:
dict[str,Any]
-
id:
CT Meters
Model for the Envoy’s CT Meters.
- class pyenphase.models.meters.EnvoyPhaseMode(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
StrEnum- SPLIT = 'split'
- THREE = 'three'
- SINGLE = 'single'
- class pyenphase.models.meters.CtType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
StrEnum- PRODUCTION = 'production'
- NET_CONSUMPTION = 'net-consumption'
- TOTAL_CONSUMPTION = 'total-consumption'
- STORAGE = 'storage'
- class pyenphase.models.meters.CtState(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
StrEnum- ENABLED = 'enabled'
- DISABLED = 'disabled'
- class pyenphase.models.meters.CtMeterStatus(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
StrEnum- NORMAL = 'normal'
- NOT_METERING = 'not-metering'
- CHECK_WIRING = 'check-wiring'
- class pyenphase.models.meters.CtStatusFlags(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
StrEnum- PODUCTION_IMBALANCE = 'production-imbalance'
- NEGATIVE_PRODUCTION = 'negative-production'
- POWER_ON_UNUSED_PHASE = 'power-on-unused-phase'
- NEGATIVE_TOTAL_CONSUMPTION = 'negative-total-consumption'
- class pyenphase.models.meters.CtMeterData
Bases:
TypedDict-
eid:
str
-
phaseMode:
EnvoyPhaseMode
-
phaseCount:
int
-
meteringStatus:
CtMeterStatus
-
statusFlags:
list[CtStatusFlags]
-
eid:
- class pyenphase.models.meters.EnvoyMeterData(eid, timestamp, energy_delivered, energy_received, active_power, power_factor, voltage, current, frequency, state, measurement_type, metering_status, status_flags)
Bases:
objectModel for the Envoy’s CT meter data.
-
eid:
str CT meter identifier
-
timestamp:
int Time of measurement
-
energy_delivered:
int Lifetime Energy delivered through CT
-
energy_received:
int Lifetime Energy received through CT
-
active_power:
int Current power exchang through CT, positive is delivering, negative is receiving
-
power_factor:
float Power factor reported for CT measurement
-
voltage:
float Voltage on circuit, when multiphase sum of voltage of individual phases
-
current:
float current measured by CT
-
frequency:
float frequency measured by CT
-
metering_status:
CtMeterStatus|None CT Measurement status
-
status_flags:
list[CtStatusFlags] |None CT status flags.
- classmethod from_api(data, meter_status)
Return CT meter data from /ivp/meters and ivp/meters/reading json.
- Return type:
- classmethod from_phase(data, meter_status, phase)
Return CT meter phase data from /ivp/meters and ivp/meters/reading json.
- Return type:
EnvoyMeterData|None
-
eid:
Utilities
Json
- class pyenphase.json.json_loads(end_point, json_source)
Bases:
- Return type:
Any
SSL
- pyenphase.ssl.create_no_verify_ssl_context()
Return an SSL context that does not verify the server certificate. This is a copy of aiohttp’s create_default_context() function, with the ssl verify turned off and old SSL versions enabled.
- Return type:
SSLContext
- pyenphase.ssl.create_default_ssl_context()
Return an default SSL context.
- Return type:
SSLContext
Exceptions
- exception pyenphase.exceptions.EnvoyError
Bases:
ExceptionBase class for Envoy exceptions.
- exception pyenphase.exceptions.EnvoyFirmwareCheckError(status_code, status)
Bases:
EnvoyErrorException raised when unable to query the Envoy firmware version.
- exception pyenphase.exceptions.EnvoyFirmwareFatalCheckError(status_code, status)
Bases:
EnvoyErrorException raised when we should not retry the Envoy firmware version.
- exception pyenphase.exceptions.EnvoyAuthenticationError(status)
Bases:
EnvoyErrorException raised when unable to query the Envoy firmware version.
- exception pyenphase.exceptions.EnvoyAuthenticationRequired(status)
Bases:
EnvoyErrorException raised when authentication hasn’t been setup.
- exception pyenphase.exceptions.EnvoyHTTPStatusError(status_code, url)
Bases:
EnvoyErrorException raised when unable to query the Envoy status.
- exception pyenphase.exceptions.EnvoyProbeFailed
Bases:
EnvoyErrorException raised when the Envoy probe fails.
- exception pyenphase.exceptions.EnvoyCommunicationError
Bases:
EnvoyErrorException raised when the Envoy communication fails.
- exception pyenphase.exceptions.EnvoyFeatureNotAvailable
Bases:
EnvoyErrorException raised when the Envoy feature is not available.
- exception pyenphase.exceptions.EnvoyPoorDataQuality(status)
Bases:
EnvoyErrorException raised when data identifies known issues.