Classes, methods and properties
- class pyenphase.Envoy(host, client=None, timeout=None)
Bases:
object
Class 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:
object
Class 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:
object
Model 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:
IntFlag
Features 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:
object
Model 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:
None
production_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:
object
Base 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:
EnvoyUpdater
Class 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:
EnvoyProductionUpdater
Class 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:
EnvoyProductionJsonUpdater
Class 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:
EnvoyUpdater
Class 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:
EnvoyUpdater
Class 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:
EnvoyUpdater
Class 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:
EnvoyUpdater
Class 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:
EnvoyUpdater
Class 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:
object
Model 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:
object
Model 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:
object
Model 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:
object
Model 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:
object
Model 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:
object
Model 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:
object
Model 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:
object
Model 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:
object
Model 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:
Exception
Base class for Envoy exceptions.
- exception pyenphase.exceptions.EnvoyFirmwareCheckError(status_code, status)
Bases:
EnvoyError
Exception raised when unable to query the Envoy firmware version.
- exception pyenphase.exceptions.EnvoyFirmwareFatalCheckError(status_code, status)
Bases:
EnvoyError
Exception raised when we should not retry the Envoy firmware version.
- exception pyenphase.exceptions.EnvoyAuthenticationError(status)
Bases:
EnvoyError
Exception raised when unable to query the Envoy firmware version.
- exception pyenphase.exceptions.EnvoyAuthenticationRequired(status)
Bases:
EnvoyError
Exception raised when authentication hasn’t been setup.
- exception pyenphase.exceptions.EnvoyHTTPStatusError(status_code, url)
Bases:
EnvoyError
Exception raised when unable to query the Envoy status.
- exception pyenphase.exceptions.EnvoyProbeFailed
Bases:
EnvoyError
Exception raised when the Envoy probe fails.
- exception pyenphase.exceptions.EnvoyCommunicationError
Bases:
EnvoyError
Exception raised when the Envoy communication fails.
- exception pyenphase.exceptions.EnvoyFeatureNotAvailable
Bases:
EnvoyError
Exception raised when the Envoy feature is not available.
- exception pyenphase.exceptions.EnvoyPoorDataQuality(status)
Bases:
EnvoyError
Exception raised when data identifies known issues.