FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Icinger am 25 Juli 2014, 07:01:50

Titel: Notify mit RegEx
Beitrag von: Icinger am 25 Juli 2014, 07:01:50
Hi Leute,

ich bräuchte mal bitte ganz kurz eure Hilfe, ich steh grad irgendwie am Schlauch.

Warum greift mein Notify:
define ntf_TerassenSpot_1 notify TerassenSpot.*:.* { my $a=0;;if($EVENT eq "on"){$a=100}elsif($EVENT eq "off"){$a=0}else{$a=$EVENT*2.55}if($NAME eq "TerassenSpot_1"){fhem("attr RGB3 ".AttrVal($NAME,"comment","Chromo_R")." $a");;fhem("set RGB3 rgb")}}

zwar auf das Dummy-Device:
define TerassenSpot_1 dummy
attr TerassenSpot_1 comment Chromo_R
attr TerassenSpot_1 room Garten
attr TerassenSpot_1 setList 0 100 state:slider,0,1,100
attr TerassenSpot_1 webCmd state


zu, aber NICHT auf:
define TerassenSpot_2 dummy
attr TerassenSpot_2 comment Chromo_G
attr TerassenSpot_2 room Garten
attr TerassenSpot_2 setList 0 100 state:slider,0,1,100
attr TerassenSpot_2 webCmd state


Das Spot_2 habe ich von Spot_1 mit copy geklont.
Dank der Definition vom Notify mit RegEx sollte das doch klappen, oder?

Thx im voraus,

Ici
Titel: Antw:Notify mit RegEx
Beitrag von: Puschel74 am 25 Juli 2014, 07:05:39
Hallo,

ein notify "greift" auf keine Geräte zu  ;D
Das notify wird durch ein Event getriggert  ;)

Wie kommst du auf die Idee das das notify nicht durch TerrassenSpot_2 getriggert wird?

Bau dir doch mal eine Logausgabe in dein notify ein
Log(1,$NAME $EVENT);
und schau was im Logfile steht.

Grüsse
Titel: Antw:Notify mit RegEx
Beitrag von: Icinger am 25 Juli 2014, 07:09:47
Sorry, hab mich falsch ausgedrückt.

Das mit Log hab ich schon probiert, von Spot_1 bekomm ich einen Log-Eintrag, von Spot2 bekomm ich keinen.

Ausserdem ist beim Spot_1 ein:

Probably associated with
ntf_TerassenSpot_1


und beim Spot_2 eben nicht :(
Titel: Antw:Notify mit RegEx
Beitrag von: Puschel74 am 25 Juli 2014, 07:11:51
Hallo,

ZitatAusserdem ist beim Spot_1 ein:

Code: [Auswählen]

Probably associated with
ntf_TerassenSpot_1


und beim Spot_2 eben nicht

Ok, das passt dann natürlich nicht.
Leider hab ich grad keine Testumgebung zur Hand um das nachstellen zu können.
Du hast schon ein save gemacht und FHEM neu gestartet?

Grüsse
Titel: Antw:Notify mit RegEx
Beitrag von: Icinger am 25 Juli 2014, 07:13:47
Save und Restart habe ich schon gemacht und auch schon zigmal auf Tippfehler im Namen kontrolliert  :o
Titel: Antw:Notify mit RegEx
Beitrag von: Puschel74 am 25 Juli 2014, 07:18:59
Hallo,

bei einem copy sollten sich keine Tippfehler einschleichen  ;D

Nächster Versuch (stochern im Nebel ohne Testumgebung  8) ).
define ntf_TerassenSpot_1 notify TerassenSpot_.*:.* .....

Füg nach TerassenSpot mal ein _ dazu.

Ich sehe jetzt auf die schnelle auch nicht warum das nicht geht.

Grüsse
Titel: Antw:Notify mit RegEx
Beitrag von: Icinger am 25 Juli 2014, 07:25:41
Tiipfehler meinte ich insofern, dass ich zB Terrassenspot statt Terassenspot getipselt hatte beim Copy.

und ein Define TerassenSpot_.*:.* bringt auch nix......Hmmm, strange things happen......
Titel: Antw:Notify mit RegEx
Beitrag von: frank am 25 Juli 2014, 07:57:32
if($NAME eq "TerassenSpot_1")
deine befehle im notify werden hiermit aber nur auf spot1 beschränkt.

gruss frank
Titel: Antw:Notify mit RegEx
Beitrag von: Icinger am 25 Juli 2014, 08:09:11
Danke für den Hinweis :)

Hatte ich noch nicht angepasst, nachdem ich den zweiten Dummy angelegt hatte.

Und habe ehrlich gesagt auch nicht damit gerechnet, dass das "Probably associated...." mit dem Perl-String zusammenhängt.
Dachte, das kommt von dem RegEx im Define.

Jetzt hab ich zwar bei keinem der beiden Dummys mehr ein "Probably associated...", aber dafür klappts  ;D
Titel: Antw:Notify mit RegEx
Beitrag von: Puschel74 am 25 Juli 2014, 10:57:21
Hallo,

genau das hatte ich bei meiner ersten Antwort bereits vermutet daher mein Vorschlag mit einer Ausgabe des Trigger ins das Logfile.
Offenbar wurde im Logfile aber nur Aktor 1 verewiegt daher habe ich diesen Einwurf - Aktor 2 wird im Code nicht benutzt - wieder verworfen.
Aktor 2 hätte sich bei einem Trigger ja im Logfile bemerkbar machen müssen.

Der Beitrag braucht übrigens nicht geschlossen werden.
Ein Gelöst vor den Titel genügt.

Grüße