DoorPi-Videotürsprechanlage und HomeMatic

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

mikewolf99
Beiträge: 1322
Registriert: 13.08.2008, 20:57
Wohnort: Österreich nähe Wien
Hat sich bedankt: 7 Mal
Danksagung erhalten: 1 Mal

Re: DoorPi-Videotürsprechanlage und HomeMatic

Beitrag von mikewolf99 » 07.08.2017, 09:55

Hallo,
@Indigo
finde leider nicht wirklich ne Dok über die Web Befehle, früher gabs ne Befehlsrefenz diese finde ich leider nicht mehr ?!
@Thorsten
wäre Super wenn Du dies machen würdest !!

kann mir wer erklären wie ich dies Abfragen bzw steuern kann per web ?!
####################### Virtual keyboard #######################
[webservice_keyboard]
base_path_input = /home/doorpi/keyboard/inputs/
base_path_output = /home/doorpi/keyboard/outputs/
reset_input=false

mfg
mikewolf
CCU2 mit Cuxd und HP CLX ,3 x FHZ2000,2 Funkgateway (eckig),und 2 Funkgateway (rund),RS LanGate
ca 590 Komponenten gemischt HM und FS20 90/10)`CCU auf Cubie LXCCU,CCU auf RPi3 Pivccu,Iobroker auf HPgen8,
Tinker,orangepi,Odroid .....,Sonoffs,Xiaomi und ne Menge esp8266

dtp
Beiträge: 10655
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

Re: DoorPi-Videotürsprechanlage und HomeMatic

Beitrag von dtp » 07.08.2017, 11:56

mikewolf99 hat geschrieben: @Thorsten
wäre Super wenn Du dies machen würdest !!
Hab schon einige Dinge zu den entsprechenden Posts hinzugefügt.

Gruß,

Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

mikewolf99
Beiträge: 1322
Registriert: 13.08.2008, 20:57
Wohnort: Österreich nähe Wien
Hat sich bedankt: 7 Mal
Danksagung erhalten: 1 Mal

Re: DoorPi-Videotürsprechanlage und HomeMatic

Beitrag von mikewolf99 » 08.08.2017, 22:54

Hallo Thorsten,

danke für Deine Infos ,

werde am We probieren am Projekt weiter zu arbeiten und Deine Tipps umzusetzen,


Mit freundlichen Grüßen
mikewolf
CCU2 mit Cuxd und HP CLX ,3 x FHZ2000,2 Funkgateway (eckig),und 2 Funkgateway (rund),RS LanGate
ca 590 Komponenten gemischt HM und FS20 90/10)`CCU auf Cubie LXCCU,CCU auf RPi3 Pivccu,Iobroker auf HPgen8,
Tinker,orangepi,Odroid .....,Sonoffs,Xiaomi und ne Menge esp8266

mikewolf99
Beiträge: 1322
Registriert: 13.08.2008, 20:57
Wohnort: Österreich nähe Wien
Hat sich bedankt: 7 Mal
Danksagung erhalten: 1 Mal

DoorPi-Videotürsprechanlage und HomeMatic

Beitrag von mikewolf99 » 09.08.2017, 13:39

Hallo Thorsten,
Noch ne frage wie kann ich von pc aus Zustände des Doorpi abfragen bzw setzten ?
Finde auch im Doorpi Forum nichts und die Resonanz ist eher bescheiden .
Vom Doorpi ausschalten ist kein
Problem
Eines noch für die virtuelle. Tasten wird ein Pfad in der door.ini angegeben , sollte dort ne Datei sein und wenn ja wie soll diese aussehen
Auch hier lässt mich das Wiki im Stich

Mit besten Dank im Voraus
Mike


Gesendet von iPhone mit Tapatalk
CCU2 mit Cuxd und HP CLX ,3 x FHZ2000,2 Funkgateway (eckig),und 2 Funkgateway (rund),RS LanGate
ca 590 Komponenten gemischt HM und FS20 90/10)`CCU auf Cubie LXCCU,CCU auf RPi3 Pivccu,Iobroker auf HPgen8,
Tinker,orangepi,Odroid .....,Sonoffs,Xiaomi und ne Menge esp8266

dtp
Beiträge: 10655
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

Re: DoorPi-Videotürsprechanlage und HomeMatic

Beitrag von dtp » 09.08.2017, 14:58

Hallo Mike!
mikewolf99 hat geschrieben: Noch ne frage wie kann ich von pc aus Zustände des Doorpi abfragen bzw setzten ?
Hier mal ein Beispiel zur direkten Ansteuerung des PiFace-Moduls per Browser.

In meiner doorpi.ini habe ich die Ein- und Ausgänge meines PiFace-Moduls folgendermaßen konfiguriert:

Code: Alles auswählen

[keyboards]
onboardpins = piface
virtual = filesystem

[onboardpins_InputPins]
0 = Klingel
1 = Briefkasten-Klappe
2 = Briefkasten-Tuer
3 = Briefkasten-Status
4 = Licht
5 = Briefkasten-Sabotage
6 = Tueroeffner
7 = Auflegen

[onboardpins_OutputPins]
0 = Verstaerker
1 = Tueroeffner
2 = Briefkasten-Status-LED
7 = DoorPi-Alive-LED
Mit folgenden Befehlen ist es mir nun möglich, die Eingänge zu simulieren und ggf. die Ausgänge zu schalten:

Code: Alles auswählen

# Laufender Betrieb von DoorPi
# Klingel simulieren
http://192.xxx.xxx.xxx:80/control/trigger_event?event_name=OnKeyPressed_onboardpins.0&event_source=doorpi.keyboard.from_piface

# Briefkasteneinwurf simulieren
http://192.xxx.xxx.xxx:80/control/trigger_event?event_name=OnKeyPressed_onboardpins.1&event_source=doorpi.keyboard.from_piface

# Briefkastenleerung simulieren
http://192.xxx.xxx.xxx:80/control/trigger_event?event_name=OnKeyPressed_onboardpins.2&event_source=doorpi.keyboard.from_piface

# Abfrage Briefkastenstatus simulieren
http://192.xxx.xxx.xxx:80/control/trigger_event?event_name=OnKeyPressed_onboardpins.3&event_source=doorpi.keyboard.from_piface

# Haustürlicht einschalten
http://192.xxx.xxx.xxx:80/control/trigger_event?event_name=OnKeyPressed_onboardpins.4&event_source=doorpi.keyboard.from_piface

# Sabotage Briefkasten-Serviceklappe simulieren
http://192.xxx.xxx.xxx:80/control/trigger_event?event_name=OnKeyPressed_onboardpins.5&event_source=doorpi.keyboard.from_piface

# Türöffner aktivieren
http://192.xxx.xxx.xxx:80/control/trigger_event?event_name=OnKeyPressed_onboardpins.6&event_source=doorpi.keyboard.from_piface

# DoorPi-Anruf beenden
http://192.xxx.xxx.xxx:80/control/trigger_event?event_name=OnKeyPressed_onboardpins.7&event_source=doorpi.keyboard.from_piface

Mit

Code: Alles auswählen

# Liste aller aktuellen Events
http://192.xxx.xxx.xxx:80/dashboard/pages/status.modules.eventhandler.html
kann ich zudem sämtliche Events abfragen.
mikewolf99 hat geschrieben: Eines noch für die virtuelle. Tasten wird ein Pfad in der door.ini angegeben , sollte dort ne Datei sein und wenn ja wie soll diese aussehen
Ehm, redest Du jetzt vom virtuellen Filesystem? Das habe ich bei mir in der doorpi.ini so konfiguriert:

Code: Alles auswählen

[keyboards]
onboardpins = piface
virtual = filesystem
...
[virtual_keyboard]
base_path_output = /usr/local/etc/DoorPi/filesystem/outputs/
base_path_input = /usr/local/etc/DoorPi/filesystem/inputs/

[virtual_InputPins]
briefkastenstatus = out:Briefkasten-Status-LED,1,0,6
Die Briefkasten-Status-LED steuere ich nun über den Befehl

Code: Alles auswählen

echo true > /usr/local/etc/DoorPi/filesystem/inputs/briefkastenstatus
wobei sich im Verzeichnis "/usr/local/etc/DoorPi/filesystem/inputs" lediglich eine leere Datei mit dem Namen "briefkastenstatus" ohne weitere Endung befindet, die dann einfach mit "true" gefüllt wird.

Hoffe, das hilft Dir weiter.

Gruß,

Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

dtp
Beiträge: 10655
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

9. Steuerung von DoorPi-Events per SIRI

Beitrag von dtp » 13.08.2017, 14:15

Die Einrichtung der Homebridge auf einem Raspberry Pi für die HomeMatic wurde ja hier von thkl sehr gut beschrieben und umgesetzt.

Zusätzlich muss man jetzt nur noch das homebridge-http-simple-switch-Plugin mit dem Befehl

Code: Alles auswählen

sudo npm install -g homebridge-http-simple-switch
installieren und die config.json entsprechend konfigurieren. Dazu einfach unter accessories die folgenden Codezeilen einfügen

Code: Alles auswählen

"accessories": [{
  "accessory": "SimpleHttpSwitch",
  "name": "Türöffner",
  "url": "http://<DoorPi-User>:<DoorPi-Passwd>@<DoorPi-URL>:<Port>/control/trigger_event?event_name=OnKeyPressed_onboardpins.<PiFace-Eingang gem. doorpi.ini>&event_source=doorpi.keyboard.from_piface",
  "default_state_off": true, 
  "sendimmediately": "",
  "http_method": "GET"
}],
wobei "<DoorPi-User>" und "<DoorPi-Passwd>" die Anmeldedaten für den DoorPi bezeichnen (die Default-Werte für DoorPi-User und DoorPi-Passwd lauten "door" und "pi") und "<DoorPi-URL>" und "<Port>" die IPv4-Adresse des Raspis, auf dem der DoorPi läuft, sowie den zugehörigen Port (in der Regel 80 oder 8080) bezeichnen.

Da ich bei mir den Türöffner über ein Relais des PiFace-Moduls ansteuere, das in der doorpi.ini über Eingang "6" angesteuert wird, müsste ich in obiger Codeseqenz "<PiFace-Eingang gem. doorpi.ini>" noch einfach durch eine 6 ersetzen. Nun kann nach einem Neustart der homebridge der Türöffner einfach mit "Hey SIRI, schalte den Türöffner" geöffnet werden.

Leider hat aber das homebridge-http-simple-switch-Plugin den kleinen Nachteil, dass das zugehörige Schaltersymbol in der Home App immer zwischen an und aus toggelt, obwohl es sich eigentlich nur um einen Taster handelt. Bisher habe ich hierfür noch keine Lösung gefunden. Allerdings schränkt das Problem die Funktionsweise nicht ein.

Hier übrigens noch eine Übersicht meiner config.json aus dem homebridge-config-ui-Plugin:
Homebridge_configjson.png
Dieses Plugin ist aber lediglich ein "Nice to Have" und daher für den Betrieb der Homebridge optional.

Gruß,

Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

dtp
Beiträge: 10655
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

10. Umleiten von Gesprächen bei Abwesenheit

Beitrag von dtp » 15.08.2017, 14:53

Ich lasse mir ja per Telegram eine Push-Nachricht inkl. Bild auf mein Handy zusenden, wenn es an der Haustür geklingelt hat. Nun kann es aber auch interessant sein, Gespräche mit dem DoorPi über das Handy zu führen, wenn man nicht zuhause ist.

Auch dafür bietet der DoorPi eine Möglichkeit, nämlich mit dem kleinen Kommando "file_call_value:", das an entsprechender Stelle und mit entsprechendem Datei-Link versehen in die doorpi.ini einzufügen ist.

Maßnahmen im DoorPi

Zunächst muss im Verzeichnis "/usr/local/etc/DoorPi" eine Datei (z.B. "rufumleitung.txt") angelegt werden, in die die anzurufende Rufnummer eingetragen wird.

Code: Alles auswählen

sudo nano /usr/local/etc/DoorPi/rufumleitung.txt

Bei mir ist das die in der FRITZ!Box hinterlegte Nummer 11 für den Gruppenruf der SIP-Türsprechanlage. Nano anschließend mit "Strg-X" und "J" beenden und der Datei "rufumleitung.txt" mit

Code: Alles auswählen

sudo chmod 777 /usr/local/etc/DoorPi/rufumleitung.txt

die notwendigen Ausführungs-, Schreib- und Leserechte verpassen.

In der doorpi.ini wird nun der Befehl

Code: Alles auswählen

[EVENT_OnKeyPressed_onboardpins.0]
10 = call:xxxxx
ersetzt durch

Code: Alles auswählen

[EVENT_OnKeyPressed_onboardpins.0]
10 = file_call_value:/usr/local/etc/DoorPi/rufumleitung.txt
Das war's auch schon.

Maßnahmen auf der CCU

Auf der CCU sollte CUxD installiert und das Gerät "CUxD.CUX2801001:1.CMD_EXEC" eingerichtet sein. Hier eine Kurzanleitung zur Einrichtung des CUxD-Geräts:
  1. Unter CUxD-Gerätetyp das Gerät "(28) System-Exec" auswählen und den Rest am besten unverändert lassen (Seriennummer: 1, etc.).
  2. Anschließend auf "Gerät auf CCU erzeugen!" klicken.
  3. Danach in WebUI in den Posteingang für neue Geräte gehen und den neuen Gerätetyp bestätigen.
  4. Zur Sicherheit CCU neu booten.
Weitere Informationen zum Thema findet ihr an dieser Stelle. Wer mag, kann dem Gerätetyp unter Geräte auch noch einen neuen Namen geben. Bei mir heißt er z.B. "CCU CUxD Exec" bzw. der entsprechende Kanal 1 "CCU CUxD Exec 1". Das ist aber nicht notwendig. Man kann den Eintrag auch unverändert lassen, da der Aufruf stets mit dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC") erfolgt, also unabhängig vom vergebenen WebUI-Namen ist.

Damit nun automatisch zwischen internem und externen Ruf umgeschaltet werden kann, empfiehlt sich das Beschreiben der obigen Datei "rufumleitung.txt" z.B. in Abhängigkeit von einer Änderung des Anwesenheitszustands. Zudem muss die CCU die notwendigen Rechte erhalten, um auf die Datei "rufumleitung.txt" zugreifen zu können.

Falls ihr noch eine CCU2 oder älter habt, sollte als erstes das Addon "ssh-keydir" unter Zusatzsoftware installiert werden. Dieses findet sich z.B. hier zum Download. Nach der Installation von "ssh-keydir" einen Neustart der CCU durchführen. Für die CCU3 ist "ssh-keydir" obsolet, da dessen Funktionalität bereits integriert ist. Anschließend ist es notwendig, sich als root auf der CCU einzuloggen und folgende Kommandos einzeln nacheinander auszuführen:

Code: Alles auswählen

1. mount -o remount,rw /
2. ssh-keygen -b 2048 -t rsa
3. Nach Hinweis "Enter file in which to save the key (/root/.ssh/id_rsa):" Return drücken 
4. Nach Hinweis "Enter passphrase (empty for no passphrase):" Return drücken
5. Nach Hinweis "Enter same passphrase again:" Return drücken
6. cat /root/.ssh/id_rsa.pub | ssh pi@<IP-Adresse des DoorPi> 'cat >>/home/pi/.ssh/authorized_keys'
wobei "<IP-Adresse des DoorPi>" mit der IP des DoorPi (z.B. 192.168.0.20) zu ersetzen ist. Abschließend wird man noch nach dem Passwort für die Shell des DoorPi gefragt. Nun ist die CCU in der Lage, ohne weitere Passwort-Abfrage die Datei "rufumleitung.txt" auf dem DoorPi-Raspberry zu beschreiben.

Als nächstes wird ein kleines WebUI-Programm auf der CCU erstellt, dass in Abhängigkeit von einer Änderung der Anwesenheits-Systemvariablen ausgeführt wird.
EG Briefkasten PRG LBoxPi Rufumleitung.PNG
In diesem Programm wird jeweils ein kleines Skript bei Änderung auf An- oder Abwesenheit mit folgendem Inhalt aufgerufen:

Code: Alles auswählen

! Rufumleitung DoorPi bei Anwesenheit
! Version 1.0, Autor: dtp

! Telefonnummer, auf die DoorPi-Anrufe bei Anwesenheit umgeleitet werden
string phone = "11"; ! z.b. Rufnummer für die Gruppenfunktion der SIP-Türsprechanlage

! Einwahldaten des DoorPi
string login = "pi@192.xxx.xxx.xxx";

! #####################################################################
! ##### ab hier bitte keine weiteren Einstellungen mehr vornehmen #####
! #####################################################################

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("echo "#phone#" | ssh "#login#" 'cat > /usr/local/etc/DoorPi/rufumleitung.txt'");

Code: Alles auswählen

! Rufumleitung DoorPi bei Abwesenheit
! Version 1.0, Autor: dtp

! Telefonnummer, auf die DoorPi-Anrufe bei Abwesenheit umgeleitet werden
string phone = "0123456789"; ! eigene Handynummer

! Einwahldaten des DoorPi
string login = "pi@192.xxx.xxx.xxx";

! #####################################################################
! ##### ab hier bitte keine weiteren Einstellungen mehr vornehmen #####
! #####################################################################

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("echo "#phone#" | ssh "#login#" 'cat > /usr/local/etc/DoorPi/rufumleitung.txt'");
Gruß,

Thorsten
Zuletzt geändert von dtp am 01.01.2019, 12:11, insgesamt 3-mal geändert.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Alexxx2005
Beiträge: 250
Registriert: 17.12.2014, 18:56
Hat sich bedankt: 19 Mal
Danksagung erhalten: 3 Mal

Re: DoorPi-Videotürsprechanlage und HomeMatic

Beitrag von Alexxx2005 » 09.01.2018, 21:17

Hey Thorsten,

tolles Projekt hast du fertig gestellt !

das Piface sollte noch extra aktiviert werden ?

Unter :

https://www.element14.com/community/thr ... hread=true

ist etwas beschrieben aber leider bekommt man da nur
Fehlermeldungen , nach welcher Anleitung hast du es
installiert / konfiguriert ?

Viele Grüße Alex

dtp
Beiträge: 10655
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

Re: DoorPi-Videotürsprechanlage und HomeMatic

Beitrag von dtp » 10.01.2018, 08:46

Hi Alex,

eigentlich brauchst Du nur unter raspi-config das SPI auf "Enabled" setzen. Dann sollte das PiFace 2 entsprechend nutzbar sein.

Ich hatte ja eingangs geschrieben, dass das PiFace-Modul aktuell nicht von Raspbian Stretch unterstützt wird. Da scheint es nun aber wohl einen Workaround zu geben. Hier gibt's näher Infos dazu. Unter Raspbian Jessie musst du ansonsten eigentlich nichts weiter machen.

Gruß,

Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Alexxx2005
Beiträge: 250
Registriert: 17.12.2014, 18:56
Hat sich bedankt: 19 Mal
Danksagung erhalten: 3 Mal

Re: DoorPi-Videotürsprechanlage und HomeMatic

Beitrag von Alexxx2005 » 13.01.2018, 00:05

Hallo Thorsten,

danke der Link hat mir geholfen , nun ist es möglich über

Code: Alles auswählen

{Event_OnKeyPressed_onboardpins.6}


Eingänge zu schalten.

Finde es schade das die Befehlserklärung etwas mager ist :
https://github.com/motom001/DoorPi/wiki/Configfile
hat mir zwar weitergeholfen trotzdem sind mir noch paar Sachen
unklar vielleicht kannst du mir da weiterhelfen:

- Was bedeutet der Area Installer und muss man da etwas eintragen
- Welche Bedeutung haben die Ziffern in deinem Beispiel hinter
Türöffner oder Briefkasten

und zu guter letzt das eintragen der Handynummer in der Text Datei
funktioniert nicht, die Text Datei ist angelegt und die Rechte vergeben,
eine SSH Verbindung wurde eingerichtet und über "ssh @192.168.**" die
Verbindung hergestellt und die Maßnahmen auf der Raspberrymatic anhand
deinen Befehlen eingetragen, bei id_rsa , passphrase habe ich 3x Enter gedrückt.
Sobald ich aber die Variable auf True oder False ändere wird meine Text Datei
beim DoorPi nicht geändert.

Skript habe ich das von Dir getestet oder

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801010:1.CMD_EXEC").State("echo +49171XXXX | ssh pi@192.168.XXX.XXX 'cat > /usr/local/etc/DoorPi/rufumleitung.txt'");
Habe ich noch etwas vergessen oder geht das bei Raspberrymatic anders ?

VIele Grüße Alex

Antworten

Zurück zu „Projektvorstellungen“