NEWS
Stoppuhr
-
habe ein Vis angefertigt, das auch angepasst werden muss. Sekunden sind nicht so wichtig. Schau mal hier
-
Habe soweit alles eingestellt und das Script am laufen.
Leider sind die Zeiten auch nicht sauber, wie bei dem script von mir. -
was meinst du damit - nicht sauber
-
die sekunden werden eh nur alle 30 sek upgedated - also 0 und 30 in der anzeige - erst bei stop werden die aktuellen sek angezeigt
die beiden schalter haben als datenpunkt vis.0. .... da, glaube ich, sollte noch ein anderer datenpunkt rein .z.b der start und stop datenpunkt - reset ist stop
schaut doch schon ganz gut aus - hab irgendwelche bilder für die schalter von mir genommen
-
Reset stellt die Zahlen auf Null. Mit Stop soll die Zeit nur angehalten werden und mit Start weiterlaufen. Stoppe mal bitte die Zeit, die ersten beiden Minuten werden nicht angezeigt und sind nicht syncron.
-
-
was nicht geht ist das wieder aufnehmen der zeit - gestoppt ist gestoppt - mal sehen, ob ich da noch was machen kann - hab ich nicht daran gedacht, weil das mit der sommerzeit so aufwendig war
wegen dem sauber - es gibt nochmal eine änderung im script - ich zeige es dir - weil du sonst beim import wieder alle datenpunkte machen musst. ich füge aber das aktuelle script noch mal ein manchmal - wegen laufzeit - stimmt bei mir eine sekunde nicht .
zum ändern
das eine blockly element steuern "Momentan" mit verzögerung hinzufügen
das ganze script (mit dieser änderung)
in diesem beispiel stimmt es auf die sekunde
-
Muss mich korrigieren, Minute eins wird doch angezeigt, allerdings startet das Script zeitversetzt.
-
mit der letzten änderung ist nicht mehr zeitversetzt
-
Prima das sieht schon alles ganz gut aus. Leider verstehe ich dein Script nicht komplett. Für ein paar Erläuterungen, wäre ich echt dankbar.
-
mach ich gern - könntest du ein wenig eingrenzen, was du wissen möchtest
-
Ich scheitere gerade an der Änderung. Die Timeouts sind auch neu angelegt?
-
wenn es nicht heute sein muss:
warte noch ein wenig - ich konnte die laufzeit und den performancegebrauch noch etwas reduzieren - außerdem überlege ich noch an dem stopp und der wiederaufnahme. das werden dann mehrere änderungen
dann ist es sinnvoller, wenn du noch mal alles importierst und die datenpunkte setzt - da übersieht man dann weniger
ist das ok für dich
-
Prima, dann warte ich noch und teste erstmal das aktuelle Script.
Danke für die Mühe -
Zur Info: Habe das Script angepasst und es startet bei mir immer Zeitversetzt zwischen 10 und 30 sek.
Die Zeit selbst läuft richtig. -
das ist richtig so -. ich wollte vermeiden, das es ein script gibt, das jede sekunde etwas ausführen muss - alle 30 sekunden wird die anzeige upgedatet und berechnet - braucht man die sekunden anzeige nicht wirklich, könnte man das auch auf alle 1 oder 2,5 minuten stellen - berechnung und die letzte anzeige ist immer richtig - kommt auf die benutzung an
habe jetzt einen scriptversuch mit wiederaufnahme der startfunktion - kann man unendlich oft ausführen (start-stopp - start-stopp - ....). die zeiten sollten addiert werden
für den reset muss vorher stopp gedrückt werden und dann erst der reset knopfes gibt noch 2 neue datenpunkte: "reset" als logiktyp und "berechnen" als zahlentyp
widget:
script:
nach dem import bitte wieder alle datenpunkte einrichten (sorry dafür)
ich hoffe, es gibt keine weiteren großen updates mehr -
@liv-in-sky Hallo
Habe mir gerade mal das Script importiert. Fleißig, fleißig
Mir ist aufgefallen, dass da noch ein Block nicht verbunden ist.
Bei so umfangreichen und in Blockly dann recht unübersichtlichen Scripten, habe ich mir angewöhnt das "Prüfe Icon" (Flagge) häufiger zu klicken. Da werden dann solche "Leichen" angezeigt.Dann steuerst Du die Datenpunkte immer direkt und davon eine ganze Menge, die dann noch teilweise von einander abhängig sind. Dazu jede Menge Timer und Verzögerungen.
Man sollte bei solchen Sachen immer daran denken das JavaScript asyncron läuft!
"steuere" wartet immer auf eine Bestätigung und während auf die Bestätigung gewartet wird, werden die nächsten Befehle schon ausgeführt.
Da können die wildesten Sachen passieren und eine Fehlersuche kann einen dann wahnsinnig machen.Es ist zwar am Anfang viel Arbeit aber lege doch für die Datenpunkte jeweils eine lokale Variablen an.
- Aktuelle Werte in lokale Varible einlesen. (Funktion)
- Mit den lokalen Variablen arbeiten
- Lokale Variablen in Datenpunkte schreiben. (Funktion)
Das ist hinterher viel leichter zu warten und Du kannst Dir die ganzen Verzögerungen sparen.
Verstehe das bitte als Tipp und nicht als Kritik.
-
bin immer dankbar für wertvolle tipps ! werd das mal in ruhe anschauen
im moment versuche ich das anlegen der datenpunkte hinzubekommen - funktioniert noch nicht richtig, die erzeugten datenpunkte machen irgendwelche probleme
magst du mal drüber schauen - besonders die "numbers" machen ärger
-
@rantanplan sagte in Stoppuhr:
@liv-in-sky Hallo
Habe mir gerade mal das Script importiert. Fleißig, fleißig
Mir ist aufgefallen, dass da noch ein Block nicht verbunden ist.
Bei so umfangreichen und in Blockly dann recht unübersichtlichen Scripten, habe ich mir angewöhnt das "Prüfe Icon" (Flagge) häufiger zu klicken. Da werden dann solche "Leichen" angezeigt.Dann steuerst Du die Datenpunkte immer direkt und davon eine ganze Menge, die dann noch teilweise von einander abhängig sind. Dazu jede Menge Timer und Verzögerungen.
Man sollte bei solchen Sachen immer daran denken das JavaScript asyncron läuft!
"steuere" wartet immer auf eine Bestätigung und während auf die Bestätigung gewartet wird, werden die nächsten Befehle schon ausgeführt.
Da können die wildesten Sachen passieren und eine Fehlersuche kann einen dann wahnsinnig machen.Es ist zwar am Anfang viel Arbeit aber lege doch für die Datenpunkte jeweils eine lokale Variablen an.
- Aktuelle Werte in lokale Varible einlesen. (Funktion)
- Mit den lokalen Variablen arbeiten
- Lokale Variablen in Datenpunkte schreiben. (Funktion)
Das ist hinterher viel leichter zu warten und Du kannst Dir die ganzen Verzögerungen sparen.
Verstehe das bitte als Tipp und nicht als Kritik.
ich will sicher sein, das weitergezählt wird, wenn script neustart oder iobroker neustart gemacht wird -
aber ich schau nochmal ob ich mehr variablen nutzen kann
-
@liv-in-sky sagte in Stoppuhr:
ich will sicher sein, das weitergezählt wird, wenn script neustart oder iobroker neustart gemacht wird -
Das macht keinen Unterschied. Am Grundablauf ändert sich ja nichts. Der wird nur sicherer abgearbeitet.