Support: Http

Alles rund um SoC (Ladezustand des Fahrzeuges). Probleme, Fragen, Fehlfunktionen gehören hier hin
derNeueDet
Beiträge: 4229
Registriert: Mi Nov 11, 2020 7:16 pm

Re: Support: Http

Beitrag von derNeueDet »

Filter:

Code: Alles auswählen

.result.loadpoints[[.vehicleSoc
Sollte passen.

VG
Det
10kWp PV mit SMA Tripower 10000TL-10 (PE11 mit SDM72V2); 2,4kWp mit Solis 2.5 G6 (EE11 mit SDM120). OpenWB Standard+. EVU EM540 an einem Raspi mit Venus OS. BEV Mercedes EQA 250 (07/2023)
hulk66
Beiträge: 12
Registriert: So Nov 26, 2023 1:41 pm

Re: Support: Http

Beitrag von hulk66 »

Ne, das funktioniert nicht.

Code: Alles auswählen

user@Tower:~# curl -s http://192.168.0.5:17070/api/state?jq=.result.loadpoints[[.vehicleSoc
liefert nichts zurück.
Wenn dann so ...

Code: Alles auswählen

user@Tower:~# curl -s http://192.168.0.5:17070/api/state?jq=.loadpoints[].vehicleSoc
0
... wie ich es konfiguriert habe.

So kommt auch ein Wert zurück

Code: Alles auswählen

user@Tower:~# curl -s http://192.168.0.5:17070/api/state?jq=.result.loadpoints[].vehicleSoc
0
hulk66
Beiträge: 12
Registriert: So Nov 26, 2023 1:41 pm

Re: Support: Http

Beitrag von hulk66 »

Ich denke es sind die die eckigen Klammern. Diese verursachen, dass der Request überhaupt erst gar nicht rausgeht. Habe mal einen einfachen Webserver angesprochen und dass access log beobachtet. Solange die URL keine Klammern enthält, kommt der Request von der openWB an, mit Klammern kommt der Request nicht am Ziel an. Falls das korrekt ist, halte ich das für einen Bug.
derNeueDet
Beiträge: 4229
Registriert: Mi Nov 11, 2020 7:16 pm

Re: Support: Http

Beitrag von derNeueDet »

Sorry mit den Klammern, hab mich vertippt []
10kWp PV mit SMA Tripower 10000TL-10 (PE11 mit SDM72V2); 2,4kWp mit Solis 2.5 G6 (EE11 mit SDM120). OpenWB Standard+. EVU EM540 an einem Raspi mit Venus OS. BEV Mercedes EQA 250 (07/2023)
hulk66
Beiträge: 12
Registriert: So Nov 26, 2023 1:41 pm

Re: Support: Http

Beitrag von hulk66 »

Bestätigt. Gerade mit einem anderen Wert getestet. Mit diesem jq Filter jq=.result.batteryMode wird ein Wert angezeigt. Die eckigen Klammern führen in der openWB offenbar zu einer ungültigen URL.
derNeueDet
Beiträge: 4229
Registriert: Mi Nov 11, 2020 7:16 pm

Re: Support: Http

Beitrag von derNeueDet »

Wollte gerade sagen nutz den Json Soc, aber das gibt es nur bei den EVU/PV Modulen. SOC leider nicht.

Was steht denn im Logfile?

Edit: A host identified by an Internet Protocol literal address, version 6 [RFC3513] or later, is distinguished by enclosing the IP literal within square brackets ("[" and "]"). This is the only place where square bracket characters are allowed in the URI syntax.

Probier es mal mit html Encoded Klammern

Code: Alles auswählen

You can escape [ with %5B and ] with %5D.
VG
Det
10kWp PV mit SMA Tripower 10000TL-10 (PE11 mit SDM72V2); 2,4kWp mit Solis 2.5 G6 (EE11 mit SDM120). OpenWB Standard+. EVU EM540 an einem Raspi mit Venus OS. BEV Mercedes EQA 250 (07/2023)
hulk66
Beiträge: 12
Registriert: So Nov 26, 2023 1:41 pm

Re: Support: Http

Beitrag von hulk66 »

Ja, das habe ich auch gesehen. Klappt leider auch nicht. Ich denke, dass die URL im soc_http modul (oder wo auch immer) vernünftig "escaped"/encodiert werden muss.

For now: drei Möglichkeiten
1. Ich finde eine Möglichkeit in jq ein Array ohne Index ansprechen zu können (kenne mich damit nicht aus)
2. Ich schreibe den SoC über mqtt in das richtige openWB Topic (davon habe ich nicht den blassesten Schimmer)
3. Ich setze einen einfachen Proxy davor, der simple url (e.g. proxy/soc in die richtige URL umsetzt)

Am besten wäre, dass das Problem in openWB behoben wird.
derNeueDet
Beiträge: 4229
Registriert: Mi Nov 11, 2020 7:16 pm

Re: Support: Http

Beitrag von derNeueDet »

Hmm,

ich hab das gerade auf einer 1.9.303 bei mir getestet.
Eine Datei mit dem Name hulk66[1].html angelegt und die frage ich ab.

Hat mit [] und auch mit html escaped geklappt.

Noch ein weiterer Test:
Ich habe mal die URL entsprechend angepasst. auf deinen String und das kommt bei mir auch auf dem Apache an.

Code: Alles auswählen

127.0.1.1:80 127.0.0.1 - - [27/Nov/2023:17:32:43 +0100] "GET /hulk66[1].html?jq=.result.loadpoints[].vehicleSoc HTTP/1.1" 200 230 "-" "curl/7.64.0"
NAchtrag: Funktioniert bei mir auch aus der openWB V2.0 hier eird auch angezeigt, dass die URL sauber encoded wird

Code: Alles auswählen

2023-11-27 17:42:11,757 - {urllib3.connectionpool:452} - {DEBUG:fetch soc_ev0} - http://raspi4:80 "GET /hulk66%5B1%5D.html?jq=.result.loadpoints%5B%5D.vehicleSoc HTTP/1.1" 200 3
Und im Apache Log:

Code: Alles auswählen

127.0.1.1:80 192.168.178.89 - - [27/Nov/2023:17:43:07 +0100] "GET /hulk66%5B1%5D.html?jq=.result.loadpoints%5B%5D.vehicleSoc HTTP/1.1" 200 286 "-" "python-requests/2.25.1"
In der V2 wird das wohl encoded, in der V1.9 nicht. Bei mir kommt aber in beiden Systemen die passende Zahl an.

VG
Det
10kWp PV mit SMA Tripower 10000TL-10 (PE11 mit SDM72V2); 2,4kWp mit Solis 2.5 G6 (EE11 mit SDM120). OpenWB Standard+. EVU EM540 an einem Raspi mit Venus OS. BEV Mercedes EQA 250 (07/2023)
hulk66
Beiträge: 12
Registriert: So Nov 26, 2023 1:41 pm

Re: Support: Http

Beitrag von hulk66 »

ok, erstmal vielen Dank für Deine Mühe! Lässt mich allerdings etwas ratlos zurück, warum es bei mir nicht klappt.
derNeueDet
Beiträge: 4229
Registriert: Mi Nov 11, 2020 7:16 pm

Re: Support: Http

Beitrag von derNeueDet »

Kannst du noch mal das JSON schicken, wenn der SoC nicht 0 ist?
10kWp PV mit SMA Tripower 10000TL-10 (PE11 mit SDM72V2); 2,4kWp mit Solis 2.5 G6 (EE11 mit SDM120). OpenWB Standard+. EVU EM540 an einem Raspi mit Venus OS. BEV Mercedes EQA 250 (07/2023)
Antworten