0

Meldung erhalten nach erreichtem Zeitpunkt

Hey zusammen,

 

wir betreiben ein Corona Testzentrum und ich habe mittels Zeitbutton eine Art "Timer" erstellt. Der aktuell Zeit werden 15 min addiert und mir wird die "Endzeit" angezeigt wann der Test fertig ist.

Gibt es nun noch eine Möglichkeit, dass ich diesen Wert (Endzeit) mit der realen Zeit agleichen kann und wenn dieser erreicht ist das Feld Test fertig angeklickt wird?

format(time(number(Startzeit + Dauer)), "hh:mm:ss")

Bildschirmfoto 2021-05-30 um 20.56.33

11 Antworten

null
    • Fabian
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Die Berechnung startet, wenn der Buton "TEST STARTEN" angeklickt wird.

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo
    Welches Script ist den hinter dem Button 'TEST STARTEN' hinterlegt?

    • Fabian
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Uwe,

    Hinter Test starten: Startzeit := now()

    Test ist fertig um: format(time(number(Startzeit + Dauer)), "hh:mm:ss")

    Danke und Gruß

    Fabian

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Momentan gibt es meines Wissens noch keine praxistaugliche Funktion/Script, die eine Art Timer emuliert.
    Man hat zwar die Möglichkeit für einen Record sowas zu bauen, jedoch wird momentan die weitere Benutzung der Datenbank gesperrt/extrem verzögert bis der Timer abgelaufen ist.

    • Fabian
    • vor 2 Jahren
    • Gemeldet - anzeigen

    ok danke für deine Hilfe. Aber eine Möglichkeit die ausgerechnete Zeit mit der aktuellen Zeit abzugleichen und bei erreichen dann auf Test fertig zu springen geht auch nicht?

    • CitizenDeveloper
    • Oliver_meerkamp
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Das könnte man sehr leicht mit Integromat lösen.
    Dort wo die 15 Minuten berechnet werden einfach einen Integromat Trigger auslösen.
    Da kann man z.B. mit dem Sleep modul 900 Sekunden Pause machen und danach den Record wieder updaten, also z.B. einfach ein Schalter im Formular auslösen, der den Button "Test fertig" wieder sichtbar macht.

    Kennst du schon Integromat? Diese Lösung kann man in ein paar Minuten einbauen.
    Bei weiteren Fragen dazu bitte fragen...

     

    Gruß

    Oliver M.

    • CitizenDeveloper
    • Oliver_meerkamp
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Nachtrag:
    Es gibt in Ninox auch eine sleep Funktion, dass wäre natürlich noch einfacher.

    Funktoniert aber nur in der Cloudversion!

    Gruß

    Oliver M.

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Oliver
    Bei der Integromat-Lösung gibt es 2 kleine Hindernisse.
    1. Sleep in Integromat darf nur max. 300 Sekunden andauern. (Kann man mit nehreren Sleep hintereinander lösen)
    2. Solange der Integromat-Flow im Sleep verweilt, kann kein neuer Flow angestoßen werden.

    Das bedeutet für Ninox, dass man nicht mehrere Timer gleichzeitig nutzen kann über diese Integromat-Lösung.
    DRK-Gersweiler will ja Ninox für ein Cov-Testzentrum nutzen. Da kann er, denke ich, nicht immer 15 Min. warten bis er den nächsten Eintrag in Ninox vornehmen möchte.

    sleep() in Ninox hat ein ähnliches Problem. An der Stelle des Scripts, wo ein sleep() steht, wird das Script für den festgesetzten Zeitraum angehalten und nach Ablauf erst weiter ausgeführt. Bei einem sleep() von 15 Minuten, kannst du 15 Minuten lang nicht in Ninox arbeiten. Der 'Kreisel des Wartens' dreht dann auf dem Bildschirm und du kannst nichts mehr machen bis die Zeit abgelaufen ist und das Script beendet wurde.

    • CitizenDeveloper
    • Oliver_meerkamp
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Danke Uwe, das sind natürlich wichtige Infos!
    Ich hatte die sleep funktion selbst nur mal kurz ausprobiert und kannte das genaue Verhalten deshalb nicht, sorry 🙈

    Dann hätte ich aber noch eine andere Lösung mit Hilfe des google Kalenders, die sicher sehr gut funktioniert. (Nutze ich selbst für eine vergleichbare Funktion)
    Hier können so viele Timer parallel laufen wie nötig.

    - mit einem Trigger über Integromat einen Eintrag für die entsprechende Uhrzeit in Verbindung mit einer E-Mail erinnerung im google Kalender erstellen. (Datensatz ID mitliefern)
    - in den Einstellungen von GMail eine Nachrichtenregel erstellen, die die Erinnerungen an einen Integromat Mailhook weiterleitet.
    - Den Mailhook in einem neuen Szenario abfragen und den Datensatz updaten. (Die Datensatz ID kann über den Mailhook mit übermittelt werden.)

    Bisschen fummelei, weil man im zweiten Szenario noch einen Textparser braucht um die ID rauszufiltern, aber eigentlich kein Hexenwerk.

     

    Gruß

    Oliver M.

     

    Gruß,

    Oliver M.

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Oliver.

    Eine interessante Lösung, wenn man Google-Kalender und GMail und Integromat nutzt und es so funktioniert.
    Ich nutze kein Google-Kram und bin deshalb bei dieser Lösung draußen.
    Aber ich habe wieder etwas dazu gelernt.

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Zur Timer-Problematik in Ninox.
    Ich habe mal im Team 'Webinar DE 2021' die Datenbank 341_Timer_N8N reingestellt.
    Sie soll als Anschauungsbjekt dienen und funktioniert ausschließlich für Cloud Nutzer, da der NX-API Key benötigt wird.
    Man kann hier 2 Timer parallel laufen lassen und erhält nach Ablauf der Zeit in dem Record, als auch in einer Übersichtstabelle eine Mitteilung, wenn der Timer abgelaufen ist.
    Das weiterarbeiten in der Datenbank nach Start des Timers ist gegeben.

    Die Timerfunktion nutzt den Drittanbieter N8N (sowas wie Integromat) und könnte beliebig um die Anzahl der Prozesse, die parallel laufen sollen erweitert werden.
    Eine Info, wie auch das Flow-Script findet ihr in der Datenbank.

Content aside

  • vor 2 JahrenZuletzt aktiv
  • 11Antworten
  • 702Ansichten