aktuell: WICHTIG! Kein Firmware-Update machen lassen - die API ist nicht mehr abfragbar!

(Update-Intervall 5 Sekunden!)

Moderator: c2j2

Antworten
Benutzeravatar
c2j2
Site Admin
Beiträge: 606
Registriert: 12.Mai 2023, 09:16
Wohnort: Allensbach, Bodensee
Has thanked: 19 times
Been thanked: 59 times
Kontaktdaten:

aktuell: WICHTIG! Kein Firmware-Update machen lassen - die API ist nicht mehr abfragbar!

Beitrag von c2j2 »

Solax "realtime_json" (lokale HTTP-Schnittstelle) liefert nach Firmware-Update 405 Method Not Allowed
Frage
Es geht um die Verbindung solax / realtime_json. Ein Kunde hatte diese lange am Laufen. Nun hat er ein Solax-Update machen lassen und bekommt:

Code: Alles auswählen

00:00:14.112 11996: <I/O>: devices.grid.solax.json_realtime.Connection: ---> POST http://192.168.178.110
headers:
  Content-Type:
    text/plain; charset=US-ASCII
  Connection:
    keep-alive
message:
  optType=ReadRealTimeData&pwd=XXXXXXXXXX
00:00:14.157 11996: <I/O>: devices.grid.solax.json_realtime.Connection: <--- 405 Method Not Allowed
headers:
  X-Android-Sent-Millis:
    1786053614134
  Content-Type:
    text/html
  X-Android-Selected-Protocol:
    http/1.1
  Content-Length:
    52
  X-Android-Response-Source:
    NETWORK 405
  X-Android-Received-Millis:
    1786053614152
message:
  Request method for this URI is not handled by server
Ist bekannt, dass Solax diesen Zugriff abgeschaltet hat, oder muss man das nur konfigurieren, um die Schnittstelle wieder freizuschalten?
-------------------------------------
Antwort
Kurzfassung
Ja, das ist bekannt – und es ist kein Fehler in der App. Solax hat die lokale HTTP-Schnittstelle in neueren Dongle-Firmwares dichtgemacht. Einen Schalter zum Wiederfreischalten gibt es (dokumentiert) nicht.
Was genau passiert
Das 405 passt exakt zum bekannten Muster: Der Webserver im Dongle antwortet noch auf der LAN-Seite (deshalb kein Timeout, sondern ein sauberes HTTP-405), er bedient dort aber nur noch die Konfigurationsseiten. Der POST / mit optType=ReadRealTimeData ist auf dem LAN-Interface schlicht nicht mehr implementiert.
Aus der Home-Assistant-Doku und den Community-Threads: Geräte mit neuerer Firmware "no longer expose an API when connected to your wireless network" – die API bleibt nur noch über den eigenen Accesspoint des Dongles erreichbar (SSID Wifi_SXxxxxxxx, IP 5.8.8.8).
Der ioBroker-Solax-Adapter warnt seit Jahren explizit davor, Firmware > 2.30.20 (Pocket WiFi V1/V2) bzw. >= 3.001 (V3) einzuspielen, "da Solax in höheren Versionen den lokalen Zugriff blockiert".
Bei den ganz neuen Ständen kommt teilweise noch Basic-Auth mit Benutzername dazu (siehe HA-Issue #145182, von Home Assistant als "waiting-for-upstream" geschlossen).
Was man testen kann (5 Minuten, in dieser Reihenfolge)
  1. Gegenprobe ohne App – bestätigt, dass es nicht am HTTP-Client liegt:

    Code: Alles auswählen

    curl -v -d "optType=ReadRealTimeData&pwd=DEINPASSWORT" -X POST http://192.168.178.110/
  2. Host-Header-Trick – der Webserver prüft offenbar den Host-Header, nicht die Quelle. Funktionierte nachweislich auf FW 2.034.06; ob es bei neueren noch geht, ist unbekannt, aber billig zu testen:

    Code: Alles auswählen

    curl -v -d "optType=ReadRealTimeData&pwd=DEINPASSWORT" -X POST http://192.168.178.110/ -H "Host: 5.8.8.8"
  3. Über den Dongle-AP: Laptop/Handy ins WLAN des Dongles hängen, dann POST http://5.8.8.8/. Klappt das, ist die AP-only-Sperre bestätigt.
Außerdem nützlich: die jetzt installierte Firmware-Version (Weboberfläche des Dongles). Damit lässt sich einordnen, ab welchem Stand das reproduzierbar kippt.
Optionen, falls sich das Bild bestätigt
  • Empfehlung: Umstellen auf Modbus TCP (Port 502). Das gibt es in der App bereits als eigenen Verbindungstyp ("solax" statt "solax_realtime"). Modbus über den Pocket WiFi 3.0 ist von Solax offiziell unterstützt (die HA-Integration solax-modbus empfiehlt FW V3.004.03+) und ist der einzige Weg, der auch nach künftigen Firmware-Updates trägt.
  • Firmware-Downgrade über den Solax-Service (lokales Update via Dongle-AP, Systemseite). Bekommt man nicht immer, und Solax kann per Cloud erneut updaten – daher keine verlässliche Lösung.
  • Reverse Proxy (z. B. Raspberry Pi mit zwei Interfaces, eines am Dongle-AP, NGINX davor). Funktioniert, ist für einen Endkunden aber unzumutbar.
  • Solax Cloud – ebenfalls in der App vorhanden, aber nur ca. 5-Minuten-Takt und damit für eine Überschussregelung untauglich.
Quellen
  • Autos: Nissan Leaf, Tesla M3 SR+ --- WB: SmartWB, go-eCharger V3
  • PV: 22.6 kWp Süd+Nord (ja!) --- WR: SolarEdge, Fronius --- HS: Sonnen Performance 20 kWh
Antworten

Zurück zu „Direkt“