zivillian / ora2mqtt

GWM ORA Funky Cat to MQTT Bridge
14 stars 2 forks source link

The JSON value could not be converted to System.Int32 #20

Closed gratefulUser1 closed 3 months ago

gratefulUser1 commented 3 months ago

Hallo zusammen, gab es eine Änderung am Datenformat? Bekomme seit heute diese Meldung:

System.Text.Json.JsonException: The JSON value could not be converted to System.Int32. Path: $.data[0].tServiceEndDate | LineNumber: 0 | BytePositionInLine: 1793.
 ---> System.FormatException: Either the JSON value is not in a supported format, or is out of bounds for an Int32.
   at System.Text.Json.Utf8JsonReader.GetInt32()
   at System.Text.Json.Serialization.Converters.Int32Converter.ReadNumberWithCustomHandling(Utf8JsonReader& reader, JsonNumberHandling handling, JsonSerializerOptions options)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonCollectionConverter`2.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, TCollection& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   --- End of inner exception stack trace ---
   at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, Utf8JsonReader& reader, Exception ex)
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   at System.Text.Json.JsonSerializer.ReadCore[TValue](JsonConverter jsonConverter, Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   at System.Text.Json.JsonSerializer.ReadCore[TValue](JsonReaderState& readerState, Boolean isFinalBlock, ReadOnlySpan`1 buffer, JsonSerializerOptions options, ReadStack& state, JsonConverter converterBase)
   at System.Text.Json.JsonSerializer.ContinueDeserialize[TValue](ReadBufferState& bufferState, JsonReaderState& jsonReaderState, ReadStack& readStack, JsonConverter converter, JsonSerializerOptions options)
   at System.Text.Json.JsonSerializer.ReadAllAsync[TValue](Stream utf8Json, JsonTypeInfo jsonTypeInfo, CancellationToken cancellationToken)
   at System.Net.Http.Json.HttpContentJsonExtensions.ReadFromJsonAsyncCore[T](HttpContent content, Encoding sourceEncoding, JsonSerializerOptions options, CancellationToken cancellationToken)
   at libgwmapi.GwmApiClient.GetResponseAsync[T](HttpResponseMessage response, CancellationToken cancellationToken) in /media/wolfgang/stick128g-ext4/share/projects/wrkcpy/ora2mqtt/libgwmapi/GwmApiClient.cs:line 117
   at libgwmapi.GwmApiClient.GetAppAsync[T](String url, CancellationToken cancellationToken) in /media/wolfgang/stick128g-ext4/share/projects/wrkcpy/ora2mqtt/libgwmapi/GwmApiClient.cs:line 104
   at ora2mqtt.RunCommand.PublishStatusAsync(IMqttClient mqtt, GwmApiClient gwm, CancellationToken cancellationToken) in /media/wolfgang/stick128g-ext4/share/projects/wrkcpy/ora2mqtt/ora2mqtt/RunCommand.cs:line 112
   at ora2mqtt.RunCommand.Run(CancellationToken cancellationToken) in /media/wolfgang/stick128g-ext4/share/projects/wrkcpy/ora2mqtt/ora2mqtt/RunCommand.cs:line 42
   at Program.<Main>$(String[] args) in /media/wolfgang/stick128g-ext4/share/projects/wrkcpy/ora2mqtt/ora2mqtt/Program.cs:line 23
cram-89 commented 3 months ago

Ja, in der App gab es einen Systemmitteilung, welche zeitlich genau dazu passt:

Scheduled System Maintenance .

Dear Customer, To further enhance your driving experience and App robustness, we have scheduled a system maintenance and platform upgrage for July 30th, from 12:00 AM to 8:00 AM. During this period, you may experience temporary disruptions with registration, login, and general App usage. We apologize for any inconvenience this may cause. Should you encounter any issues with vehicle data not refreshing in the App after the upgrade, please start and activate your vehicle, then re-check the App. If the problem persists, please do not hesitate to contact your dealer for assistance. Thank you for your understanding and cooperation. Your GWM EU Team

gratefulUser1 commented 3 months ago

OK, dann vermutlich erst mal wieder Reverse Engineering ...

cram-89 @.***> schrieb am Mi., 31. Juli 2024, 07:34:

Ja, in der App gab es einen Systemmitteilung, welche zeitlich genau dazu passt:

Scheduled System Maintenance .

Dear Customer, To further enhance your driving experience and App robustness, we have scheduled a system maintenance and platform upgrage for July 30th, from 12:00 AM to 8:00 AM. During this period, you may experience temporary disruptions with registration, login, and general App usage. We apologize for any inconvenience this may cause. Should you encounter any issues with vehicle data not refreshing in the App after the upgrade, please start and activate your vehicle, then re-check the App. If the problem persists, please do not hesitate to contact your dealer for assistance. Thank you for your understanding and cooperation. Your GWM EU Team`

— Reply to this email directly, view it on GitHub https://github.com/zivillian/ora2mqtt/issues/20#issuecomment-2259706677, or unsubscribe https://github.com/notifications/unsubscribe-auth/BBQVVH5LWJYEEBUXJ34T5ADZPBZO7AVCNFSM6AAAAABLXA3A3CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJZG4YDMNRXG4 . You are receiving this because you authored the thread.Message ID: @.***>

daemonenstall commented 3 months ago

Seit genau diesem Zeitpunkt tritt bei mir Error 500 auf. https://github.com/zivillian/ora2mqtt/issues/19

gratefulUser1 commented 3 months ago

D.h. neu einrichten mit PIN hat die Lösung gebracht?

daemonenstall @.***> schrieb am Mi., 31. Juli 2024, 22:09:

Seit genau diesem Zeitpunkt tritt bei mir Error 500 auf.

19 https://github.com/zivillian/ora2mqtt/issues/19

— Reply to this email directly, view it on GitHub https://github.com/zivillian/ora2mqtt/issues/20#issuecomment-2261358536, or unsubscribe https://github.com/notifications/unsubscribe-auth/BBQVVHY35EJFV6CN3SPYIDLZPE77TAVCNFSM6AAAAABLXA3A3CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRRGM2TQNJTGY . You are receiving this because you authored the thread.Message ID: @.***>

daemonenstall commented 3 months ago

Nein, ich kann mich gar nicht mehr via ora2mqtt anmelden. Die App funktioniert allerdings einwandfrei. ora2mqtt ist jetzt wochenlang einwandfrei im Container gelaufen und seit vorgestern geht gar nix mehr. Mit PIN ist das Passwort gemeint, oder? Den letzten 500er Fehler hab ich mit "ora2mqtt configure" weg bekommen.

gratefulUser1 commented 3 months ago

Ich meinte mit configure und PIN resetten, aber das hilft natürlich nicht ...

Hat jemand eine Idee wie man die JSON response in eine Datei bekommt? Ich denke ich habe zwar gefunden wo die Datenstruktur im Quelltext definiert ist, aber ich weiß nicht wie ich mir die Datenpakete ausgeben lassen kann.

daemonenstall @.***> schrieb am Mi., 31. Juli 2024, 23:23:

Nein, ich kann mich gar nicht mehr via ora2mqtt anmelden. Die App funktioniert allerdings einwandfrei. ora2mqtt ist jetzt wochenlang einwandfrei im Container gelaufen und seit vorgestern geht gar nix mehr. Mit PIN ist das Passwort gemeint, oder? Den letzten 500er Fehler hab ich mit "ora2mqtt configure" weg bekommen.

— Reply to this email directly, view it on GitHub https://github.com/zivillian/ora2mqtt/issues/20#issuecomment-2261486465, or unsubscribe https://github.com/notifications/unsubscribe-auth/BBQVVHYGNYNDABVBSQGVPBTZPFIUPAVCNFSM6AAAAABLXA3A3CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRRGQ4DMNBWGU . You are receiving this because you authored the thread.Message ID: @.***>

gratefulUser1 commented 3 months ago

Ich habe die Datentypen angepasst, die vehicleId hat sich auch geändert. Jedoch finden ich in den Daten nicht mehr die SOC und Range, etc. Hier die HTML Response:

{
   "code":"000000",
   "data":[
      {
         "agreementVersion":"T5",
         "airConditionModel":null,
         "appShowSeriesName":"GWM ORA 03",
         "authInfo":{
            "authorizationId":"12874",
            "closingTime":1745013599,
            "readFlag":null,
            "startTime":1713477600
         },
         "backgroundImageUrl":"https://eu-cdn-tsp.gwmcloud.com/files/bt-operation-dashboard/1705045802492png",
         "belongPlatform":null,
         "brandCode":null,
         "brandName":"ORA",
         "buyDate":null,
         "canSignalType":null,
         "carType":null,
         "color":null,
         "colorUrl":"https://eu-cdn-tsp.gwmcloud.com/files/bt-operation-dashboard/1668670831722png",
         "colorValue":null,
         "config":"CHIC",
         "customizedCarUrl":null,
         "dealerName":null,
         "defaultVehicle":true,
         "dynamicImageUrl":"https://eu-cdn-tsp.gwmcloud.com/files/bt-operation-dashboard/1705045795536png",
         "eCallServiceEndDate":null,
         "eCallServiceRemainDays":null,
         "eCallServiceStartDate":null,
         "eCallServiceStatus":null,
         "engineNo":"---DELETED---",
         "engineType":"---DELETED---",
         "etype":2,
         "fontColor":1,
         "hasIdNo":null,
         "hasScyPwd":null,
         "hasSsWin":null,
         "hasWinControl":null,
         "imageUrl":null,
         "imsi":"---DELETED---",
         "isEcallforever":null,
         "lastUpdate":null,
         "lat":null,
         "licenseNumber":null,
         "lon":null,
         "material45Url":null,
         "material90Url":null,
         "materialBgUrl":null,
         "materialCode":null,
         "minImageUrl":"https://eu-cdn-tsp.gwmcloud.com/files/bt-operation-dashboard/1668670825874png",
         "modelCode":"ORA FUNKY CAT_CC7000BJ04BBEV_2022_CHIC",
         "modelName":"ORA FUNKY CAT_CC7000BJ04BBEV_2022_CHIC",
         "otBrandName":"",
         "ownerModel":null,
         "ownership":1,
         "realNameAuth":null,
         "remote":null,
         "rudder":"1",
         "salesMarket":"DE",
         "serviceType":null,
         "shareCount":null,
         "shareId":"12874",
         "showedVin":"LGW************8710",
         "signAgreementState":"2",
         "signRule":1,
         "simIccid":null,
         "staticImageUrl":"https://eu-cdn-tsp.gwmcloud.com/files/bt-operation-dashboard/1705045787020png",
         "styleName":"",
         "tServiceEndDate":1786628802000,
         "tServiceStartDate":1691934402000,
         "tServiceStatus":"2",
         "tankCapacity":null,
         "telematicsType":null,
         "type":null,
         "userAgreementVersion":"1.0.1",
         "vCode":null,
         "vTypeName":null,
         "vehicleId":"---DELETED---",
         "vehicleNick":null,
         "vin":"---DELETED---",
         "vtype":"FUNKY CAT"
      }
   ],
   "description":"SUCCESS"
}

Hat jemand eine Idee?

EDIT: ---DELETD--- habe ich eingefügt.

smileyman-1 commented 3 months ago

Die Reichweite zeigt die App bei mir auch nur it '--' an. Den SOC finde ich als Wert gar nicht mehr.

Vielleicht werden die gar nicht mehr angeboten?

gratefulUser1 commented 3 months ago

Welche app benutzt du? GWM Ora oder My GWM?

DU @.***> schrieb am So., 4. Aug. 2024, 15:55:

Die Reichweite zeigt die App bei mir auch nur it '--' an. Den SOC finde ich als Wert gar nicht mehr.

Vielleicht werden die gar nicht mehr angeboten?

— Reply to this email directly, view it on GitHub https://github.com/zivillian/ora2mqtt/issues/20#issuecomment-2267552091, or unsubscribe https://github.com/notifications/unsubscribe-auth/BBQVVH4LJZLQ6VGI47OIYQTZPYXE5AVCNFSM6AAAAABLXA3A3CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRXGU2TEMBZGE . You are receiving this because you authored the thread.Message ID: @.***>

smileyman-1 commented 3 months ago

die My GWM App

gratefulUser1 commented 3 months ago

OK, ich habe nun auch die My GWM App installiert und bei mir ist es das gleiche. "--" bei Reichweite und nirgends der SOC zu finden. Gibt es jemanden der diese Werte in der App angezeigt bekommt? Evtl. braucht man erst die aktuellste FW auf dem Fahrzeug?

daemonenstall commented 3 months ago

IMG_20240805_123105.jpg

Wir haben die My GWM App und SoC wird einwandfrei angezeigt. Bis zum Error 500 hat das auch mit ora2mqtt einwandfrei funktioniert. Wir haben das Auto seit Oktober und Firmware wurde seitdem nicht geupdated (kein Werkstattbesuch).

gratefulUser1 commented 3 months ago

Ich habe eben nochmal nachgesehen, das Auto war nicht am Account angemeldet, ich bekommen trotzdem jetzt keine Werte angezeigt in My GWM ... Ich weiß nicht woran das liegen kann. FW ist die neueste, zumindest sagt das die Ora.

holger1414 commented 3 months ago

I have My GWM ver 1.1.0 SOC and range are displayed. Car has been also been updated at workshop.

Kontakt GratefulUser1 @.***>) kirjutas kuupäeval E, 5. august 2024 kell 13:33:

Ich habe eben nochmal nachgesehen, das Auto war nicht am Account angemeldet, ich bekommen trotzdem jetzt keine Werte angezeigt in My GWM ... Ich weiß nicht woran das liegen kann. FW ist die neueste, zumindest sagt das die Ora.

— Reply to this email directly, view it on GitHub https://github.com/zivillian/ora2mqtt/issues/20#issuecomment-2268745236, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATVFNVBUDKI6OXLMOMKVHZTZP5IHTAVCNFSM6AAAAABLXA3A3CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRYG42DKMRTGY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

DirkRadd76 commented 3 months ago

Ich hab auch keine Werte in der App. Aber Klima, Verrieglung usw. geht. ora2mqtt geht auch nicht mehr

cram-89 commented 3 months ago

Bei mir wird die km-Anzeige in der App angezeigt. Genau so wie bei @daemonenstall Bei dem Auto wurde letzten Monat das "große Update" inkl. Android Auto und Apple Carplay draufgespielt. https://www.ora-funkycat-forum.de/forum/thread/612-das-erste-grosse-software-update/ Vielleicht hängt das Update vom Auto mit dem Update in der App zusammen und ist zwingend erforderlich, um die Reichweite angezeigt zu bekommen. Aber genau sagen kann ich das nicht.

DirkRadd76 commented 3 months ago

Ich hab das Update eigentlich drauf und es geht nicht

gratefulUser1 commented 3 months ago

Kann jemand von den Leuten, bei denen die App funktioniert mal diese Version testen ob damit MQTT wieder klappt?

https://github.com/gratefulUser1/ora2mqtt/releases/tag/0.0.2_t1

gratefulUser1 commented 3 months ago

... falls jemand debuggen möchte, mit dieser Zeile bekommt man die JSON response auf die Konsole:

https://github.com/gratefulUser1/ora2mqtt/blob/81c697c8ee6f64ed9cf6e214bba2d00cdf02ab28/libgwmapi/GwmApiClient.cs#L118

daemonenstall commented 3 months ago

Getestet und es scheitert am Error 500. Kann leider nicht weiter helfen.

cram-89 commented 3 months ago

Bei mir kommt leider auch der Error 500 nachdem man Email und Passwort eingegeben hat. Ich habe die Win-x64 Version getestet.

Microsoft Windows [Version 10.0.22621.3958]
(c) Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\User\Downloads\win-x64>ora2mqtt configure
V Please choose your country: DE
V Please enter your mail address: XYZ@ABC.de
V Please enter your password: *********
System.Net.Http.HttpRequestException: Response status code does not indicate success: 500 (Internal Server Error).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at libgwmapi.GwmApiClient.GetResponseAsync[T](HttpResponseMessage response, CancellationToken cancellationToken) in /media/wolfgang/stick128g-ext4/share/projects/wrkcpy/ora2mqtt/libgwmapi/GwmApiClient.cs:line 116
   at libgwmapi.GwmApiClient.PostH5Async[TIn,TOut](String url, TIn body, CancellationToken cancellationToken) in /media/wolfgang/stick128g-ext4/share/projects/wrkcpy/ora2mqtt/libgwmapi/GwmApiClient.cs:line 92
   at ora2mqtt.ConfigureCommand.LoginAsync(GwmApiClient client, Ora2MqttOptions options, CancellationToken cancellationToken) in /media/wolfgang/stick128g-ext4/share/projects/wrkcpy/ora2mqtt/ora2mqtt/ConfigureCommand.cs:line 112
   at ora2mqtt.ConfigureCommand.Run(CancellationToken cancellationToken) in /media/wolfgang/stick128g-ext4/share/projects/wrkcpy/ora2mqtt/ora2mqtt/ConfigureCommand.cs:line 43
   at Program.<Main>$(String[] args) in /media/wolfgang/stick128g-ext4/share/projects/wrkcpy/ora2mqtt/ora2mqtt/Program.cs:line 23

Würde mich freuen, wenn ich eine erneute Version zum Testen bekommen könnte. Wenn es später wieder laufen sollte, dann wäre eine HA Integration via Add-On echt super. Mega Arbeit von euch, dass ihr das hier in euerer Freizeit macht und mit anderen Teil. Daumen hoch von mir.

gratefulUser1 commented 3 months ago

Wenn man so ein bisschen in Foren liest, scheinen viele Probleme mit der App zu haben ... Solange die Probleme mit der nativen App nicht behoben sind, macht es keinen Sinn weiter zu suchen.

cram-89 @.***> schrieb am Mo., 5. Aug. 2024, 16:43:

Bei mir kommt leider auch der Error 500 nachdem man Email und Passwort eingegeben hat. Ich habe die Win-x64 Version getestet.

Microsoft Windows [Version 10.0.22621.3958] (c) Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\User\Downloads\win-x64>ora2mqtt configure V Please choose your country: DE V Please enter your mail address: @.* V Please enter your password: *** System.Net.Http.HttpRequestException: Response status code does not indicate success: 500 (Internal Server Error). at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode() at libgwmapi.GwmApiClient.GetResponseAsync[T](HttpResponseMessage response, CancellationToken cancellationToken) in /media/wolfgang/stick128g-ext4/share/projects/wrkcpy/ora2mqtt/libgwmapi/GwmApiClient.cs:line 116 at libgwmapi.GwmApiClient.PostH5Async[TIn,TOut](String url, TIn body, CancellationToken cancellationToken) in /media/wolfgang/stick128g-ext4/share/projects/wrkcpy/ora2mqtt/libgwmapi/GwmApiClient.cs:line 92 at ora2mqtt.ConfigureCommand.LoginAsync(GwmApiClient client, Ora2MqttOptions options, CancellationToken cancellationToken) in /media/wolfgang/stick128g-ext4/share/projects/wrkcpy/ora2mqtt/ora2mqtt/ConfigureCommand.cs:line 112 at ora2mqtt.ConfigureCommand.Run(CancellationToken cancellationToken) in /media/wolfgang/stick128g-ext4/share/projects/wrkcpy/ora2mqtt/ora2mqtt/ConfigureCommand.cs:line 43 at Program.

$(String[] args) in /media/wolfgang/stick128g-ext4/share/projects/wrkcpy/ora2mqtt/ora2mqtt/Program.cs:line 23

Würde mich freuen, wenn ich eine erneute Version zum Testen bekommen könnte. Wenn es später wieder laufen sollte, dann wäre eine HA Integration via Add-On echt super. Mega Arbeit von euch, dass ihr das hier in euerer Freizeit macht und mit anderen Teil. Daumen hoch von mir.

— Reply to this email directly, view it on GitHub https://github.com/zivillian/ora2mqtt/issues/20#issuecomment-2269249801, or unsubscribe https://github.com/notifications/unsubscribe-auth/BBQVVH56UWHPTUV3SHFFCXDZP6FSXAVCNFSM6AAAAABLXA3A3CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRZGI2DSOBQGE . You are receiving this because you authored the thread.Message ID: @.***>

zivillian commented 3 months ago

@gratefulUser1 danke für deine Analyse - ich habe die Änderungen übernommen.

Durch die Änderung der VehicleId werden die Daten unter einem anderen MQTT Topic veröffentlicht - das muss dann ggfs. angepasst werden.

smileyman-1 commented 3 months ago

@zivillian Die neue Version läuft top - genial. Danke für deine Mühe

Bei mir liefert diese neben dem Standort jedoch nur noch drei Werte 2310001, 2042082, 2013023. Ist das bei euch auch so?