NEWS
Zeitdifferenz ohne Variable als Bedingung in Blockly
-
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
-
@homoran said in Zeitdifferenz ohne Variable als Bedingung in Blockly:
@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
Ehrlich jetzt
Ich gebe mir extrem Mühe... Tut mir Leid, wenn das so nicht rüber kommt.
Ich teste jetzt mal, wie ich mit dem Vorschlag von Codierknecht zurecht komme.
Wo lege ich denn die dafür notwendigen Timeouts an? -
@deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
Ehrlich jetzt
ja!
lies dir doch mal den Thread durch, was wir dir alles aus der Nase ziehen mussten, und was noch für offene Fragen sind.
Für dich ist klar was du willst.
Aber für HM, Hue und ioBroker braucht es exakte strukturierte Fakten. Da kommt es auf Fe7nheiten an, ob und wie es umgesetzt werden muss/kann. -
Ich gebe mir ab sofort mehr Mühe, sorry!
Ich habe jetzt mal versucht, den Vorschlag von Codierknecht umzusetzen. Siehe hier:
Leider bekomme ich auch hier wieder die Dauerschleife - an - aus - an - aus.
Habe ich hier einen Fehler drin? -
@deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
Leider bekomme ich auch hier wieder die Dauerschleife - an - aus - an - aus.
Bitte sag uns genau was du versuchst.
und was passiert -
Dauerschleife - an - aus - an - aus
In beiden Fällen?
Beim Dimmen oder Schalten?
Das ist schon ein Unterschied.Du dürftest wohl kaum jemanden finden, der so ein seltsames Konstrukt im Einsatz hat.
Daher ist das alles blanke Theorie.Also mal step by step:
Du schaltest am HM einfach ein.
Der Level sollte dann auf 100% gehen.
Der Trigger reagiert darauf. Da der Wert sich innerhalb von 2 Sekunden nicht verändert, wird kein Timeout abgebrochen und der Hue ebenfalls auf 100 % gesetzt.
Der Trigger des Hue sollte zwar feuern, aber nix machen weil durch Script gesetzt.
Das dürfte der Denkfehler sein. Nimm beim Hue mal die Prüfung auf Script raus. Der muss ja schalten weil nur an ihm die Lampe hängt, -
Also habe jetzt mal beim Hue den Timeout raus genommen und den Timeout bei Homematic auf 8 Sekunden gesetzt.
Script sieht jetzt so aus:
Verhalten ist jetzt wie folgt:
Ich schalte am Hue ein oder Dimme: In Homematic passiert nichts und die Lampe geht kurz an und geht sofort (vielleicht nach 2 bis 3 Sekunden) wieder aus.
Ich schalte in Homematic ein oder Dimme: Der Zustand in Homematic ändert sich kurz auf An (oder auf den entsprechenden Dimmwert). Die Lampe bleibt aber aus. Homematic geht auch nach ca. 2 bis 3 Sekunden wieder aus. -
@deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
Ich schalte am Hue ein oder Dimme:
nochmal:
soll das "live" synchron laufen (während des continuous Press) oder erst nach loslassenWann liefert hue den Wert an ioBroker?
@deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
Ich schalte am Hue ein
wie gesagt, gibt es den Befehl bei HM nicht!
-
@deifel
Beim Hue muss die Prüfung auf den Ursprung noch raus. Der soll ja in allen Fällen auch tatsächlich schalten.Du denkst daran, dass bei HM für Lesen und Schreiben unterschiedliche Kanäle zuständig sind?
-
@homoran said in Zeitdifferenz ohne Variable als Bedingung in Blockly:
@deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
Ich schalte am Hue ein oder Dimme:
nochmal:
soll das "live" synchron laufen (während des continuous Press) oder erst nach loslassenWann liefert hue den Wert an ioBroker?
@deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
Ich schalte am Hue ein
wie gesagt, gibt es den Befehl bei HM nicht!
Es reicht völlig, wenn das ganze nicht live synchron läuft, sondern nach loslassen der Taste. Da es sich um einen HM Schaltdimmer für Markenschalter handelt, gibt es grundsätzlich ja schon "ein" und "aus".
Auch in Homematic kann ich ein oder aus schalten. Er geht dann auf den letzten bekannten Dimmwert.
Hue liefert den Wert bereits nach ca. 1 bis 2 Sekunden an Iobroker. -
@deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
Es reicht völlig, wenn das ganze nicht live synchron läuft, sondern nach loslassen der Taste
das können wir nicht entscheiden.
Die Frage ist wann hue was an ioBroker meldet.@deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
Da es sich um einen HM Schaltdimmer für Markenschalter handelt, gibt es grundsätzlich ja schon "ein" und "aus".
nein. Da gibt es nur 0 und 100% und erst wenn der HM auf 100% angekommen ist, meldet er das.
oder ist
@homoran sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:
Der HM Dimmer von HmIP
-
Nein es ist definitiv ein normaler HM Aktor.
Ich kann also die Schaltwippe betätigen oder in der Oberfläche von Homematic. Dann dauert es kurz (vielleicht 3 Sekunden) und er steht dann auf "ein".Schalte ich in Hue (egal ob App oder über die Fernbedienung/Taster), dann landet es extrem schnell in Iobroker. Schätze 2 Sekunden.