NEWS
Sichtbarkeit in VIS wenn Zeit in DP >1min von "jetzt"
-
Mir ist noch eine andere Herangehensweise eigefallen die mir weiterhelfen würde. Statt der Prüfung des strings im DP würde für mich auch eine Prüfung wann der Datenpunkt das letzte mal geändert wurde funktionieren.
Sichbarkeit wenn letzte Änderung des DP länger als eine Minute zurück liegt
Hätte dazu jemand eine Idee?
-
okay wenn es nicht anders geht wäre ich auch für eine indirekte Variante offen. Welches Fomat müsste der Zeitstempel denn haben damit man damit vergleichen kann?
-
Mit Java kenne ich mich wiederum leider nicht aus könntest du mir bitte bei dem Code helfen wie er insgesamt aussehen müsste wenn ich den DP 0_userdata.0.testzeit abfage und einen anderen DP 0_userdata.0.testzeit2 auf true setze wenn diese Bedingung eintritt. Das wäre auch eine super Vorlage für mich um weitere ähnliche Probleme lösen zu können.
-
Mit Java kenne ich mich wiederum leider nicht aus könntest du mir bitte bei dem Code helfen wie er insgesamt aussehen müsste wenn ich den DP 0_userdata.0.testzeit abfage und einen anderen DP 0_userdata.0.testzeit2 auf true setze wenn diese Bedingung eintritt. Das wäre auch eine super Vorlage für mich um weitere ähnliche Probleme lösen zu können.
-
-
@prorun
Ergänze mal um eine Log-Ausgabe und zeige sie.const id1 = '0_userdata.0.testzeit'; // enthält Zeit im Format "YYYY-MM-DD hh:mm:ss" const id2 = '0_userdata.0.testzeit2'; // boolean on(id1, function(dp) { log(dp.state.val); setState(id2, Date.now() - new Date(dp.state.val).getTime() > 60000, true); }); -
sorry musste mal schnell meine Frau einsammeln.
Die Logausgabe lautet wie folgt:
javascript.0 (454) script.js.Test8: 12.09.2022 20:30:00genau das, was im string steht
-
ach sorry den unterschied hatte ich auf die schnelle gar nicht bemerkt. dachte die umformatierung ist schon dabei. aber trotzdem danke dafür!
@prorun
Mit Umformatierung:const id1 = '0_userdata.0.testzeit'; // enthält Zeit im Format "DD.MM.YYYY hh:mm:ss" const id2 = '0_userdata.0.testzeit2'; // boolean on(id1, function(dp) { let time = dp.state.val.split(' '); let date = time[0].split('.'); time = date[2] + '-' + date[1] + '-' + date[0] + ' ' + time[1]; setState(id2, Date.now() - new Date(time).getTime() > 60000, true); }); -
Klasse, das funktioniert ja wie verrückt. Jetzt muss ich nur noch die einzelnen Zeilen verinnerlicht bekommen. Könntest du mir folgende Zeile etwas näher erläutern denn diese erschließt sich mir leider nicht von selbst:
time = date[2] + '-' + date[1] + '-' + date[0] + ' ' + time[1]
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
