DoorPi-Videotürsprechanlage und HomeMatic

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

dtp
Beiträge: 10658
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 » 14.11.2018, 11:12

Hallo Sebastian,

sorry, dass ich mich erst jetzt wieder melde. Hatte die letzte Zeit etwas viel um die Ohren. Hoffe, dass ich demnächst dazu komme, dir hier weiter zu helfen.

Kurz noch mal nachgefragt. Dein DoorPi läuft soweit, ja? Sprich, es geht im Moment einzig im die Shell-Skripte, oder?

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.

Sebastian65432
Beiträge: 116
Registriert: 14.05.2018, 19:50
Danksagung erhalten: 8 Mal

Re: DoorPi-Videotürsprechanlage und HomeMatic

Beitrag von Sebastian65432 » 14.11.2018, 11:32

Hallo Thorsten,

ja genau. DoorPi läuft soweit (wobei der Raspi noch nicht mit der Klingelanlage verkabelt ist - dazu komme ich hoffentlich am Wochenende).

Im Augenblick bin ich bei den Skripten weiß nicht genau wo ich ansetzten soll. Läuft das Skript nicht, oder läuft es, aber die Einstellungen sind falsch...? Da hänge ich gerade.

Grüße, Sebastian

Sebastian65432
Beiträge: 116
Registriert: 14.05.2018, 19:50
Danksagung erhalten: 8 Mal

Re: DoorPi-Videotürsprechanlage und HomeMatic

Beitrag von Sebastian65432 » 15.11.2018, 13:11

Bin jetzt ein Stück weiter.
Ich weiß schon gar nicht mehr, was ich alles probiert habe - aber die Skripte laufen jetzt.
Haustürklingel.jpg wird gespeichert.
Bei den Pushnachrichten musste ich improvisieren. Die Homematic schreibt in die Systemvariable immer "alle" beim senden. Stelle ich die Variable auf "Pushover" manuell um, dann klappt der Versand - bis die CCU wieder irgendwas sendet. Habe das Skript (Klingel) jetzt so geändert, da ich Telegram nicht nutze:

Code: Alles auswählen

# Push-Nachricht senden
  if [ -n "$PoUser1" ] # Benutzer 1
    then
    curl -s -k -F token=$PoHMinfo -F user=$PoUser1 -F message="$PoMessage" -F attachment="@/home/pi/Haustürklingel.jpg" -F priority=$PoPrio -F sound=$PoSound -F html=1 "https://api.pushover.net/1/messages.json"
  fi
  if [ -n "$PoUser2" ] # Benutzer 2
    then
    curl -s -k -F token=$PoHMinfo -F user=$PoUser2 -F message="$PoMessage" -F attachment="@/home/pi/Haustürklingel.jpg" -F priority=$PoPrio -F sound=$PoSound -F html=1 "https://api.pushover.net/1/messages.json"
  fi

Damit läuft es.

Was immer noch offen ist, der Punkt mit dem Auslösen auf der Homematic:

Code: Alles auswählen

HMiseid3=1017 # "EG Briefkasten VT Klingel"
Hier weiß ich noch nicht, was ich da machen soll/kann. Ich habe das so verstanden, dass dies einen zuvor angelegten virtuellen Schalter in der CCU betätigen soll...

@Thorsten - habe gelesen, ihr hattet einen Trauerfall - mein Beileid. Wenn Du Gelegenheit hast, mir zu antworten, freue ich mich. Ich bin Dir allerdings auch schon für die Anleitung bisher sehr dankbar. Als Maschinenbauer wäre ich ohne Deine Arbeit+Dokumentation nicht so weit gekommen.

dtp
Beiträge: 10658
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 » 19.11.2018, 09:42

Sebastian65432 hat geschrieben:
15.11.2018, 13:11
habe gelesen, ihr hattet einen Trauerfall - mein Beileid.
Danke.
Sebastian65432 hat geschrieben:
15.11.2018, 13:11
Bei den Pushnachrichten musste ich improvisieren. Die Homematic schreibt in die Systemvariable immer "alle" beim senden. Stelle ich die Variable auf "Pushover" manuell um, dann klappt der Versand - bis die CCU wieder irgendwas sendet. Habe das Skript (Klingel) jetzt so geändert, da ich Telegram nicht nutze:
Das verstehe ich nicht ganz.

1. DoorPi und die CCU haben - was das Versenden der Push-Nachrichten angeht - eigentlich nichts miteinanander zu tun. Die laufen komplett unabhängig voneinander. DoorPi nutzt z.B. das zPNP nur insofern, als es den eingestellten Push-Dienst abfragt. Der Versand der Push-Nachricht erfolgt dann direkt über die eigenen Shell-Skripte. Aber es kann sein, dass es da mit der Einstellung "alle" noch ein Problem gibt. Ich prüfe das bei Gelegenheit mal.

2. Wenn du schreibst, dass die Systemvariable (du solltest ihren Namen dazu schreiben) immer auf "alle" gesetzt wird, dann kann das nur an einem der das zPNP aufrufenden Skripte auf der CCU liegen. Normalerweise wird das nämlich nicht explizit gesetzt, so dass eine einmal gewählte Einstellung ihren Wert beibehalten sollte.
Sebastian65432 hat geschrieben:
15.11.2018, 13:11
Was immer noch offen ist, der Punkt mit dem Auslösen auf der Homematic:

Code: Alles auswählen

HMiseid3=1017 # "EG Briefkasten VT Klingel"


Hier weiß ich noch nicht, was ich da machen soll/kann. Ich habe das so verstanden, dass dies einen zuvor angelegten virtuellen Schalter in der CCU betätigen soll...
Korrekt. Die virtuelle Taste nutze ich z.B., um beim Klingeln an der Haustür das Licht im Büro des Kellers kurzzeitig aufblinken zu lassen, weil man dort die Klingel nicht hört. Ich weiß es nicht mehr so genau, weil es schon so lange her ist, aber es könnte auch sein, dass ich die VT auch für den ioBroker verwende, um mir dort in VIS das Kamerabild einblenden zu lassen. Da schau ich aber noch mal nach. Diesbezüglich ist ja auch noch was in meiner Anleitung offen. :roll:
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.

Sebastian65432
Beiträge: 116
Registriert: 14.05.2018, 19:50
Danksagung erhalten: 8 Mal

Re: DoorPi-Videotürsprechanlage und HomeMatic

Beitrag von Sebastian65432 » 19.11.2018, 13:28

Hallo,

zu 1.: Ja, der Versand klappt mit meiner Anpassung soweit - abgesehen davon, dass die Färbung des Textes (<font color=orange>in Abwesenheit</font>) nicht übernommen wird - sprich der Text hat durchgängig die gleich Farbe. Damit kann ich aber Leben.

zu 2.: mit Systemvariable war die "CCU SV Push Dienst" gemeint. Ja, das Skript auf der CCU setzt den Wert, wenn von dort eine Nachricht gesendet wird. Bei Zeiten schaue ich mir das aber noch mal an, aber da derzeit mit der Veränderung in den Skripten die Nachrichten brauchbar gesendet werden, schiebt sich die Baustelle erst mal nach hinten.

Gestern habe ich die Anlage unten in den Briefkasten eingebaut und ich bin begeistert. Es funktioniert sowohl die Annahme und das Öffnen auf dem FritzFon, als auch auf dem Siedle. In der Wohnung über uns funktioniert auch noch alles.

Derzeit hänge ich noch der an Anbindung andere Geräte:
I.) Homematic:
Ich würde gerne per Schalter die Tür öffnen können. Szenario: Die Kinder (sie verlieren gerne ihre Haustürschlüssel) bekommen die Schlüsselbundfernbedienung (HmIP-KRCA) und können damit die Haustür öffnen. Ich bin dabei der folgenden Anleitung gefolgt: https://www.doorpi.org/forum/thread/105 ... 6#post1656 .Wenn ich die URL direkt eingebe (mit angepasster IP und Port) klappt es und der Türsummer summt, nachdem ich User und Passwort eingegeben habe. Antwort im Browser:

Code: Alles auswählen

{
    "message": "fire Event was success", 
    "success": true
}
Leider klappt es aus der CCU heraus nicht. Liegt es vielleicht daran, dass die DoorPi unter Stretch läuft?

Code: Alles auswählen

! Haustüröffner per DoorPi auslösen
string url;

url="'http://192.168.1.159:8081/control/trigger_event?event_name=OnKeyPressed_onboardpins.6&event_source=doorpi.keyboard.from_piface'";

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null --user=XXX --password=XXX "#url);
II.) Rufweiterleitung:
Hier hänge ich fest, weil ich die rufumleitung.txt nicht beschrieben bekomme. Ich bin der Anleitung: viewtopic.php?f=18&t=30357&p=377548&hil ... Pi#p377548 gefolgt, aber durch das Skript bei Abwesenheit wird die rufumleitung.txt nicht verändert. In der Datei bleibt die 11 aus der Erstellung der Datei. Vielleicht hilft das weiter:

Code: Alles auswählen

#
# cat /root/.ssh/id_rsa.pub | ssh pi@192.168.1.159 'cat >>/home/pi/.ssh/authorized_keys'
pi@192.168.1.159's password:
bash: /home/pi/.ssh/authorized_keys: Datei oder Verzeichnis nicht gefunden
#
III.) IoBroker:
Auch würde ich gerne die Tür aus ioBroker öffnen können. Ganz ähnlich Deiner Umsetzung: download/file.php?id=47501&mode=view . Hier weiß ich aber noch nicht, wie ich das mit dem User und Passwort anstelle:
Unbenannt.JPG
Bei allen drei Punkte würde ich mich über Hilfe freuen. Ausprobiert habe ich schon allerlei.
Grüße, Sebastian

dtp
Beiträge: 10658
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 » 19.11.2018, 16:23

Sebastian65432 hat geschrieben:
19.11.2018, 13:28
Gestern habe ich die Anlage unten in den Briefkasten eingebaut und ich bin begeistert. Es funktioniert sowohl die Annahme und das Öffnen auf dem FritzFon, als auch auf dem Siedle. In der Wohnung über uns funktioniert auch noch alles.
Glückwunsch. Damit hast du definitiv die allergrößten Hürden schon genommen. Den Rest kriegen wir auch noch hin. 8)

Für alle obigen Punkte I) bis III) ist es wesentlich, dass der Raspi Zugriff auf die CCU erhält. Dazu musst du - wie hier beschrieben - einen Passkey auf der CCU erzeugen und in die Datei "/home/pi/.ssh/authorized_keys" auf dem Raspi schreiben. Am besten legst du zunächst auf dem Raspi unter "/home/pi/" das Verzeichnis ".ssh" an und vergibst die notwendigen Schreibrechte:

Code: Alles auswählen

cd /home/pi
sudo mkdir .ssh
sudo chmod 777 /home/pi/.ssh
Danach dann gemäß der Anleitung im oben zitierten Posting vorgehen. Achtung: du musst dich dazu als root auf der CCU einloggen.

Wenn die Schritte erfolgreich durchlaufen wurden, sollte sich die Datei "authorized_keys" auf deinem DoorPi-Raspi befinden. Schließlich noch die Rechte des .ssh-Verzeichnisses wieder mit

Code: Alles auswählen

sudo chmod 755 /home/pi/.ssh
einschränken.
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.

Sebastian65432
Beiträge: 116
Registriert: 14.05.2018, 19:50
Danksagung erhalten: 8 Mal

Re: DoorPi-Videotürsprechanlage und HomeMatic

Beitrag von Sebastian65432 » 19.11.2018, 21:58

ja super, das hat soweit schon mal geklappt. Danke. Damit kann ich II von der Liste streichen. :D

Bei I und III komme ich leider immer noch nicht weiter. Wenn ich das Skript https://www.doorpi.org/forum/thread/105 ... 6#post1656 starte erzeuge summt der Türsummer immer noch nicht. Auf DoorPi erscheint die folgende Meldung unter Events:
9V38D4 |WebServerAuthUnknownUser | doorpi.status.webserver_lib.session_handler | Mon Nov 19 2018 21:38:54 GMT+0100 (Mitteleuropäische Normalzeit)
Grüße, Sebastian

dtp
Beiträge: 10658
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 » 20.11.2018, 07:43

Also zum Auslösen des DoorPi-Haustüröffners über die CCU legst du zunächst das folgende WebUI-Programm an.
EG Haustür PRG Türöffner.png
Als Trigger verwendest du die in der CCU angelegte virtuelle Taste und/oder einen anderen Sender. Die Systemvariable "CCU SV Status" dient hier dazu, dass das Programm beim Neustart der CCU nicht automatisch ausgelöst wird. Sie ist also zunächst mal nicht so wichtig.

Hier dann das zugehörige Skript.

Code: Alles auswählen

! Haustüröffner per DoorPi auslösen
! Version 1.0, Autor: dtp

! +++++ Variablendeklaration +++++
string url;

! +++++ DoorPi aufrufen +++++
url="'http://192.xxx.xxx.xxx:80/control/trigger_event?event_name=OnKeyPressed_onboardpins.6&event_source=doorpi.keyboard.from_piface'";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null --user=xxxxx --password=xxxx "#url);
Unter "url" musst du natürlich die IP-Adresse deines DoorPi-Raspis statt der "192.xxx.xxx.xxx" eintragen. Der Port 80 sollte gesetzt sein. Unter "event_name" und "event_source" müssen die zugehörigen Parameter der doorpi.ini gemäß nachfolgendem Screenshot eingetragen werden.
2018-11-20_07h44_44.jpg
2018-11-20_07h44_44.jpg (34.09 KiB) 1809 mal betrachtet
Da ich den Türöffner über Pin 6 des PiFace-Moduls auslöse, steht bei mir "doorpi.keyboard.from_piface" und "OnKeyPressed_onboardpins.6" drin. Wichtig sind dann noch die Login-Daten für den DoorPi unter "user" und "password" des wget-Aufrufs. So sollte es eigentlich klappen.

Um zu testen, ob der externe Aufruf der doorpi.ini überhaupt funktioniert, kannst du direkt in deinem Browser auch mal folgendes eingeben, wobei du natürlich wieder die obigen Parameter für die IP-Adresse sowie den Türöffner unter "event_name" und "event_source" eintragen musst:

Code: Alles auswählen

http://192.xxx.xxx.xxx:80/control/trigger_event?event_name=OnKeyPressed_onboardpins.6&event_source=doorpi.keyboard.from_piface
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.

Sebastian65432
Beiträge: 116
Registriert: 14.05.2018, 19:50
Danksagung erhalten: 8 Mal

Re: DoorPi-Videotürsprechanlage und HomeMatic

Beitrag von Sebastian65432 » 20.11.2018, 22:37

Hallo Thorsten, vielen Dank!!! Jetzt läuft alles. :P :P :P
Mein Fehler war, dass ich User und Passwort des Raspi und nicht die Zugangsdaten von Doorpi selbst genommen habe. Gibt man nämlich die URL so wie von Dir beschrieben im Browser ein :

Code: Alles auswählen

http://192.xxx.xxx.xxx:80/control/trigger_event?event_name=OnKeyPressed_onboardpins.6&event_source=doorpi.keyboard.from_piface
klappt es auch mit den Zugangsdaten vom Raspi irgendwie.

III war dann nur noch ein Katzensprung. Da hier eventuell auch andere hängen, meine Vorgehensweise, um von iobroker die Tür ebenfalls öffnen zu können.

Zunächst habe ich in der CCU eine Systemvariable angelegt (Logikwert). Diese habe ich bei mir "DoorPi Haustür Öffner öffnet" genannt und dann folgendes Programm erstellt:
2.JPG
Das Skript "! Haustüröffner per DoorPi auslösen" habe ich von dtp (siehe vorheriges Post) übernommen.

Als nächstes habe ich auf DoorPi in der doorpi.ini (zu finden in /usr/local/etc/DoorPi/conf/) folgendes unter [EVENT_OnKeyPressed_onboardpins.0] hinzugefügt: 30 = os_execute:curl http://192.168.1.158:8087/set/javascrip ... ubscribe=1. Das sieht bei mir jetzt so aus:

Code: Alles auswählen

[EVENT_OnKeyPressed_onboardpins.0]
10 = file_call_value:/usr/local/etc/DoorPi/rufumleitung.txt
20 = os_execute:/usr/local/etc/DoorPi/scripts/Klingel.sh
30 = os_execute:curl http://192.168.1.158:8087/set/javascript.0.DoorPi.States.Ring?value=true&event=doorpi&subscribe=1
Wer wie Throsten noch das Licht beim Klingel steuert, muss anstelle der 30 die 40 als Zeilennummer nehmen. Diesen Schritt habe ich hier übernommen: https://www.doorpi.org/forum/thread/647 ... 2#post7602

Nun bin ich zum ioBroker gegangen und habe einen Datenpunkt unter javascript.0.DoorPi.States mit dem Namen "Ring" (type: state) erzeugt. Der Datenpunkt "Ring" wird durch den vorherigen Schritt aus DoorPi heraus auf "true" gesetzt, sobald jemand klingelt.

Jetzt geht es darum, in ioBroker die Oberfläche zu erstellen:
Zuerst habe ich eine neue View in Vis angelegt (die View heißt bei mir FunktionDoorPi) und das Bild der Kamera eingefügt. Dazu habe ich das Widget "basic iframe" benutzt und bei Quelle die URL der Kamera eingegeben:
1.JPG
Unter das Bild habe ich einen "Button" gesetzt. Dazu habe ich das Widget "basic - HTML State" genommen und folgende Eintragung unter Allgemein vorgenommen:
3.JPG
Außerdem habe ich den Hintergrund grau gemacht.

Auf der Hautpview habe ich nun das Widget "basic - view in widget" genommen mit folgenden Einstellungen:
4.JPG
und das Widget schön mittig platziert. Durch die Einstellungen bei Sichtbarkeit wird die View nur angezeigt, wenn es an der Tür geklingelt hat.

Damit ich mit dem Button die Tür öffnen kann, musste ich noch Richtung Script gehen. Da meine Fähigkeiten nicht ausreichen, um direkt in Javascript zu schreiben, habe ich dies mit Blocky umgesetzt. Das ganze funktioniert so: Wenn ich den Button "Tür Öffnen" drücke, wird die Variable "HaustürÖffner" auf "true" gesetzt. Das Programm setzt dabei die Variable "DoorPi Hautür Öffner öffnet" auf true, was über die CCU (siehe Post von dtp) den Türsummer betätigt. Außerdem werden die Variablen "DoorPi.States.Ring" sowie "HaustürÖffner" wieder zuückgesetet. Dadruch verschwindet auch die View wieder aus dem Sichtfeld.
5.JPG
Das war es eigentlich schon. Wer möchte, kann neben den Butten "Tür öffnen" in der View "FunktionDoorPi" noch auf gleiche Weise den Butten "Fenster schließen" platzieren. Mit den folgenden Einstellungen schließt sich dann die View wieder, ohne dass die Tür geöffnet wurde.
6.JPG
Es gibt bestimmt noch elegantere Wege. Zum Beispiel habe ich noch nicht herausgefunden, wie ich das Öffnen der Tür direkt aus ioBroker auslöse - aber immerhin, es funktioniert.

@Thorsten: Du hast einen tollen Schreibstil und kannst es bestimmt nachvollziehbarer beschreiben. Das Projekt hat mich drei Wochen beschäftigt - als Laie hätte ich es ohne Deine Anleitung nicht hinbekommen. Bis auf Kleinigkeiten läuft jetzt alles. Vielleicht kann ich mit dem Beitrag zumindest ein bisschen zurück geben :-)
Grüße, Sebastian

dtp
Beiträge: 10658
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 » 21.11.2018, 08:19

Hallo Sebastian,

danke. Freut mich wirklich, dass jetzt alles soweit funktioniert. Und vielen Dank für Deine ioBroker-Anleitung. Die bin ich ja bisher noch schuldig geblieben. 8) Nun hast du mir da etwas abgenommen.

Viel Spaß weiterhin mit dem DoorPi. Bei mir läuft er wirklich seit mehreren Jahren - im Winter, wie im Sommer - problemlos durch. Thomas, aka @motom001, hat da wirklich etwas richtig Tolles geschaffen.

Zwischendrin hatte ich immer mal wieder an die Einbindung eines Nextion-Displays gedacht, wie es z.B. @pah hier beschrieben hat. Aber ich habe das bisher immer wieder verworfen, weil ich es eigentlich nicht brauche und meine Frau mir vermutlich die Hölle heiß machen würde. 8)

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.

Antworten

Zurück zu „Projektvorstellungen“