NEWS
Test Adapter doorio v2.1.2
-
**Aktuelle Version 2.1.3Der Adapter ist für eine "Selfmade Türstation". Github Installationsadresse
Es können z.Z. bis zu 4 Klingeleingänge und 4 DTMF-Codes für das steuern von Ausgängen konfiguriert werden. Ich hatte DoorPi im Einsatz, da es aber nicht mehr weiterentwickelt wird, musste was Neues her. Auf der Türstationshardware muss zwingend Baresip laufen, ein modularer SIP User-Agent. Es bietet sich ein RPI3 als Hardware an "siehe DoorPi", ist aber kein muss.
In der Baresip-Konfig wird das Modul "ctrl_tcp.so" aktiviert, da über TCP Socket mit dem ioBroker kommuniziert wird.
Baresip sollte erst mal ohne Fehler laufen, bevor man den Adapter nutzt.
Baresip installieren
Verbindung zu Barsip.
Objekte allgemein steuern bei Ruf aktiv, Ruf verbunden und Ruf beendet. (z.B. Licht einschalten oder Sprechstelle mute/unmute)
Klingelevent und Rufnummer einstellen.
Objekte steuern mit DTMF Code bei Verbindung mit der Sprechstelle. (z.B. Türöffner für 2sec. betätigen)Fertiges Image für den RPI3 und RPI4, Benutzer "pi" Passwort "raspberry".
Passwort zum runterladen lautet "iobroker" :
Selfmade-DoorIntercom
Neues RPI4 Bullseye64 Image- Image flashen
- RPI hochfahren und mit "sudo raspi-config" in Advanced Options Expanded Filesystem anstossen.
- "sudo passwd" Passwort für root erstellen.
- Baresip, config.yaml und pulseaudio der eigenen Hardware/Software anpassen.
Daten für AEC von pulseaudio herausfinden:
"pactl list" eingeben und nach Quelle und Ziel suchen.Ziel #0 Status: SUSPENDED Name: alsa_output.usb-0b0e_Jabra_SPEAK_410_USB_501AA5A30536010C00-00.analog-stereo Beschreibung: Jabra SPEAK 410 USB Analog Stereo Quelle #1 Status: IDLE Name: alsa_input.usb-0b0e_Jabra_SPEAK_410_USB_501AA5A30536010C00-00.analog-mono Beschreibung: Jabra SPEAK 410 USB Analog Mono
sink_master und source_master der eigenen Quelle und Ziel anpassen.
/etc/pulse/system.paload-module module-echo-cancel aec_method=webrtc format=s16le rate=16000 channels=1 source_name="noecho.mic_in" sink_name="noecho.sound_out" sink_master="alsa_output.usb-0b0e_Jabra_SPEAK_410_USB_501AA5A30536010C00-00.analog-stereo" source_master="alsa_input.usb-0b0e_Jabra_SPEAK_410_USB_501AA5A30536010C00-00.analog-mono" set-default-sink noecho.sound_out set-default-source noecho.mic_in
Achtung !!!
Falls mit dem aktuellen Raspberry Pi OS Lite gearbeitet wird und nicht mit dem RPI-Image:sudo apt install pulseaudio sudo apt install baresip-core sudo apt install baresip-x11 sudo reboot
Soundkarte finden und default.pa anpassen:
alsamixer pacmd list-sources | grep 'name:.*input' pacmd list-sinks | grep 'name:.*output'
baresip -vvv
Ctrl-c zum beenden von Baresip. Baresip hat jetzt ein Verzeichnis ".baresip"erzeugt mit den Konfigdateien.
nano /home/pi/.baresip/config
Das ändern:
audio_player pulse,noecho.sound_out audio_source pulse,noecho.mic_in audio_alert pulse,noecho.sound_out module pulse.so module_app ctrl_tcp.so
Sipdaten anpassen:
nano /home/pi/.baresip/accounts
Bei Fritzbox z.B:
<sip:door2iobroker@fritz.box>;auth_pass=PASSWORD
Jetzt nicht mehr die "etc/pulse/system.pa" ändern, sondern die "etc/pulse/default.pa" siehe oben.
sudo nano /etc/pulse/default.pa
Sonst ist alles beim alten.
danach wieder Baresip starten:
baresip -vvv
Autostart als User einrichten:
sudo loginctl enable-linger pi mkdir -p ~/.config/systemd/user/ nano ~/.config/systemd/user/baresip.service
das einfügen:
[Unit] Description=baresip [Service] ExecStart=/usr/local/bin/baresip -4 -f /home/pi/.baresip [Install] WantedBy=default.target
aktivieren und reboot:
systemctl --user daemon-reload systemctl --user enable baresip.service sudo reboot
Bei Fehlern bitte kompletten Log von Baresip und Ausgabe von "pactl list" mit angeben.
-
@Wal sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
"Selfmade Türstation"
Hast du da noch mehr Infos dazu. Wollte mir auch mal einen DoorPi bauen, aber wenn es da was neues/besseres gibt?!
-
@coyote sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
@Wal sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
"Selfmade Türstation"
Hast du da noch mehr Infos dazu. Wollte mir auch mal einen DoorPi bauen, aber wenn es da was neues/besseres gibt?!
Die Sprechstelle funktioniert fast mit jeder Hardware die Linux unterstützt, Windows habe ich nicht getestet.
Wie mit DoorPi braucht man ein Micro und ein Lautsprecher. Als Klingeleingang kann man alles nutzen was ein True/False macht. Leider habe ich festgestellt, das der iobroker.piface Adapter mit Raspberry Stretch nicht mehr funktioniert ,
das muss ich mir mal anschauen. Werde eine Anleitung für Baresip und Rpi mit Multihost erstellen. -
@Wal sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
Leider habe ich festgestellt, das der iobroker.piface Adapter mit Raspberry Stretch nicht mehr funktioniert
Die Rechte für den User iobroker für die Gruppe spi fehlte:
sudo adduser iobroker spi
-
Wusste gar nicht, dass du was neues machen willst. Ich lese viel im Doorpi-Forum.
Kann ich dich vielleicht unterstützen? Habe auch noch einen Pi hier herumliegenden.
-
@Hansi1234 ,
bin gerade am testen, lasse es übers Wochenende mal laufen. Wenn alles funzt, stelle ich auch mein RPI-Image zu Verfügung.
Da kannst du beim testen helfen, aber bitte noch nicht produktiv ;-). -
Neue Version auf Github und NPM, tcp.socket reconnect hinzugefügt.
Meine Konfiguration:
Hardware --- Fritzbox 6490, RPI3 mit Piface, Logitech USB Kamera, Polycom cx100 USB Micro/LP
Software --- Raspbian Stretch, Baresip 6.2, Input2MQTT, mjpg-streamerFür die Klingel nutze ich Input2MQTT das ich mit dem MQTT-Server Adapter einlese. Den orginalen Piface-Adapter kann ich nicht nutzen, da Phantomklingeln auftritt.
Nach dem Klingeln werden die Daten mit einem Script weiterverarbeitet und das sendet mir das Bild über Telegramm und E-Mail aufs Handy.
var request = require('request'); var fs = require('fs'); function sendImage() { request.get({url: 'http://192.168.132.56:9100/?action=snapshot', encoding: 'binary'}, function (err, response, body) { fs.writeFile("/tmp/snap.jpg", body, 'binary', function(err) { if (err) { console.error(err); } else { console.log('Snapshot sent'); sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: 'Jemand klingelt an der Haustür !!!'}); sendTo("email", { to: "w.bettman@gmx.de", subject: "Message from ioBroker", text: "Jemand klingelt an der Haustür !!!", attachments: [{path: "/tmp/snap.jpg"}] }); sendTo("email", { to: "b.bettman@gmx.net", subject: "Message from ioBroker", text: "Jemand klingelt an der Haustür !!!", attachments: [{path: "/tmp/snap.jpg"}] }); sendTo("email", { to: "n.bettman@gmx.net", subject: "Message from ioBroker", text: "Jemand klingelt an der Haustür !!!", attachments: [{path: "/tmp/snap.jpg"}] }); } }); }); } on({id: "mqtt.0.piface.input.DoorBell_1", val: true}, function (obj) { sendImage(); });
-
Fertiges Doorio-Image für den RPI3: Image
Dateien die angepasst werden müssen:
/etc/asound.conf --- für die Sound Ein/Ausgabe
/home/pi/config.yml --- GPIO/Piface2MQTT Konfiguration
/home/pi/.baresip/accounts --- Sip Einwahl-Konfiguration z.B. für Fritzbox o. Asteriskbei Fragen bitte hier melden.
-
Hallo Wal,
danke für das Image. Das macht die Sache einfacher.
Ich habe fast die selbe Hardware wie du und bin gerade an den Einstellungen.
Im Doorio muss ich ja nicht zwingend dein Script für den Screenshot aufs Handy etc. ausführen oder?In Doorio in den Verbindungseinstellungen muss ja der Pi von der Gegensprechanlage angegeben werden. Woher weiß ich aber, ob der Port 4444 stimmt?
Die hinterlegten Einstellungen von baresip sind von dir? Genügt sip:????????@fritz.box;auth_pass=????????;answermode=auto;transport=tcp aus?
-
@Hansi1234 sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
In Doorio in den Verbindungseinstellungen muss ja der Pi von der Gegensprechanlage angegeben werden. Woher weiß ich aber, ob der Port 4444 stimmt?
Das ist in der Baresip.config voreingestellt und nutze ich auch, kann man aber ändern.@Hansi1234 sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
Die hinterlegten Einstellungen von baresip sind von dir? Genügt sip:????????@fritz.box;auth_pass=????????;answermode=auto;transport=tcp aus?
Dort musst du deine Daten eintragen, wie in der doorpi.ini.@Hansi1234 sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
Im Doorio muss ich ja nicht zwingend dein Script für den Screenshot aufs Handy etc. ausführen oder?
Nein, mußt du nicht.Hast du ein Piface oder nutzt du die GPIO-Pins oder ganz was anderes für das Klingeln ?
Für meinen Testaufbau nutze ich das Piface das ich mit dem MQTT-Adapter einlese, das ist im Image so konfiguriert.
Wenn du was anderes nutzt, musst du die config.yml anpassen oder deaktivieren.sudo systemctl stop piface sudo systemctl disable piface
siehe hier falls du GPIO nutzen möchtest.
P.S. habe bei mir jetzt AEC über Pulseaudio aktiviert, scheint zu gehen.
-
@Wal said in [Aufruf] Neuer Adapter ioBroker.doorio:
@Hansi1234 sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
In Doorio in den Verbindungseinstellungen muss ja der Pi von der Gegensprechanlage angegeben werden. Woher weiß ich aber, ob der Port 4444 stimmt?
Das ist in der Baresip.config voreingestellt und nutze ich auch, kann man aber ändern.@Hansi1234 sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
Die hinterlegten Einstellungen von baresip sind von dir? Genügt sip:????????@fritz.box;auth_pass=????????;answermode=auto;transport=tcp aus?
Dort musst du deine Daten eintragen, wie in der doorpi.ini.Kannst du mir dein Beispiel nennen? Da es kein log gibt, kann ich nicht sehen, ob hier etwas falsch läuft
@Hansi1234 sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
Im Doorio muss ich ja nicht zwingend dein Script für den Screenshot aufs Handy etc. ausführen oder?
Nein, mußt du nicht.Hast du ein Piface oder nutzt du die GPIO-Pins oder ganz was anderes für das Klingeln ?
Für meinen Testaufbau nutze ich das Piface das ich mit dem MQTT-Adapter einlese, das ist im Image so konfiguriert.
Wenn du was anderes nutzt, musst du die config.yml anpassen oder deaktivieren.sudo systemctl stop piface sudo systemctl disable piface
siehe hier falls du GPIO nutzen möchtest.
Ich nutze auch das Piface2. Das sollte also passen.
P.S. habe bei mir jetzt AEC über Pulseaudio aktiviert, scheint zu gehen.
Der Adapter ist auf grün, sollte also funktionieren. Allerdings kommt kein "Anruf" bei mir an.
-
@Hansi1234
Rufe erst einmal vom Telefon deine Sprechanlage an, ob die Verbindung steht. -
ansers herum geht es. Liegt es an den Piface-Einstellungen?
-
Hast du den MQTT-Adapter mit dem Port 1883 als Server am laufen ?
Wenn ja, siehst du unter den Mqtt-Objekten die Piface Eingänge und Ausgänge ?
-
Jap, der Adapter läuft als Server auf Port 1883.
Allerdings habe ich keine Ausgänge? -
Oben links die Objekte refreshen.
So den doorio-Adapter mit deinen Daten einstellen:
-
oje, mir war nicht bewusst, dass das mit dem klingeln zusammenhängt.
Jetzt reagiert der Pi, allerdings hab ich jetzt da Echo-Problem.
Bin am googlen, wie ich das abstellen kann. -
@Hansi1234 sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
Jetzt reagiert der Pi, allerdings hab ich jetzt da Echo-Problem.
Bin am googlen, wie ich das abstellen kann.Ich mache ein neues Image demnächst, mit aktiviertem AEC auf Basis von Pulseaudio falls du möchtest.
Du musst Pulseaudio installieren und aktivieren:
Pulsaudio installieren
Die Snips Sachen ignorieren -
@Wal
Das wäre toll. Ich denke, dass ich zwischenzeitlich wieder viel Mist installiert habe, wegen dem Echo.Hast du dir schon gedanken gemacht wie du z.B. den Bewegungsmelder einbeziehst?
-
@Hansi1234 sagte in [Aufruf] Neuer Adapter ioBroker.doorio:
@Wal
Das wäre toll. Ich denke, dass ich zwischenzeitlich wieder viel Mist installiert habe, wegen dem Echo.Hast du dir schon gedanken gemacht wie du z.B. den Bewegungsmelder einbeziehst?
Falls der BM aufs Piface geht, musst du ihn nur in der config.yml einbinden und dann hast du ihn auch schon im Mqtt Adapter und kannst ihn weiterverarbeiten.