UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

Wie kann man eine Zeitdifferenz berechnen?

Informationen und Diskussionen über Logik-Engine und Logik-Editor
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
mclb
Reactions:
Beiträge: 126
Registriert: Mo Jan 07, 2019 9:27 pm
Wohnort: Sonnberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 63 Mal
Kontaktdaten:

Wie kann man eine Zeitdifferenz berechnen?

#1

Beitrag 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
Zuletzt geändert von StefanW am Di Jun 18, 2019 7:04 am, insgesamt 1-mal geändert.
TWS 950Q ID:249 <VPN offen, Reboot nach Absprache erlaubt>

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#2

Beitrag 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
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

StefanW
Elaborated Networks
Reactions:
Beiträge: 9689
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4831 Mal
Danksagung erhalten: 7633 Mal
Kontaktdaten:

#3

Beitrag von StefanW »

FR gibt es ja nun dazu, danke sehr

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

Ersteller
mclb
Reactions:
Beiträge: 126
Registriert: Mo Jan 07, 2019 9:27 pm
Wohnort: Sonnberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 63 Mal
Kontaktdaten:

#4

Beitrag 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.
TWS 950Q ID:249 <VPN offen, Reboot nach Absprache erlaubt>

gbglace
Reactions:
Beiträge: 3585
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1253 Mal
Danksagung erhalten: 1649 Mal

#5

Beitrag 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.
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension

Ersteller
mclb
Reactions:
Beiträge: 126
Registriert: Mo Jan 07, 2019 9:27 pm
Wohnort: Sonnberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 63 Mal
Kontaktdaten:

#6

Beitrag von mclb »

Klar ... und welche Ehefrau stellt den Wecker 15 Minuten früher, damit sie zur richtigen Uhrzeit geweckt wird?
TWS 950Q ID:249 <VPN offen, Reboot nach Absprache erlaubt>

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#7

Beitrag 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
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
mclb
Reactions:
Beiträge: 126
Registriert: Mo Jan 07, 2019 9:27 pm
Wohnort: Sonnberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 63 Mal
Kontaktdaten:

#8

Beitrag von mclb »

Ja genau ... ich verwende die CV 0.11.1
TWS 950Q ID:249 <VPN offen, Reboot nach Absprache erlaubt>

S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

#9

Beitrag 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
Gruß,
Stefan K.
Antworten

Zurück zu „Logikengine & Logik-Editor“