Anrufname und Radiolautstärke mit Fritzbox

SetValue(24396 /*[Fritzbox Anrufe\Nummernsuche\Anrufname]*/, utf8_decode($daten[$i][3])); 

bei:

SetValue(24396 /*[Fritzbox Anrufe\Nummernsuche\Anrufname]*/, utf8_decode($daten[$i][3]); 

fehlt noch eine abschließende Klammer
also so:

SetValue(24396 /*[Fritzbox Anrufe\Nummernsuche\Anrufname]*/, utf8_decode($daten[$i][3])); 

Probiers mal mit einer zusätzlich schließenden Klammer:
… [3]));

SetValue(24396 /*[Fritzbox Anrufe\Nummernsuche\Anrufname]*/, utf8_decode($daten[$i][3]));

P.S. Upss, da war ich aber sehr langsam beim tippen:rolleyes:

Noch jemand. :smiley:

geht ja flott :smiley:

Ich staune immer wieder ab euch.

Und noch zur letzten Hürde

Der Name wird jetzt richtig zugeordnet. Allerdings nach dem abnehmen oder ablehnen läuft das Telefonbuch weiter bis zum letzten Eintrag

egal, wie ich’s triggere, passiert bei jedem Anruf. Danach bleibt die Variable auf dem letzten Eintrag stehen. Hab diese auch mit einer „Leervariable“ überschrieben, dann laufen die Namen zwei mal durch.

Dann ändert sich deine Variable welche deine Rufnummer überträgt. Ist doch klar, jedes mal wird dann das Telefonbuch gestartet wenn nichts mehr drinnen steht findet er auch nichts.
Setz eine Variable welche die Nummer bei Anruf erhält und sich nur bei erneutem Anruf ändert, dann klappst auch mit dem Telefonbuch.:wink:

Ok. Danke :slight_smile:

Sieht dann in etwa so aus.

    case "RING":
   $Rufnummer = $daten[3];
   $intern = $daten[4];
   SetValue(30553 /*[Fritzbox\Anrufe\Anruf]*/, $Rufnummer); // String

Die 30553 triggert dir das Telefonbuch Script.

das ist ja wie im 5-Sterne-Hotel: Zimmerservice…:wink:

Ich komme mit dem lesen langsam nicht hinter her. :wink: War noch auf der Fehlersuche mit dem Triggern. Mal sehen ob es jetzt geht.

Hallo Rainer

kleiner Schönheitsfehler ist noch da. Das Script zum vorlesen der Nummer triggere ich auf Variablenaktualisierung. Somit kommt nach dem Auflegen und löschen der Variable nochmals Steffi mit „Anruf von“. Würde sich das noch lösen lassen, dass nur bei befüllter Variable eine Ausgabe kommt?

<?

IPS_Sleep(190);
$text = GetValue(24396 /*[Fritzbox Anrufe\Nummernsuche\Anrufname]*/);
$home = GetValue(58876 /*[Anwesenheit\Anwesenheitsprüfung]*/);
     $id_sound = 36654 /*[Hinweise\Media Player\Lautstärke]*/;

	if($home == false)
	{
 		return; //sofort beenden.
	}
	else
	{
    		TTS_Speak(35500 /*[Hinweise\Media Player\Sprachausgabe Friteuse]*/, "Anruf von $text", true); //Warten bis zu Ende gesprochen wurde
	}

?>

Hallo Jürg,

warum triggerst Du das Script nicht auf die Variable welche die Rufnummer erhält. Diese wird ja nicht gelöscht sondern ändert sich nur bei einem erneuten Anruf, so wie es sein soll.

ok. Könnte man ja eigentlich selbst drauf kommen. Aber Danke.

Nein, geht so nicht, da es einen Moment dauert, bis der Name da ist. So kommt zuerst ein „Anruf von“, weil die Variable noch nicht befüllt ist.

So, da ich ja weiss, das es sich um einen Anruf handelt, Anfangstext weglassen und gut.

Häng doch einfach deinen Codeschnippsel an das Script an, dann hast Du doch alles was Du brauchst. :slight_smile: und sparst noch eine Variable.

so passts mir auch, und Variablen hab ich noch ein paar in der Schublade :rolleyes:

Wenn Du das Script schon nicht einsparen willst, dann ruf es einfach über

IPS_RunScript(xxxxx);

auf. Diesen Befehl schreibst Du in das Telefonbuchscript ganz zum Schluß. Damit ist sichergestellt, das die Variable Name beschrieben wurde.

Den Trigger kannst Du dann rausnehmen!

Hallo Rainer

das Script hat noch einen IPS-gutgesinnten aber Frauenfeindlichen Nebeneffekt. Ruft jemand an mit unterdrückter Nummer, liest Steffi bis zum IPS-abmurksen den letzten Namen aus dem Telefonbuch vor (die muss auch nie Luft holen:() Hast du da vielleicht noch einen Tip oder eine Idee?

25389 ist das ausführende Script
58220 das TTS-Script
34201 Erreignis bei Variablenaktualisierung „Anrufname“

13.12.2011 11:01:27.984 | 25389 | DEBUG | ExecuteThreadID #8 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 2770 ms
13.12.2011 11:01:28.000 | 58220 | DEBUG | ExecuteThreadID #2 | Skriptausführung: 58220.ips.php ~ Absender: Ereignis #34201, Variable #24396, Auslöser: OnUpdate
13.12.2011 11:01:28.000 | 0 | DEBUG | ExecuteThreadID #5 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 2179 ms
13.12.2011 11:01:28.000 | 0 | DEBUG | ExecuteThreadID #4 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 2363 ms
13.12.2011 11:01:28.015 | 46707 | DEBUG | ExecuteThreadID #1 | Skriptausführung: 46707.ips.php ~ Absender: Ereignis #23160, Zeit Ereignis
13.12.2011 11:01:28.015 | 43823 | MESSAGE | VariableManager | [Computer\Leistung\Skripte\CPU-Last\CPU 0] = 13
13.12.2011 11:01:28.015 | 28155 | MESSAGE | VariableManager | [Computer\Leistung\Skripte\CPU-Last\durchschnittliche Last] = 13
13.12.2011 11:01:28.015 | 46707 | DEBUG | ExecuteThreadID #1 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 7 ms
13.12.2011 11:01:28.031 | 0 | DEBUG | ExecuteThreadID #7 | Skriptausführung: ips.php ~ Absender: WebInterface
13.12.2011 11:01:28.062 | 58220 | DEBUG | ExecuteThreadID #5 | Skriptausführung: 58220.ips.php ~ Absender: Ereignis #34201, Variable #24396, Auslöser: OnUpdate
13.12.2011 11:01:28.078 | 0 | DEBUG | ExecuteThreadID #7 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 42 ms
13.12.2011 11:01:28.093 | 58220 | DEBUG | ExecuteThreadID #4 | Skriptausführung: 58220.ips.php ~ Absender: Ereignis #34201, Variable #24396, Auslöser: OnUpdate
13.12.2011 11:01:28.109 | 58220 | DEBUG | ExecuteThreadID #6 | Skriptausführung: 58220.ips.php ~ Absender: Ereignis #34201, Variable #24396, Auslöser: OnUpdate
13.12.2011 11:01:28.125 | 58220 | DEBUG | ExecuteThreadID #9 | Skriptausführung: 58220.ips.php ~ Absender: Ereignis #34201, Variable #24396, Auslöser: OnUpdate
13.12.2011 11:01:28.156 | 0 | DEBUG | ExecuteThreadID #1 | Skriptausführung: ips.php ~ Absender: WebInterface
13.12.2011 11:01:28.171 | 0 | DEBUG | ExecuteThreadID #1 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 20 ms
13.12.2011 11:01:28.171 | 0 | DEBUG | ExecuteThreadID #7 | Skriptausführung: ips.php ~ Absender: WebInterface
13.12.2011 11:01:28.203 | 0 | DEBUG | ExecuteThreadID #7 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 30 ms
13.12.2011 11:01:28.218 | 49927 | MESSAGE | VariableManager | [Hinweise\Media Player Küche\Sprachausgabe\Speaking] = True
13.12.2011 11:01:28.234 | 58220 | DEBUG | ExecuteThreadID #3 | Skriptausführung: 58220.ips.php ~ Absender: Ereignis #34201, Variable #24396, Auslöser: OnUpdate
13.12.2011 11:01:28.265 | 0 | DEBUG | ExecuteThreadID #10 | Skriptausführung: ips.php ~ Absender: WebInterface
13.12.2011 11:01:28.296 | 0 | DEBUG | ExecuteThreadID #8 | Skriptausführung: ips.php ~ Absender: WebInterface
13.12.2011 11:01:28.328 | 0 | DEBUG | ExecuteThreadID #10 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 48 ms
13.12.2011 11:01:28.343 | 0 | DEBUG | ExecuteThreadID #8 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 36 ms
13.12.2011 11:01:28.343 | 58220 | DEBUG | ExecuteThreadID #1 | Skriptausführung: 58220.ips.php ~ Absender: Ereignis #34201, Variable #24396, Auslöser: OnUpdate
13.12.2011 11:01:28.375 | 58220 | DEBUG | ExecuteThreadID #7 | Skriptausführung: 58220.ips.php ~ Absender: Ereignis #34201, Variable #24396, Auslöser: OnUpdate
13.12.2011 11:01:28.390 | 0 | DEBUG | ExecuteThreadID #8 | Skriptausführung: ips.php ~ Absender: WebInterface
13.12.2011 11:01:28.421 | 0 | DEBUG | ExecuteThreadID #8 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 28 ms
13.12.2011 11:01:28.453 | 0 | DEBUG | ExecuteThreadID #10 | Skriptausführung: ips.php ~ Absender: WebInterface
13.12.2011 11:01:28.468 | 0 | DEBUG | ExecuteThreadID #10 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 21 ms
13.12.2011 11:01:28.484 | 0 | DEBUG | ExecuteThreadID #8 | Skriptausführung: ips.php ~ Absender: WebInterface
13.12.2011 11:01:28.500 | 58220 | DEBUG | ExecuteThreadID #10 | Skriptausführung: 58220.ips.php ~ Absender: Ereignis #34201, Variable #24396, Auslöser: OnUpdate
13.12.2011 11:01:28.515 | 0 | DEBUG | ExecuteThreadID #8 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 35 ms
13.12.2011 11:01:28.531 | 58220 | DEBUG | ExecuteThreadID #8 | Skriptausführung: 58220.ips.php ~ Absender: Ereignis #34201, Variable #24396, Auslöser: OnUpdate
13.12.2011 11:01:29.671 | 49927 | MESSAGE | VariableManager | [Hinweise\Media Player Küche\Sprachausgabe\Speaking] = False
13.12.2011 11:01:29.687 | 49927 | MESSAGE | VariableManager | [Hinweise\Media Player Küche\Sprachausgabe\Speaking] = True
13.12.2011 11:01:29.703 | 47117 | MESSAGE | VariableManager | [Hinweise\Media Player Büro\Sprachausgabe Büro\Speaking] = True
13.12.2011 11:01:31.031 | 49927 | MESSAGE | VariableManager | [Hinweise\Media Player Küche\Sprachausgabe\Speaking] = False
13.12.2011 11:01:31.031 | 47117 | MESSAGE | VariableManager | [Hinweise\Media Player Büro\Sprachausgabe Büro\Speaking] = False
13.12.2011 11:01:31.046 | 49927 | MESSAGE | VariableManager | [Hinweise\Media Player Küche\Sprachausgabe\Speaking] = True
13.12.2011 11:01:31.062 | 47117 | MESSAGE | VariableManager | [Hinweise\Media Player Büro\Sprachausgabe Büro\Speaking] = True
13.12.2011 11:01:31.062 | 58220 | DEBUG | ExecuteThreadID #2 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 3067 ms
13.12.2011 11:01:31.062 | 0 | WARNING | ScriptEngine | Warteschleife füllt sich, Größe: 161
13.12.2011 11:01:31.062 | 58220 | DEBUG | ExecuteThreadID #2 | Skriptausführung: 58220.ips.php ~ Absender: Ereignis #34201, Variable #24396, Auslöser: OnUpdate
13.12.2011 11:01:32.390 | 47117 | MESSAGE | VariableManager | [Hinweise\Media Player Büro\Sprachausgabe Büro\Speaking] = False
13.12.2011 11:01:32.406 | 58220 | DEBUG | ExecuteThreadID #5 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 4342 ms
13.12.2011 11:01:32.406 | 0 | WARNING | ScriptEngine | Warteschleife füllt sich, Größe: 162
13.12.2011 11:01:32.406 | 0 | DEBUG | ExecuteThreadID #5 | Skriptausführung: ips.php ~ Absender: WebInterface
13.12.2011 11:01:32.421 | 49927 | MESSAGE | VariableManager | [Hinweise\Media Player Küche\Sprachausgabe\Speaking] = False
13.12.2011 11:01:32.421 | 49927 | MESSAGE | VariableManager | [Hinweise\Media Player Küche\Sprachausgabe\Speaking] = True
13.12.2011 11:01:32.437 | 47117 | MESSAGE | VariableManager | [Hinweise\Media Player Büro\Sprachausgabe Büro\Speaking] = True
13.12.2011 11:01:32.484 | 0 | DEBUG | ExecuteThreadID #5 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 71 ms
13.12.2011 11:01:32.484 | 0 | WARNING | ScriptEngine | Warteschleife füllt sich, Größe: 161
13.12.2011 11:01:32.484 | 58220 | DEBUG | ExecuteThreadID #5 | Skriptausführung: 58220.ips.php ~ Absender: Ereignis #34201, Variable #24396, Auslöser: OnUpdate
13.12.2011 11:01:33.796 | 47117 | MESSAGE | VariableManager | [Hinweise\Media Player Büro\Sprachausgabe Büro\Speaking] = False
13.12.2011 11:01:33.812 | 58220 | DEBUG | ExecuteThreadID #4 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 5711 ms
13.12.2011 11:01:33.812 | 0 | WARNING | ScriptEngine | Warteschleife füllt sich, Größe: 161
13.12.2011 11:01:33.812 | 58220 | DEBUG | ExecuteThreadID #4 | Skriptausführung: 58220.ips.php ~ Absender: Ereignis #34201, Variable #24396, Auslöser: OnUpdate
13.12.2011 11:01:33.812 | 49927 | MESSAGE | VariableManager | [Hinweise\Media Player Küche\Sprachausgabe\Speaking] = False
13.12.2011 11:01:33.828 | 49927 | MESSAGE | VariableManager | [Hinweise\Media Player Küche\Sprachausgabe\Speaking] = True
13.12.2011 11:01:33.828 | 47117 | MESSAGE | VariableManager | [Hinweise\Media Player Büro\Sprachausgabe Büro\Speaking] = True
13.12.2011 11:01:35.171 | 47117 | MESSAGE | VariableManager | [Hinweise\Media Player Büro\Sprachausgabe Büro\Speaking] = False
13.12.2011 11:01:35.187 | 49927 | MESSAGE | VariableManager | [Hinweise\Media Player Küche\Sprachausgabe\Speaking] = False
13.12.2011 11:01:35.187 | 58220 | DEBUG | ExecuteThreadID #6 | Ausgeführt, Resultat: 1, Erfolgreich: True, Zeit: 7070 ms
13.12.2011 11:01:35.187 | 0 | WARNING | ScriptEngine | Warteschleife füllt sich, Größe: 160

Die Abfrage abfangen wenn kein Name vorhanden ist.

Z.B. so.

$rufnummer = GetValue(30553 /*[Fritzbox\Anrufe\Anruf]*/); // Nummer vom Anrufer, Variable z.B. mit GetValue und Trigger auf das Script
if($rufnummer == "") {return;}
else
{
    for($i=0; $i<count($daten); $i++)
    {
        if(($daten[$i][0] == $rufnummer) || ($daten[$i][1] == $rufnummer) || ($daten[$i][2] == $rufnummer))
        {
            SetValue(10528 /*[Fritzbox\Anrufe\Name]*/, utf8_decode($daten[$i][3])); // Ausgabe des Namen, z.B in Variable schreiben mit SetValue(xxxxx, utf8_decode($daten[$i][3]));
            echo utf8_decode($daten[$i][3]);
        }
    }
}

hab ich schon auf „antworten“ gedrückt, als die Lösung kam? :rolleyes::rolleyes::rolleyes: