-
Notifications
You must be signed in to change notification settings - Fork 3
Troubleshooting

deviceIsOnline stays False, device shows error state immediately after creation.
| Check | How |
|---|---|
| Envoy IP is correct | Browse to http://<IP> in Safari — should show the Envoy local page |
| Envoy is on the same LAN as Indigo | Ping from the Mac: ping 192.168.1.50
|
| Static IP set | Check your router's DHCP reservations; the Envoy should have a fixed IP |
| No token / wrong token mode | Old firmware (<7) needs no token. New firmware (≥7) needs a token. |
| TLS issue (firmware ≥7) | Try the endpoint checker (device settings → [Debug] Check all device endpoints) |
Open the device settings dialog and click [Debug] Check all device endpoints. Watch the Indigo log for 2–3 minutes. A working endpoint will log Success: http(s)://<IP>/production.json with a JSON response.
Log shows:
Error connecting to Device: My Envoy (HTTP 401 from https://192.168.1.50/production.json)
| Cause | Fix |
|---|---|
| Token expired | Manual token: get a new one from entrez.enphaseenergy.com. Auto-generated: credentials may have changed — re-enter password in device settings. |
| Wrong token mode | Old firmware uses no token + HTTP. New firmware uses HTTPS + JWT. |
| Token is for a different Envoy | Each Envoy requires its own token bound to its serial number. |
| MFA enabled on account | Auto-generated token flow fails with MFA. Use a manual token. |
| Token not yet propagated | After generating a new auto-token, wait 30–60 seconds for the first poll. |
- Open Plugins → Enphase Envoy → Configure…
- Tick Force clear all generated tokens on next startup.
- Save.
- Plugins → Enphase Envoy → Reload Plugin.
Authorization failed enabling DPEL for My Envoy. HTTP 403.
This endpoint requires an installer-level JWT token.
Power production control (/ivp/mod/.../mode/power) and DPEL (/ivp/ss/dpel) require an installer-level JWT token. Owner tokens are rejected.
- Verify your token type: check the Indigo log at startup for
** INSTALLER **vs** OWNER **. - If you see
OWNER, you need an installer account to generate/obtain an installer token. - Some Enphase installers will provide an installer token on request.
- Alternatively, the Installer Password calculator ([Debug] Print Installer password to Log) can help derive credentials for older firmware.
Clicked Generate Panel Devices but no panel devices were created.
| Check | Notes |
|---|---|
| Enable Panel Data? is ticked | The checkbox must be ticked before clicking Generate |
| Envoy device is online | Panels can only be fetched if the Envoy is reachable |
| Serial number available | The plugin needs the serial number for Digest auth (auto-fetched from /info.xml) |
| Token configured | Without a token, the legacy endpoint requires Digest auth — check serial number was fetched |
- Enable debugging (Plugins → Configure → Debug).
- Click Generate Panel Devices.
- Check the log for
getthePanelscalls and any errors. - Try the endpoint checker to verify
/api/v1/production/invertersresponds.
A panel device shows 0 watts and deviceIsOnline = False even when the sun is shining.
| Cause | Fix |
|---|---|
| Panel data is stale (>25 min) | Normal if a single inverter has been quiet — check physical hardware, look for shading |
Panel's lastCommunication shows epoch 1970 |
The inverter has never reported since the device was created. Wait until solar is producing and regenerate. |
| All panels affected | Check the parent Envoy device is online first |
| No extended data in first 15 min | Extended states (temp, voltage) are blank until the 15-minute cache fills |
Run Plugins → Enphase Envoy → Log All Panels Last Heard to see which panels are genuinely silent.
productionWattsNow doesn't match what the Enphase app shows.
- The Enphase app uses cloud data from Enlighten, which may lag by up to 15 minutes.
- The plugin reads local Envoy data in real-time (60-second poll).
- Slight differences are normal — the Envoy measures at the gateway; the app may show aggregated/rounded values.
If typeEnvoy = "Unmetered", consumption data is not available — this is a hardware limitation, not a bug. Tick Unmetered Envoy >7 Firmware in device settings if you are on firmware ≥7 with an unmetered Envoy.
batteryState = "unknown", batteryCount = 0, but you have batteries installed.
| Check | Notes |
|---|---|
| Parent Envoy device is online | Battery data comes from the Envoy |
| Batteries are Encharge (not Enpower) | The plugin reads ENCHARGE entries from inventory |
/ivp/ensemble/inventory returns data |
Run the endpoint checker and look for this endpoint |
| Token is configured | The inventory endpoint may require a token on newer firmware |
Error connecting to info.xml to find Serial Number
The plugin auto-fetches the serial number from /info.xml. If this endpoint is unavailable (some firmware versions restrict it), the serial number lookup fails.
Manually enter the serial number in the device settings:
- Open the Envoy device settings.
- Tick Use Manual Token.
- Enter the serial number in the Serial Number field.
- Untick if you don't want manual token mode (the serial number field will be saved from a prior save).
Or enter it in the Generate Token flow — the serial number is also used there.
The serial number is on the physical Envoy label and in the Enphase Enlighten app (under the system's device list).
- Plugins → Enphase Envoy → Configure…
- Set Indigo Log Debug Level to
Debugging Messages(level 10). - Set File Debug Level to
Detailed Debugging Messages(level 5). - Save.
-
[HTTP] GET …lines show every outbound request and response code. -
[HTTP] Created NEW sessionvsRe-using sessionshows connection health. - Token info lines show type and expiry at device start.
- Exception tracebacks are shown with file, function, and line number.
When posting to the Indigo forum, attach the plugin log file (found at ~/Library/Application Support/Perceptive Automation/Indigo X/Logs/com.GlennNZ.indigoplugin.EnphaseEnvoy/) rather than the full Indigo event log. Redact your token before sharing any log output.
Plugins → Enphase Envoy → Reload Plugin — restarts the plugin without deleting devices or settings. Useful after config changes.
Tick Force clear all generated tokens on next startup in Plugin Config, then reload.
- Disable the plugin.
- Delete all Enphase devices from Indigo.
- Uninstall the plugin.
- Re-install from the plugin store.
- Re-create devices.
| Error Message | Meaning | Fix |
|---|---|---|
HTTP 401 from production.json |
Token missing or wrong for FW≥7 | Add a JWT token |
HTTP 403 from DPEL/power |
Owner token on installer-only endpoint | Get installer token |
Timeout for host … |
Network unreachable or Envoy overloaded | Check network; increase server timeout in Plugin Config |
Could not connect or determine Envoy model |
IP wrong or Envoy offline | Verify IP and network |
Both PKCE and pyenphase token flows failed |
Credential error or MFA | Check credentials; disable MFA; use manual token |
No storage_settings found in tariff data |
Battery not configured on Envoy | Set up battery in Enphase app first |
No online EnphaseEnvoyDevice found |
Battery action called but Envoy is offline | Ensure Envoy device is online before battery actions |
