Nextion Timer neustart

hallo

so brauche wider mal Hilfe

das ist ein sketch aus dem Nextion editor

Timer

if(n0.val!=0)
{
  n0.val=n0.val-1
}else if(n1.val!=0)
{
  n1.val=n1.val-1
  n0.val=9
}else if(n2.val!=0)
{
  n2.val=n2.val-1
  n1.val=5
  n0.val=9
}else if(n3.val!=0)
{
  n3.val=n3.val-1
  n2.val=9
  n1.val=5
  n0.val=9
}else if(n4.val!=0)
{
  n4.val=n4.val-1
  n3.val=5
  n2.val=9
  n1.val=5
  n0.val=9
}else if(n5.val!=0)
{
  n5.val=n5.val-1
  n4.val=9
  n3.val=5
  n2.val=9
  n1.val=5
  n0.val=9
}else
{
  secondTimer.en=0
  printh 01
}

wie kann ich den Timer nach Ablauf der zeit wider automatisch neustarten

LG
Max

Hi,

brauchst du normalerweise nicht selbst zu machen, der eingetragene Wert in .tim setzt sich nach Ablauf selber wieder neu, sprich im Intervall. Solltest die aber den Parameter .en auf 0 gesetzt haben, dann nicht.

Beispiel:
tim=1000 (ms)
en=1 (Trigger)
Timer löst im Intervall von 1 Sekunde aus.

Schau mal ob du irgendwo den Timer ausgeschaltet hast (timername.en=0).

wapjoe:
Schau mal ob du irgendwo den Timer ausgeschaltet hast (timername.en=0).

Im letzten else des gezeigten Codes.

Gruß Tommy

Tommy56:
Im letzten else des gezeigten Codes.

Das hab ich auch gesehen, aber da der Timer dort secondTimer heißt, gibt es theoretisch noch einen firstTimer, daher weiß ich nicht welcher Timer wirklich gemeint ist. Bzw. befindet sich die if/else im Code-Bereich des (vermutlich) gemeinten Timers. Einen Timer kann man schon durch sich selbst deaktivieren, dann sollte der aber durch einen externen Befehl wieder reaktivierbar sein (.en=1).

Das hast Du Recht. Das ist halt das Problem bei Codefragmenten. Man weiss nie, was sonst noch existiert.

Gruß Tommy

Im Nextion Editor gibt es leider keine komplette Codeübersicht, außer der TO würde die .HMI (mit Angabe der verwendeten Editorversion) veröffentlichen, falls es kein Staatsgeheimnis ist. :wink:

Ja, einen kompletten Textex-/import aus dem Nextioneditor würde man für Diskussionen in Foren sehr gut gebrauchen können. Das war auch schon mal andiskutiert, aber keine Reaktion.

Gruß Tommy

vers. ist 0.58

es ist eine Eieruhr diese hier

https://grabcad.com/library/kitchen-timer-using-nextion-touch-screen-1

nun die zeit wird eingestellt und geht bis null und Stopt ich möchte aber das die eingestellte zeit vorn vorne beginnt so zusagen in Dauerschleife z.B. wen ich 5 stunden einstelle und die zu ende sind das die zeit vorn vorne bei 5 stunden beginnt und so weiter und so weiter

LG

ShadowMJ:
vers. ist 0.58

es ist eine Eieruhr diese hier

https://grabcad.com/library/kitchen-timer-using-nextion-touch-screen-1

nun die zeit wird eingestellt und geht bis null und Stopt ich möchte aber das die eingestellte zeit vorn vorne beginnt so zusagen in Dauerschleife z.B. wen ich 5 stunden einstelle und die zu ende sind das die zeit vorn vorne bei 5 stunden beginnt und so weiter und so weiter

LG

Die Seite ist leider ohne Registrierung unbrauchbar, man kann keine Dateien runterladen. Häng zumindest die .hmi und. ino als Anhang an.

hmmm

wie mach ich das mit dem anhängen ??

Tommy56:
Ja, einen kompletten Textex-/import aus dem Nextioneditor würde man für Diskussionen in Foren sehr gut gebrauchen können. Das war auch schon mal andiskutiert, aber keine Reaktion.

Gruß Tommy

Ja, das wäre in so einem Fall nicht schlecht, aber schade das es nicht realisiert wird. Weißt du ob das im Nextion-Forum mal thematisiert wurde?

ShadowMJ:
hmmm

wie mach ich das mit dem anhängen ??

Im Quick Reply dein Post anfangen, auf Preview klicken, dann unten über "Attachments and other options" kannst du die Anhänge hinzufügen.

aha ok

Kitchen Timer.rar.zip (517 KB)

Dein Anhang ist kaputt. Außerdem was soll rar.zip werden? mach lieber direkt zip draus. mit rar gibt es oft Probleme.

Gruß Tommy

Alles wird gut, keine Ahnung wie du den Anhang abgespeichert hast, aber ich konnte die hmi-Datei mit 7Zip entpacken (im Anhang als reine Zip). Lösungserklärung folgt.

Kitchen Timer.zip (540 KB)

Im Editor musst du dir die Werte beim Klick auf Start als Variablen merken, d.h. für jedes Nummernfeld (n0-n5) eine Variable im Editor anlegen, dazu findest du in der Toolbox die Option Variable. Lege z.B. die Variablen va0 - va5 an. und im Codebereich des Start-Buttons (b2) weist du die Werte n0-n5 den Variablen va0-va5 zu:
va0.val=n0.val
va1.val=n1.val
... usw.

Dann erst aktivierst du den Timer, sprich die Zuweisung am Anfang eingeben. Im Codebereich des Timers, im else-Bereich statt

 secondTimer.en=0
  printh 01
n0.val=va0.val
n1.val=va1.val
... usw.

  printh 01

ein.

Der Timer deaktiviert sich dadurch aber nicht mehr selber, d.h. der Countdown startet immer neu, bis du auf Stop drückst.

Ich hoffe das war verständlich erklärt.

hmm glaube ich bin zu doof !
funktioniert irgenwie nicht
versuche es aber weiter
Danke

LG
Max

ShadowMJ:
hmm glaube ich bin zu doof !
funktioniert irgenwie nicht
versuche es aber weiter
Danke

LG
Max

Du hast die Änderungen aber auch auf das Display geladen?! Im Editor Kannst du das ganze auch mit der Debug-Funktion testen.

Was passiert denn mit den Änderungen? Kommen Fehlermeldungen im Editor?

So, ich hab das ganze so im Editor übernommen, wie ich es geschrieben habe und es funktioniert. Wobei hast du denn da Probleme?

AHA OK
es funktioniert

hab nicht richtig gelesen

und an stelle von n0.val=va0.val habe ich va0.val=n0.val eingegeben
hab das jetzt richtig und es Funktioniert

Super Danke schön für die Hilfe

LG
Max