Smart #1 API / Smart Home Integration

  • Danke Mentos, das farblich korrekte Bild je nach Auto hatte ich schon drin, das gab es ja auch schon in meinem Verfügbarkeits Widget hier. Mich hatte da initial gestört, dass über dem Auto recht viel weißer Bereich ist, daher hatte ich das nachträglich umgebaut und hart abgeschnitten (für den ersten Schritt). Aber ist schon netter, wenn die Farbe passt. Werde ich morgen wieder einbauen.


    Auch die Temperatur hatte ich zunächst mit einer Nachkommastelle und dachte dann, dass das irgendwie komisch ist und habe es wieder raus genommen bzw. auf eine ganze Zahl gerundet. Dafür muss jeweils nur eine Zeile geändert werden. Hatte dann gesehen, dass genau an der Stelle ein copy/paste Fehler bei der Benennung drin war, also habe ich eben direkt das Skript angepasst (Zeilen 217-220).

    Number.parseFloat(temperature).toFixed(1)

  • Das Bestandswidget hatte ich mir damals gar nicht so genau angeschaut - ich hatte meinen Traumsmart schnell gefunden. Jetzt wollte ich die Wagen-Farbe (bzw. Modellnummer) aus der Api ziehen (

    https://api.ecloudeu.com/device-platform/user/vehicle/secure?id=20260081&needSharedCar=1

    ) damit man die nicht händisch eingeben muss,

    tue mich aber mit der Authorisierung noch etwas schwer. Das ist sicher ein dickeres Brett, umso mehr Hochachtung für Deine Arbeit.

    Ich habe im Skript überhaupt kein Polling-Intervall gefunden, macht iOS das für die Widgets automatisch? Oder wird bei jedem Öffnen des Homescreens upgedated?

    Smart #1 Premium grün seit 18.08.23, Software 1.4.1

  • Das habe ich bei mir auch schon eingebaut, eigentlich für eine andere Sache, aber man könnte es auch für die Bestimmung der Modellnummer benutzen. Denk aber dran, dass dein api call nicht nur ein Auto zurück liefert, sondern eine Liste an Autos. Wenn der Benutzer zum Beispiel mehrere Autos mit dem gleichen Account gekauft hat. Oder wahrscheinlicher, wenn der Benutzer auch gleichzeitig ein Auto steuern darf, für das er per digital key eine Berechtigung bekommen hat.


    Hier ist eine Methode, die alle Autos zurück liefert. Kannst du direkt so in das Skript einbauen.


    Das Ergebnis sieht dann zum Beispiel so aus:


    Du könntest dann einfach in der Liste data.list das entsprechende Auto suchen, das zur konfigurierten vin passt und davon dann den matCode auslesen. Das wäre zum Beispiel so möglich:

    Code
    const allCars = await getAllCars(credentials.apiAccessToken)
    let car = arr.find(o => o.vin === vin)
    const modelNumber = car.matCode

    Die Widgets aktualisieren sich in etwa alle 5-7 Minuten. Das bestimmt iOS und führt es auch automatisch durch. Wie oft genau hängt von vielen Dingen ab, z.B. ob das iPhone entsperrt ist, ob es im Energiesparmodus ist, wie hoch der Akkustand noch ist usw. Steht auch alles schon auf einer der letzten Seiten. ;)

  • Hi Marco, danke für die Mühe, muss ich mir zum üben wohl was Neues ausdenken :). Spaß beiseite, ein paar Fragen, sorry, wenn da womöglich schonmal drauf eingegangen wurde:

    Willst Du (Wollen wir) das Widget weiterentwickeln? Übernimmst Du das merging bei github? Chriscat ist da ja auch mit Erweiterungen dran.

    Kann das widget mit Buttons versehen werden? Sieht irgendwie nicht so aus, Türen auf/zu wäre natürlich interessant.

    Wäre ne ausgewachsene App irgendwann interessant, so wie bei dem Pseudo carplay 2.0 Porsche-Video, mit der bisherigen app kann man ja auch schon das Licht anschalten ( läuft natürlich über die cloud, nicht über Bluetooth )? War da nicht auch ein swift Entwickler im Forum. Electron wäre natürlich auch ne Idee.

    Und bei alledem: Hast Du Kontakt zu den smart-Entwicklern? Freuen die sich über soviel Initiative oder drehen die uns eher bald den Hahn ab?

    Smart #1 Premium grün seit 18.08.23, Software 1.4.1

  • So Leute, es liegt jetzt ein größeres Update bereit mit mehreren Änderungen:

    • Fehlerbehandlung, falls hashes Datei nicht vorliegt (oder im falschen Format)
    • (Innen-) Temperatur jetzt mit einer Nachkommastelle
    • Das Icon des Autos hat die korrekte Farbe (Modelltyp wird automatisch ermittelt)
    • mehrere Autos pro Benutzer werden unterstützt (auch fremde vin mit Digital Key Berechtigung)
    • Log Ausgaben aufgeräumt (→ leichtere Fehlersuche)
    • Layout optimiert


    Darf gerne getestet werden! Script bitte neu von github laden.


    Wenn was schief läuft, ist eine Kopie der Log-Ausgabe immer hilfreich. Man findet sie in der Scriptable App unten links, nachdem man das Skript manuell gestartet hat.

  • In SmartOS 1.3.0, das seit gestern ausgerollt wird, ist unter anderem folgende Änderung:


    Zitat

    2. Fahrzeugdatenschutz: 'Online-Dienst' (Standard: aus).


    Bei Deaktivierung ist der Zugriff auf Funktionen in der 'Hello Smart'-App, wie Fernsteuerung und digitaler Schlüssel (falls vorhanden), eingeschränkt. Aktivieren Sie diese Option für volle App-Funktionalität und Fahrzeug-App-Kommunikation.

    Damit ist der Standort wieder 24/7 verfügbar. Zudem sollte auch eine zuverlässigere Steuerung aus der App (und damit auch aus dem Widget heraus) möglich sein.

  • Dass du mit dem gleichen Nutzer in der App dann ständig rausfliegst und dich neu anmelden musst.

    Das glit übrigens auch für die API Nutzung. Und schwubb sind schon 4 der möglichen 5 User weg....

    #1 Premium Solar Silver Metallic - Touch - Version 1.5.0 EU

    Liefertermin: 22.06.2023

    --------------------------------

    22 kW Wallbox openWb Pro mit 1-3 Phasenumschaltung

    7 kWp PV Anlage