Fiat 500e (uconnect) MQTT

Es ist wohl so, dass Aktualisierungen nur automatisch erfolgen, wenn das Auto gestartet ist. Beim Laden ist das nicht der Fall. Da ich auch das Überwachen beim Laden als Hauptanwendung sehe, wäre es toll, wenn demel42 hier etwas einbauen könnte.
Wann das passiert, sollten wir dem Entwickler überlassen.

ich habe bei ioBroker gesehen, das die ein Kommando DEEPREFRESH unterstützen.
Als Deeprefresh bezeichnet Fiat die Aktualisierung der EV-Daten; sie hatten geschrieben, das das nicht zu häufig aufgerufen werden solle, weil das wohl etwas Strom kostet.

D.h. ich bräuchte, wie geschrieben, von jemand ein Zugang zu dem Konto, damit ich das Login und das Absetzen dieses Kommandos testen kann. Dann kann ich das mal versuchen zu implementieren; vermutlich kommende Woche.

Dieser Befehl scheint nicht zu funktionieren. Der Timer in der Instanz verändert sich nicht.
Fehlt da vl. ein IPS_ApplyChanges?

wie hast du die Funktion konkret aufgerufen und was steht im Instanz-Debug?

$id_instanz		= 27436;
$intervall		= 720;		// Aktualisierungsintervall in Minuten
Fiat_OverwriteUpdateInterval($id_instanz, $intervall);

Debug:

25.01.2023, 17:38:20 |        MaintainTimer | timer=UpdateStatus(314), interval=12h, next=05:38:20

Instanz geschlossen und neu geöffnet = keine Änderung

Das soll ja auch nicht das Property ändern sondern intern das Intervall temporär umschalten.
Das müsste im Instant-Debug ja sichtbar sein.

Zurückgestellt wird das mit Fiat_OverwriteUpdateInterval($id_instanz, null) bzw. dem gewünschten Zielwert.

Wenn Du das Property per Script ändern möchtest, kannst das ja mit den Standartdfunktionen IPS_SetProperty() und folgendem ApplyChanges()

ok, verstanden.
Aber kann ich den temporär eingestellten Wert irgendwo sehen/abfragen?
Sonst müsste ich mir den Wert in eine Variable schreiben.

Wenn ich mich nicht irre, kann man mit den aktuellen Update Befehlen, bzw. Intervallen, keine Aktualisierung der Variablen durchführen, zumindest nicht wenn das Fahzeug steht, oder an der Ladestation hängt.
Man benötigt dazu die Pin Weiterleitung, die dann 10min gültig ist. Nach Ablauf der Zeit, muss die Pin erneut gesendet werden.
Das sollte nicht zu häufig geschehen, denn das ständige Aufwecken des Fahrzeug saugt die Batterie leer, ausser dieses hängt an der Ladestation.

Nein, da ist nichts vorgesehen. Eventuell dich IPS_GetConfiguration() ? Bin mir gerade nicht sicher, ist kein Property sondern ein Attribute.

Gedacht ist das dafür, das man eventuell beim Laden ein häufigeres Intervall nimmt und dann am Ende wieder lange Zyklen hat.
Da weis man doch im Script/Aktion, was man einstellt.

n

Genau, so hatte ich das auch verstanden.
Darum dreht sich ja die letzten Posts vor dieser Frage und meine diesbezügliche Antwort dazu („DeepRefresh“)

Hallo zusammen.
Ist es eigentlich schon möglich einen zeitgesteuerten DEEPREFRESH auszuführen?

ich glaube nicht.
@demel42 hat selbst keinen Fiat 500e und ohne Zugriff auf ein Auto kann er nicht testen.

@demel42 wärst du so nett und kannst dir das mit dem DEEPREFRESH anschauen. Ich bin nämlich auch gerade auf den Fehler drauf reingefallen. Auto lädt seit über einer Stunde mit voller Leistung aber der Soc ändert sich nicht. Abruf in Symcon kontrolliert aber der Soc passt nicht. Dann über die App eine explizierte Abfrage des Soc gestartet und schon ist der aktuelle Soc sichtbar.

Ich würde dir wieder meinen Zugang freischalten.

Kann ich machen. Muss mich vermutlich da nochmal etwas reindenken und ich hab gerade noch einiges vor der Brust. Aber irgendwo tut sich immer eine Lücke auf.
Dann schick mit bitte die Zugangsdaten und ich versuch mein Glück.
Wenn ich mich nicht melde, gerne nochmal erinnern :wink:

1 „Gefällt mir“

Dann sind deine Benutzerdaten fehlerhaft. Zusätzlich wird für den Deep Refresh der PIN benötigt

Plötzlich funktioniert es, ohne dass ich was geändert habe.

Den deeprefresh hat @demel42 vor wenigen Stunden erst eingerichtet, daher Beta und muss noch getestet werden. Bei mir sieht es bis jetzt gut aus.

ich habe in der aktuellen Beta (1.7b1) gerade noch eingebaut, das ein DeepRefresh nur aufgerufen werden kann, wenn eine PIN konfiguriert ist.

Die stable ist übrigens auf dem aktuellen Stand 1.6 - falls es Problem gibt, kann man dahin wechseln.

Hallo demel,
musste ich doch gleich mal testen, dabei ist mir aufgefallen, das wenn DeepRefresh gedrückt wird die Instanz inaktiv geschaltet wird (Autorisierung fehlerhaft).
Was ist genau der Sinn von DeepRefresh? Funktioniert dieser nur nach längerer Inaktivität?

Ohne Deep Refresh bekommt man keinen aktuellen Soc, wenn das Auto erst einmal eingeschlafen ist.
Ich würde empfehlen die Abfrage nicht pauschal alle paar Minuten auszuführen, das hindert das Auto am Einschlafen und geht auf den Akku.
Ich frage im 5 Minuten Rhythmus ab, allerdings nur wenn ich Lade.