NEWS
Zähler zählt immer 2 anstatt 1
-
Hallo zusammen,
ich versuche einen einfachen Zähler zu erstellen. Kann mir jemand sagen, wieso immer 2 Zahlen pro Sekunde addiert werden?
Vielen Dank! -
@groundlevel82 sagte:
wieso immer 2 Zahlen pro Sekunde addiert werden?
Weil der Zähler nicht gestoppt wird, laufen wohl zwei Zähler parallel.
-
@paul53 sagte in Zähler zählt immer 2 anstatt 1:
@groundlevel82 sagte:
wieso immer 2 Zahlen pro Sekunde addiert werden?
Weil der Zähler nicht gestoppt wird, laufen wohl zwei Zähler parallel.
Und es werden prinzipiell 2 Zähler gestartet, da auf "geändert" getriggert wird, sprich wenn der BWM Aktiv schaltet startet ein Zähler, beim inaktiv schalten auch wieder.
Mal dumm gefragt - wofür brauchst du den Zähler ? Wenn du die Zeit zwischen 2 Events haben willst dann ist (meiner Meinung nach) der Sinnvolle Weg:
- beim ersten Event: aktuelle Zeit in Sekunden speichern.
- beim zweiten Event: aktuelle Zeit in Sekunden holen, die vom ersten Event abziehen, anzeigen.
Kein Zähler, kein Nix.
Ich bin immer noch überrascht in wie vielen Skripten alle x Sekunden etwas passiert nur um die Zeitkomponente zu erfassen.
-
@Asgothian
Hey super danke für die Erklärung. Jetzt verstehe ich es auch, dass der Zähler zweimal startet.
Ich wollte einen Zähler einbauen, der anfängt zu laufen wenn der Bewegungsmelder aktiv wird und sich bei erneutem aktiv werden wieder auf 0 setzt um erneut zu laufen.
Hört sich komisch an, eigentlich soll nur ein Internetradio gestartet werden, welches nach 5 Minuten wieder aus geht. Natürlich soll das Radio solange an bleiben, solange noch jemand im Raum ist. -
@groundlevel82
Prinzipiell ist das was du willst schon machbar. Allerdings machst du 2 Fehler:- Trigger auf wurde geändert, ohne Wertprüfung.
- Du nutzt einen Zähler, an Statt einen Timeout zu nutzen.
Versuch es mal so:
Funktionsweise ist einfach: Auf jede Aktualisierung des BWM wird reagiert. Nur wenn der Wert noch auf Wahr ist (BWM aktiv) dann wird das Radio eingeschaltet und nach 5 Minuten wieder abgeschaltet.
Sollte das Radio bereits an sein wird das erneute einschalten nichts machen. Der Timeout zum abschalten wird dann deaktiviert und neu auf 5 Minuten gesetzt.
A.
Code zum Kopieren hinter dem Spoiler.
-
@Asgothian
Ich werde mich gleich mal ans basteln machen Vielen Dank für die schnelle Hilfe.