Explorar el Código

docs: stop implying Station/Device ID must be exactly 18 digits

Users read the "18-digit number" wording in the config-flow dialog and the
issue template as a hard requirement, then concluded the integration was
broken when their own value was a different length. There is no length
validation anywhere: CONF_STATION_ID and CONF_DEVICE_ID are both plain
cv.string, so any length is already accepted.

Reword all live surfaces to "usually 18 digits" and state explicitly that
the value is the numeric stationId/deviceId from the portal Network payload
and NOT a serial number printed on the inverter or WiFi dongle, which is a
common source of the mix-up. Historical release notes are left untouched.

Also repoint the docs_url shown in the IOT-token setup step, which pointed
at an unrelated upstream repo (Hyllesen/solar-of-things-solar-usage), and
normalise the remaining conexocasa/ URLs to the canonical Conexo-Casa/ org.

Co-Authored-By: Claude <noreply@anthropic.com>
Conexo-Casa hace 1 mes
padre
commit
771ebe238b

+ 4 - 2
.github/ISSUE_TEMPLATE/bug_report.yml

@@ -54,7 +54,8 @@ body:
   - type: input
     id: station_id
     attributes:
-      label: Station ID (18 digits, safe to share)
+      label: Station ID (safe to share)
+      description: "The numeric `stationId` from the portal Network payload — usually 18 digits. Not a serial number."
       placeholder: "423564214316007425"
     validations:
       required: false
@@ -62,7 +63,8 @@ body:
   - type: input
     id: device_id
     attributes:
-      label: Device ID (18 digits, safe to share)
+      label: Device ID (safe to share)
+      description: "The numeric `deviceId` from the portal Network payload — usually 18 digits. Not a serial number."
       placeholder: "423564214341173249"
     validations:
       required: false

+ 9 - 2
QUICKSTART.md

@@ -14,10 +14,17 @@ Get Solar of Things running in Home Assistant in under 5 minutes.
 1. Open [https://solar.siseli.com](https://solar.siseli.com) and log in.
 2. Press **F12** → **Network** tab → refresh the page (**Ctrl+R**).
 3. Click any request to `solar.siseli.com`.
-4. In the **Payload** tab, find `stationId` — it's an 18-digit number.
+4. In the **Payload** tab, find `stationId` — a long number, usually 18 digits.
 
-> Your **User ID** is your login account name (not an email address).
+> Your **User ID** is your login account name (not an email address, and not a number).
 > Your **Station ID** looks like `423564214316007425`.
+>
+> ⚠️ **The Station ID is not a serial number.** Do not use the number printed on
+> your inverter or WiFi dongle, and do not use a plant/registration code shown in
+> the portal UI — those are often a different length (20 digits or more) and will
+> not work. The only value that works is the `stationId` from the Network payload
+> shown above. Any length is accepted at setup; the integration does not require
+> exactly 18 digits.
 
 ---
 

+ 3 - 3
README.md

@@ -138,7 +138,7 @@ The **Solar of Things** integration connects Home Assistant to the
 |---|---|
 | Home Assistant | **2023.6** or newer |
 | Siseli account | Active account at [solar.siseli.com](https://solar.siseli.com) |
-| Station ID | 18-digit ID from the Siseli portal |
+| Station ID | Numeric `stationId` from the Siseli portal (usually 18 digits) |
 | Network | HA must reach `https://solar.siseli.com` |
 
 ---
@@ -193,7 +193,7 @@ The **Solar of Things** integration connects Home Assistant to the
    |---|---|---|
    | **User ID** | ✅ | Your Siseli account login name |
    | **Password** | ✅ | Your Siseli account password |
-   | **Station ID** | ✅ | 18-digit Station ID |
+   | **Station ID** | ✅ | Numeric `stationId` (usually 18 digits) — **not** your inverter or WiFi-dongle serial number |
    | **Device ID** | Optional | Leave blank to auto-discover all devices |
    | **Time zone** | Optional | Default: `Asia/Manila` |
 
@@ -326,7 +326,7 @@ entities:
 | Symptom | Cause | Fix |
 |---|---|---|
 | "Cannot Connect" on setup | Wrong credentials or network | Check User ID / password and HA network access to solar.siseli.com |
-| No devices discovered | Wrong Station ID | Verify 18-digit stationId in the portal Network tab |
+| No devices discovered | Wrong Station ID | Re-read `stationId` from the portal Network tab. A serial number printed on the inverter or WiFi dongle is **not** the Station ID |
 | Entities show "Unavailable" | Token expired or portal unreachable | HA will prompt re-auth automatically; check logs |
 | Sensors always "Unknown" | API returns null for that field | Normal for sensors not supported by your inverter model |
 | Controls do nothing | Settings endpoint varies by firmware | Check HA logs for HTTP status codes |

+ 1 - 1
custom_components/solar_of_things/api.py

@@ -284,7 +284,7 @@ class SolarOfThingsAPI:
                 "Referer": "https://solar.siseli.com/",
                 "User-Agent": (
                     "HomeAssistant-SolarOfThings/2.3.0 "
-                    "(+https://github.com/conexocasa/solar-of-things-ha)"
+                    "(+https://github.com/Conexo-Casa/solar-of-things-ha)"
                 ),
             }
         )

+ 3 - 3
custom_components/solar_of_things/config_flow.py

@@ -124,7 +124,7 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
                 }
             ),
             description_placeholders={
-                "docs_url": "https://github.com/conexocasa/solar-of-things-ha"
+                "docs_url": "https://github.com/Conexo-Casa/solar-of-things-ha"
             },
         )
 
@@ -173,7 +173,7 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
             ),
             errors=errors,
             description_placeholders={
-                "docs_url": "https://github.com/conexocasa/solar-of-things-ha"
+                "docs_url": "https://github.com/Conexo-Casa/solar-of-things-ha"
             },
         )
 
@@ -208,7 +208,7 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
             ),
             errors=errors,
             description_placeholders={
-                "docs_url": "https://github.com/Hyllesen/solar-of-things-solar-usage"
+                "docs_url": "https://github.com/Conexo-Casa/solar-of-things-ha"
             },
         )
 

+ 1 - 1
custom_components/solar_of_things/strings.json

@@ -10,7 +10,7 @@
       },
       "password": {
         "title": "Solar of Things — User ID + Password",
-        "description": "Enter your Siseli portal login credentials and Station ID.\n\n- **User ID**: your account/login name on https://solar.siseli.com\n- **Station ID**: 18-digit number found in API request payloads (DevTools → Network)\n- **Device ID**: optional — leave blank to auto-discover all devices under the station\n- **Time zone**: must match your inverter's configured time zone\n\nMore info: {docs_url}",
+        "description": "Enter your Siseli portal login credentials and Station ID.\n\n- **User ID**: your account/login name on https://solar.siseli.com (a name, not a number)\n- **Station ID**: the numeric `stationId` found in API request payloads (DevTools → Network). Usually 18 digits, but any length is accepted. This is **not** the serial number printed on your inverter or WiFi dongle.\n- **Device ID**: optional — leave blank to auto-discover all devices under the station\n- **Time zone**: must match your inverter's configured time zone\n\nMore info: {docs_url}",
         "data": {
           "user_id": "User ID / Account",
           "password": "Password",

+ 1 - 1
custom_components/solar_of_things/translations/en.json

@@ -10,7 +10,7 @@
       },
       "password": {
         "title": "Solar of Things — User ID + Password",
-        "description": "Enter your Siseli portal login credentials and Station ID.\n\n- **User ID**: your account/login name on https://solar.siseli.com\n- **Station ID**: 18-digit number found in API request payloads (DevTools → Network)\n- **Device ID**: optional — leave blank to auto-discover all devices under the station\n- **Time zone**: must match your inverter's configured time zone\n\nMore info: {docs_url}",
+        "description": "Enter your Siseli portal login credentials and Station ID.\n\n- **User ID**: your account/login name on https://solar.siseli.com (a name, not a number)\n- **Station ID**: the numeric `stationId` found in API request payloads (DevTools → Network). Usually 18 digits, but any length is accepted. This is **not** the serial number printed on your inverter or WiFi dongle.\n- **Device ID**: optional — leave blank to auto-discover all devices under the station\n- **Time zone**: must match your inverter's configured time zone\n\nMore info: {docs_url}",
         "data": {
           "user_id": "User ID / Account",
           "password": "Password",