Seite 9 von 15

Re: DoorPi-Videotürsprechanlage und HomeMatic

Verfasst: 22.12.2018, 17:46
von Bahni
OK, jetzt kam keine Fehlermeldung mehr.
Wenn ich jetzt in der Homematic auf "Skript testen" gehe und deinen Skript:

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'");
eingebe (mit meiner Nummer und IP natürlich) und auf "Ausführen" klicke müsste es doch die Rufnummmer in die "rufumleitung.txt" schreiben?
Geht so aber nicht?

Re: DoorPi-Videotürsprechanlage und HomeMatic

Verfasst: 22.12.2018, 19:13
von Alexxx2005
wahrscheinlich wurde die datei nicht mit Schreibrechten versehen,
dann geht es nicht.

Code: Alles auswählen

Sudo chmod 777 /usr/local/etc/DoorPi/rufumleitung.txt
mfg Alex

Re: DoorPi-Videotürsprechanlage und HomeMatic

Verfasst: 22.12.2018, 19:39
von Bahni
Doch, laut Anleitung vom Thorsten, siehe viewtopic.php?f=18&t=30357&p=377548#p377548 habe ich die Schreibrechte vergeben.
Wie muss der Skript genau aussehen, müssen die Semikolon bei der IP Adresse mit geschrieben werden?
Ich habe es jetzt so probiert:

Code: Alles auswählen

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

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

! Einwahldaten des DoorPi
string login = pi@192.168.1.36;

! #####################################################################
! ##### 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'");

Re: DoorPi-Videotürsprechanlage und HomeMatic

Verfasst: 22.12.2018, 19:55
von dtp
Kommst du per ssh auf deine CCU?

Falls ja, dann führe mal den Befehl

Code: Alles auswählen

echo '01234' | ssh 'pi@192.xxx.xxx.xxx' 'cat > /usr/local/etc/DoorPi/rufumleitung.txt'
direkt im Terminal aus und schaue, was als Meldung angezeigt wird.

Re: DoorPi-Videotürsprechanlage und HomeMatic

Verfasst: 22.12.2018, 20:01
von Bahni
Ja, ich komme per SSH auf die CCU.
Es wird nichts ausgegeben, es wird nur nach den Passwort verlangt.
Hier die Ausgabe:

Code: Alles auswählen

login as: root
root@192.168.1.225's password:
# echo '01234' | ssh 'pi@192.168.1.36' 'cat > /usr/local/etc/DoorPi/rufumleitung.txt'
pi@192.168.1.36's password:
#
Es hat aber, habe ich gerade geschaut, die "01234" in die "rufumleitung.txt" geschrieben.

Wie muss der Skript für die Homematic genau aussehen, Semikolon vor und nach der IP?

Re: DoorPi-Videotürsprechanlage und HomeMatic

Verfasst: 22.12.2018, 20:17
von dtp
Das ist doch schon mal gut, wenn die Rufnummer in die Datei geschrieben wird.

Versuch's beim Skript mal mit Anführungszeichen um die Strings:

Code: Alles auswählen

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

! Einwahldaten des DoorPi
string login = "pi@192.168.1.36";
Ohne wird das nichts.

Re: DoorPi-Videotürsprechanlage und HomeMatic

Verfasst: 22.12.2018, 20:33
von Bahni
Geht leider nicht.
Es passiert nichts auch die Skript Ausgabe bleibt leer.

Was macht diese Zeile genau:

Code: Alles auswählen

cat /root/.ssh/id_rsa.pub | ssh pi@<IP-Adresse des DoorPi> 'cat >>/home/pi/.ssh/authorized_keys'
Wenn ich mit WinSCP auf den DoorPi in "home/pi/" schaue gibt es dort kein Verzeichnis ".ssh" ?

Re: DoorPi-Videotürsprechanlage und HomeMatic

Verfasst: 27.12.2018, 11:26
von Bahni
Habe nun alles auf den neuesten Stand gebracht, auch den CUx-Daemon.
Leider funktionier das schreiben in die "rufumleitung.txt" nicht.
Wenn ich den Skript nach "Skript testen" kopiere und Ausführe passiert nichts, auch in der Ausgabe nichts/keine Fehlermeldung.
Hat jemand noch eine Idee?

Re: DoorPi-Videotürsprechanlage und HomeMatic

Verfasst: 28.12.2018, 16:34
von Bahni
edi7 hat geschrieben:
11.02.2018, 15:56

Auf einen Fehler den ich lange bei mir gesucht habe, weil das schalten nicht funktionierte möchte ich hinweisen:
Habe die keine "Ausführrechte" der auszuführenden Datei vergeben gehabt. :(

pi@raspberrypi:/usr/local/etc/DoorPi $ cd skripts/
pi@raspberrypi:/usr/local/etc/DoorPi/skripts $ ls -l
total 4
-rw-r--r-- 1 root pi 196 Feb 11 14:36 opendoor.sh
pi@raspberrypi:/usr/local/etc/DoorPi/skripts $ sudo chmod 755 opendoor.sh
pi@raspberrypi:/usr/local/etc/DoorPi/skripts $ ls -l
total 4
-rwxr-xr-x 1 root pi 196 Feb 11 14:36 opendoor.sh
pi@raspberrypi:/usr/local/etc/DoorPi/skripts $ sudo /etc/init.d/doorpi start
[ ok ] Starting doorpi (via systemctl): doorpi.service.
pi@raspberrypi:/usr/local/etc/DoorPi/skripts $

nachdem ich die Rechte vergeben habe, hat alles funktioniert.
Nur so am Rande, ein Tipp. :D
Müssen diese Ausführungsrechte, wie es edi7 hier beschreibt, noch gesetzt werden damit es funktioniert?

Re: DoorPi-Videotürsprechanlage und HomeMatic

Verfasst: 29.12.2018, 13:09
von Sebastian65432
Hallo,

habe noch mal die SD Karte gewechselt und daher noch mal neu installiert. Bei mir wollte die Rufumleitung auch erst nicht funktionieren (obwohl ich es ja vorher am laufen hatte).

Die Scripte auf der CCU hatte ich von Thorsten übernommen und Telefonnummer und IP ausgetauscht. Da ich an der CCU nichts gemacht hatte, musste ich also nur den Passkey neu einrichten. Dennoch konnte ich anfangs keine Telefonnummer in die rufumleitung.txt schreiben.

Nachdem ich folgendes noch mal gemacht hatte: viewtopic.php?f=18&t=30357&sid=0ea9cc34 ... 80#p478214
ging es dann. Warum auch immer.

@Bahni:
Du schriebst, dass bei Dir nach einem Passwort gefragt wurde:
login as: root
root@192.168.1.225's password:
# echo '01234' | ssh 'pi@192.168.1.36' 'cat > /usr/local/etc/DoorPi/rufumleitung.txt'
pi@192.168.1.36's password:
#
Das war bei mir nicht so. Daher vermute ich mal, dass Du den Passkey eventuell nicht sauber ausgetauscht hast.

Ich mache das so:
Zu erst gehe ich die Schritte, wie von Throsten beschrieben, durch (siehe viewtopic.php?f=18&t=30357&p=377548&hil ... Pi#p377548. Wenn ich an dem folgenden Punkt bin, lasse ich Schritt 6 erst mal aus:

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'
Bevor ich Schritt 6 ausführe, lege ich auf dem DoorPi Raspi das Verzeichnis .ssh an:

Code: Alles auswählen

cd /home/pi
sudo mkdir .ssh
sudo chmod 777 /home/pi/.ssh
Dann ziehe ich mir die Datei /root/.ssh/id_rsa.pub per ftp von der CCU auf den Desktop, benne sie in "authorized_keys" (Auchtung, Dateiendung) und kopiere sie auf dem DoorPi Raspi nach /home/pi/.ssh/ (ebenfalls per ftp).

Dann gebe ich den oben zunächst ausgelassen Schritt 6 ein.

Zum Testen gebe folgendes auf der CCU ein (mit meinen IP's):

Code: Alles auswählen

login as: root
root@192.168.1.225's password:
# echo '01234' | ssh 'pi@192.168.1.36' 'cat > /usr/local/etc/DoorPi/rufumleitung.txt' 
#
An diesem Punkt wollte er von mir auch kein Passwort mehr. Dann die Skripte übernommen und es lief.