Seite 1 von 2
Langen Taster-Druck beim Shelly 2.5 erkennen
Verfasst: 26. Jul 2022 12:07
von Motoko
Ich verwende einen Einzel-Taster an einem Shelly 2.5, der den Rollo steuert (runter, stop, hoch, stop, runter, etc.)
Nun würde ich gerne bei einem langen Tasterdruck den Rollo auf eine bestimmte Position fahren lassen.
Das Problem ist, dass ich in meinem openHAB 3.2 (Update auf 3.3 ist aktuell leider nicht möglich) nicht an den langen Tastendruck komme. Laut Binding-Beschreibung sollte man LONG_PRESSED beim Button-Event entnehmen können. Aber diesen kann ich als Item irgendwie nicht einrichten. Ich weiß nicht, ob ich etwas falsch mache oder ob da ein Bug vorliegt...
Wenn ich beim Thing auf die Channels gehe, sehe ich zwar "Taste: roller#event (Trigger)" (was hier vermutlich benötigt wird), aber wenn ich auf Add Points to Model + Advanced klicke, wird mit dieser Punkt dort gar nicht mehr angezeigt.
Klicke ich stattdessen auf der Channels-Übersicht bei "Taste" auf "Add Link to Item...", kann ich auf der Folgeseite die Konfiguration nicht abschließen, da beim Klick auf "Link" die Fehlermeldung erscheint:
"There is no profile available for the selected item"
Bei der Profile-Auswahl darüber gibt es nur den Eintrag "Zeitstempel bei Auslöser" und dieser ist ausgegraut/deaktiviert. Ich kann also kein Profil für diesen Punkt wählen.
Mache ich etwas falsch? Gibt es einen Trick/Umweg?
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
Verfasst: 26. Jul 2022 13:07
von udo1toni
Der Punkt ist, dass es sich um einen Trigger Channel handelt.
Trigger Channel kannst Du nicht mit einem Item verknüpfen.
Stattdessen musst Du eine Rule programmieren, und dort den Trigger Channel als Trigger auswählen.
Innerhalb des Triggers kannst Du dann eingeben, auf welchen Wert die Rule reagieren soll (hier LONG_PRESSED) und natürlich, was passieren soll, falls der Trigger erkannt wurde.
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
Verfasst: 26. Jul 2022 15:49
von Motoko
Das wird genau das Problem sein. Da ich das so noch nirgends wo anders verwendet habe, habe ich da gerade Startschwierigkeiten.
Ich habe jetzt eine Rule angelegt mit Add Trigger > Thing > Shelly ausgewählt > Channel > Dort wird mit "roller#event ()" angeboten.
Als Aktion habe ich erstmal einfach nur einen Log eintrag an.
Aber egal wie ich den Taster am Shelly drücke, es wird nichts geloggt.
Muss ich noch etwas anderes machen? Kann ich die Events/Trigger irgendwie besser monitoren?
Ich habe auf der Suche noch
das hier von Dir gelesen:
udo1toni hat geschrieben: ↑11. Nov 2019 22:08
Da es sich nicht um ein Event Channel handelt, kannst Du damit auch keine Rule triggern. Stattdessen musst Du den Channel mit einem Item verlinken und dieses Item als Trigger verwenden.
Ist Trigger Channel und Event Channel das gleiche? Wenn ja, stehe ich jetzt komplett im Wald. Ich dachte, eben
nicht mit einem Item verlinken!?
So sieht der Code der angelegten Rule aus. Dort nennt sich das "core.ChannelEventTrigger".
Code: Alles auswählen
configuration: {}
triggers:
- id: "1"
configuration:
thingUID: shelly:shelly25-roller:eineid
channelUID: shelly:shelly25-roller:eineid:roller#event
type: core.ChannelEventTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
type: application/javascript
script: >-
var logger =
Java.type('org.slf4j.LoggerFactory').getLogger('org.openhab.rule.' +
ctx.ruleUID);
logger.info('Trigger Event:');
//logger.info(receivedEvent);
//logger.info(receivedTrigger);
//logger.info(event.event.toString());
type: script.ScriptAction
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
Verfasst: 26. Jul 2022 17:28
von udo1toni
Eventuell musst Du im Shelly das Ganze noch aktivieren. Da bin ich mir nicht sicher, weil ich keine Shellies nutze.
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
Verfasst: 26. Jul 2022 20:43
von Harka
Ich meine irgend wo gelesen zu haben, das es in der Original-Shelly-Software im Rollo-Modus LONG_PRESSED nicht gibt. Tasmota könnte helfen.
Aktuell behelfe ich mich damit die Eingänge (Channel Switch) zu triggern. Werden diese nur sehr kurz gedrückt kam bei mir kein Log-Eintrag. Mit Log -> Reaktion per Skript. Ist aber Gewöhnungsbedürftig und ob wir das so beibehalten ...
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
Verfasst: 27. Jul 2022 21:21
von Motoko
Es kommt ja leider gar kein Trigger an. Wenn es im Rollo-Modus nur kein LONG_PRESSED gibt, müssten ja dennoch erstmal die anderen ankommen.
In den Einstellungen des Shelly 2.5 sehe ich keine Option, irgendwelche Trigger-Einstellungen zu verändern.
Entweder der Trigger-Channel funktioniert beim Shelly 2.5 (mit aktuellster Firmware) grundsätzlich nicht, oder das OH3-Binding hat hier einen Bug oder ich mache etwas falsch. Ich würde ja auf letzteres Tippen, aber ich komme leider nicht alleine drauf. Meine Konfiguration habe ich oben gepostet. Sieht die denn richtig aus? Vielleicht teste ich das auch falsch. Kommen bei @Harka denn andere Trigger-Events an?
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
Verfasst: 28. Jul 2022 05:50
von Harka
Trigger-Channel kommt bei mir ja auch keiner an. Die Shellys sind aber, wenn der Taster (hier elektromechanisch) nur kurz gedrückt wird, nicht so mitteilsam.
Für die Gruppe, in der alle Eingange (input/switch) liegen sieht das bei mir dan so aus:
Code: Alles auswählen
triggers:
- id: "6"
configuration:
groupName: g_Rollos_Schalter
state: ON
previousState: OFF
type: core.GroupStateChangeTrigger
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
Verfasst: 28. Jul 2022 22:36
von tim.l
Hallo zusammen,
ich habe auch den Button und kann alle 4 Events abfangen. Bin selbst Neuling und weiß nicht ob es der richtige Weg ist, die Trigger laufen aber in meinen Rules (via GUI gebaut).
Beste Grüße,
Tim
Beispiel für "doppelt drücken":
Code: Alles auswählen
configuration: {}
triggers:
- id: "1"
configuration:
thingUID: shelly:shellybutton1:XXXXX
event: DOUBLE_PRESSED
channelUID: shelly:shellybutton1:XXXXX:status#button
type: core.ChannelEventTrigger
...
Beispiel für "lange drücken".
Code: Alles auswählen
configuration: {}
triggers:
- id: "1"
configuration:
thingUID: shelly:shellybutton1:XXXXX
event: LONG_PRESSED
channelUID: shelly:shellybutton1:XXXXX:status#button
type: core.ChannelEventTrigger
...
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
Verfasst: 29. Jul 2022 13:15
von Motoko
Mir geht es hier wie gesagt um den Shelly 2.5, wo ein Taster angeschlossen ist und nicht um den Shelly Button. Der funktioniert wahrscheinlich anders.
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
Verfasst: 29. Jul 2022 16:36
von tim.l
Sorry… habe ich wohl was überlesen :-/ Dennoch viel Erfolg bei dem „zum laufen bekommen“.