All API ENDPOINTS set to None — integration is non-functional without manual edits #9

Closed
opened 2026-05-09 05:10:42 +00:00 by Mark · 1 comment
Owner

Severity: High (blocker)

File: custom_components/yeedi/api.py, lines 53-59

Issue: The ENDPOINTS dict has all values set to None:

ENDPOINTS: dict[str, str | None] = {
    "login": None,
    "refresh": None,
    "devices": None,
    "device_status": None,
    "command": None,
}

Any call to _require_endpoint() will raise YeediApiError with a message to "Update ENDPOINTS in api.py using the Node-RED flow details." This means the integration is completely non-functional out of the box — it cannot authenticate, discover devices, or send commands.

While this is intentional (per the API uncertainties policy in the prompt), it should be clearly documented and perhaps replaced with documented placeholder strings showing the expected URL pattern so users know what format is expected.

Recommendation:

  1. Add example endpoint URL patterns as comments so users understand the expected format.
  2. Add a section in README.md explaining how to obtain the correct endpoint values.
  3. Consider making this validation happen at config flow validation time rather than failing at runtime.
**Severity:** High (blocker) **File:** `custom_components/yeedi/api.py`, lines 53-59 **Issue:** The `ENDPOINTS` dict has all values set to `None`: ```python ENDPOINTS: dict[str, str | None] = { "login": None, "refresh": None, "devices": None, "device_status": None, "command": None, } ``` Any call to `_require_endpoint()` will raise `YeediApiError` with a message to "Update ENDPOINTS in api.py using the Node-RED flow details." This means the integration is completely non-functional out of the box — it cannot authenticate, discover devices, or send commands. While this is intentional (per the API uncertainties policy in the prompt), it should be clearly documented and perhaps replaced with documented placeholder strings showing the expected URL pattern so users know what format is expected. **Recommendation:** 1. Add example endpoint URL patterns as comments so users understand the expected format. 2. Add a section in README.md explaining how to obtain the correct endpoint values. 3. Consider making this validation happen at config flow validation time rather than failing at runtime.
Author
Owner

GSD IMPLEMENT phase made no changes.
Worker output:

GSD IMPLEMENT phase made no changes. Worker output:
Mark closed this issue 2026-06-06 16:45:15 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Mark/yeedi_awmbuild#9
No description provided.