NEWS
CONTINOUS_PRESS in Blockly abfangen
-
Moin,
ich nutze bisher FHEM und würde gerne auf ioBroker umsteigen.
Dazu habe ich mich versucht in blockly einzuarbeiten, komme aber nicht so ganz auf den richtigen Zweig.Mein Testsetup besteht aus einem Homematic Schalter (HM-PB-2-WM55) sowie einer Hue-Lampe. Die entsprechenden Adapter sind eingerichtet und laufen.
Aktuell unter FHEM haben wir die Schalter wie folgt belegt:
1x Kurz antippen -> Wechsel durch die definierten Szenen (aus, 25%, 50%, 75%, 100%)
1x Lang antippen -> AusschaltenMein Wunsch wäre nun:
1x Kuz antippen -> an/aus, funktioniert soweit.
1x Lang antippen -> dimmen (schrittweise, wenn bei 100% einfach wieder auf 0 und von vorne).Das Problem an dem ich nun scheitere ist, das entweder der Zähler nonstop läuft wenn ich lang drücke oder nach einem Wert update aufhört.
Wie kann man nun sinnvoll den langen Tastendruck für meine Zwecke nutzen ? Hat da jemand evtl ein Beispielskript oder kann mich auf einen entsprechenden Thread hier im Forum verweisen ?Danke, Oli
-
@oliver-lamm sagte in Anfängerfrage Homematic Schalter:
Aktuell unter FHEM haben wir die Schalter wie folgt belegt:
1x Kurz antippen -> Wechsel durch die definierten Szenen (aus, 25%, 50%, 75%, 100%)
1x Lang antippen -> AusschaltenDas geht auch mit ioBroker
@oliver-lamm sagte in Anfängerfrage Homematic Schalter:
Mein Wunsch wäre nun:
1x Kuz antippen -> an/aus, funktioniert soweit.
1x Lang antippen -> dimmen (schrittweise, wenn bei 100% einfach wieder auf 0 und von vorne).
Das Problem an dem ich nun scheitere ist, das entweder der Zähler nonstop läuft wenn ich lang drücke oder nach einem Wert update aufhört.Meinst du (wirklich) einen LONG_PRESS oder ehere einen dauerduruck (continuous Press) bis zum Loslassen (Press-Release) ?
-
@homoran
Hi,
ich denke mal da da mein Denkfehler ist, Der Trigger sollte wohl LONG_PRESS sein, bis dann der Trigger PRESS_RELEASE kommt.
Beide stehen ja (leider) auf "true". Müsste ich dann den zweiten Trigger innerhalb des ersten abfragen ?Hab es mal direkt ausprobiert, so sollte es klappen:
Danke für die schnelle Hilfe.
Oli -
@oliver-lamm sagte in Anfängerfrage Homematic Schalter:
Müsste ich dann den zweiten Trigger innerhalb des ersten abfragen ?
nein, Trigger in Trigger darfst du nicht machen.
Das ist jetzt aber keine Anfängerfrage (wie z.B. ein Wenn-Dann umzusetzene ist) mehr, sondern schon sehr speziell.
Ich verschiebe das malEDIT: Habe auch den Titel angepasst
-
@homoran
Hmm ... ich habe es jetzt wie folgt gelöst, widerspricht aber dann Deiner Aussage das man es so nicht machen sollte:
Oder habe ich dich falsch verstanden ?
Oli
-
@oliver-lamm sagte in CONTINOUS_PRESS in Blockly abfangen:
widerspricht aber dann Deiner Aussage das man es so nicht machen sollte:
da müsste "innen" ein blaues Logik-Falls rein
Ein triggern wird da nie funktionieren -
@homoran
Hi,
es läuft mit dem o. Skript. Wenn ein Logikblock hier die bessere Wahl wäre, wie kann ich denn mittels Logikblock auf "Aktualisierung" prüfen ?
Oli -
@oliver-lamm sagte in CONTINOUS_PRESS in Blockly abfangen:
wie kann ich denn mittels Logikblock auf "Aktualisierung" prüfen ?
in einem separaten (Teil-)Blockly
@oliver-lamm sagte in CONTINOUS_PRESS in Blockly abfangen:
es läuft mit dem o. Skript.
wundert mich, aber da bin ich nicht so tief drin.
Ich denke @paul53 könnte dir das bestimmt besser erklärten. Dann kann ich auch noch was lernen -
@homoran sagte: da müsste "innen" ein blaues Logik-Falls rein
Das funktioniert nicht, da HM-Tasten immer true liefern.
Prinzip, wenn man PRESS_LONG und PRESS_LONG_RELEASE verwenden will:
Alternativ kann man auch nur PRESS_CONT verwenden, der den Zeitstempel alle 250 ms aktualisiert, solange die Taste gedrückt wird.
-
@paul53 sagte:
Das funktioniert nicht, da HM-Tasten immer true liefern.
Hab gar nicht auf den Inhalt geachtet
Sorry -
Also hier nun meine Lösung nach Deinem Ansatz:
Läuft so wie ich es möchte, danke Euch beiden.
Oli -
@oliver-lamm sagte: Also hier nun meine Lösung nach Deinem Ansatz:
Das entspricht nicht meinem Ansatz! Keine Trigger innerhalb von Triggern verwenden!
Bei mir sind die Trigger untereinanderund triggern auf "wahr". Die Abfrage auf "wahr" ist sinnlos, da der Wert immer "wahr" ist.EDIT: Du hast die Position der Triggers korrigiert.
-
@oliver-lamm Editierungen bitte kenntlich machen, sonst passt der ganze Threadverlauf nicht
-
@paul53
Ich hatte den falschen Screenshot hochgeladen, zwar direkt korrigiert aber evtl haben sich unsere Antworten überschnitten. Der zweite Triggerblock ist unterhalb.
Wo genau liegt denn bei den HM-Schaltern der Unterschied zwischen "aktualisiert" und "wahr". beide müssten doch das gleiche Ergebnis liefern da der State immer "wahr" ist oder ? -
@oliver-lamm sagte: Unterschied zwischen "aktualisiert" und "wahr". beide müssten doch das gleiche Ergebnis liefern da der State immer "wahr" ist oder ?
Ja, deshalb ist die Abfrage des Wertes innerhalb des Trigger nutzlos.