Hallo,
Ich habe zwei Raspberrypi's am laufen, der eine ist mein Hauptserver, der andere hat ein 433MHz Sender an den GPIOs.
mit dem zweiten Pi kann ich meine Funksteckdosen schalten
per SSH /home/pi/433Utils/RPi_utils/codesend 1394004
In FHEM define off_SittingRoom.Light1 notify SittingRoom.Light1:off {system("/home/pi/433Utils/RPi_utils/codesend 1394004")}
es funktioniert prima....
ich möchte aber nicht zwei FHEMs getrennt nutzen müssen, deswegen habe ich mit SSH Keys es so hingekriegt, dass ich auf dem Hauptserver per SSH Befähle zum zweiten Pi schicken kann, z.B. ssh pi@192.168.1.193 /home/pi/433Utils/RPi_utils/codesend 1394004
funktioniert auch prima....!
allerdings, wenn ich in FHEM (Hauptserver) folgendes in mache define off_SittingRoom.Light1 notify SittingRoom.Light1:off {system("ssh pi@192.168.1.193 /home/pi/433Utils/RPi_utils/codesend 1394004")}
bekomme ich die Fehlermeldung "ssh: Could not resolve hostname pi.168.1.193: Name or service not known"
was kann das Problem sein? Danke schön....
Zitat von: okenny am 29 Dezember 2015, 18:53:25
Hallo,
Ich habe zwei Raspberrypi's am laufen, der eine ist mein Hauptserver, der andere hat ein 433MHz Sender an den GPIOs.
mit dem zweiten Pi kann ich meine Funksteckdosen schalten
per SSH /home/pi/433Utils/RPi_utils/codesend 1394004
In FHEM define off_SittingRoom.Light1 notify SittingRoom.Light1:off {system("/home/pi/433Utils/RPi_utils/codesend 1394004")}
es funktioniert prima....
ich möchte aber nicht zwei FHEMs getrennt nutzen müssen, deswegen habe ich mit SSH Keys es so hingekriegt, dass ich auf dem Hauptserver per SSH Befähle zum zweiten Pi schicken kann, z.B. ssh pi@192.168.1.193 /home/pi/433Utils/RPi_utils/codesend 1394004
funktioniert auch prima....!
allerdings, wenn ich in FHEM (Hauptserver) folgendes in mache define off_SittingRoom.Light1 notify SittingRoom.Light1:off {system("ssh pi@192.168.1.193 /home/pi/433Utils/RPi_utils/codesend 1394004")}
bekomme ich die Fehlermeldung "ssh: Could not resolve hostname pi.168.1.193: Name or service not known"
was kann das Problem sein? Danke schön....
define off_SittingRoom.Light1 notify SittingRoom.Light1:off {system("ssh pi\@192.168.1.193 '/home/pi/433Utils/RPi_utils/codesend 1394004'")}
So sollte es gehen.
Grüße
Danke schön!!! :D
leider geht's aber immer noch nicht.... :-\
jetzt bekomme ich "Host key verification failed."
wenn es per SSH geht, wieso nicht in FHEM?
Danke wieder mal.
Weil Dein user welcher nun SSH macht ein anderer ist. Nämlich Dein FHEM user. Du musst den passkey als FHEM user einmalig erstellen. Oder du kopiert die korrekte Datei aus deinem pi user homeverzeichniss unter .ssh nach fhem homeverzeichniss .ssh
Grüße
Die Datei heißt authorized_keys und befindet sich im Homeverzeichniss unter .ssh
okay, danke.
In meinem /home Verzeichnis finde ich nur ein pi Ordner und kein FHEM Ordner.
muss ich den FHEM Ordner erstellen? :-\
Nein. Du musst in der passwd schauen was für fhem als homeverzeichniss hinterlegt ist. Normalerweise /opt/fhem/
Und warum eigentlich nicht per FHEM2FHEM oder Telnet 7072?
Warum so kompliziert? per ssh?
Gruß Otto
Zitat von: Otto123 am 29 Dezember 2015, 20:03:49
Und warum eigentlich nicht per FHEM2FHEM oder Telnet 7072?
Warum so kompliziert? per ssh?
Gruß Otto
Zitat
ich möchte aber nicht zwei FHEMs getrennt nutzen müssen, deswegen habe ich mit SSH Keys es so hingekriegt, dass ich auf dem Hauptserver per SSH Befähle zum zweiten Pi schicken kann, z.B.
schau dir mal die SYSTAT version von hier: http://forum.fhem.de/index.php/topic,42771.msg348498.html#msg348498 (http://forum.fhem.de/index.php/topic,42771.msg348498.html#msg348498) an.
damit kannst du auch per ssh kommandos an das remote system schicken. den key austausch musst du ein mal vorher von hand machen.
gruss
andre
Ok jetzt hab ich es auch kapiert 8) ich hatte verstanden auf beiden läuft FHEM :-X
Gruß Otto
es spricht nix dagegeb FHEM2FHEM zu nutzen...ich dachte es wäre einfacher mit SSH zu arbeiten... :(
Wie mach ich das mit FHEM2FHEM? Danke
Bitte schau mal ins Wiki rein.
ich habe jetzt im Wiki gelesen und auch schon rum probiert...
eist es definitiv so, dass FHEM2FHEM dafür funktioniert?
Ich nehme an, man braucht ein RAW FHEM2FHEM....
vom Wiki: "RAW
Bei diesem Verbindungstyp werden unaufbereitete Ereignisse (raw messages) des remote FHEM-Geräts devicename genau so empfangen, als wäre das Gerät lokal verbunden.
Einschränkungen: nur Geräte, welche die "Dispatch-Funktion" unterstützen (CUL, FHZ, CM11, SISPM, RFXCOM, TCM, TRX, TUL) erzeugen raw messages, und für jedes entfernte Gerät muss ein eigenes FHEM2FHEM Objekt erzeugt werden."
ich nützte doch keins dieser "CUL, FHZ, CM11, SISPM, RFXCOM, TCM, TRX, TUL"...
Habe ich etwas übersehen? Danke!
du brauchst/darfst kein raw fhem2fhem sonder log.
Zitat von: okenny am 29 Dezember 2015, 21:18:21
ich habe jetzt im Wiki gelesen und auch schon rum probiert...
eist es definitiv so, dass FHEM2FHEM dafür funktioniert?
Im Abschnitt mit LOG FHEM2FHEM steht eigentlich alles drin.
Bau Dir ein Beispiel mit dummys
Gruß Otto
Und pass auf das du dir keine F2F-Schleife baust ;)
es Funktioniert!!! Danke sehr!! ;D ;D ;D ;D ;D
Zitat von: okenny am 29 Dezember 2015, 22:10:31
es Funktioniert!!! Danke sehr!! ;D ;D ;D ;D ;D
Sehr schön.
Dann noch - siehe mein angepinnter Beitrag ;)
Und wie sieht die Lösung aus? Wurde FHEM2FHEM verwendet?
Grüße
ja, mit FHEM2FHEM....
ich denke mein Problem war, dass ich "define xxyz FHEM2FHEM..." in meiner fhem.cfg Datei nachdem ich meine Funksteckdosen definiert hatte, ich habe die reinfolge geändert und es ging.
Es gibt doch Hoffnung für mein Smarthome :)
Zitat von: okenny am 29 Dezember 2015, 22:17:52
ich denke mein Problem war, dass ich "define xxyz FHEM2FHEM..." in meiner fhem.cfg Datei nachdem ich meine Funksteckdosen definiert hatte,
Ich denke dein Problem ist das du die fhem.cfg direkt bearbeitest.
Aber jeder wie er/sie will - nur wäre es nett wenn das im ersten Beitrag gepostet werden würde.
Nur wurde meine Bitte gekonnt ignoriert - sonst würde die Lösung im ersten Beitrag stehen und der Titel mit einem Gelöst markiert sein.
Ich hänge leider an dem Host key verification failed. Problem fest:
Folgendes habe ich vor:
PI1 (mit FHEM) führt einen Script auf PI2(motioneye) aus.
Mit diesem Script soll der Motion Dienst gestartet/gestoppt werden.
Einen Dummy habe ich angelegt und ein notify
motioneye:off {system('/home/pi/motioneye_stop.sh');;}
Das Script funktioniert, nur wenn ich in FHEM schalten möchte kommt die log Meldung "Host key verification failed"
Liege ich richtig, das ich auf dem PI2 einen Key erstelle und auf PI1 einfüge?
Kopiere das Verzeichnis /home/pi/.ssh nach /opt/fhem/ und ändere den Owner und die Gruppe von .ssh in die selben wie die die /opt/fhem hat.
und genau damit habe ich leider ein Problem:
Wie erstelle ich einen SSH-Key?
Muss der User auf dem PI2 auch FHEM heißen, da FHEM den script ausführt?
Der Verification Key wird beim Erstellen der ersten SSH Session generiert und in der Datei unter .ssh abgelegt.
Das Erstellen eines Zertifikates zum Passwortlosen verbinden ist aber was ganz anderes. Ich gehe davon aus das hast Du bereits getan und die entsprechende public key Datei auch hinterlegt.
Grüße
Da habe ich nie einen Key gefunden. Ist der immer in /home/pi/.ssh?
Da ist keine Datei vorhanden, auch nicht versteckt.
Grüsse
Dann hast Du Dich nie als User Pi über SSH mit irgendwas verbunden. Wie die Datei heißt steht auf der ersten Seite des Threads.
Gib mal den Inhalt Deines Scriptes
Habe mich nochmal von PI1 zu PI2 verbunden und umgekehrt. Einen .ssh Ordner gibt es nicht (Versteckte Dateien werden angezeigt)
Der Inhalt ist ganz einfach und lässt sich auch per Terminal ausführen. #!/bin/bash
ssh pi@192.168.2.15 "/home/pi/webcam/./webcam.sh stop"
Wo suchst Du denn .ssh Ordner denn und als welchen User hast Du Dich vom pi1 auf den pi2 verbunden?
Bisschen konkreter bitte
Nochmal zusammen gefasst:
PI1 192.168.2.16 (FHEM)
PI2 192.168.2.20 (WebCam)
Folgendes habe ich vor:
Mit dem notify:
motioneye:off {system('/home/pi/webcam.sh');;}
möchte ich folgendes ausführen:
#!/bin/bash
ssh pi@192.168.2.20 "/home/pi/webcam/./webcam.sh stop"
Das Script läuft auf dem PI2 ohne Probleme. Meine Frage ist: Muss ich auf dem PI2 auch einen "FHEM" User einrichten? Da FHEM die Datei ausführt?
VOn PI1 habe ich mich bereits per SSH an PI2 verbunden