-
Notifications
You must be signed in to change notification settings - Fork 85
Configfile
Sektion für generelle Einstellungen von DoorPi
Schlüssel | is_alive_led |
Wert | OutputPin |
Vorgabe | - |
Setzt OutputPin jede Sekunde high bzw. low, z.B. um eine LED blinken zu lassen. |
Schlüssel | eventlog |
Wert | Dateiname |
Vorgabe | !BASEPATH!/conf/eventlog.db |
Eventlog Datenbank Datei in der alle Events aufgezeichnet werden |
Schlüssel | snapshot_path |
Wert | Dateipfad |
Vorgabe | !BASEPATH!/../DoorPiWeb/snapshots/ |
Legt fest wo Bilder gespeichert werden. Sollte sich im DoorPiWeb Pfad befinden, da die Bilder ansonsten nicht im Webinterface dargestellt werden können. |
Schlüssel | number_of_snapshots |
Wert | Anzahl |
Vorgabe | 10 |
Wieviele Bilder gespeichert werden sollen. |
Schlüssel | snapshot_size |
Wert | Größenangabe |
Vorgabe | 1280x720 |
Definiert die Bildgröße in den Aktionen take_snapshot und mailto. |
Einstellungen für den SIP-Client und Anrufe
Schlüssel | sipphonetyp |
Wert | linphone, dummy, (pjsua) |
Vorgabe | dummy |
Wählt die zu verwendende SIP-Implementierung. Da pjsua derzeit nicht vollständig funktioniert, wird linphone empfohlen. Falls kein SIP verwendet werden soll, kann dummy gesetzt werden |
Schlüssel | records |
Wert | Dateiname |
Vorgabe | - |
Dateiname bzw. -pattern für Gesprächsaufzeichnungen. Beispiel: !BASEPATH!/recordings/!LastKey!/%Y-%m-%d_%H-%M-%S.wav |
Schlüssel | record_while_dialing |
Wert | boolean (True/False) |
Vorgabe | False |
Wenn True werden Aufzeichnungen schon beim Gesprächsaufbau begonnen, ansonsten erst nachdem ein Gespräch verbunden ist. |
Schlüssel | dialtone |
Wert | Dateiname (WAV) |
Vorgabe | !BASEPATH!/doorpi/media/ShortDialTone.wav |
WAV-Datei die beim Anklingeln abgespielt wird. Falls die Datei nicht existiert aber angegeben ist, wird ein "tuten" generiert und als Datei abgespeichert. |
Die folgenden Parameter beziehen sich auf den sipphonetyp linphone:
Schlüssel | sipserver_server |
Wert | Adresse des SIP-Servers |
Vorgabe | - |
Hostname oder IP des SIP-Servers. Wird kein Server angegeben, wird DoorPi im "standalone"-Modus gestartet. |
Schlüssel | sipserver_username |
Wert | Benutzername |
Vorgabe | - |
Benutzername des SIP-Accounts |
Schlüssel | sipserver_password |
Wert | Passwort |
Vorgabe | username |
Passwort des SIP-Accounts |
Schlüssel | sipserver_realm |
Wert | SIP-Realm |
Vorgabe | server |
Wird bei den meisten SIP-Anlagen nicht verwendet. |
Schlüssel | identity |
Wert | SIP-Nickname |
Vorgabe | DoorPi |
Die vollständige SIP-Identität setzt DoorPi wie folgt zusammen: "identity <sip:username@server>" |
Schlüssel | local_port |
Wert | Port |
Vorgabe | 5060 |
Port auf dem der SIP-Client lauscht (z.B. für Verbindungen im standalone-Modus) |
Schlüssel | stun_server |
Wert | Serveradresse |
Vorgabe | - |
STUN Server (für NAT Informationen) |
Schlüssel | FirewallPolicy |
Wert | Policy |
Vorgabe | PolicyNoFirewall |
siehe [hier](http://pythonhosted.org/linphone/api_reference.html#linphone-firewallpolicy) |
Schlüssel | capture_device |
Wert | ALSA: Gerätename |
Vorgabe | Standardgerät |
Name des ALSA Geräts für den Audioeingang (Mikrofon) Eine Möglichkeit den Gerätenamen zu bestimmen ist der Aufruf von cat /proc/asound/cards | grep ]: | sed 's/.* - //'Beispielausgabe: bcm2835 ALSA C-Media USB Headphone SetMöchte man in diesem Fall das USB-Gerät verwenden, lautet die Konfigurationszeile: capture_device = ALSA: C-Media USB Headphone Set |
Schlüssel | playback_device |
Wert | ALSA: Gerätename (vgl. "capture_device") |
Vorgabe | Standardgerät |
Name des ALSA Geräts für den Audioausgang |
Schlüssel | audio_codecs |
Wert | Liste von Audio Codecs |
Vorgabe | PCMA,PCMU |
Kommaseparierte Liste von Audio Codecs |
Schlüssel | echo_cancellation_enabled |
Wert | boolean (True/False) |
Vorgabe | False |
Aktiviert Echounterdrückung |
Schlüssel | video_display_enabled |
Wert | boolean (True/False) |
Vorgabe | False |
Aktiviert Video-Übertragung bei ausgehenden Anrufen. |
Schlüssel | video_device |
Wert | V4L2: Gerätepfad |
Vorgabe | - |
Pfad des V4L kompatiblen Videogeräts, z.B.
V4L2: /dev/video0 |
Schlüssel | video_size |
Wert | Videogröße |
Vorgabe | - |
Videoauflösung, mögliche Werte: 1080p, uxga, sxga-, 720p, xga, svga, 4cif, vga, cif, qvga, qcif |
Schlüssel | video_codecs |
Wert | Liste von Video Codecs |
Vorgabe | VP8 |
Kommaseparierte Liste von Video Codecs |
Schlüssel | call_timeout |
Wert | Zeit in Sekunden |
Vorgabe | 15 |
Zeit wie lange DoorPi anklingelt |
Schlüssel | max_call_time |
Wert | Zeit in Sekunden |
Vorgabe | 120 |
Maximale Anrufdauer. Nach Ablauf dieser Zeit legt DoorPi auf. |
Schlüssel | ua.max_calls |
Wert | Anzahl |
Vorgabe | 2 |
Anzahl der gleichzeitig möglichen Anrufe |
Definition von keyboards ("Eingabegeräten")
Schlüssel | Alias |
Wert | gpio, piface, filesystem, rdm6300 |
Vorgabe | - |
Definiert ein Keyboard vom Typ Wert mit dem Namen Alias. Beispiel:onboardpins = gpioDerzeit stehen folgende Keyboards zur Verfügung:
|
Sektion zur Konfiguration eines vorher unter dem Namen Keyboardalias in [keyboards] definierten Keyboards. Die jeweiligen Konfigurationsparameter hängen vom Typ des Keyboards ab.
Schlüssel | bouncetime |
Wert | Zeit in Millisekunden |
Vorgabe | 2000 |
Entprellungszeit für Eingänge. Weitere Flankenänderungen werden für den angegebenen Zeitraum ignoriert. |
Schlüssel | polarity |
Wert | 0 / 1 |
Vorgabe | 0 |
0: VCC am Eingang ist HIGH level 1: VCC am Eingang ist LOW level |
Schlüssel | pressed_on_keydown |
Wert | True / False |
Vorgabe | True |
Version | ab 2.4.1.8 |
True: OnKeyPressed Event wird zusammen mit OnKeyDown Event ausgelöst False: OnKeyPressed Event wird zusammen mit OnKeyUp Event ausgelöst |
Schlüssel | mode |
Wert | BOARD / BCM |
Vorgabe | BOARD |
Version | ab 2.4.1.8 |
bestimmt welcher GPIO Modus zur Nummerierung verwendet wird What is the difference between BOARD and BCM for GPIO pin numbering? |
Schlüssel | pull_up_down |
Wert | PUD_DOWN / PUD_UP / PUD_OFF |
Vorgabe | PUD_OFF |
Version | ab 2.4.1.8 |
bestimmt den GPIO Pull-Up- oder Pull-Down-Widerstand Raspbian: Pull-Up/Down eines GPIO-Eingangs in Python aktivieren |
Schlüssel | bouncetime |
Wert | Zeit in Millisekunden |
Vorgabe | 2000 |
Entprellungszeit für Eingänge. Weitere Flankenänderungen werden für den angegebenen Zeitraum ignoriert. |
Schlüssel | polarity |
Wert | 0 / 1 |
Vorgabe | 0 |
0: VCC am Eingang ist HIGH level 1: VCC am Eingang ist LOW level |
Schlüssel | pressed_on_keydown |
Wert | True / False |
Vorgabe | True |
Version | ab 2.4.1.8 |
True: OnKeyPressed Event wird zusammen mit OnKeyDown Event ausgelöst False: OnKeyPressed Event wird zusammen mit OnKeyUp Event ausgelöst |
Schlüssel | reset_input |
Wert | boolean (True/False) |
Vorgabe | True |
Schlüssel | base_path_input |
Wert | Verzeichnispfad für virtuelle Eingänge |
Vorgabe | |
In diesem Verzeichnis werden die virtuellen Eingänge mit dem unter InputPins definierten Namen als Datei angelegt und überwacht. |
Schlüssel | base_path_output |
Wert | Verzeichnispfad für virtuelle Ausgänge |
Vorgabe | |
In diesem Verzeichnis werden die virtuellen Ausgänge mit dem unter InputPins definierten Namen als Datei angelegt und geschrieben. |
Schlüssel | pressed_on_keydown |
Wert | True / False |
Vorgabe | True |
Version | ab 2.4.1.8 |
True: OnKeyPressed Event wird zusammen mit OnKeyDown Event ausgelöst False: OnKeyPressed Event wird zusammen mit OnKeyUp Event ausgelöst |
Schlüssel | port |
Wert | Linux-Devicename des seriellen Anschlusses |
Vorgabe | /dev/ttyAMA0 |
Schlüssel | baudrate |
Wert | Baudrate |
Vorgabe | 9600 |
Schlüssel | dismisstime |
Wert | Zeit in Sekunden |
Vorgabe | 5 |
Schlüssel | Pin |
Wert | Aktion |
Vorgabe | |
Führt bei der Auslösung von Pin die gewählte Aktion aus. Für mögliche Aktionen s.u. Anmerkung: Bei gpio bezieht sich die Nummierung der Pins auf die Stiftleiste. |
Schlüssel | Pin |
Wert | Alias |
Vorgabe | |
Definiert Pin als Ausgang mit dem Namen Alias. Anmerkung: Bei gpio bezieht sich die Nummierung der Pins auf die Stiftleiste. |
Schlüssel | Tastenfolge |
Wert | Aktion |
Vorgabe | |
Führt die angegebene Aktion bei Erkennung der Tastenfolge während eines Gesprächs aus. Für mögliche Aktionen s.u. |
Konfiguration des Mailversands
Schlüssel | server |
Wert | SMTP Hostname/IP |
Vorgabe | - |
Schlüssel | port |
Wert | SMTP Port |
Vorgabe | - |
Schlüssel | need_login |
Wert | boolean (True/False) |
Vorgabe | False |
Aktiviert SMTP Authentifizierung |
Schlüssel | username |
Wert | SMTP Benutzername |
Vorgabe | - |
Schlüssel | password |
Wert | SMTP Password |
Vorgabe | - |
Schlüssel | use_tls |
Wert | boolean (True/False) |
Vorgabe | False |
Aktiviert STARTTLS Verschlüsselung |
Schlüssel | from |
Wert | Absender |
Vorgabe | - |
Der Aufruf von Aktionen erfolgt nach dem Schema
<Aktion>:<Parameter>
wobei mehrere Parameter durch Komma getrennt werden. Die in [ ] angegeben Parameter sind optional.
Aktion | call |
Parameter | SIP-Adresse |
Ruft die angegebene SIP-Adresse an. Beispiel:
call:**613 |
Aktion | out |
Parameter | Output-Pin-Alias,Wert[,Endwert,Zeit in Sekunden[,Interrupt-Pin]] |
Setzt den Output-Pin-Alias auf Wert und optional nach Ablauf der Zeit auf Endwert. Beim Auslösen von Interrupt-Pin wird die Zeit abgebrochen. Folgendes Beispiel setzt den Output-Pin "Tueroffner" für 3 Sekunden auf 1, anschließend auf 0: out:Tueroeffner,1,0,3 |
Aktion | os_execute |
Parameter | Befehl |
Führt das Systemkommando Befehl aus. Beispiel os_execute:/usr/local/bin/myscript.sh |
Aktion | mailto |
Parameter | Empfänger,Betreff,Nachricht,Snapshot(Boolean) |
Sendet eine E-Mail an Empfänger mit der Möglichkeit ein Bild von der Kamera als Anhang hinzuzufügen. |
Aktion | sleep |
Parameter | Zeit in Sekunden |
Pausiert für Zeit in Sekunden. |
Aktion | hangup |
Parameter | Zeit in Sekunden |
Legt einen Anruf nach Ablauf von Zeit in Sekunden auf. |
Aktion | file_call_value |
Parameter | Dateiname |
Initiiert einen Anruf an die in Dateiname hinterlegte SIP-Nummer. |
Aktion | log |
Parameter | Nachricht |
Schreibt Nachricht ins Logfile. |
Aktion | take_snapshot |
Parameter | - |
Speichert ein Bild von der Kamera in den gegebenen Ordner. Siehe snapshot_path im [DoorPi] Bereich. Es wird fswebcam benötigt: sudo apt-get install fswebcam |
Dieser Teil beinhaltet die Grundeinstellungen für den doorpi Webserver.
Schlüssel | ip |
Wert | IP Adresse |
Vorgabe | - |
IP Adresse des Webservers |
Schlüssel | port |
Wert | Server Port |
Vorgabe | 8080 |
Port Adresse des Webservers |
Schlüssel | indexfile |
Wert | Ressource |
Vorgabe | index.html |
Startseite von DoorPiWeb. |
Schlüssel | loginfile |
Wert | Ressource |
Vorgabe | login.html |
Loginseite von DoorPiWeb. |
Schlüssel | www |
Wert | Pfad |
Vorgabe | !BASEPATH!/../DoorPiWeb |
Pfad zum DoorPiWeb Ordner. |
Schlüssel | online_fallback |
Wert | Webadresse |
Vorgabe | http://motom001.github.io/DoorPiWeb |
Wenn DoorPiWeb nicht erreichbar, wird die aktuelle Webseite von github geladen. |
Schlüssel | public |
Wert | Areaname |
Vorgabe | AREA_public |
Prinzipiell gibt es Nutzer (User) die in Gruppen (Groups) zusammengefasst sind. Diesen Groups sind Bereiche (AREA) zugeteilt, die lesend oder schreibend (noch offen ob das System bleibt!!) genutzt werden können. Die Bereiche (AREA) sind virtuelle und reale Ressourcen, die sich speziell an der URL unterscheiden. Zunächst sollten zuerst die AREAS definiert werden, damit überhaupt ein Zugriff auf die Webseite von doorpi möglich wird.
Die folgenden Sektionen sind die AREAS die bei der Write/Read Permission angegeben wurden und dienen nur als Beispiel. Jedoch muss immer die AREA_public angegeben werden, damit auf das Webinterface zugegriffen werden kann.
Sektion | [AREA_public] |
Wenn keine Berechtigungen notwendig: .* Ansonsten müssen folgende Resourcen angegeben werden: /dashboard/bower_components/.* /dashboard/dist/.* /dashboard/js/.* /dashboard/less/.* /login.html /favicon.ico |
Dies sind nun Beispiele für weitere AREAS:
Sektion | [AREA_config] |
/control/config_value_get /control/config_value_set /control/config_value_delete /control/config_save /control/config_get_configfile |
Sektion | [AREA_dashboard] |
/dashboard/pages/.*html |
Sektion | [AREA_status] |
/status /mirror |
Nachdem die AREAS definiert wurden, können nun Benutzer, Gruppen und die Berechtigungen auf die einzelnen AREAS gesetzt werden.
Sektion | [User] |
Wert | [Benutzername] = [Passwort] |
Beispiel |
admin = admin1234 doorpi = d00rpI visitor = visitor |
Sektion | [Group] |
Wert | [GroupName] = [Benutzername1],[Benutzername2],[...] |
Beispiel |
administrators = admin, doorpi guests = visitor |
Sektion | [WritePermission] und [ReadPermission] |
Wert | [GroupName] = [AreaName] |
Beispiel |
[WritePermission] administrators = dashboard,status,config [ReadPermission] guests = dashboard |
folgt noch