Hallo Zusammen,
ich habe einen per Hue angebundenen Schalter den ich zur Steuerung verwenden möchte.
Dazu möchte ich mit einem Knopfdruck ein Notify auslösen, dass ein Programm in der
99_myUtils.pm startet:
#XiaomiSwitchToLoxone
sub XiaomiSwitchToLoxone($)
{
my ($device) = @_;
my ($swbut) = @_;
my $swbut = ReadingsVal("$device","state","-1");
my %Sta = (
"1000" => 1,
"1001" => 1,
"1002" => 1,
"1003" => 1,
"1004" => 0,
"1005" => 1,
);
my $state = (defined $Sta{$swbut}) ? $Sta{$swbut} : "-1";
UDP_Msg("192.188.189.27" , "7000" , "$device: $state");
}
Der Knopf ist installiert und die Statusänderungen werden erkannt
und in den Events angezeigt (siehe Screenshot anbei).
Das Notify wird allerdings nicht ausgelöst bzw. es löst mein Programm nicht aus.
Das Notify in der FHEM.cfg sieht aus wie folgt:
define Schalter_SZHueToLoxone notify Schalter_Schlafzimmer:(state).* {XiaomiSwitchToLoxone($NAME)}
Das Gerät ändert den Status auch unter dem Reading state (siehe Screenshot).
Habt Ihr eine Idee woran das liegen kann bzw. wo mein Denkfehler liegt?
Danke und Gruß,
Claus
Dein Device schickt aber kein Event
ZitatSchalter_Schlafzimmer:(state).*
Man sieht "state" im Eventmonitor nicht
Am besten die Zeile im Eventmonitor markieren, und auf "Create/modify Device" klicken. Dann kriegst Du die richtige Regex
Danke für den Tipp, wusste gar nicht, dass die Funktion das kann :-)
Da spuckt er mir folgendes aus:
define Schalter_Schlafzimmer_notify_1 notify Schalter_Schlafzimmer:1000 {}
Habe das Notify nun geändert und es funktioniert. Aber wie kann ich es so ändern,
dass es nicht nur bei 1000 sondern bei allen Werten aktiviert wird?
Weil Du die Auswahl "genau dieser Wert" gemacht hast.
define Schalter_Schlafzimmer_notify_1 notify Schalter_Schlafzimmer:[\d]+ {}
sollte alle numerische Werte fangen