Hallo,
Ich lasse mir von meinem Tablet immer ansagen, wer anruft.
Bei deutscher Sprachausgabe hoert sich "unknown" (external_name) unschön an und somit wäre meine Frage, ob man per Attribut vielleicht "unknown" in ein frei definierbares Wort wie "unbekannt" umdefinieren könnte.
Oder hat sonst jemand ne Idee ?
Gruss
Joe
Ich kenn mich mit dem callmonitor nicht aus, aber mit eventMap oder readingsChange laesst sich einiges aendern.
Im Fall von unknown lasse ich mir immer die Rufnummer des Anrufers ansagen. Finde ich nützlicher, als unkonown oder unbekannt.
und was machst du wenn jemand mit unterdrückter Nummer anruft?
Solche Anrufe nehme ich nicht an. Die werden sofort auf meinen AB geleitet und bekommen die Ansage, dass sie sich identifizieren müssen. Wird über meine Fritzbox geregelt. Ist sehr angenehm, hilft gut gegen Werbung.
Hiewr noch dazu mein DOIF:
defmod DI_AnsageAnrufer DOIF ([my_callmonitor:event] eq "ring" and [my_callmonitor:external_name] ne "unknown") \
(set MyTTS tts [my_callmonitor:external_name])\
DOELSEIF ([my_callmonitor:event] eq "ring" and [my_callmonitor:external_name] eq "unknown")\
(set MyTTS tts [my_callmonitor:external_number])
attr DI_AnsageAnrufer cmdState angesagt
attr DI_AnsageAnrufer do always
ungetestet:
defmod DI_AnsageAnrufer DOIF ([my_callmonitor:event] eq "ring" and [my_callmonitor:external_name] ne "unknown") \
({my $ar_name = ReadingsVal("my_callmonitor","external_name","unbekannt");; $ar_name =~ s/unknown/unbekannt/g;; fhem("set MyTTS tts $ar_name)})\
DOELSEIF ([my_callmonitor:event] eq "ring" and [my_callmonitor:external_name] eq "unknown")\
(set MyTTS tts [my_callmonitor:external_number])
attr DI_AnsageAnrufer cmdState angesagt
attr DI_AnsageAnrufer do always
Grüße Jörg
@rudolfkoenig
Ich habe aus reinem Interesse mal readingsChange getestet.
In AMAD habe ich die Ladeanzeige von original "2" in "aufgeladen" geändert. In meiner Readingsgroup wird dann aber immernoch 2 angezeigt.
Ich weiss nun nicht, ob das Absicht ist, oder ein Bug.
Eine Änderung des Readings hätte doch nur Sinn, wenn man den geänderten Wert weiter verwenden kann, oder?
Ich weiss allerdings nicht, wofür das mal erschaffen wurde. Vielleicht ist es ja so gewollt.
ZitatIn AMAD habe ich die Ladeanzeige von original "2" in "aufgeladen" geändert. In meiner Readingsgroup wird dann aber immernoch 2 angezeigt.
readingsChange greift nur bei/nach neuen Events.
Wenn Readingsgroup nach einem neuen Event das Falsche anzeigen sollte, dann waere das tatsaechlich ein Bug.
Ein readingsChange mit folgendem DEF funktioniert :
my_callmonitor external_name (unknown) {sprintf("unbekannt")}
Danke.
OK, danke für die Antworten.
Bei mir geht es nicht.
Es war ja bei mir nur ein Test aus Eigeninteresse. Eine definitive Klärung ist also eigentlich nicht nötig.
Falls jedoch Interesse besteht, noch einmal folgende Erklärung:
Ich habe den Test gemacht mit:
defmod rcTest readingsChange AMAD_S3 batteryHealth (2) (Ladegerät aktiv)
attr rcTest room 1 Test
setstate rcTest active
setstate rcTest 2016-12-01 08:59:31 state active
Der Wert wird auch zuverlässig geändert und somit (Ladegerät aktiv) angezeigt. In der Readingsgroup wird aber immernoch 2 angezeigt.
Inzwischen weiss ich, dass die Klammern bei (Ladegerät aktiv) falsch sind, aber so hatte ich nunmal getestet.
defmod rg_Handys readingsGroup <Gerät>,<>,<Strom>,<>\
AMAD_S3:<%it_smartphone_3@yellow>,powerPlugged,powerLevel,<{ReadingsTimestamp($DEVICE,"powerLevel","?")}>\
AMAD_S5:<%it_smartphone_5@yellow>,powerPlugged,powerLevel,<{ReadingsTimestamp($DEVICE,"powerLevel","?")}> \
AMAD_S7:<%it_smartphone_7@yellow>,powerPlugged,powerLevel,<{ReadingsTimestamp($DEVICE,"powerLevel","?")}> \
AMAD_S7:<%time_timer@yellow>,powerPluggedUhr,powerLevelUhr,<{ReadingsTimestamp($DEVICE,"powerLevelUhr","?")}>\
AMAD_TAB8:<%it_tab8@yellow>,powerPlugged,powerLevel,<{ReadingsTimestamp($DEVICE,"powerLevel","?")}>\
AMAD_TAB10:<%it_tab10@yellow>,powerPlugged,powerLevel,<{ReadingsTimestamp($DEVICE,"powerLevel","?")}>
attr rg_Handys group AMAD
attr rg_Handys nameStyle style="color:yellow"
attr rg_Handys noheading 1
attr rg_Handys nonames 1
attr rg_Handys room AMAD
ZitatDer Wert wird auch zuverlässig geändert und somit (Ladegerät aktiv) angezeigt. In der Readingsgroup wird aber immernoch 2 angezeigt.
Etwaige Aenderungen werden im readingsGroup auch ohne ein readingsChange nicht angezeigt. Liegt wohl daran, dass das (oder dieser?) readingsGroup keine Events generiert. Ich kenne mich mit readingsGroup nicht aus, kann also Feature oder Bug sein. Bitte beim Maintainer nachfragen.
Hi, danke, dass du dir Zeit genommen hast.
Ich werde mal in der Rubrik nachfragen.