LONG_PRESSED Events kommen nicht mehr im Openhab an

Geflasht oder ungeflasht ...

Moderator: seppy

Benutzeravatar
rfu
Beiträge: 24
Registriert: 8. Okt 2021 15:41

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Beitrag 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
openHAB 3.3.0 im docker

Benutzeravatar
udo1toni
Beiträge: 13856
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Beitrag 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.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

schiwo82
Beiträge: 6
Registriert: 18. Mär 2022 16:02

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Beitrag 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.

Benutzeravatar
rfu
Beiträge: 24
Registriert: 8. Okt 2021 15:41

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Beitrag 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
openHAB 3.3.0 im docker

Benutzeravatar
SmartDave
Beiträge: 9
Registriert: 28. Aug 2022 10:49

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Beitrag 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!
Setup: Raspberry Pi 4, 4GB RAM, 256GB SSD, openHAB 4.0.0 - Release Build

benny
Beiträge: 5
Registriert: 6. Okt 2022 14:15

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Beitrag 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.

Benutzeravatar
udo1toni
Beiträge: 13856
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Beitrag 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?
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

benny
Beiträge: 5
Registriert: 6. Okt 2022 14:15

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Beitrag 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

mad-mike
Beiträge: 402
Registriert: 6. Jan 2021 18:05
Answers: 2

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Beitrag 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...
Gruss mad-mike

openHABian 4.1.1 auf Raspberry Pi 4 Mod. b (8GB) ;)

dcridaz
Beiträge: 18
Registriert: 20. Jun 2022 16:16

Re: LONG_PRESSED Events kommen nicht mehr im Openhab an

Beitrag 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
Openhab3 auf einem Raspberry-PI4, Wemos D1 mini über MQTT, AVM Fritz!, Wifi LED, Diverse Shelly Produkte, Gardena Smart Produkte, Reolink-IP Cams, Wansview-IP Cams, Foscam-IP Cams.

Antworten