Darstellung des Timestamp in Variable für Uhrzeit ist fehlerhaft

Hallo,

ich habe eine Variable für die Kachel-Visu angelegt um eine Uhrzeit festzulegen.

Wie man an dem Beispiel sehen kann, stimmt der Unix Zeitstempel aber nicht zur eingestellten Zeit überein, sondern weicht um eine Sekunde ab.

Somit löst eine von mir gewünschte Aktion nicht aus. Ich habe jetzt schon mehrmals andere Zeiten eingestellt und der Fehler tritt etwa jedes zweite mal auf.

Wie wird die Variable gesetzt?
Aktionsskript? Dann zieh doch einfach die Sekunde beim SetValue ab. Oder besser, setzte die Sekunde auf 0.

Da die Darstellung ja keine Sekunden anzeigt, sondern nur Stunden und Minuten, weißt du ja den Wert der Sekunde gar nicht…
Michael

PS: der Titel ist ja schon falsch. Die Variable hat als wert immer den timestamp. Und nur die Darstellung macht daraus eine lesbare Uhrzeit.

Hallo Michael,

die Variable wird als Aktionsskript in der Visu gesetzt.

Da ich nicht wirklich Skripte programmieren kann, behelfe ich mir mit Ablaufplänen und darin mit Bedingungen.

Auch wenn ich da die Sekunden außen vor lasse, ist der Wert, der verglichen wird ja der Unix Timestamp.

Ich hätte auch lieber eine Variable als Soll- und Istzeit, die außerhalb des Timestamp funktioniert, da habe ich aber keine Idee. Mir gefällt die Einstellung der Zeit in der Visu sehr gut, da sie Touchscreen geeignet ist, also würde ich das gerne damit machen.

Wie schaut das aus?
Erster Versuch wäre einfach mal die Sekunde in dem Wert der Variable zu entfernen, also auf glatte 60 Sekunden. (über die Konsole den Wert bearbeiten)

Tritt es dann noch immer auf?
Michael

Also da weiß ich nicht, wie du das meinst. Siehe den Screenshot vom ersten Post. Da steht es ja bei der Zeitanzeige schon auf “Stunde und Minuten”. Und man sieht ja auch, dass der dazugehörige Float-Wert eine Sekunde dazu gemogelt hat.

Alles? Oder was weißt du nicht, was ich meine.

  • Den Inhalt vom Aktionsskript. Sonst kannst du die Variable doch gar nicht im Frontend bedienen.
  • Hast du versucht die Sekunde einfach aus dem Timestamp zu entfernen.

Man sieht übrigens gar nix von Sekunden, weil die Darstellung doch nur Stunden und Minuten anzeigt…

Ich habe das mal markiert. Nach Eingabe der Zeit wird in der Variable ein Float-Wert gesetzt und der ist falsch, wenn ich doch schon die Sekunden in der Voreinstellung “Zeitanzeige” auf nur “Stunden und Minuten” gesetzt habe.

Der Wert müsste eigentlich 1759484040 lauten. Da wurde aber am Ende noch eine 1 dazugemogelt.

Gerne würde ich auch einen anderen Weg gehen, um eine feste Uhrzeit in der Visu einzugeben, die dann für jeden Tag zählt, aber da reichen meine Kenntnisse nicht aus und ich suche nun schon seit Tagen nach einer vergleichbaren Anwendung, nach der ich mich richten kann.

Das ist doch der gleiche Screenshot wie oben…keine neuen Infos. Scheinbar verstehst du mich wirklich nicht.

Ja, dann ändere ihn doch darauf und schau ob der Fehler anschließend nicht mehr Auftritt.
Wenn du bei der Einstellung in der Visu nur Minuten und Stunden angeben kannst, dann wird die Sekunde vermutlich unverändert gelassen (also wie zuvor und nicht 0).

Musst du auch, weil ein Timestamp noch immer einen genauen Zeitpunkt abbildet, mit Datum und Zeit. Somit wird ein Vergleich mit = bei einer Bedingung so wohl nicht funktionieren.

Muss es den eine Variable für einen Vergleich sein? Geht nicht auch ein zyklisches Ereignis? Das kann auch in der Visu eingestellt werden.
Michael

Ist dir bewusst, dass das keine Uhrzeit ist sondern auch einen exakten Tag beinhaltet? Das wird also an Folgetagen niemals passen, falls du eigentlich nur die Uhrzeit einstellen möchtest.

Dein Timestamp 1759484041 entspricht dem unten gezeigten Zeitpunkt.

Bis jetzt wurde mir nur beschrieben, was alles falsch ist. Da bin ich ja schon selber drauf gekommen und habe das Problem deshalb auch beschrieben.

Und ja, der Timestamp entspricht einem bestimmten Zeitpunkt an einem bestimmten Tag. Das ist mir schon klar.

Ich möchte gerne in der Visu einen Zeitpunkt einstellen und zwar so einfach, wie in dem oberen Screenshot zu sehen ist. Ich weiß auch, dass das mit zyklischen Ereignissen geht, aber dafür habe ich keine passende Darstellung in der Visu gefunden. Mir fehlt gerade eine gute Idee, wie ich das lösen könnte.

Hintergrund ist, dass ich entweder zu einem festgelegtem Zeitpunkt oder beim Erreichen eines Preises einen Ladevorgang starten möchte. Und um den Zeitpunkt einzustellen, hätte ich gerne diese einfache Bedienung, wie oben dargestellt. Beim zyklischen Ereignis habe ich diese einfache Form der Zeitangabe nicht gefunden.

Ich würde, wie vorgeschlagen, auch die Sekunden im Timestamp weglassen, aber da weiß ich nicht wie das gemacht wird. Ich gehe davon aus, dass wenn ich bei der Erstellung der Variable die Auswahl nur Stunde und Minute treffe, dass die Sekunden dann “0” sind. Das ist aber nicht immer der Fall. Mal geht es, mal nicht.

Hier mal ein Beispiel der Darstellung mit zyklischem Ereignis. Wo kann ich hier die Uhrzeit einstellen? Die Wochentage lassen sich auswählen.

Jetzt weiß ich auch, wo das Missverständnis entstanden ist. Wenn man eine Funktion kennt, dann ist das selbstverständlich und man versteht nicht, wo beim anderen das Problem ist. Der Andere kennt die Funktionalität nicht und weiß überhaupt nicht, wovon die Rede ist.

In der Dokumentation ist die Funktion “zyklisches Ereignis” nicht gut beschrieben. Die Darstellung in der Visu, wie dort dargestellt, hatte ich nicht. Nach einigem Experimentieren konnte ich dann feststellen, dass sich die Anzeige in der Visu je nach Voreinstellung ändert. Ich war davon ausgegangen, dass ich nicht das Richtige ausgewählt hatte.

Das ist meiner Meinung nach keine Lösung für das Problem. Wenn ich über die Visu eine Uhrzeit minutengenau setze, dann erwarte ich, dass der Zeitstempel auch durch 60 ohne Rest teilbar ist. Momentan ergibt

echo $_IPS['VALUE'] % 60;

// die Ausgabe lautet immer 1

Für mich ist das sicherlich nicht so gewollt.

Ich habe da auch noch nichts passendes gefunden. Ich möchte zum Beispiel einen Wecker für den nächsten Tag stellen. Momentan behelfe ich mir mit einer eigenen Konstruktion:

1 „Gefällt mir“

Das komische ist ja auch, dass manchmal die “Zusatzsekunde” da ist und manchmal eben nicht. Von daher verbietet sich ja schon der generelle einer Sekunde.

Ich glaube ich würde die Variante zyklisches Ereignis nehmen. Wieso kann ich hier in der Kachelvisu zwar die Wochentage direkt auswählen, die Zeit aber nicht?

Oder vielleicht schon, um Uneindeutigkeit zu vermeiden, zu welchem Tag Mitternacht 00:00:00 gehört.

Ich verstehe auch nicht, was die eine Sekunde beim Thema von @froema an Relevanz hätte, das ist doch nicht sein eigentliches Problem.

Hast du mal oben rechts die Kacheldetails geöffnet? Erscheint dort die Zeit?

Ist es auch nicht. Das hat ihn nur verwirrt, da der Fehler nur sporadisch auftritt. Bei mir übrigens auch nur sporadisch. Damit hat es auch nichts mit Mitternacht zu tun.

Gerade habe ich noch die Darstellung „Datum/Uhrzeit“ mit der Vorlage „Datum/Uhrzeit“ entdeckt. @froema: vielleicht ist das etwas, was du gebrauchen kannst. Dort kannst du Datum und Uhrzeit einstellen.

Ich werde es auch einmal für meinen Wecker ausprobieren. Ich würde die Variable „Uhrzeit“ setzen und danach ein passendes Event für mein Skript setzen. Das sollte auch in deinem Fall gehen.

1 „Gefällt mir“

Wenn Du die Kachel vergrößerst sollte hinten ein Kalendersymbol zu sehen sein. Klickt man darauf kann man die Zeit einstellen.

Bei mir geht das.
Gruß,
Loerdy

1 „Gefällt mir“