Wie Alexa Festnetzanrufer mit Namen und Telefonnummer ankündigen kann

Benutzeravatar

AlexaFan
Beiträge: 387
Registriert: Di 27. Mär 2018, 23:59
Vorhandene Echos: 36
Vorhandene Echo Dots: 12
Vorhandene Echo Shows: 8

Mo 17. Feb 2020, 17:07

Warum soll das nicht gehen?

Man muß nur den String parsen und die Namensteile vor der Ausgabe vertauschen. Dabei sollte man den ersten Text ohne Leerzeichen als Nachnamen (Doppelnamen werden mit Bindestrich geschrieben) und den Rest als Vornamen ansehen. Außerdem muß man ggf. Namenszusätze wie "von der" u. ä. berücksichtigen.
0 x
Benutzeravatar

guano30
Beiträge: 18
Registriert: Fr 21. Jul 2017, 03:38

Mo 17. Feb 2020, 17:20

AlexaFan hat geschrieben:
Mo 17. Feb 2020, 17:07
Warum soll das nicht gehen?

Man muß nur den String parsen und die Namensteile vor der Ausgabe vertauschen. Dabei sollte man den ersten Text ohne Leerzeichen als Nachnamen (Doppelnamen werden mit Bindestrich geschrieben) und den Rest als Vornamen ansehen. Außerdem muß man ggf. Namenszusätze wie "von der" u. ä. berücksichtigen.
Kannst du mir dabei mal ein wenig auf die Sprünge helfen?
0 x
Benutzeravatar

AlexaFan
Beiträge: 387
Registriert: Di 27. Mär 2018, 23:59
Vorhandene Echos: 36
Vorhandene Echo Dots: 12
Vorhandene Echo Shows: 8

Mo 17. Feb 2020, 17:40

Code: Alles auswählen

let Nachname = callerName.replace(/^([^ ]+) (.*)$/, '$1');
let Vornamen = callerName.replace(/^([^ ]+) (.*)$/, '$2');
callerName = Vornamen + ' ' + Nachname;
Zuletzt geändert von AlexaFan am Mo 17. Feb 2020, 17:42, insgesamt 1-mal geändert.
0 x
Benutzeravatar

guano30
Beiträge: 18
Registriert: Fr 21. Jul 2017, 03:38

Mo 17. Feb 2020, 18:18

AlexaFan hat geschrieben:
Mo 17. Feb 2020, 17:40

Code: Alles auswählen

let Nachname = callerName.replace(/^([^ ]+) (.*)$/, '$1');
let Vornamen = callerName.replace(/^([^ ]+) (.*)$/, '$2');
callerName = Vornamen + ' ' + Nachname;
Okay...
Das Ganze kommt nun ins Script Anrufmonitor? Nur wohin da?

Bin ja noch relativ grün mit iobroker. Selbst wenn ich das nun über Webinterface ins Skript einfügen möchte, meckern iobroker nur, dass es im read only Modus ist.
Wie kann ich denn da reinschreiben?
Zuletzt geändert von guano30 am Mo 17. Feb 2020, 18:35, insgesamt 1-mal geändert.
0 x
Benutzeravatar

AlexaFan
Beiträge: 387
Registriert: Di 27. Mär 2018, 23:59
Vorhandene Echos: 36
Vorhandene Echo Dots: 12
Vorhandene Echo Shows: 8

Mo 17. Feb 2020, 19:15

Du mußt halt alles in JavaScript programmieren. ;)

Du könntest den erzeugten Code in ein neues (JavaScript-)Skript kopieren und dann dort entsprechend abändern.

In Blockly selbst gibt es aber auch Funktionen, um Text zu manipulieren (https://www.iobroker.net/docu/index-279 ... 19&lang=de, Abschnitt "Text"). Da könntest Du nach dem ersten Auftreten des Begriffs " " (Leerzeichen) suchen und dann die Teile davor und dahinter nehmen.
0 x
Benutzeravatar

guano30
Beiträge: 18
Registriert: Fr 21. Jul 2017, 03:38

Mo 17. Feb 2020, 21:49

Ach du meine Güte ist das kompliziert :(

Eine Datei "Anrufmonitor" gibt es nicht in iobroker Verzeichnis, in der ich das ändern könnte?
Ist glaube ich einfacher per FTP auf den iobroker ubuntu Server zu gehen als im Text rumzuwerkeln...
0 x
Benutzeravatar

AlexaFan
Beiträge: 387
Registriert: Di 27. Mär 2018, 23:59
Vorhandene Echos: 36
Vorhandene Echo Dots: 12
Vorhandene Echo Shows: 8

Mo 17. Feb 2020, 22:55

Selbst wenn es so eine Datei gibt, müßtest Du dann ja dort im Text "rumwerkeln". ;)

Ein bißchen Programmierkenntnisse sollte man schon haben, wenn man etwas an bestehenden Skripten ändern möchte. Ansonsten kannst Du das ja als Wunsch an den Entwickler übermitteln.

Mein Anrufmonitor-Skript ist über 4.000 Zeilen lang, das ist komplizierter. ;)

Dafür bietet es aber auch:

- Ansage des Anrufers mit Namen oder Nummer, sowie Ort, Land und Bewertung
- Aufbereitung des Ansagetextes für die Sprachausgabe
- Auch ohne manuelle Konfiguration sofort funktionsfähig (lediglich Instanzen der Adapter tr-064 und alexa2 müssen eingerichtet sein)

- Unterstützung mehrerer FRITZ!Box-Geräte mit automatischer Erkennung aller registrierten Geräte
- Unterstützung mehrerer Echo-Geräte mit automatischer Erkennung aller registrierten Geräte
- Vielfältige Konfigurationsmöglichkeiten mit Positivlisten und Negativlisten

- Einstellbare Lautstärke der Ansagen mit automatischer Anpassung abhängig vom Gerätetyp
- Lautstärkeanpassung abhängig vom Gerätetyp oder individuell für jedes Echo-Gerät konfigurierbar
- Berücksichtigt die "Bitte nicht stören"-Einstellung eines Echo-Gerätes

- Ansage auch der angerufenen Anschlußnummer (konfigurierbar)
- Abbruch einer laufenden Ansage, wenn der Anruf angenommen wurde, und Ansage, wer angenommen hat (optional)
- Ansage, wenn der Anruf beendet wurde und wenn eine Nachricht hinterlassen wurde (optional)

- Vorhandene Landeskennzahl- und landesspezifische Ortsnetzverzeichnis-Dateien im CSV-Format werden automatisch geladen
- Schnittstelle für die Unterstützung beliebig vieler Websuchen (landesspezifisch und international)
- Verlauf für im Web gefundene Informationen erspart eine wiederholte Websuche

- Beenden der Ansagen zum aktuellen Anruf über den Sprachbefehl "Alexa, stopp!" (ohne Cloud-Adapter)
- Ein-/Ausschalten des Anrufmonitors und Beenden der Ansagen zum aktuellen Anruf über Datenpunkte möglich (z. B. über Sprachbefehle)
- Einstellen der Lautstärke eines Echo-Gerätes in Prozent über Sprachbefehle (Cloud-Adapter notwendig)
Zuletzt geändert von AlexaFan am Mo 17. Feb 2020, 23:00, insgesamt 1-mal geändert.
0 x
Benutzeravatar

guano30
Beiträge: 18
Registriert: Fr 21. Jul 2017, 03:38

Mo 17. Feb 2020, 23:08

Also vorm "rumwerkeln" an der Datei hätte ich nun weniger Angst...
Komme aus der Linux Dreambox Ecke und FHEM.

iobroker habe ich tatsächlich nur wegen der Anrufer Ansage und meines S50 Roborock installiert.
Die Module sind dann eigentlich relativ idiotensicher und tatsächlich "out of the Box" einfacher als die FHEM Lösungen.

Der Entwickler des Scripts hat sich hier fast 2 Jahre nicht mehr zu Wort gemeldet.
Befürchte es macht keinen Sinn hier einen Feature Request zu starten, oder?
0 x
Benutzeravatar

AlexaFan
Beiträge: 387
Registriert: Di 27. Mär 2018, 23:59
Vorhandene Echos: 36
Vorhandene Echo Dots: 12
Vorhandene Echo Shows: 8

Mo 17. Feb 2020, 23:34

In der Datei steht aber m. W. nichts anderes als was der Browser anzeigt. Wie genau das bei Blockly aussieht, kann ich Dir aber nicht sagen, da ich das nicht verwende. Aber ich vermute, es wird einfach nur der angezeigte JavaScript-Code gespeichert, wobei die letzte Zeile Informationen für Blockly als Kommentar enthält. Wenn Du dort direkt etwas ändern würdest, dann würde die Datei vermutlich nicht mehr korrekt in Blockly angezeigt.

Aber so schwer dürfte die Änderung in Blockly doch nicht sein, nachdem ich Dir den Hinweis auf die zu verwenden Text-Befehle gegeben habe. Diese mußt Du nur nach "setze callerName auf ..." passend einfügen, so daß der Wert der Variablen "callerName" wie gewünscht geändert wird.
0 x
Benutzeravatar

guano30
Beiträge: 18
Registriert: Fr 21. Jul 2017, 03:38

Di 18. Feb 2020, 02:17

...ich danke dir auch für deine Hilfe.
Allerdings schein ich in Blockly irgendwie eine Blockade zu haben!
Komme mit diesem kunterbunten Text gedönse nicht klar...

Und es erleuchtet sich mir überhaupt nicht, dass ich zwar in Blockly rumpinseln kann, wenn ich dann hinten auf Java umschalte und mal den vernünftigen Code sehe, meckert der Editor, dass nur Read-only ist...
Könnte man das ja wenigstens ausschalten...
0 x
Antworten

Zurück zu „ioBroker“

  • Information