Hallo zusammen,
(ich verzweifle gerade, habe alles probiert=
wie kann ich ein notify definieren, welchen ein Event wie "<device> level: set_xx" abfängt? (HM-Rollladen-Aktor)
Viele Grüße
Frank
Eventmonitor öffnen, Event raussuchen und den gesamten Event markieren, danach create notify oder so.
habe ich versucht. In diesem Event-Editor kommt dann
define KG.az.RO_notify_1 notify KG.az.RO:level:.set_20 {}
dieses möchte ich für alle Devices anwenden und habe daraus
define abc_notify notify .*:level:.set_*
gemacht und das funktioniert leider nicht.
Was mache ich falsch?
Vor dem letzten Stern ein Punkt setzen.
Aber ich würde das so nicht machen, damit reagiert dein notify auf alle Devices. ALLE
Super, das hat funktioniert. Vielen Dank dafür. ;D
Zitat von: CoolTux am 16 September 2018, 13:40:30
Aber ich würde das so nicht machen, damit reagiert dein notify auf alle Devices. ALLE
Ja, das ist ein Problem... Gibt es eine Lösung, dass dieses Event nur auf beistimmt Device-Typen (subTypes) regiert, z.B. auf alle Rollladen-Aktoren?
Nein. Du kannst nur Devicenamen angeben. Aber Regex ist mächtig und wenn du deine Rolläden entsprechend benannt hast ist es einfach.
ok, dann werde ich ein paar Namen ändern müssen, aber kein Problem.
Eine Frage noch:
Warum fehlte eigentlich der Punkt? Welche Bedeutung hat dies in meinem Fall?
Der Punkt steht immer für genau ein Zeichen, ohne diesen Punkt hat in Deinem Fall der Stern keine Bedeutung. Ist nicht die bash unter Linux.
Genaueres erfährst Du wenn Du Dich zum Thema RegEx einarbeiten.
Zitat von: CoolTux am 16 September 2018, 13:47:57
Nein. Du kannst nur Devicenamen angeben. Aber Regex ist mächtig und wenn du deine Rolläden entsprechend benannt hast ist es einfach.
Beispiel bei mir ;D
Rollo.*
Der Punkt steht für ein beliebiges Zeichen. Das * bedeutet keine oder beliebige Anzahl von Wiederholungen Matchen. _* würde also auf alles Matchen was auf einen _ oder mehrere __ endet. _.* Matcht entsprechend auf alles was einen _ und dann beliebige Zeichen enthält.
Gesendet von iPhone mit Tapatalk
Vielen Dank für die Hinweise. RegEx ist echt nicht einfacht.
Ich habe "immer" gedacht der "*" wäre ein beliebiger Platzhalter wie z.B. bei SQL.
Du mußt übrigens nicht zwingend die Namen ändern, es geht auch sowas:
defmod Umwaelzpumpe_Schalter notify Licht_Bad_Spiegel:on|(Schalter_EZ1_Btn_06|Schalter_SZ1_Btn_06):short ...
Das sollte gleichbedeutend sein mit
defmod Umwaelzpumpe_Schalter notify Licht_Bad_Spiegel:on|Schalter_[ES]Z1_Btn_06:short ...
Sowas kann man mit http://regex101.com/ auch gut testen.