Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. acrasp

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    A
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 6
    • Best 1
    • Groups 1

    acrasp

    @acrasp

    Starter

    1
    Reputation
    7
    Profile views
    6
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    acrasp Follow
    Starter

    Best posts made by acrasp

    • Software: Türklingel -> IOBroker -> Fritzbox (inkl. Webcam)

      Hallo,

      habe heute nach mehrmaligem Aufsetzen endlich die Anbindung der Türklingel an die Fritzbox geschafft. Jetzt klingeln bei Betätigung der Klingel alle Telefone. Die Telefone C4/6 zeigen auch ein Bild einer Webcam.

      Der iobroker läuft bei uns nur parallel zur Hausautomation mit EIB/KNX um einige unabhängige übergeordnete Funktionen zu übernehmen. Eingebunden ist u.a. KNX über den entsprechenden Adapter.

      Es gibt unterschiedliche Methoden/Anleitungen, um Klingelsignale an die Fritz!box zu übermitteln, z.B. einen a/b Adapter (KlingelPaul), Anbindung über WLAN (ESP 8266, ct-Artikel) oder eine spezifizierte Türsprechstelle (DoorPI).

      Da das Betätigen der Türklingel aber auf den Haus-Bus übertragen übertragen wird, sollte auch eine reine Software-Lösung möglich sein.

      Über den Adapter TR-064 habe ich eine Realisierung nicht hinbekommen.

      Als Alternative bot sich eine Anbindung als SIP-Türsprechstelle (Telefon) an. Hierfür eignet sich der Adapter Asterisk. Nach/Vor dessen Installation im iobroker muss noch das Programm installiert werden.

      Asterisk installieren
      sudo apt-get install lame
      sudo apt-get install sox
      sudo apt-get install libsox-fmt-mp3
      sudo apt-get install ffmpeg
      sudo apt-get install asterisk

      Im Adapter (Instanz) in iobroker dann noch anpassen:

      1. Seite
        Server (dieser)
        127.0.0.1
        Nutzerdaten so lassen
        "Create Asterisk config files (once)" anklicken.
        iobroker_instanz-Asterisk-1.JPG

      2. Seite
        Zugangsdaten Fritzbox (SIP) (merken, um sie nachher in der Fritzbox einzugeben).
        iobroker_instanz-Asterisk-2.JPG

      Dann Speichern und die vom Adapter erstellten Konfigurationsdateien zum Asterisk verschieben:

      sudo mv /tmp/extensions.ael /etc/asterisk/extensions.ael
      sudo mv /tmp/manager.conf /etc/asterisk/manager.conf
      sudo mv /tmp/pjsip_fritzbox.conf /etc/asterisk/pjsip.conf
      sudo mv /tmp/sip_fritzbox.conf /etc/asterisk/sip.conf
      sudo mv /tmp/rtp.conf /etc/asterisk/rtp.conf

      Bei Auswahl von pjsip anstelle sip ist es eine andere Konfigurationsdatei. Ggf. im Verzeichnis /tmp nachschauen.

      Asterisk neu starten mit
      sudo /etc/init.d/asterisk restart

      Mit
      sudo asterisk -vvvr
      kann man die Ausgabe des Asterisk nachverfolgen (z.B. Restart der Instanz im iobroker). Hier werden Fehler angezeigt.

      Ich hatte das Problem, dass der Asterisk keine Verbindung bei parallel installiertem TR-064 Adapter hatte. Außerdem hatte ich zwei Fehlermeldungen.

      Die Ursache eines Verbindungsfehler vom Asterisk zum iobroker lag an einer falschen Konfiguration (der Raspberry läuft bei uns mit Raspbee Image). Änderung in der Konfigurationsdatei oder Ergänzung "iobroker 127.0.0.1" in der host Datei.


      In der Fritzbox muss man dann eine Türsprechstelle einrichten:

      Telefonie > Telefoniegeräte> Neues Gerät einrichten >Türsprechstelle
      LAN/WLAN (IP) auswählen

      Auf der folgenden Seite
      Klingeltaste 1 / 11 / alle Telefone / Eigener 1 (ein eigener Klingelton kann in einem der DECT-Telefone - s. dort - hochgeladen werden).
      Name z.B. tuerklingel
      Live Bild: Aktuelles Bild der Webcam.
      fritzbox-tuersprechanlage-1.JPG
      Alternativer Klingelton
      fritzbox-dect-klingelton.JPG

      Nicht alle Webcams bieten ein Einzelbild zum Download an. Instar Kameras können dies zum Beispiel.

      Auf dem zweiten Tab unter Anmeldedaten dann die Daten aus der iobroker-Asterisk-Instanz (von der zweiten Seite in der, s.o.) eingeben.
      fritzbox-tuersprechanlage-2.JPG


      Im iobroker kann man dann die Verbindung testen.

      In Objekte callerid (11), telnr (**9) und nachricht ("Es klingelt an der Haustür") eintragen und Aufbau mit call testen. **9 geht an alle Telefone der Fritzbox.
      iobroker-objekte.JPG

      Wenn es nicht funktioniert, kann, wie oben geschrieben mit parallel laufendem
      sudo asterisk -vvvr
      die (Fehler-) Ausgabe von Asterisk beobachtet werden.

      Nun noch ein Skript.

      Definiert wird hier das Telegramm der Klingel (knx), bei pos. Signal das Skript Klingeln gestartet, hier wird ein Anruf initiert und danach die Tasteingabe alle 0,5 Sekunden kontrolliert. Wenn die 5 am Telefon eingegeben wird, könnte ein Türöffner getriggert werden (haben wir nicht).

      var Klingel = "knx.0.hier.unten.Klingel",
          Klingelval;
      
      
      on({id: Klingel, change: "any"}, function (obj) {
        Klingelval = getState(Klingel).val;
        if (Klingelval ==true) {
          Klingeln();
        }
        console.log('Result: ' + Klingelval);
      })
      
      function Klingeln() {
        // call telephone nummber  and play text message as audio
        var number   = "**9";
        var callerid = '11'; // optional, if not set anonymous call
        var msg      = "Es klingelt an der Tür! "; 
        sendTo('asterisk.0', "dial", { telnr: number, callerid: callerid, text:  msg, timeout: 15000},  (res) => {
            setState("asterisk.0.dialout.dtmf", "");
            console.log('Result: ' + JSON.stringify(res));
            var i;
            dtmf_callback();
        });
      }  
      
      function Sleep(milliseconds) {
         return new Promise(resolve => setTimeout(resolve, milliseconds));
      }
      
      async function dtmf_callback() {
            for (i = 0; i < 30; i++) {
                await Sleep(500);
                var dtmf = JSON.stringify(getState("asterisk.0.dialout.dtmf").val);
                if (dtmf.length>2) {
                    if (dtmf.substring(dtmf.length - 1, dtmf.length)=="5") {
                        console.log("Türöffner");
                    } else {
                        console.log(dtmf);
                    }
                    setState("asterisk.0.dialout.dtmf", "");
                }
            }
      }
      
      posted in Praktische Anwendungen (Showcase)
      A
      acrasp

    Latest posts made by acrasp

    • RE: Software: Türklingel -> IOBroker -> Fritzbox (inkl. Webcam)

      @Hansi1234: Bei einem Anruf von der Türsprechstelle (und nur von der) zeigt das C4/5/6 das Standbild der Webcam an, dass in der Konfiguration eingegeben ist.

      posted in Praktische Anwendungen (Showcase)
      A
      acrasp
    • RE: Software: Türklingel -> IOBroker -> Fritzbox (inkl. Webcam)

      @Chaot, ja das Problem hatte ich auch, daher mein Umweg über Asterisk/IP-Telefonie um der Fritzbox eine Türstelle vorzugaukeln.

      posted in Praktische Anwendungen (Showcase)
      A
      acrasp
    • RE: Software: Türklingel -> IOBroker -> Fritzbox (inkl. Webcam)

      Oups,

      dann war ich wohl nur zu blöd.

      Bei mir habe ich das mit Bild nicht ans Laufen bekommen.

      Aber ändern würde ich es nicht mehr. Man kann den Asterisk auch zum Anrufen zur Übermittlung von Statusnachrichten verwenden. Das ist sogar einigermaßen verständlich.

      posted in Praktische Anwendungen (Showcase)
      A
      acrasp
    • RE: Software: Türklingel -> IOBroker -> Fritzbox (inkl. Webcam)

      Hallo,

      ja, aber nicht die Anzeige des Webcambildes.

      In unserem Haus hören wir die Klingel eigentlich überall, aber sehen kann man (fast) nicht, wer vor der Tür steht.

      posted in Praktische Anwendungen (Showcase)
      A
      acrasp
    • RE: Software: Türklingel -> IOBroker -> Fritzbox (inkl. Webcam)

      Hallo,

      nein, wir haben keine Türsprechstelle (Einfamilienhaus), auch keinen Türöffner. Wobei man letzteren mit der obigen Möglichkeit auch ansprechen könnte.

      Es geht primär um die Spielerei. Nebenbei kann man auf dem Dachboden auch sehen wer das steht (wenn man denn ein Schnurloses dabei hat).

      posted in Praktische Anwendungen (Showcase)
      A
      acrasp
    • Software: Türklingel -> IOBroker -> Fritzbox (inkl. Webcam)

      Hallo,

      habe heute nach mehrmaligem Aufsetzen endlich die Anbindung der Türklingel an die Fritzbox geschafft. Jetzt klingeln bei Betätigung der Klingel alle Telefone. Die Telefone C4/6 zeigen auch ein Bild einer Webcam.

      Der iobroker läuft bei uns nur parallel zur Hausautomation mit EIB/KNX um einige unabhängige übergeordnete Funktionen zu übernehmen. Eingebunden ist u.a. KNX über den entsprechenden Adapter.

      Es gibt unterschiedliche Methoden/Anleitungen, um Klingelsignale an die Fritz!box zu übermitteln, z.B. einen a/b Adapter (KlingelPaul), Anbindung über WLAN (ESP 8266, ct-Artikel) oder eine spezifizierte Türsprechstelle (DoorPI).

      Da das Betätigen der Türklingel aber auf den Haus-Bus übertragen übertragen wird, sollte auch eine reine Software-Lösung möglich sein.

      Über den Adapter TR-064 habe ich eine Realisierung nicht hinbekommen.

      Als Alternative bot sich eine Anbindung als SIP-Türsprechstelle (Telefon) an. Hierfür eignet sich der Adapter Asterisk. Nach/Vor dessen Installation im iobroker muss noch das Programm installiert werden.

      Asterisk installieren
      sudo apt-get install lame
      sudo apt-get install sox
      sudo apt-get install libsox-fmt-mp3
      sudo apt-get install ffmpeg
      sudo apt-get install asterisk

      Im Adapter (Instanz) in iobroker dann noch anpassen:

      1. Seite
        Server (dieser)
        127.0.0.1
        Nutzerdaten so lassen
        "Create Asterisk config files (once)" anklicken.
        iobroker_instanz-Asterisk-1.JPG

      2. Seite
        Zugangsdaten Fritzbox (SIP) (merken, um sie nachher in der Fritzbox einzugeben).
        iobroker_instanz-Asterisk-2.JPG

      Dann Speichern und die vom Adapter erstellten Konfigurationsdateien zum Asterisk verschieben:

      sudo mv /tmp/extensions.ael /etc/asterisk/extensions.ael
      sudo mv /tmp/manager.conf /etc/asterisk/manager.conf
      sudo mv /tmp/pjsip_fritzbox.conf /etc/asterisk/pjsip.conf
      sudo mv /tmp/sip_fritzbox.conf /etc/asterisk/sip.conf
      sudo mv /tmp/rtp.conf /etc/asterisk/rtp.conf

      Bei Auswahl von pjsip anstelle sip ist es eine andere Konfigurationsdatei. Ggf. im Verzeichnis /tmp nachschauen.

      Asterisk neu starten mit
      sudo /etc/init.d/asterisk restart

      Mit
      sudo asterisk -vvvr
      kann man die Ausgabe des Asterisk nachverfolgen (z.B. Restart der Instanz im iobroker). Hier werden Fehler angezeigt.

      Ich hatte das Problem, dass der Asterisk keine Verbindung bei parallel installiertem TR-064 Adapter hatte. Außerdem hatte ich zwei Fehlermeldungen.

      Die Ursache eines Verbindungsfehler vom Asterisk zum iobroker lag an einer falschen Konfiguration (der Raspberry läuft bei uns mit Raspbee Image). Änderung in der Konfigurationsdatei oder Ergänzung "iobroker 127.0.0.1" in der host Datei.


      In der Fritzbox muss man dann eine Türsprechstelle einrichten:

      Telefonie > Telefoniegeräte> Neues Gerät einrichten >Türsprechstelle
      LAN/WLAN (IP) auswählen

      Auf der folgenden Seite
      Klingeltaste 1 / 11 / alle Telefone / Eigener 1 (ein eigener Klingelton kann in einem der DECT-Telefone - s. dort - hochgeladen werden).
      Name z.B. tuerklingel
      Live Bild: Aktuelles Bild der Webcam.
      fritzbox-tuersprechanlage-1.JPG
      Alternativer Klingelton
      fritzbox-dect-klingelton.JPG

      Nicht alle Webcams bieten ein Einzelbild zum Download an. Instar Kameras können dies zum Beispiel.

      Auf dem zweiten Tab unter Anmeldedaten dann die Daten aus der iobroker-Asterisk-Instanz (von der zweiten Seite in der, s.o.) eingeben.
      fritzbox-tuersprechanlage-2.JPG


      Im iobroker kann man dann die Verbindung testen.

      In Objekte callerid (11), telnr (**9) und nachricht ("Es klingelt an der Haustür") eintragen und Aufbau mit call testen. **9 geht an alle Telefone der Fritzbox.
      iobroker-objekte.JPG

      Wenn es nicht funktioniert, kann, wie oben geschrieben mit parallel laufendem
      sudo asterisk -vvvr
      die (Fehler-) Ausgabe von Asterisk beobachtet werden.

      Nun noch ein Skript.

      Definiert wird hier das Telegramm der Klingel (knx), bei pos. Signal das Skript Klingeln gestartet, hier wird ein Anruf initiert und danach die Tasteingabe alle 0,5 Sekunden kontrolliert. Wenn die 5 am Telefon eingegeben wird, könnte ein Türöffner getriggert werden (haben wir nicht).

      var Klingel = "knx.0.hier.unten.Klingel",
          Klingelval;
      
      
      on({id: Klingel, change: "any"}, function (obj) {
        Klingelval = getState(Klingel).val;
        if (Klingelval ==true) {
          Klingeln();
        }
        console.log('Result: ' + Klingelval);
      })
      
      function Klingeln() {
        // call telephone nummber  and play text message as audio
        var number   = "**9";
        var callerid = '11'; // optional, if not set anonymous call
        var msg      = "Es klingelt an der Tür! "; 
        sendTo('asterisk.0', "dial", { telnr: number, callerid: callerid, text:  msg, timeout: 15000},  (res) => {
            setState("asterisk.0.dialout.dtmf", "");
            console.log('Result: ' + JSON.stringify(res));
            var i;
            dtmf_callback();
        });
      }  
      
      function Sleep(milliseconds) {
         return new Promise(resolve => setTimeout(resolve, milliseconds));
      }
      
      async function dtmf_callback() {
            for (i = 0; i < 30; i++) {
                await Sleep(500);
                var dtmf = JSON.stringify(getState("asterisk.0.dialout.dtmf").val);
                if (dtmf.length>2) {
                    if (dtmf.substring(dtmf.length - 1, dtmf.length)=="5") {
                        console.log("Türöffner");
                    } else {
                        console.log(dtmf);
                    }
                    setState("asterisk.0.dialout.dtmf", "");
                }
            }
      }
      
      posted in Praktische Anwendungen (Showcase)
      A
      acrasp
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo