NEWS
Anrufer Ansage FritzBox / SayIt
-
ungetestet.
Füg bitte folgende Funktion vor der Funktion rufnummer2name() ein:
function rnrMitSpace(rufnummer) { var i; var rnrNeu = ""; for (i=0;i<rufnummer.length;i++) {/rnrneu="rnrNeu" +/rufnummer.charat(i)+"/";/}/return/rnrneu;/}<e=""></rufnummer.length;i++)>
Und rufnummer2name() austauschen (nur eine Zeile ist anders):
function rufnummer2name (rufnummer) { var name = ""; if (!telefonbuchRufnummer[rufnummer]) { // undefinierte Rufnummern name = rnrMitSpace(rufnummer); // undefinierte Rufnummern } else { name = telefonbuchRufnummer[rufnummer].name; } return name; }
Aus 017047110815 sollte dann 0 1 7 0 4 7 1 1 0 8 1 5 werden. Dies sollte so ausgesprochen werden, wie Du es Dir wünschst.
-
Hallo ich weiß die Beiträge sind schon etwas älter aber ich komme hier nicht so richtig weiter. `
siehe Skript ein Post höher
-
Super Vielen vielen Dank! jetzt funktioniert es so wie ich es mir Vorstelle.
Dieses Forum ist echt total SUPER! Danke!
-
Hallo zusammen,
nachdem die Ansage meiner Anrufer schon seit einiger Zeit richtig gut funktioniert, würde ich nun gern das Skript so erweitern, dass ich nur Ansagen bekomme, die auf eine bestimmten Festnetznummer eingehen.
Derzeit werden mir auch die Anrufe angesagt, die auf meiner Faxnummer eingehen.
Lässt sich dies mit dem vorhanden Skript erweitern?
Ich habe auf der ersten Seite schon gelesen, dass es mit der Funktion Message funktionier.
Ich bin mir aber nicht sicher, wie und ob ich es auf diesem Skript anwenden kann
Ich hoffe, ihr könnt mir hier weiterhelfen!
Grüße Daniel
Hier mein verwendetes Skript.
! var telefonbuchRufnummerNichtBekannt = "Rufnummer nicht im Telefonbuch";
! var telefonbuchRufnummer = {
! "xxxx":
! {
! "name": "xxx", // name zur Rufnummer
! "bemerkung": "Reserve" // optional
! },
! "05xxx39": {"name":"xxxx"},
! "01xxx2436": {"name":" xxx"},
! "016xx7573": {"name":"xxxx"},
! "016xxx2890": {"name":"xxx"},
! "05xx864160": {"name":"xxx"},
! "017xx1248": {"name":"xxx"},
! "08xx3316": {"name":"xxx"},
! "0043xx60950": {"name":"xxx "},
! "004xxxxx0": {"name":"xxx"},
! "05xxxxxx2": {"name":"test"},
! "### ? ###": {"name":"Rufnummer unterdrückt"}
! };
! function rnrMitSpace(rufnummer) {
! var i;
! var rnrNeu = "";
! for (i=0;i <rufnummer.length;i++) {<br="">rnrNeu = rnrNeu + rufnummer.charAt(i)+" ";
! }
! return rnrNeu;
! }
! function rufnummer2name (rufnummer) {
! var name = "";
! if (!telefonbuchRufnummer[rufnummer]) { // undefinierte Rufnummern
! name = rnrMitSpace(rufnummer); // undefinierte Rufnummern
! } else {
! name = telefonbuchRufnummer[rufnummer].name;
! }
! return name;
! }
! var Anrufer = "fritzbox.0.calls.ringActualNumber"; // actual last ringing number
! on ({id: Anrufer, valGe: 1}, AusgabeAnrufer);
! function AusgabeAnrufer(){
! //setState("sayit.2.tts.text", "de;15;Eingehender Anruf von. " + getState(Anrufer).val);
! setState("sayit.2.tts.text", "de;15;Eingehender Anruf von" + rufnummer2name(getState(Anrufer).val));
! }</rufnummer.length;i++)> -
Hallo, ich bekomme seit längerem diesen Log Eintrag wenn jemand anruft. Wie kann ich es lösen?
2020-04-30 18:09:24.111 - warn: javascript.0 (20107) You are assigning a array to the state "sayit.0.tts.volume" which expects a number. Please fix your code to use a number or change the state type to array. This warning might become an error in future versions. 2020-04-30 18:09:24.114 - warn: javascript.0 (20107) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1404:20) 2020-04-30 18:09:24.117 - warn: javascript.0 (20107) at Object.AusgabeAnrufer (script.js.Test.Anrufansage:54:5) 2020-04-30 18:09:24.117 - warn: javascript.0 (20107) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1101:38) 2020-04-30 18:09:24.118 - warn: javascript.0 (20107) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:439:25) 2020-04-30 18:09:24.118 - warn: javascript.0 (20107) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4848:37) 2020-04-30 18:09:24.118 - warn: javascript.0 (20107) at processImmediate (internal/timers.js:456:21)
Gruß Loi
-
@loi83 sagte:
You are assigning a array to the state "sayit.0.tts.volume" which expects a number
Hier ist alles gesagt. Es passiert im Script "Test.Anrufansage" in Zeile 54.
-
@paul53 hey ja das ist mir durchaus bewusst, nur weiß ich leider nicht was ich dort ändern soll.
Hier mal ein Bild von der besagten Zeile:
-
@loi83 Richtig: 70 ohne eckige Klammer.
-
@paul53 Das habe ich geändert. Der Fehler ist weg, allerdings wird die Lautstärke auch nicht verändert
-
@loi83 sagte:
allerdings wird die Lautstärke auch nicht verändert
Mit "sayit" kenne ich mich nicht aus.