Hallo zusammen,
habe folgende notifys in der fhem.cfg definiert:
define FritzDectToLoxone notify .*:(on|off|power.*|temperature.*|energy.*) {FritzDectToLoxone("$NAME")}
define TempHumidityToLoxone notify .*:temperature.* {TempHumidityToLoxone("$NAME")}
define OnOffToLoxone notify .*:(on|off) {OnOffToLoxone("$NAME")}
und folgende Scripte in der 99_myUtils.pm definiert:
#OnOffToLoxone
#device:
#1 state(0,1)
#2 pct(0-100)
sub OnOffToLoxone($)
{
 my ($device) = @_;
 my $state = ReadingsVal("$device","state","-1");
 if ($state eq "on") {
 $state = "1";
 }
 if ($state eq "off") {
 $state = "0";
 }
 my $pct = ReadingsVal("$device","pct","-1");
 
 #fhem("set $device: $state $pct");
 UDP_Msg("192.168.178.245" , "7200" , "$device: $state $pct");
}
#TempHumidityToLoxone
sub TempHumidityToLoxone($)
{
 my ($device) = @_;
 my $temperature=ReadingsVal("$device","temperature","-1");
 my $humidity=ReadingsVal("$device","humidity","-1");
 
 UDP_Msg("192.168.178.245" , "7200" , "$device: $temperature $humidity");
}
#FritzDectToLoxone
#device
#1 state(0,1)
#2 power
#3 energy
#4 temperature
sub FritzDectToLoxone($)
{
 my ($device) = @_;
 my $state = ReadingsVal("$device","state","-1");
 if ($state eq "off") {
 $state = "0";
 }
 if ($state eq "on") {
 $state = "1";
 }
 my $power = ReadingsVal("$device","power","-1");
 my $energy = ReadingsVal("$device","energy","-1");
 my $temperature=ReadingsVal("$device","temperature","-1");
  
 UDP_Msg("192.168.178.245" , "7200" , "$device: $state $temperature $power $energy");
}
Wie mache ich das, dass alle Fritz Dect (z.B. Fritz!Dect200) über den "FritzDectToLoxone" im Format "$state $temperature $power $energy" per UDP zu meiner Loxone funken und die restlichen Geräte über das andere Skript rüber beame....
Bedeutet ich muss aus dem Standard "on/off", "Temperatur" notify die Fritz*... Geräte ausschließen und bei der "FritzDectToLoxone" die anderen Geräte in der Signalisierung ausschließen.....
Da bin ich jetzt überfragt.....
Wäre toll wenn mir jemand helfen könnte.
DANKE im Voraus. 
LG
Logol01
			
			
			
				ZitatWie mache ich das, dass alle Fritz Dect (z.B. Fritz!Dect200) über den "FritzDectToLoxone" im Format "$state $temperature $power $energy" per UDP zu meiner Loxone funken und die restlichen Geräte über das andere Skript rüber beame....
Hallo logol01,
zB. indem du anstatt auf alle Geräte (.*) nur auf bestimmte triggerst:
Fritz2Loxone.*:(on|off|power.*|temperature.*|energy.*) {FritzDectToLoxone("$NAME")}Bedeutet natürlich dass du die devices entsprechend benamst  ;)
Man sollte generell notifys à la .*:... vermeiden. Hier wird auf 
JEDES Event getriggert  :o
VG Sebastian
			
 
			
			
				Hallo Sebastian,
Danke!
geht das auch, dass man mehrere Geräte Triggern kann z.B. alle die mit "Fritz" beginnen?
z.B. 
define FritzDectToLoxone notify Fritz*.*:(on|off|power.*|temperature.*|energy.*) {FritzDectToLoxone("$NAME")}
oder was soll ich dazu verwenden?
VG
Christoph
			
			
			
				Ja genauso geht das. Lass aber den * vor .* weg. ;)
Fritz.*:(on|off|power.*|temperature.*|energy.*) {FritzDectToLoxone("$NAME")}
VG Sebastian 
Gesendet von iPad mit Tapatalk
			
			
			
				DANKE :)
			
			
			
				Hallo Sebastian,
wie müsste das heißen, wenn man mehrere verschiedene Gerätenamen triggern möchte. 
Sprich - wie muss ich den Code schreiben, wenn ich alle Geräte die mit Firtz, Max und Moritz beginnen triggern möchte, das der UDP Wert geschickt wird sobald sich ein Wert ändert?
Irgendwie so?
define FritzDectToLoxone notify (Fritz.*|Max.*|Moritz.*):(on|off|power.*|temperature.*|energy.*) {FritzDectToLoxone("$NAME")}
VG
Logol01
			
			
			
				Noch einfacher so:
(Fritz|Max|Moritz).*:(on|off|power.*|temperature.*|energy.*) {FritzDectToLoxone("$NAME")}
VG Sebastian
			
			
			
				DANKE!!!! :)