NEWS
Script reagiert nicht, wie erwartet
-
Hallo,
ich stehe gerde auf dem Schlauch und benötigte etwas Hilfe.Ich habe ein Blockly, welches zyklisch durchläuft und prüft, ob Ladevoraussetzungen gegeben sind und wenn nein, ein Wert im Objekt mit "false" setzt.
Im eigentlichen Script frage ich dieses Objekt wieder ab.
Aber egal welcher Zustand gesetzt ist, läuft mein Script und ich erhalte über den debug output alle 19 sekunden, dass das script läuft, obwohl im Datenpunkt Tesla_Ladefreigabe ein false drin steht.
Was mache ich falsch?
-
@volker3-0 sagte: Was mache ich falsch?
So wird die Ladefreigabe nur einmal bei Skriptstart geprüft und danach nie wieder. Die Ladefreigabe muss als Trigger-Datenpunkt dienen.
-
@paul53
So habe ich es auch schon versucht:
Dann stelle ich aber fest, dass nach 1-2 Minuten, im Logfile gleich mehrere Logeinträge des debug outputs kommen, welche sich immer weiter von der Menge erhöhen..... Bis hin zu sekündlichen Einträgen im Log mit Ladescript läuft.
Somit gehe ich davon aus, dass durch diesen Trigger das Scritp mehrfach hintereinander gestartet wird, oder irre ich mich? -
@volker3-0 sagte: Trigger das Scritp mehrfach hintereinander gestartet wird,
Ja, das Intervall wird so mehrfach gestartet. Triggere auf "wurde geändert" und stoppe das Intervall, wenn der Wert falsch ist.
-
@paul53 Vielen Dank. Läuft soweit nur einmal, wenn die Freigabe gegeben ist.!
Dann muss ich mir nur noch überlegen, wie ich das Script starte, wenn nach einem Neustart vom System nichts geändert wurde. Denn dann würde es ja vermutlich nicht laufen... -
@volker3-0 sagte: überlegen, wie ich das Script starte, wenn nach einem Neustart vom System nichts geändert wurde.
Dafür gibt es Funktionen.
-
@Volker3-0 ich betriebe auch eine zyklische Ladesteuerung, also mit Prüfungen in Regelmäßigen intervalen.
Aber ich mache das per Zeitplan, nicht als Ausführen-Intervall:Das wäre alle 20 Sekunden
Und innerhalb des Zeitplans prüfe ich als erstes ob Laden erlaubt ist und mache dann erst weiter -
@bananajoe sagte in Script reagiert nicht, wie erwartet:
Das wäre alle 20 Sekunden
Und innerhalb des Zeitplans prüfe ich als erstes ob Laden erlaubt ist und mache dann erst weiterbist du sicher ? so wie ich den Cron lese ist das alle 20 Minuten
für alle 2 Sekunden fehlt da ein *, denke ich.
-
@asgothian du hast natürlich Recht, da habe ich es auf die schnelle aus dem falschen Beispielskript kopiert:
So sieht "alle 20 Sekunden" richtig aus