SAIC-API direkt ansteuern (iSmart App Alternative)

AntwortenAntworten Options Options Arrow

Re: SAIC-API direkt ansteuern (iSmart App Alternative)

Atoro
  • Beiträge: 126
  • Registriert: Fr 16. Mär 2018, 08:43
  • Hat sich bedankt: 6 Mal
  • Danke erhalten: 87 Mal
read
c1olli hat geschrieben: Für ioBroker wäre tatsächlich ein JavaScript das einfachste, das kann man unter ioBroker laufen lassen. Das Problem ist eben, dass es viele verschiedene Systeme gibt, die aber leider nicht miteinander kompatibel sind.
D.h. man müsste ein weiteres System aufsetzen.
Das Problem ist, dass die SAIC Schnittstelle die Daten im ASN.1 UPER encodiert erwartet und liefert. Da habe ich sowohl für python als auch für javascript keine open source libraray gefunden, die das unterstützt. Da gubt e simmer nur DER oder BER encoding, aber das hilft halt leider nichts. Wenn da jemand etwas findet, könnte man das nativ in den jeweiligen Sprachen entwickeln.

Für Java gibts da aber unterstütjng, deshalb gibts von mit auch das native OpenHAB Plugin (1. weil in Jaba, 2. weil nutze ich selbst)

Für alle anderen Anbindungen würde ich empfehlen das Über MQTT zu machen. Deshalb baue ich ja auch das MQTT gateway, dass die selben funktaniltäten hat (bzw. bekommt) wie das OpenHAB Plugin.
schmiedel hat geschrieben:
habe das ganze mal probiert, auch schon direkt mit den Ressourcen von hier: https://github.com/ReverseEngineeringDE ... mentation/

Was mich noch "stört", ist dass ich das ganze gerne auf einem rpi laufen lassen will, und das docker image "nur" für amd64 zur Verfügung steht. Was wäre denn der Unterschied von diesem gateway vs. dem aus dem github repo? Wenn ich Deine Folgebotschaften anschaue, scheint ja Dein image irgendwie unterschiedlich oft zu pollen, je nach Fahrzeugzustand (Zündung an oder nicht). Gäbe es ggf. dazu auch sourcecode irgendwo? Da könnte ich dann auch mal versuchen, etwas rpi-fähiges zu machen, was man dann auf gleichem rpi direkt z.B. an HomeAssistant oder andere anbinden kann... :)
Das Docker image gibt es gerade nur als amd64, weil ich den Java Code nach nativem maschinen code compilieren lasse und da noch keine arm pipeline habe. Ist allerdings nur spielerei. Könnte auch einfach das jar in ein java base image packen. Das würde dann auch mmit amd64/und arm gehen. Das mache ich auch als nächstes.

Der Code ist auch in dem repo, bzw. eventuell in meinem fork, wenn es noch nicht zurückgemerged wurde.

Für homeassitent kann man wohl ein addon bauen, das die MQTT konfiguration vom home assistant an das addon weitergibt. Damit sollte man dann eine seamless integration hinbekommen, Dazu dann noch ein paar templates, die die mqtt topics in richtige home assitent "dinger" mappen und fertig.

Für iobroker habe ich leider keinen plan. :)
Anzeige

Re: SAIC-API direkt ansteuern (iSmart App Alternative)

Atoro
  • Beiträge: 126
  • Registriert: Fr 16. Mär 2018, 08:43
  • Hat sich bedankt: 6 Mal
  • Danke erhalten: 87 Mal
read
So, das Docker Image sollte jetzt auch für arm verfügbar sein.

Achtung, der tag muss latest sein:

tisoft/ismart-mqtt-gateway:latest

Den alten tag gibt es nicht mehr.

Ist allerdings ungetestet, da ich gerade keinen raspi mit Docker rumliegen habe.

Re: SAIC-API direkt ansteuern (iSmart App Alternative)

EFDavid007
  • Beiträge: 202
  • Registriert: Di 4. Okt 2022, 02:48
  • Hat sich bedankt: 20 Mal
  • Danke erhalten: 25 Mal
read
Ich habe gestern den halben Tag versuchen den Raspi irgendwie ans laufen zu bekommen.
Openhasbian hat irgendwie nicht funktionieren wollen (als ich das probierte hatte ich aber kein Bildschirm etc. zur Hand...).

Das Standard Raspi OS läuft zwar aber habe Probleme eine stabile Remote Verbindung aufzubauen, da diese extrem langsam und laggy ist. Das nervt, sonst wäre ich da bestimmt schon weiter und hätte irgendwas am laufen :).

Bin gespannt ob ich das irgendwann eingerichtet bekomme. Würde nur zum rumspielen sogar auch Openhab erstmal nutzen, aber so einfach ist es nicht :=).
Bild - MG5 LR Lux (12/2022)

Re: SAIC-API direkt ansteuern (iSmart App Alternative)

Benutzeravatar
  • schmiedel
  • Beiträge: 243
  • Registriert: Mo 14. Mär 2022, 12:23
  • Wohnort: Kreis Karlsruhe
  • Hat sich bedankt: 42 Mal
  • Danke erhalten: 57 Mal
read
Atoro hat geschrieben: So, das Docker Image sollte jetzt auch für arm verfügbar sein.

Achtung, der tag muss latest sein:

tisoft/ismart-mqtt-gateway:latest

Den alten tag gibt es nicht mehr.

Ist allerdings ungetestet, da ich gerade keinen raspi mit Docker rumliegen habe.

Ohhh, danke, wollte gerade antworten, dass ich mir das sonst selber am raspberry baue, habe schon gesehen, dass das ja mit maven gemacht wird (hatte den Dockerfile gesucht).

Erster Test hat nicht funktioniert: habe connection refused gegen mein MQTT, aber da muss ich halt mein setup erstmal überprüfen, ggf. habe ich da etwas nicht ganz richtig... Immerhin kommt ja der Fehler von der Java Anwendung, heißt das das Image läuft und startet...
ZS EV SR / Luxury / Diamond Red, Bestellt 29.03.2022 / UVLT 25.09.2022 / Abholung: 23.09.2022

Re: SAIC-API direkt ansteuern (iSmart App Alternative)

Benutzeravatar
  • schmiedel
  • Beiträge: 243
  • Registriert: Mo 14. Mär 2022, 12:23
  • Wohnort: Kreis Karlsruhe
  • Hat sich bedankt: 42 Mal
  • Danke erhalten: 57 Mal
read
EFDavid007 hat geschrieben: Ich habe gestern den halben Tag versuchen den Raspi irgendwie ans laufen zu bekommen.
Openhasbian hat irgendwie nicht funktionieren wollen (als ich das probierte hatte ich aber kein Bildschirm etc. zur Hand...).

Das Standard Raspi OS läuft zwar aber habe Probleme eine stabile Remote Verbindung aufzubauen, da diese extrem langsam und laggy ist. Das nervt, sonst wäre ich da bestimmt schon weiter und hätte irgendwas am laufen :).

Bin gespannt ob ich das irgendwann eingerichtet bekomme. Würde nur zum rumspielen sogar auch Openhab erstmal nutzen, aber so einfach ist es nicht :=).
Also, nur kurz als Empfehlung, ich hatte früher den raspberry pi 3, die sind alle nur 32 bit, und es gibt etliche arm images, die es nur noch für 64 bit CPUs gibt, daher habe ich auf einen raspberry pi 4 gewechselt, habe den mit 4GB RAM, ne schnelle (nicht teure) 128GB SSD, und läuft bei mir tadellos. Habe parallel 3-4 Docker Container laufen (unifi, homeassistant, MQTT, und dieses image), und habe da gar keine Probleme...
ZS EV SR / Luxury / Diamond Red, Bestellt 29.03.2022 / UVLT 25.09.2022 / Abholung: 23.09.2022

Re: SAIC-API direkt ansteuern (iSmart App Alternative)

Benutzeravatar
read
Ich habe den "größten" Raspberry Pi 4, mit 8 GB RAM, dort laufen aktuell 10 Docker Container (openHAB, Pihole, MQTT, DNS, Influx, etc), und ich habe schätzungsweise Luft für nochmal soviele. Ich benutze auch nicht Raspian, sondern Manjaro, das scheint mir schlanker zu sein.
MG ZS EV (Luxury SR Diamond Red)

Re: SAIC-API direkt ansteuern (iSmart App Alternative)

Benutzeravatar
  • schmiedel
  • Beiträge: 243
  • Registriert: Mo 14. Mär 2022, 12:23
  • Wohnort: Kreis Karlsruhe
  • Hat sich bedankt: 42 Mal
  • Danke erhalten: 57 Mal
read
Atoro hat geschrieben: So, das Docker Image sollte jetzt auch für arm verfügbar sein.

Achtung, der tag muss latest sein:

tisoft/ismart-mqtt-gateway:latest

Den alten tag gibt es nicht mehr.

Ist allerdings ungetestet, da ich gerade keinen raspi mit Docker rumliegen habe.
So, läuft jetzt sauber, habe einige Sensoren schon gemappt, und tut generell, was es soll. Nur der mqtt gateway ist nicht ganz so stabil, habe immer wieder Abbrüche, sowohl das gateway wie mosquitto laufen bei mir jeweils in einem Docker Container, kein Networking, gehe über die raspberrypi Adresse und port-mapping. Kann mir vorstellen, dass der Job einfach die Chance benötigt, sich neu zu verbinden. Vielleicht kann ich am Wochenende da auch mal draufschauen...

Fehler:

Code: Alles auswählen

saic-ismart_mqtt-1  | java.util.concurrent.ExecutionException: Client is not connected (32104)
saic-ismart_mqtt-1  | 	at java.base/java.util.concurrent.FutureTask.report(Unknown Source)
saic-ismart_mqtt-1  | 	at java.base/java.util.concurrent.FutureTask.get(Unknown Source)
saic-ismart_mqtt-1  | 	at net.heberling.ismart.mqtt.SaicMqttGateway.call(SaicMqttGateway.java:205)
saic-ismart_mqtt-1  | 	at net.heberling.ismart.mqtt.SaicMqttGateway.call(SaicMqttGateway.java:56)
saic-ismart_mqtt-1  | 	at picocli.CommandLine.executeUserObject(CommandLine.java:2041)
saic-ismart_mqtt-1  | 	at picocli.CommandLine.access$1500(CommandLine.java:148)
saic-ismart_mqtt-1  | 	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
saic-ismart_mqtt-1  | 	at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
saic-ismart_mqtt-1  | 	at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
saic-ismart_mqtt-1  | 	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
saic-ismart_mqtt-1  | 	at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
saic-ismart_mqtt-1  | 	at picocli.CommandLine.execute(CommandLine.java:2170)
saic-ismart_mqtt-1  | 	at net.heberling.ismart.mqtt.SaicMqttGateway.main(SaicMqttGateway.java:217)
saic-ismart_mqtt-1  | 	Suppressed: Client is disconnected (32101)
saic-ismart_mqtt-1  | 		at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:31)
saic-ismart_mqtt-1  | 		at org.eclipse.paho.client.mqttv3.internal.ClientComms.disconnect(ClientComms.java:507)
saic-ismart_mqtt-1  | 		at org.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:818)
saic-ismart_mqtt-1  | 		at org.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:779)
saic-ismart_mqtt-1  | 		at org.eclipse.paho.client.mqttv3.MqttAsyncClient.disconnect(MqttAsyncClient.java:788)
saic-ismart_mqtt-1  | 		at org.eclipse.paho.client.mqttv3.MqttClient.disconnect(MqttClient.java:347)
saic-ismart_mqtt-1  | 		at net.heberling.ismart.mqtt.SaicMqttGateway$1.close(SaicMqttGateway.java:128)
saic-ismart_mqtt-1  | 		at net.heberling.ismart.mqtt.SaicMqttGateway.call(SaicMqttGateway.java:124)
saic-ismart_mqtt-1  | 		... 10 more
saic-ismart_mqtt-1  | Caused by: Client is not connected (32104)
saic-ismart_mqtt-1  | 	at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:31)
saic-ismart_mqtt-1  | 	at org.eclipse.paho.client.mqttv3.internal.ClientComms.sendNoWait(ClientComms.java:205)
saic-ismart_mqtt-1  | 	at org.eclipse.paho.client.mqttv3.MqttAsyncClient.publish(MqttAsyncClient.java:1375)
saic-ismart_mqtt-1  | 	at org.eclipse.paho.client.mqttv3.MqttClient.publish(MqttClient.java:570)
saic-ismart_mqtt-1  | 	at net.heberling.ismart.mqtt.VehicleHandler.updateChargeStatus(VehicleHandler.java:545)
saic-ismart_mqtt-1  | 	at net.heberling.ismart.mqtt.VehicleHandler.handleVehicle(VehicleHandler.java:75)
saic-ismart_mqtt-1  | 	at net.heberling.ismart.mqtt.SaicMqttGateway.lambda$call$1(SaicMqttGateway.java:190)
saic-ismart_mqtt-1  | 	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
saic-ismart_mqtt-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
saic-ismart_mqtt-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
saic-ismart_mqtt-1  | 	at java.base/java.lang.Thread.run(Unknown Source)
Aber erstmal auch OK, wollte auch wissen, ob man irgendwie feststellen kann, wann das letzte Mal tatsächlich Daten aus dem Fahrzeug gelesen wurden. Wäre sogar toll, wenn das auch irgendwie als extra topic gepostet werden könnte...
ZS EV SR / Luxury / Diamond Red, Bestellt 29.03.2022 / UVLT 25.09.2022 / Abholung: 23.09.2022

Re: SAIC-API direkt ansteuern (iSmart App Alternative)

Atoro
  • Beiträge: 126
  • Registriert: Fr 16. Mär 2018, 08:43
  • Hat sich bedankt: 6 Mal
  • Danke erhalten: 87 Mal
read
Ja, im Moment wird davon ausgegangene dass sowohl der MQTT Server als auch die SAIC API immer erreichbar ist. Da fehlt noch das komplette reconnect Handling.

Letzter aktualisierungszeitpunkt der Daten ist im OpenHAB Plugin schon drin, kommt noch ins MQTT.

Bin gerade erstmal dabei das Packaging vernünftig zu haben und auch deb und rpm Pakete zu erstellen, so dass man auch ohne Docker Spass haben kann. :)

Re: SAIC-API direkt ansteuern (iSmart App Alternative)

EFDavid007
  • Beiträge: 202
  • Registriert: Di 4. Okt 2022, 02:48
  • Hat sich bedankt: 20 Mal
  • Danke erhalten: 25 Mal
read
Das Manjaro hab ich jetzt schon zum 3x am laufen und jedesmal verschwindet mein WLAN Netzwerk nach dem generellen Update.
Aber einen OpenHAB Docker hatte ich schon installiert und startet ohne Fehler.

Mal sehen ob ich am Wochenende mehr Zeit habe um da was eingerichtet zu bekommen.
Das WLAN bekomm ich einfach nicht nach dem Update wieder ans laufen. Das Netzwerk ist verschwunden und gleiche Fälle die ich Online finde funktionieren irgendwie leider nicht um das Problem zu beheben.
Bild - MG5 LR Lux (12/2022)

Re: SAIC-API direkt ansteuern (iSmart App Alternative)

Benutzeravatar
read
Mein Docker-Raspi läuft am Ethernet, aber auch mein anderer Raspi mit Manjaro, der am WLAN hängt, hat schon dutzende Updates hinter sich, ohne dass das WLAN Problem gemacht hätte. Schreib mir gern mal eine PN mit einer detaillierten Fehlerbeschreibung (besonders, welches Raspi-Modell), vielleicht fällt mir ja was ein.
MG ZS EV (Luxury SR Diamond Red)
Anzeige
AntwortenAntworten

Zurück zu „MG5 Electric - Allgemeine Themen“

Gehe zu Profile
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag