1.5.2
MyEngie v1.5.2
Bug Fix — Trimitere autocitire (button.py)
Fișier modificat: custom_components/myengie/button.py
Problema
Butonul „Trimite index" din Home Assistant trimitea autocitirea cu câmpuri greșite către API-ul Engie (POST /v1/index), ceea ce făcea ca trimiterea să eșueze întotdeauna.
Cauză
Trei câmpuri din payload-ul form-urlencoded erau incorecte:
| # | Greșit | Corect (din APK IndexApi.java) |
|---|---|---|
| 1 | poc |
poc_number |
| 2 | reading_value |
index |
| 3 | inst_detail.get("serial", "") |
inst_detail.get("serial_number", ...) |
Bug 1+2: Engie ignora complet request-ul — câmpurile poc și reading_value nu există în API.
Bug 3: serie_contor era mereu gol, deoarece API-ul divisions returnează serial_number, nu serial.
Validare
Payload-ul corectat a fost confirmat funcțional cu debug_myengie.py --send-index:
POST /v1/index → 200 OK
"Transmiterea indexului s-a realizat cu succes"
Payload:
poc_number: "<poc>"
pa: "<pa>"
installation_number: "<installation_number>"
division: "gaz"
index: "<valoare>"
serie_contor: "<serial_number>"
Modificări
# ÎNAINTE (incorect):
self._serial = inst_detail.get("serial", "")
payload = {
"poc": self._poc,
"reading_value": str(index_value),
"serie_contor": self._serial,
...
}
# DUPĂ (corect — conform APK IndexApi.java sendIndex):
self._serial = inst_detail.get("serial_number", inst_detail.get("serie_contor", inst_detail.get("serial", "")))
payload = {
"poc_number": self._poc,
"index": str(index_value),
...
}
if self._serial:
payload["serie_contor"] = self._serial📈 Integrarea în cifre
| ⭐ Stars | 📥 Instalări | 🔄 Clone (14z) |
|---|---|---|
| 6 | 386 | 242 |
Dacă integrarea MyEngie îți este utilă, lasă un ⭐ pe repository — îi ajută și pe alți utilizatori să o descopere.
💛 Dezvoltarea consumă timp și resurse. Dacă vrei să susții proiectul:
☕ Buy Me a Coffee · 💰 GitHub Sponsors