NEWS
Rückwärts laufender Timer
-
@david-g
ja, diese rechnerei mit Zeiten.....(gar nicht so einfach)Sowas in der Art wahrscheinlich, oder ?
-
Genau, so in der Art. Die aktuelle Zeit könnte direkt aus Blockly kommen.
Evtl kann im Adapter ja die benötigte Zeit immer mit $Time setzen.
Mit ein paar Variablen und was rechnen bekommt man ja dann die Minuten raus. Denke ich.Stunden ausrechnen
Ms/1000/60/60 Das Ergebnisse auf volle Zahl abrunden.Minuten ausrechnen
Ms-(erste Ergebnis 6060*1000)*1000Kommt das hin?
-
@david-g
ich habe es ja "fast"
nur immer eine Stunde Rest zu viel...Edit: zum "rumprobieren" habe ich als Trigger erstmal nur den Schalter, noch nicht wenn sich die Abholzeit ändert ....
-
@david-g habe gestern erst eine eieruhr gebaut - etwas verändert sieht das so aus
die zeit wird immer neu berechnet - somit sind keine abweichungen
-
@liv-in-sky
ich habe das mal für mich umgebaut. Eine Frage, was macht das sonst ? (wofür braucht es das ?) -
@dslraser sagte in Rückwärts laufender Timer:
@liv-in-sky
ich habe das mal für mich umgebaut. Eine Frage, was macht das sonst ? (wofür braucht es das ?)@dslraser was meinst du genau - das ganze script oder einen baustein
das ganze script wahr ursprünglich als eieruhr gedacht, welche mit alexa gestartet wird. ich hatte mal ein script, welches die alexa timer anzeigt - aber nur in minuten oder stunden - der wunsch war, das ganze in minuten und sekunden anzugeben- was das script nicht hergibt.
https://forum.iobroker.net/post/611848 -
@liv-in-sky sagte in Rückwärts laufender Timer:
baustein
in dem falls mache, das sonst im Screenshot, was ich deaktiviert habe.
-
@dslraser es war doch die frage: wenn ein wert true ist, dann bis 13:00 uhr
wnn der wert false ist, soll bis 12:00 gezählt werdenoder habe ich da etwas falsch verstanden
-
Ich habe es jetzt so...
Es funktioniert auch
Ich muß jetzt aber erstmal weg....Ich melde mich heute Abend wieder
Abholzeit in den DP eintragen und Schalter auf true setzen -
@dslraser cool mit dem datenpunkt anlegen teil
-
@liv-in-sky sagte in Rückwärts laufender Timer:
@dslraser es war doch die frage: wenn ein wert true ist, dann bis 13:00 uhr
wnn der wert false ist, soll bis 12:00 gezählt werdenoder habe ich da etwas falsch verstanden
Nein, Du hast Recht....Ich schalte nur einen Timer mit true/false an/aus, der die gesetzte Abholzeit auswertet.
Edit: man könnte ja noch einen zweiten DP für die alternative Abholzeit anlegen und dann mit dem sonst Zweig...
-
das ganze funktioniert auch über tage - mit diesem eintrag
der datenpunkt für die tage ist nicht integriert - müßte man noch einbinden - da aber die sekunden wichtig sind, wird gezählt - nur momentan falsch angezeigt, weil die tage nicht sichtbar sind
-
@liv-in-sky
Deine Variante ist auch cool. Nur nicht so flexibel.Die Variante finde ich sympathisch, so kann man alle Werte in Datenpunkten angeben. Auch die abholzeit.
Hast du ggf mal einen Export?
Mal schauen, was ich da zusammenbauen kann.
Heute vormittag habe ich mit dem Adapter mytime gespielt. Damit geht auch was.
Ohne extra Adapter ist natürlich besser. -
@david-g
das script von @dslraser hat er gepostet https://forum.iobroker.net/post/612459 -
@david-g sagte in Rückwärts laufender Timer:
Hast du ggf mal einen Export?
Muss noch bisschen aufgeräumt werden und die Pfade etwas flexibler...Heute Abend schaue ich nochmal. Ich habe vielleicht selbst Verwendung dafür. Sekunden brauche ich nicht zwingend, Du ?
Und nochmal danke an @liv-in-sky -
Hey,
hab grad noch was an meiner Variante mit dem MyTime-Adapter getüftelt.
Hab es jetzt am laufen.
Ist zwar noch ein extra Adapter, jedoch verstehe ich das Blockly.......^^.So hab ich es jetzt:
Ist noch mein Testaufbau mit dem minütlichen Trigger und der Telegramm
Im Datenpunkt cmd gebe ich dem Adapter die zu berechnete Zeit.
Im Datenpunkt Timer stehen die verbleibenden ms.EDIT:
Und hier die fertige Variante, die noch meine Datenpunkte abfragt: -
@david-g
Warum fragst Du zwei mal die Werte ab ?
Ich glaube das äußere falls mache braucht es nicht. -
@dslraser
Beim ersten Falls-Block wird geprüft, ob einer der Abholtermine aktiv ist (Kann immer nur einer aktiv sein, wird von einem anderen Skript geregelt).
Falls nicht, läuft das Skript nicht weiter.Im zweiten Falls-Block prüfe ich dann, welche Zeit gesetzt werden soll.
Ist das mit der Erklärung auch unlogisch wie ich das gemacht hab?
-
@david-g
Du prüfst ob früh oder spät wahr ist.
Im zweiten falls prüfst Du nochmal ob früh wahr ist, wenn ja, dann setze die timerzeit auf 20 Uhr
sonst falls (also wenn das erste nicht zutrifft) prüfst Du nochmal spät, ob spät wahr ist und setzt die timerzeit auf 21 Uhr
Wenn beides nicht wahr ist passiert nichts.
Du prüfst also zweimal ob früh wahr ist und auch zweimal ob spät wahr ist. -
Genau, prüfe 2 mal.
Aber wenn ich das äußere falls weg nehme, wird doch jedes mal der Datenpunkt vom Adapter neu befüllt der dann los rechnet und die Zeitrechnung unter den beiden falls auch noch durchgeführt oder?Ich möchte ja in der Tat nichts machen, wenn beide Zeiten auf false stehen.