Hallo zusammen,
ich habe mal eine Frage zu dem Modul Telefonkette.
Ich sehe dort nicht die Möglichkeit einen Text einzugeben, der dann gesprochen wird. Ich möchte damit bei Störungen oder Alarme mehrere Personen anrufen. Aber nur ein Anruf ohne Text bringt mir da nichts.
Ist das so gewollt?
Ich sehe zumindest im Modul nichts, was eine Ausgabe machen könnte/würde. Somit scheint dies aktuell gewollt zu sein. Du kannst die Ansage über die VoIP Instanz aber aktuell antoßen, sodass quasi bei jedem angenommenem Anruf per VoIP_PlayWave + TTS/Polly eine Ansage getätigt wird.
Ich bin aber voll bei dir, dass die Telefonkette dies sinnvoller Weise direkt anbieten sollte. Quasi eine Einstellung zum „Polly“ Modul und dann den anzusagenden Text (evtl. sogar aus einer Variable). Mindestens sollte aber in die Dokumentation wie dies zu handhaben ist.
Ich kläre das mal - ist schon ein paar Tage her, dass wir das entwickelt haben.
paresy
Hi,
ja - ich hatte nur ganz vergessen zu antworten. Wir haben das Modul für einen Kunden entwickelt gehabt und der wollte die komplette Ansagensteuerung (die war komplexer) selbst erledigen. D.h. das Modul kümmert sich in der Tat nur um das Anrufen.
Ich werde ein Ticket erstellen, sodass wir das besser dokumentieren. Falls du Interesse hast, das Modul zu erweitern (meiner Meinung nach am besten mit Verknüpfung zum TTS Polly Modul oder einem Medien-Objekt mit der Ansage) nehmen wir auch gerne PRs entgegen.
paresy
Was mir bei dem Modul fehlt, dass man Telefonnummern über die Visu eintragen kann. Z.B. über einzelne Variablen oder so.
Dass es dem Nutzer möglich ist, Rufnummer selbst zu pflegen als nur der Integrator hart im Modul.
Ich kenne das Modul nicht. Aber die Nummern stehen doch bestimmt in einer Property? Simples PHP Script, dass aus einer Webfront-Variable (z.B: TextBox mit Zeilenumbruch) über das action Script ein IPS_SetProperty aufruft.
Die Telefonnummern werden im Modul direkt eingetragen. Mit SetProperty habe ich ehrlich gesagt noch nicht gearbeitet. Ich habe es so verstanden, nur was ich auch als „Befehl ausführen“ machen kann, das geht auch mit SetProperty.
Konkret ist es so, dass in dem Modul die Rufnummer und eine Beschreibung eingetragen werden müsste.
Wo werden sie eingetragen? Alles was du über die Konsole eintragen kannst, ist normalerweise eine Property. Die kann man mit IPS_SetProperty auch ohne Konsole bearbeiten. Du schriebst was von
als nur der Integrator hart im Modul.
Da bin ich einfach mal davon ausgegangen, dass du Integrator bist und diese Grundlagen eigentlich kennst.
Nachtrag aus dem Quellcode des Moduls: Telefonkette/PhoneChain/module.php at master · symcon/Telefonkette · GitHub
$phoneNumbers = json_decode($this->ReadPropertyString('PhoneNumbers'), true);
// da o.s. Zeile allerdings intern auf die Daten Zugreift, entsprechend mit
$phoneNumbers = json_decode(IPS_GetProperty($instanzID,'PhoneNumbers'), true);
// hier irgendwas damit tun
// wieder Speichern:
IPS_SetProperty($instanz, 'PhoneNumbers', json_encode($phoneNumbers) );
Mit IPS_SetProperty hatte ich tatsächlich noch nicht gearbeitet. Man lernt in den „unendlichen Weiten“ von IP-Symcon immer wieder etwas dazu.
Danke für den Hinweis!