Seite 1 von 1

Wie kann man eine Zeitdifferenz berechnen?

Verfasst: Mo Jun 17, 2019 10:13 am
von mclb
Hallo,

gibt es eigentlich eine Möglichkeit, eine Zeitdifferenz zu berechnen?
Ziel wäre es, dass in der Visu eine Zeit eingestellt werden kann und ab einer Zeitdauer vorher (sagen wir mal 10 Minuten) beginnt ganz langsam ein Licht anzudimmen, das dann zur eingestellten Uhrzeit einen bestimmten Wert hat (ob das dann 25, 50, 100% oder was auch immer sind, kann ich noch nicht sagen).

Die Logik hab ich mir schon aufgezeichnet und bis auf die Berechnung der Zeitdifferenz zwischen der aktuellen Uhrzeit und der eingestellten Uhrzeit habe ich auch alle Bausteine im Logikeditor verfügbar.

Danke
Marcus

Re: Zeitdifferenz berechnen

Verfasst: Mo Jun 17, 2019 11:41 am
von Robert_Mini
Du meinst für die Timer Bausteine einen Ausgang „Zeit abgelaufen“ und „Zeit verbleibend“?

Das würde ich auch brauchen! Hintergrund ist die Bewässerung, wo an der Visu die verbleibende Zeit je Kreis angezeigt wird!

Warten wir auf die Response zu diesem Thema und dann ab mit dem FR!

Lg
Robert

Re: Zeitdifferenz berechnen

Verfasst: Di Jun 18, 2019 7:04 am
von StefanW
FR gibt es ja nun dazu, danke sehr

Stefan

Re: Wie kann man eine Zeitdifferenz berechnen?

Verfasst: Di Jun 18, 2019 9:55 am
von mclb
Allerdings ist das nicht ganz das, was ich benötige. Ich würde halt gerne ein Event z.B. 10 oder 15 Minuten vor einer bestimmten Uhrzeit auslösen.

Re: Wie kann man eine Zeitdifferenz berechnen?

Verfasst: Di Jun 18, 2019 6:25 pm
von gbglace
mclb hat geschrieben: Di Jun 18, 2019 9:55 am Allerdings ist das nicht ganz das, was ich benötige. Ich würde halt gerne ein Event z.B. 10 oder 15 Minuten vor einer bestimmten Uhrzeit auslösen.
Das ist doch auch nur eine ZSU nur eben mit einer anderen Uhrzeit.

Re: Wie kann man eine Zeitdifferenz berechnen?

Verfasst: Di Jun 18, 2019 11:20 pm
von mclb
Klar ... und welche Ehefrau stellt den Wecker 15 Minuten früher, damit sie zur richtigen Uhrzeit geweckt wird?

Re: Wie kann man eine Zeitdifferenz berechnen?

Verfasst: Di Jun 18, 2019 11:29 pm
von Robert_Mini
D.h. du möchtest von einem Zeit-Wert (welcher DPT) eine Zeit abziehen und diese als Startzeit in den Timer schicken?
Hab ich das richtig verstanden?

Welche Visu verwendest du?

Robert

Re: Wie kann man eine Zeitdifferenz berechnen?

Verfasst: Mi Jun 19, 2019 8:54 am
von mclb
Ja genau ... ich verwende die CV 0.11.1

Re: Wie kann man eine Zeitdifferenz berechnen?

Verfasst: Mi Jun 19, 2019 9:33 am
von S. Kolbinger
Hallo Marcus,
mclb hat geschrieben: Di Jun 18, 2019 9:55 am Allerdings ist das nicht ganz das, was ich benötige. Ich würde halt gerne ein Event z.B. 10 oder 15 Minuten vor einer bestimmten Uhrzeit auslösen.
hast du dir das in etwa so vorgestellt:
Bild

Es gibt ja bereits einen Baustein Wakeup, der am Eingang die Weckzeit als Unix-Zeit (Sekunden seit 1.1.1970 00:00:00 UTC) erwartet. Wenn jetzt noch das Multitalent, die Polynomialfunktion, dazu verwendet, diesen Wert zu manipulieren, um einen Offset dazu rechnet, dann bekommt man folgende Custom-Logic:

Code: Alles auswählen

{
    "Level": [
        ["$Date","int",0],
        ["$Offset","float",0],
        ["$AlarmDate","int",0],
        ["$Alarm","bool",false],
        ["$KonstEins","int",1],
        ["$VAR<Inhibit?>", "bool", false]
    ],
    "Module": [
        ["Break", ["$VAR<Inhibit?>"]  ],
        ["Polynomial","$Date","$AlarmDate",["$Offset","$KonstEins"]],
        ["Wakeup","$AlarmDate","$Alarm"]
    ],
    "Input": [
        ["Weckzeit","Unix-Zeit","$Date","c"],
        ["Offset","Offset in Sekunden","$Offset","c"],
        ["Inhibit", "INHIBIT", "$VAR<Inhibit?>", "u" ]
    ],
    "Output": [
        ["Alarm","Alarm","$Alarm","a"]
    ]
}
Achtung:
Beim ausprobieren habe ich noch einen Fehler in der Polynomialfunktion entdeckt. Bei großen Integer-Werten kommt es zu Rundungsfehler, da ich intern im Float-Format rechne. Da kann zu Abweichungen vom richtigen Ergebnis von +/- 128 (Sekunden) führen.
Für die nächste Version habe ich das interne Berechnungsformat auf Double umgestellt, dann stimmt das Ergebnis. Auf meinem Test-Wolf hab ich es schon ausprobiert.
Bild