Seite 2 von 4

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Verfasst: 22. Mär 2022 12:12
von rfu
Hi,

Nutze kein Shelly mit long-pressed, aber
Frage mich dabei aber, wie ich wiederholte Long_Pressed Events erkennen kann, da der Status im MQTT Explorer ja bestehen bleibt (bis er von einem Short_Pressed abgelöst wird).
Falls es nix anderes gibt, kannst Du in der Rule die auf den LONG_PRESSED reagiert am Ende einen andern Wert setzen:

Code: Alles auswählen

MyItem.postUpdate("NONE")
oder so...

Alternative: Z.B. in viewtopic.php?f=15&t=6622 wird direkt auf den Channel Trigger reagiert, der löst dann nur aus wenn das auch über MQTT gesendet wurde..

rfu

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Verfasst: 22. Mär 2022 18:10
von udo1toni
Du musst den Wert nicht ändern.

Es gibt für Items drei verschiedene Trigger:
  • changed - das Item hat seinen Status geändert
  • received command - das Item hat einen Befehl empfangen (ACHTUNG! das hat nichts mit dem Status zu tun!!!)
  • received update - Das Item hat ein Status Update bekommen. Es ist dabei egal, welchen Status das Item vorher hatte
Du kannst beim manuell konfigurierten mqtt Thing im Channel das Flag Is Command setzen. Dann wird bei jedem empfangenen Topic Update ein received command Event ausgelöst.
Ansonsten wird eben bei jedem empfangenen Topic Update ein received update ausgelöst.

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Verfasst: 22. Mär 2022 20:04
von schiwo82
Ich trau es mich fast garnicht zu sagen, mach es aber trotzdem.

Es funktioniert mit dem CoaP der Shelly seit heute Abend wieder - und ich weiß auch warum. Asu irgendeinem Grund ist im Openhab eine zweite "Primäre IP Adresse" 172.17.0.1 dazu gekommen (oder war schon immer da), von mir ist sie jedenfalls nicht (wissentlich) definiert. Durch den versehentlichen Neustart musste OH wohl beim Hochfahren entscheiden, welche Primäre IP Adresse verwendet wird - und welche nicht. In meinem Fall hat sie sich für die falsche entschieden und die andere disabled.

Ich habe das im openhab.log übersehen. Jetzt habe ich die richtige Adresse unter Netzwerk ausgewählt und gespeichert und siehe da, plötzlich kommen die Multicast Nachrichten der Shelly auch wieder an.

Ich wüsste zwar jetzt noch gerne woher die o.g. Adresse kommt und was sie tut, letztlich bin ich aber erstmal froh, dass alles wieder tut.

Und ein gutes hatte es, ich habe gleich das Upgrade auf 3.2 gemacht.

Danke an alle die mir geholfen haben.

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Verfasst: 23. Mär 2022 14:37
von rfu
Hi,
schiwo82 hat geschrieben: 22. Mär 2022 20:04 Asu irgendeinem Grund ist im Openhab eine zweite "Primäre IP Adresse" 172.17.0.1 dazu gekommen (oder war schon immer da), von mir ist sie jedenfalls nicht (wissentlich) definiert.
Ich glaube das ist die Adresse für das Gateway vom default bridge network im Docker Netzwerk https://docs.docker.com/network/network ... tandalone/, möglicherweise hast Du auf Docker-Seite bei Dir mal was am Networking geändert?

rfu

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Verfasst: 7. Okt 2022 15:24
von SmartDave
Hallo,

in meiner Konfiguration besteht ein anderes aber ähnliches Problem mit den Shelly-Relais.
Das Event LONG-PRESSED wird immer wieder mal sporadisch von keinem Relais ausgegeben. Ich betreibe rund 20 Shelly-Relais, teils die Modelle 1.0 sowie 2.5.
Ein langes gedrückt halten von Tastern bewirkt dann weder ein Event im Frontail noch wird eine rule ausgeführt.
Nach einer gewissen Zeit funktioniert "LONG-PRESSED" wieder tadellos und erscheint auch in Frontail.
Eine Abhilfe war z.B. ein Neustart von openHAB oder das manuelle Ab- und Einschaltung von Stromkreisen in denen Shellys integriert sind.

Ich verwende das Shelly-Binding und für die Relais kein MQTT.
Im Netz konnte ich nichts zu diesem Problem finden.

Jemand eine Idee oder Vorschlag?

Danke u. Beste Grüße!

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Verfasst: 12. Okt 2022 19:29
von benny
SmartDave hat geschrieben: 7. Okt 2022 15:24 Ein langes gedrückt halten von Tastern bewirkt dann weder ein Event im Frontail noch wird eine rule ausgeführt.
Nach einer gewissen Zeit funktioniert "LONG-PRESSED" wieder tadellos und erscheint auch in Frontail.
Eine Abhilfe war z.B. ein Neustart von openHAB oder das manuelle Ab- und Einschaltung von Stromkreisen in denen Shellys integriert sind.
Ich verwende das Shelly-Binding und für die Relais kein MQTT.
Bei mir habe ich exakt das gleiche Un-Verhalten, wenn jemand was weiß bitte gerne melden.

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Verfasst: 12. Okt 2022 21:08
von udo1toni
Welche Hardware, welche Software? Raspberry Pi und openHABian Image ist Standard, aber es gibt so viele Möglichkeiten.
Welche Netzwerkkomponenten? Wie ist alles miteinander verbunden?

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Verfasst: 3. Nov 2022 20:12
von benny
Nun, nachdem ich die letzten Tage wieder einiges ein Zeit in mein Shelly Problem gesteckt habe und auch einige Details beheben konnte, die augenscheinlich nichts mit dem "long" pressed Probleme :shock: , zu tun habe hoffe ich auf den entscheidenden Hinweis durch euch! :)
Hier meine Konfiguration:
openHAB 3.4.0.M3,
Shelly2.5 Version v1.12.1
(funktioniert auch mit Vorgängerversionen, hat aber mal funktioniert)
Thingfile:

Code: Alles auswählen

Thing shelly:shelly25-relay:B8A3B8 "Shelly 25 FlurTreppe" @ "Flur" [deviceIp="192.168.178.120", userId="", password="", eventsSwitch=true, eventsButton=true, eventsPush=true] 
Rule:

Code: Alles auswählen

rule "Treppenhaus unten Shelly langer druck"
	when
		Channel "shelly:shelly25-relay:B8A3B8:relay2#button" triggered LONG_PRESSED
		         
	then          
	 	sendBroadcastNotification("lange pressure")
		Shelly_TreppeUnten_Deckenlicht.sendCommand(ON)
		Shelly_TreppeUnten_Seitenlicht.sendCommand(ON)
end
(Der Taster hängt auch sicher an Eingang2!)
Problem: LONG_PRESSED Regel wird nicht ausgelöst

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Verfasst: 5. Nov 2022 13:53
von mad-mike
Moin.

Was steht denn im LOG?

Bei mir steht z.B in der Rule:

Code: Alles auswählen

when
    Channel "shelly:shellydevice:c45bbe796be0:relay1#button" triggered LONG_PRESSED       //Taster Badezimmer
then
Dabei handelt es sich auch um ein 2.5 aber der unterschied ist:

shellydevice

bei dir steht:
shelly25-relay

Keine Ahnung im Detail davon. Aber bei mir funktionieren die LONG_PRESSED.

Habe jedoch keine Text Thing datein erstellt, sondern das lief alles Über das Binding...

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Verfasst: 6. Nov 2022 16:48
von dcridaz
Hallo Zusammen,

ich habe auch mal wieder eine Frage, dessen Antwort (vermutlich) sehr einfach sein wird.
Ich nutze OH 3.2 auf einem RPI 4 und habe mehrere Shelly´s in meiner Smarthome-Automation.
Nun habe ich einen Shelly-Button1 eingebunden, der ja bekanntlich mehrere Aktionen (je nach Schaltzustand [kurzer Tastendruck, doppelt-kurzer-Tastendruck, langer-Tastendruck, usw.) schalten kann.
In meinem Bad habe ich einen Lautsprecher, der mit einem weiteren RPI und einer Volumio-Instanz verbunden ist stehen.
Mit dem Shelly-Button1 würde ich nun gerne die Musik starten, anhalten und auch ein Lied weiterschalten.
Die Play/Pause-Funktion funktioniert auch bereits über eine Regel.
Die Regel lautet:

Code: Alles auswählen

rule "Shelly Button1 Musikplayer OG-Bad aktivieren"

when

Channel 'shelly:shellybutton1:OGBadMusikplay:status#button' triggered 

then

OGBadMusikplayerToggle.sendCommand (ON)

createTimer(now.plusSeconds(3)) 
[|
OGBadMusikplayerToggle.sendCommand (OFF)
]
end

rule "Musik starten"

when

Item OGBadMusikplayerToggle changed to ON

then

OGBadSchlafzimmerVolumioPlay_OGBADMusikplayHTTPBefehl.sendCommand (ON)

end

Nun gibt es unter den Channels des ShellyButton1 den Kanal "Letztes Ereignis".
Dort wird in einem String die zuletzt gedrückte Eingabe gezeigt. Die Werte des String lauten:
"Typ des letzen Ereignisses (S=kurz, SS=2x kurz, SSS=3x kurz, L=lang, SL=kurz-lang, LS=lang-kurz)"

Nun habe ich gedacht, dass wenn ich den String in der Rule "auswerte", ich den entsprechenden Ausgang schalten kann.
Sobald ich aber in meiner Rule die zweite Abfrage einbinden möchte, funktioniert das ganze nicht mehr.
Vielleicht liegt es daran, dass OH in Rule nur nummerische Werte verarbeiten kann.
Ich poste mal die Rule, die ich (erfolglos) versucht habe zu erstellen:

Code: Alles auswählen

rule "Shelly Button1 Musikplayer OG-Bad aktivieren"

when


Channel 'shelly:shellybutton1:OGBadMusikplay:status#button' triggered 

then
if (OGBadMusikplay_LetztesEreignis.state = S) {
OGBadMusikplayerToggle.sendCommand (ON)
}



createTimer(now.plusSeconds(3)) 
[|
OGBadMusikplayerToggle.sendCommand (OFF)
]
end


Kann mir da jemand mal einen Tipp geben?


Liebe Grüße

Tim