Liebe Fhem Gemeinde.
Ich habe mehrere UserReadings in einem HTTPSRV definiert.
Alle UserReadings verarbeiten verschiedene Readings des gleichen HTTPSRV.
Warum werden immer alle getriggert, wenn sich doch nur ein Reading ändert?
Kann man dies verhindern? Vielen Dank.
Grüße Tim
Wie soll man Dir helfen können wenn keine weiteren Angaben gemacht wurden?
Ohne den kleinsten Nenner (nämlich ein list des betroffenden Devices) wird wohl niemand helfen können.
Woher sollen potentiell Helfende wissen wie Du die userReadings erstellt hast?
Gruß
Dan
Kann man verhindern, wenn man die Trigger entsprechend definiert. Mangels list kann ich aber nicht detaillierter helfen.
Daher bitte selbst in die commandref sehen.
Beispiele mit Trigger finden sich auch in der file mqtt2.template im Verzeichnis /lib/AttrTemplate (allerdings für eine ganz andere Device-Type, aber das ist hier eigentlich irrelevant).
Vielen Dank für die Antworten. Weitere Infos gebe ich gerne. Sorry.
Internals:
DEF snom fhem/snom snom Web
FUUID 5c519ae0-f33f-1001-a6b3-42232c144ce39e70
NAME snom
NR 14
STATE snom
TYPE HTTPSRV
READINGS:
2019-07-22 16:40:11 AwIn 0123456789@sipgate.de
2019-07-22 16:40:18 AwNummerIn 0123456789
2019-07-22 16:40:18 AwNummerOut 0123456789
2019-07-22 16:31:04 AwOut 0123456789
2019-07-22 16:40:18 AwStatus 1
2019-07-22 16:06:24 MsIn 12@sipgate.de
2019-07-22 16:40:18 MsNummerIn 12
2019-07-22 16:40:18 MsNummerOut 0123456789
2019-07-22 16:07:26 MsOut 0123456789@sipgate.de
2019-07-22 16:26:01 MsStatus 0
2019-07-22 16:04:03 TmIn 0123456789@sipgate.de
2019-07-22 16:40:18 TmNummerIn 0123456789
2019-07-22 16:40:18 TmNummerOut 55000
2019-07-22 16:19:21 TmOut 55000@sipgate.de
2019-07-22 16:19:24 TmStatus 0
fhem:
directory fhem/snom
friendlyname snom Web
infix snom
Attributes:
readings TmOut,TmIn,TmStatus,AwOut,AwIn,AwStatus,MsOut,MsIn,MsStatus
room Telefon
userReadings TmNummerOut { my $string = ReadingsVal("snom","TmOut",""); $string =~ s/sipgate.de//; $string =~ s/@//g; return $string }, TmNummerIn { my $string = ReadingsVal("snom","TmIn",""); $string =~ s/sipgate.de//; $string =~ s/@//g; return $string }, AwNummerOut { my $string = ReadingsVal("snom","AwOut",""); $string =~ s/sipgate.de//; $string =~ s/@//g; return $string }, AwNummerIn { my $string = ReadingsVal("snom","AwIn",""); $string =~ s/sipgate.de//; $string =~ s/@//g; return $string }, MsNummerOut { my $string = ReadingsVal("snom","MsOut",""); $string =~ s/sipgate.de//; $string =~ s/@//g; return $string }, MsNummerIn { my $string = ReadingsVal("snom","MsIn",""); $string =~ s/sipgate.de//; $string =~ s/@//g; return $string }
userattr readings
Dann sollte es z.B. gehen mit (ohne die Punkte, das soll nur das "auszugsweise" markieren):
...TmNummerOut:TmOut.* {...
Die Syntax ist ansonsten wie bei notify.
Funktioniert perfekt. Herzlichen Dank!