NEWS
Zeitdifferenz ohne Variable als Bedingung in Blockly
-
Danke für Deine Antwort.
Ich denke, ich bin hier bisher komplett auf dem Holzweg (deshalb hatte ich auch meinen Stand nicht gepostet) - aber anbei das, was ich jetzt aktuell drin hab.
Ich habe alles mögliche probiert und aktuell habe ich es über eine angelegte Variable versucht, aber so funktionierts natürlich nicht.
Ich müsste die ja irgendwo hin schreiben. Das möchte ich aber gar nicht. Ich möchte nur die Bedingung prüfen (also ist die Zeitdifferenz mehr als 25 Sekunde) und dann das Gerät schalten bzw. steuern.Vermutlich wirds ganz einfach zu lösen sein, ich kapiers aber nicht
-
@deifel ok!
mal Schritt für Schritt
Variable Zeitdifferenz ist schon mal gut!
nimm aber mal den Baustein, den du nachher für Ursprung hast und bilde die Differenz aus Zeitstempel und vorherige letzte Änderung.
mit einem debug Baustein kannst du dir das Ergebnis anzeigen lassenDen Rest musst du mir nochmal erklären was du damit erreichen willst
-
@homoran sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
Den Rest musst du mir nochmal erklären was du damit erreichen willst
Ich hab's auch nicht ganz verstanden.
@deifel
Willst Du da 2 Geräte synchronisieren?
Das geht einfacher mit 'nem "Binding"
-
@codierknecht sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
Ich hab's auch nicht ganz verstanden.
nach einigem Grübeln befürchte ich, dass er den Befehl zum dimmen abfangen will und erst nach Prüfung an den Aktor weitergeleitet werden soll.
-
Also erstmal vielen Dank für Eure Hilfe, echt top.
Dann beichte ich mal mein Leid:Ich habe eine Esszimmerlampe und dafür 2 Schalter dafür. Einer von Philips Hue und ein Dimmer von Homematic.
An der Lampe liegt Dauerstrom.
Die Lampe soll mit beiden Schaltern zu bedienen sein. Dabei ist der Homematic-Dimmer nur ein "Dummy" - heißt alle Zustände von diesem sollen mit dem des Hue Schalters synchronisiert werden.
Problem bei der ganzen Sache:
Dauerschleife! Licht geht an und wieder aus und wieder an... Ich habe schon mit Verzögerungen gearbeitet und mit "Ursprung" usw.
Aber es funktioniert einfach nicht wie gewollt.
Also habe ich mir überlegt, dass ich die 2 Zeitstempel miteinander vergleiche und somit die Schaltung nur funktioniert, wenn der jeweilige Zeitabstand dazwischen ist.
Wenn ihr bessere Ideen dafür habt, gerne her damit -
@deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
Die Lampe soll mit beiden Schaltern zu bedienen sein. Dabei ist der Homematic-Dimmer nur ein "Dummy" - heißt alle Zustände von diesem sollen mit dem des Hue Schalters synchronisiert werden.
wer mit wem?
Schalter, Aktor, Taster???Der HM Dimmer von HmIP oder classic?
Wie passt Dauerstrom an der Lampe zu dem Szenario?
-
Es ist ein normaler Homematic Dimmer.
Dauerstrom brauche ich, da der Hue-Taster eine Fernbedienung darstellt. Dafür muss die Lampe auf Standby sein.
Es sollen sich beide miteinander Synchronisieren, da ich ja sonst das Problem habe, dass es z.B. in Homematic die Lampe als "An" anzeigt, obwohl diese bereits aus ist. Genauso natürlich andersrum.
Ich hoffe, ich habe es einigermaßen verständlich erklärt. -
Eigentlich ists ja ganz einfach: Ich hab 2 Werte im Iobroker (Level) - einer von Hue und einer von Homematic.
Wie schaffe ich es jetzt, diese miteinander zu synchronisieren, ohne dass eine Dauerschleife entsteht?
Also wenn ich den Hue Taster nutze, dann soll sich Homematic die Werte vom Hue nehmen.
Und wenn ich den Homematic nehme, dann soll sich Hue die Werte vom Homematic nehmen. -
@deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
Ich hoffe, ich habe es einigermaßen verständlich erklärt.
Spontan ist die Antwort: geht (so) nicht!
Der HM zeigt immer den Wert an, den der Dimmer hat.Ist der auf 100% um der Lampe Spannung zu geben?
oder wie ist das Konstrukt?Eine Hue Leuchte, die gedimmt wird?
Was soll dann der HM Dimmer machen? -
@homoran sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
Was soll dann der HM Dimmer machen?
Der wird wohl am Ausgang nicht beschaltet sein, sondern lediglich als "Wertlieferant" für den Hue dienen.
-
@codierknecht sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
@homoran sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
Was soll dann der HM Dimmer machen?
Der wird wohl am Ausgang nicht beschaltet sein, sondern lediglich als "Wertlieferant" für den Hue dienen.
deshalb DUMMY.
aber die Reaktionszeit der Hue ist dann der Grund für diese Aufgabe.
u d was "kann" der Hue Schalter?
nur on/off?gibt es bei HM nicht. da muss auf 100/0 Prozent gedimmt werden
-
Eigentlich ist die schlechte Reaktionszeit des Homematic das Problem. Der macht eine Art "Sprünge".
Der Hue Dimmer kann Ein - Aus - und Dimmen und wird auch als Wert 0 bis 100 in Iobroker geliefert.
Grundsätzlich funktioniert das ja auch super - entweder in die eine - oder in die andere Richtung.
Aber ich brauche eben beide Richtungen, da wir beide aktiv nutzen.
Mein einziges Problem ist, dass es eine Dauerschleife gibt.
Hier mal das Script, das ich bisher im Einsatz habe. Das funktioniert auch manchmal, aber meist kommts zur Dauerschleife.
-
Kurz noch zur Erklärung: Jeder einzelne Block für sich selbst funktioniert einwandfrei.
Baue ich ne Pause von 20 Sekunden ein, dann gehts auch. Aber dann müssen wir 20 Sekunden warten, bis die Lampe an geht...
Deshalb die Idee, vorher schon die Zeitdifferenz abzufragen... -
@deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
Eigentlich ist die schlechte Reaktionszeit des Homematic das Problem. Der macht eine Art "Sprünge".
der reagiert eigentlich sofort.
Wenn du mit Sprünge meinst, dass bei contiuous Press nicht fortlaufend der Level aktualisiert wird, stimmt das
HM liefert erst beim Loslassen -
@deifel
Mit meinen HmIP und einem imaginären Hue-Dimmer würde ich das so machen.
So wird nur reagiert, wenn der Wert für 2 Sekunden stabil bleibt. -
@codierknecht sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
würde ich das so machen.
wie sieht das mit/bei continuous press am HM aus?
-
Auf jeden Fall gibts eben ne Dauerschleife, da die Werte ja in die jeweils anderen Datenpunkt geschrieben werden. Der reagiert dann, weil er sich ja geändert hat und schreibt dann wieder in den anderen.
Anders kann ich es mir nicht erklären.
Ist die Idee mit der Zeitdifferenz des Zeitstempels so abwägig?
Damit würde man das Problem beseitigen. Klar kann man dann innerhalb der definierten Zeit (z.B. 20 Sekunden) nicht Homematic UND Hue bedienen, aber das ist unwahrscheinlich... -
@homoran sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
wie sieht das mit/bei continuous press am HM aus?
Das kriegste nicht mit. Ich wüsste auch nicht wie.
Wenn sowas gefordert ist, wird's aufwändig. -
Danke! Das werde ich jetzt mal versuchen
-
@codierknecht sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
Wenn sowas gefordert ist,
Das Problem ist, dass @deifel seine Konstruktion und Wünsche nicht präzise formuliert