Langen Taster-Druck beim Shelly 2.5 erkennen
Moderator: seppy
-
- Beiträge: 8
- Registriert: 12. Okt 2021 21:50
Langen Taster-Druck beim Shelly 2.5 erkennen
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?
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?
- udo1toni
- Beiträge: 13864
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
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.
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.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 8
- Registriert: 12. Okt 2021 21:50
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
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:
So sieht der Code der angelegten Rule aus. Dort nennt sich das "core.ChannelEventTrigger".
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:
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
- udo1toni
- Beiträge: 13864
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
Eventuell musst Du im Shelly das Ganze noch aktivieren. Da bin ich mir nicht sicher, weil ich keine Shellies nutze.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 298
- Registriert: 30. Apr 2021 13:13
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
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 ...
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 ...
-
- Beiträge: 8
- Registriert: 12. Okt 2021 21:50
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
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?
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?
-
- Beiträge: 298
- Registriert: 30. Apr 2021 13:13
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
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:
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
-
- Beiträge: 59
- Registriert: 24. Jun 2022 08:16
- Wohnort: Bielefeld
- Kontaktdaten:
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
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":
Beispiel für "lange drücken".
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
...
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
...
Meine openHAB Erfahrungen bei mir im Blog: https://360friends.de/tag/openhab/
-
- Beiträge: 8
- Registriert: 12. Okt 2021 21:50
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
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.
-
- Beiträge: 59
- Registriert: 24. Jun 2022 08:16
- Wohnort: Bielefeld
- Kontaktdaten:
Re: Langen Taster-Druck beim Shelly 2.5 erkennen
Sorry… habe ich wohl was überlesen :-/ Dennoch viel Erfolg bei dem „zum laufen bekommen“.
Meine openHAB Erfahrungen bei mir im Blog: https://360friends.de/tag/openhab/