-
Notifications
You must be signed in to change notification settings - Fork 1
Konfiguration DE
In diesem Abschnitt sind alle möglichen/nötigen Konfigurationsdateien und Ihre Eigenschaften aufgelistet.
In dieser Datei werden die Grundlegenden Einstellungen für die Klingel vorgenommen. Die Datei ist im ini Format
[Universal]
; Universelle Einstellungen der Klingel
Fritzbox=false
; legt fest, ob die Klingel im Fritzbox-modus betrieben wird.
; Kann die Werte true oder false besitzen.
Sound=/etc/dieklingel/Sounds/boot.wav
; legt den Sound fest, der nach dem Hochfahren abgespielt wird.
[Phone]
; Einstellungen für die Verbindung zum SIP Server
Username=sip-username
; legt den Benutzername für das SIP Konto fest
Password=!12345678
; legt das Passwort für das SIP Konto fest
Domain=dieklingel.com
; legt die Domain des SIP Servers fest
Port=6050
; legt den Port des SIP Servers fest.
[Door]
; Einstellungen der Basis
Secret=49dc52e6bf2abe5ef6e2bb5b0f1ee2d765b922ae6cc8b95d39dc06c21c848f8c
; legt den Pass Code fest, welcher auf der Basis eingegeben werden kann. Der Pass Code ist der zweifache SHA-256 Hash des 6-stelligen Zahlencodes
Sound=/etc/dieklingel/Sounds/doorbell.wav
; legt den Ton fest, welcher beim Klingeln abgespielt wird. Siehe https://dieklingel.com/software/#doorbellwav
TimeBasedAuth=true
; legt fest ob die Zeit basierte Authentifikation verwendet werden soll.
; kann die Werte true oder false annehmen.
TimeBasedAuthOffset=10000
; legt den Offset in Millisekunden für die Zeitbasierte Authentifikation fest.
; kann einen Wert >0 annehmen.
[Motion]
; legt die Kameraauflösung für das Bild einer Push Benachrichtigung fest.
Width=960
; breite in Pixel
Height=720
; höhe in Pixel
[Ct]
; legt Verbindungsinformationen zum Ct-Server fest
;Domain=ubuntu-vm
Domain=ct.dieklingel.com
; legt die Domain des Ct-Servers fest.
Port=3381
; legt den Port des Ct-Servers fest, auf dem der PushChannel läuft.
; ein Port für Erweiterungen am Ct-Server kann nicht festgelegt werden. Erweiterungen müssen stehts über https auf Port 80 ereichbar sein.
Username=kai.mayerone
; legt den Benutzername des Ct-Servers fest. Dieser kann frei gewählt werden.
Password=12345678abcdefgh12345678abcdefgh12345678abcdefgh
; legt das Password des Ct-Servers fest. Dieses kann frei gewählt werden.
; das Passwort dient als Schlüssel des AES265 Algorithmus und muss daher aus exakt 265 Bit also 32 Zeichen bestehen.
In dieser Datei werden die Benutzer der Klingelschilder angelegt. Jeder App-Benutzer wird beim einrichten einem dieser Benutzer zugeordnet. Im Normalfall wird für jeden Benutzer hier ein Benutzer angelegt. Die Datei ist im JSON Format. Eine Leere users.json Datei sieht wie folgt aus:
[]
Ein Beispielbenutzer kann wie folgt aussehen:
[
{
"displayname":"exampleuser",
"username":"sipexample",
"password":"sip!12345678",
"doorunit":"sipexample-dieklingel",
"sip":{
"domain":"dieklingel.com",
"port":"6050"
}
}
]
Alle Benutzer müssen durch ein Kommata getrennt sein.
- displayname: Der Name der in der App Angezeigt wird
- username: Der SIP Benutznername
- password: Das SIP Password, wird zum Login in der App benötigt
- sip domain: Domain des SIP Servers
- sip port: Port des SIP Servers
In dieser Datei werden alle Geräte abgespeichert, welche sich bei der Klingel Registriert haben. Alle Geräte erhaöten beim Aufruf Ihres Benutzernamesn eine Push Benachrichtigung. Die Datei ist im JSON Format. Diese Datei sollte nicht händisch ausgefüllt werden. Neue Geräte werden automische bei der Registrierung hinzugefügt. Sollte ein Gerät von der Klingel entfernt werden, muss es hier entfernt werden. Ein bereits registriertes Gerät kann jedoch nach dem Entfernen eine DeviceUpdate Notifikation an die Klingel senden um sich wieder in die Liste einzutragen. Um ein Gerät zu Entfernen und diese Möglichkeit auszugrenzen muss der ct-benutzername oder das ct-passwort geändert werden. Nach dem ändern der ct Benutzerinformationen muss jedes Gerät neu angemeldet werden. Eine leere devices.json sieht wie folgt aus:
[]
Bei dieser Datei handelt es sich um eine Audiodatei, welche beim Läuten auf der Basis abgespielt wird. Ist ein anderer Ton beim Läuten gewünscht, so kann diese Datei ersetzt werden. Der Name doorbell.wav muss jedoch beibehalten werden. Die Datei ist im wav Format.
In dieser Datei werden alle Befehle aufgeführt, welche zum Starten der graphischen Oberfläche der Basis notwendig sind. Ein neuer Befehl startet mit einer neuen Zeile. Jeder Zeile bis auf die Letze sollte währende dem starten abgeschlossen werden. Die Datei muss Ausführbar sein. Die letzte Zeile sollte ein Anhaltender Prozess sein. Die Standartkonfiguration sieht wie folgt aus:
#!/bin/bash
killall chrome
killall chromium
python3 -m http.server --bind 127.0.0.1 --directory /etc/dieklingel/html 8081 2> /dev/null &
chromium-browser --disable-pinch --new-window --kiosk 'http://localhost:8081/engine.html?r=35&t=20'
- Shebang
- & 3. Schliest alle möglicherweise Laufenden Chromium Instanzen
- Stellt die Graphishe Anwendung für http://127.0.0.1:8081/ bereit. Läuft diese Anwendung bereits, so schlägt das Öffnen des Ports fehl, dies hat jedoch keine witeren Auswirkungen.
- Öffnet eine neue Chromium Instant mit Der gui-engine und den Systemparametern für das Anzeigefenster.
Möglicher Parameter sind:
- r=5 Abstand zum rechten Rand in Pixel
- l=5 Abstand zum linken Rand in Pixel
- t=5 Abstand zum oberen Rand in Pixel
- b=5 Abstand zum unteren Rand in Pixel
- page=v1/index.html Seite welche geladen werden soll
Stellt einen Service für dieklingel-core bereit. Der Service kann mit sudo systemctl start dieklingel
gestarte werden.
Mit sudo systemctl enable dieklingel
wird der Autostart aktiviert. Die Datei sollte Folgenden Inhalt besitzen:
[Unit]
Description=dieklingel-core
After=pulseaudio.service
Wants=pulseaudio.service
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=root
ExecStart="/usr/bin/dieklingel"
[Install]
WantedBy=multi-user.target
Der Service ist vom Service pulseaudio.service
abhängig. Es sollte Pulseaudio Installiert, Konfiguriert und Eingerichtet sein. Pulseaudio sollte duch die Datei /etc/systemd/system/pulseaudio.service
gestartet werden können. Diese kann je nach Umgebung anders Konfiguriert sein. Ein Beispiel kann so aussehen:
[Unit]
Description=pulseaudio
Wants=sys-devices-platform-soc-soc:sound-sound-card3.device
Wants=sys-devices-platform-scb-fd500000.pcie-pci0000:00-0000:00:00.0-0000:01:00.0-usb1-1\x2d1-1\x2d1.4-1\x2d1.4:1.0-sound-card2.device
After=sys-devices-platform-soc-soc:sound-sound-card3.device
After=sys-devices-platform-scb-fd500000.pcie-pci0000:00-0000:00:00.0-0000:01:00.0-usb1-1\x2d1-1\x2d1.4-1\x2d1.4:1.0-sound-card2.device
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=root
ExecStart="/usr/bin/pulseaudio"
[Install]
WantedBy=multi-user.target
Die Geräte müssen je nach System angepasst werden.
Stellt einen Service für dieklingel-gui bereit. Der Service kann mit sudo systemctl start dieklingel-gui
gestarte werden.
Mit sudo systemctl enable dieklinel-gui
wird der Autostart aktiviert. Die Datei sollte Folgenden Inhalt besitzen: Der Inhalt der Datei sollte wie folgt aussehen:
[Unit]
Description=dieklingel-gui
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=pi
Environment="DISPLAY=:0"
ExecStart=/etc/dieklingel/html/start.gui
[Install]
WantedBy=multi-user.target
Eine Kombination dieser drei Dateien gibt den Grundlegenden Viewport wider. Diese Dateien sollten nicht bearbeitet werden. Es sollten ausschließlich die übergebenen Parameter, welche an die engineh.html übergeben werden an das System ang4epasst werden. Diese befinden sich in der start.gui. Siehe /etc/dieklingel/html/start.gui
Alle In diesem Ordner vorhandenen Dateien, welche mit on-
beginnen und mit .sh
enden, werden als Systemevent behandelt, diese müssen ausführbar sein. Es wird die jeweilige Datei ausgeführt, sobald das Systemevent ausgeführt wird.
Mehr Infos, siehe DUP.
Bei dieser Datei handelt es sich um ein Bash Skript. Daher muss das Skript ausführbar sein Der Name der Datei darf nicht verändert werden. Diese Datei wird ausgeführt wenn an der Basis Geklingelt wird. Diese Datei kann dazu verwendet werden, ein Event auszulösen um so im Hausinnern ein Läuten zu erzeugen. Sollte kein Zusätzliches Event beim Klingeln aufgerufen werden, kann die Datei leer bleiben.
Bei dieser Datei handelt es sich um ein Bash Skript. Daher muss das Skript ausführbar sein Der Name der Datei darf nicht verändert werden. Diese Datei wird ausgeführt wenn die Hasutüre geöffnet wird. Hier kann ein Script hinterlegen um eine Anbindung mit Fhem oder anderen Hausautomatisierungen zu ermöglichen. Als Interpreter muss kann z.B. auch python oder nodejs verwendet werden. In diesem Beispiel wird der Python Interpreter verwendet um eine Verbindung mit Fhem herzustellen und dort einen Befehl auszuführen.
Dass call-start Event wird ausgeführt, sobald ein Anruf mit einem Benutzer aufgebaut wurde. Es kann dazu verwendet werden ein Modul zu starten, wie z.B. das pulse-aec Module, welches für die Echounterdrückung während eines Anrufs zuständig ist.
parec --raw -d alsa_output.hw_3_0.monitor --channels=2 --latency=2 --format=u8 2>/dev/null | /etc/dieklingel/scripts/pulse-aec &
Dass call-end Event wird ausgeführt, sobald ein Anruf mit einem Benutzer beendet wurde. Es kann dazu verwendet werden ein Modul zu beenden, wie z.B. das pulse-aec Module.
killall pulse-aec