Smart #1 API / Smart Home Integration

  • Gibt es eigentlich irgendwie eine Möglichkeit, die vom Smart von der Wallbox geladene Strommenge über die Smart HA Integration abzugreifen? Es gibt ja Ladestrom, Ladeleistung und Ladespannung, aber eben leider keine kWh Entität zum Tracken. Ich habe schon versucht, das über eine Helferentität als Integral zu formulieren, bin aber gnadenlos gescheitert. Any Ideas?

  • Ich denke das wird nichts mit Berechnung anhand von Strom, Spannung etc. aufgrund der Ladeverluste. Werden andere hier aber besser beurteilen können. Möglicherweise wäre es dienlich die % SoC in kWh umzurechnen?

    #3 BRABUS | Laser Red Metallic + Eclipse Black

    iOS und CarPlay-Nutzer, Wenigfahrer, Smarthome-Enthusiast

  • Sorry, hatte die letzten 3 Wochen viel um die Ohren und wenig Zeit.

    Hast du eventuell einen copy/paste Fehler? Denn der Parameter in deiner Fehlermeldung ist falsch geschrieben. Er heißt nicht "additional-VehicleStatus" sondern camel-case, also "additionalVehicleStatus" (und ohne Bindestriche).


    Danke Dir ... aber der Code sollte stimmen. Bzw. ich habe dort kein Bindestrich eingefügt.


    pasted-from-clipboard.png

    smart #1 PREMIUM, Meta Black Metallic, Dark Matter

    Bestellt: 06.06.2023 23.07.2023

    Bestellbestätigung: 06.06.2023 26.07.2023

    Wunschliefertermin: 18:08.2023 18.08.2023

    Übergeben am 18.08.2023 :)

  • Danke Dir ... aber der Code sollte stimmen. Bzw. ich habe dort kein Bindestrich eingefügt.

    CarInfo und Session http status codes 8060 bzw. 8063 sind das Problem. Da kommen offenbar keine Daten zurück. Diese Fehlercodes sind mir nicht bekannt.


    Du müsstest bitte mal folgende Zeilen ändern und dann nochmal laufen lassen, um das zu debuggen:

    Zeile 359:

    Code
    console.log('CarSession api status code: ' + JSON.stringify(carSessionResult))

    Zeile 458:

    Code
    console.log('carInfo api status code: ' + JSON.stringify(carData))

    Wenn du dann auf Play drückst, bräuchte ich die Log Ausgabe wie oben in deinem Screenshot. Kannst du mir auch per privater Nachricht schicken, wenn du magst.

  • Das liegt daran, das ich im Script die Variablen (User;PW;VIN) nicht angegeben hatte.


    marco79cgn Ich habe jetzt die Variablen dort hinterlegt und siehe da, das Script funktioniert als Widget.


    Funktioniert da etwas mit der Variablen Abfrage des Widget nicht?

    smart #1 PREMIUM, Meta Black Metallic, Dark Matter

    Bestellt: 06.06.2023 23.07.2023

    Bestellbestätigung: 06.06.2023 26.07.2023

    Wunschliefertermin: 18:08.2023 18.08.2023

    Übergeben am 18.08.2023 :)

  • So wie ich das sehe, werden derzeit in Home Assistant ausschließlich Sensor-Entitäten bereitgestellt, die nur eine Abfrage von Werten zulassen. Selbst eine DeviceTracker-Entität habe ich nicht.

    Zum Verändern von Fahrzeugeinstellungen, müssten Button-, Switch-, Climate-, Lock- oder Cover-Entitäten bereitgestellt werden. Das ist zumindest bei mir nicht der Fall. Ich konnte darüber hinaus auch keine Dienste erkennen, die von der Integration bereitgestellt werden. Somit gehe ich davon aus, dass man mit HA aktuell nur Daten abfragen kann, selbst wenn die zugrundeliegende Bibliothek mehr Funktionen anbieten sollte, scheinen die aktuell für HA noch nicht implementiert zu sein.

    Es sollten eigentlich seit Version 0.3.0 sowohl die Vorklimatisierung als auch der DeviceTracker als Entität zur Verfügung stehen. Aktuell habe ich nicht sonderlich viel Zeit daran zu entwickeln, aber ich habe mit Sitz-/ und Lenkradheizung Ansteuerung begonnen.

  • Das liegt daran, das ich im Script die Variablen (User;PW;VIN) nicht angegeben hatte.


    marco79cgn Ich habe jetzt die Variablen dort hinterlegt und siehe da, das Script funktioniert als Widget.


    Funktioniert da etwas mit der Variablen Abfrage des Widget nicht?

    Es gibt zwei Möglichkeiten.

    1. Daten werden als Parameter im Widget Setup hinterlegt
    2. Daten werden im Skript selbst eingetragen

    Bei Lösung 1 sorgt iOS dafür, dass beim Aufruf/Refresh des Widgets die Daten automatisch in das Skript rein gereicht werden. Das hat den Vorteil, dass man die sensiblen Daten nicht im Skript eintragen muss und es womöglich versehentlich weiter teilt mit anderen Leuten. Nachteil dabei ist, dass man das Skript auf diese Weise nicht manuell in der Scriptable App starten kann, weil sie innerhalb des Skripts eben unbekannt sind. Du musst halt dafür sorgen, dass die drei Parameter als Parameter eingetragen werden, getrennt per Semikolon (siehe Screenshot):
    username;password;vin


    Wenn du dich für Lösung 2 entscheidest, funktioniert es an jeder Stelle und du müsstest beim Widget Setup nicht mehr zwingend die Parameter angeben. Nachteil hier wäre, dass du im Falle von mehreren Autos auch das Skript mehrfach in Scriptable kopieren/hinterlegen müsstest, da eben hart kodiert.

  • Ja, ist mir bekannt. Wundert mich nur, warum es über den Weg "als Parameter im Widget Setup hinterlegt" nicht funktioniert hat. Werde ich nochmal testen.

    smart #1 PREMIUM, Meta Black Metallic, Dark Matter

    Bestellt: 06.06.2023 23.07.2023

    Bestellbestätigung: 06.06.2023 26.07.2023

    Wunschliefertermin: 18:08.2023 18.08.2023

    Übergeben am 18.08.2023 :)