====== Signalleuchte für Telefonanrufe ======
Klingelt das Telefon, so sollen Signalleuchten in beiden Räumen den Anruf visuell (evtl. auch audiotechnisch) bemerkbar machen.
Dies soll über die MQTT Infrastruktur laufen.
===== Benötigtes Material =====
* Fritzbox
* Signalleuchten (2x Werma TwinFlash/EVS mit Warntonzusatz in Orange vorhanden)
* 2x ESP8266
* 2x MQTT Empfänger an den Signalleuchten, eventuell auch ESP-01 mit wenigen pins
* LED Matrix (Zukünftig könnte eventuell CLIP (Anruferkennung) ausgelesen werden und angegeben werden können)
===== Ressourcen =====
* A/B Schnittstellendokumentation: {{ :projekte:1tr110-1_ausgabe_08-2007_v110.pdf |Technische Beschreibung
der Analogen Wählanschlüsse }}
* [[https://www.mikrocontroller.net/articles/Analoger_Telefonanschluss|Analoger Telefonanschluss]]
* Über eine FritzBox Funktion wie Callmonitor ließe sich diese funktion ohne zusätzliches sendergerät verwenden [[https://www.home-assistant.io/components/sensor.fritzbox_callmonitor/|Callmonitor]]
* Verkabelung der ESP8266 Pins für unterschiedliche Boot Modi: [[http://arduino.esp8266.com/Arduino/versions/2.0.0/doc/boards.html#generic-esp8266-modules|hier]]
===== Umsetzung =====
Es wurde entschieden das Projekt auf Basis der Fritzbox API durchzuführen, welche es ermöglicht Anrufevents von dieser zu erhalten.
==== Datenquelle ====
Als Infoquelle über die Anrufe wird eine Fritzbox API verwendet.
Diese lässt sich über #96*5*
Ein- und über #96*4*
Ausschalten.
Bei aktivierter Option, bietet die Fritzbox am TCP-Port 1012 eine Benachrichtigungsfunktion,
welche sich auch mit entsprechenden Libs abfragen lässt (z.B. [[https://www.npmjs.com/package/fritz-callmonitor|fritz-callmonitor]]).
Beispiel für Ausgabe an Port 1012:
15.11.18 20:36:52;RING;0;017612345678;87654321;SIP2;
15.11.18 20:36:57;DISCONNECT;0;0;
Offensichtliches Schema der Ausgabe ist:
Datum Uhrzeit;Eventtyp;?;Anrufernummer;Empfangsnummer;Eingehende-Schnittstelle;
==== Software ====
Es wurde ein kleiner Connector in NodeJS entwickelt, der mithilfe des [[https://www.npmjs.com/package/fritz-callmonitor|fritz-callmonitor]]
Pakets entsprechende telefonbezogene Events an die MQTT-Infrastruktur weiterleitet.
Genauere Beschreibung dieser Software ist auf Github zu finden: [[https://github.com/vspaceone/Callmonitor-Connector-MQTT|Callmonitor-Connector-MQTT]]
Als Empfänger wurde eine Anwendung für den ESP8266 geschrieben, welche als Reaktion auf bestimmte MQTT-Nachrichten GPIO-Pins schaltet.
Genauere Beschreibung dieser Software ist auf Github zu finden: [[https://github.com/vspaceone/MQTT-callblink|MQTT-callblink]]
==== Hardware ====
Die Hardware ist in Arbeit...