Per ssh Befehle/Signale an FHEM schicken

Begonnen von Berndd, 13 Dezember 2015, 22:17:39

Vorheriges Thema - Nächstes Thema

Berndd

Hallo,
möchte mit einem Raspberry (Pi2) mit PiNoir Kamera einen Befehl bei FHEM auf einem anderen Raspberry (Pi1) auslösen, z.B. das Schalten einer Steckdose. Besser wäre noch das erzeugen eines Signals, das man Aktoren auslösen lassen kann. 

Es ist mir gelungen, von der Kamera ausgelöst, eine Steckdose schalten, allerdings direkt über das Betriebssystem (wiringpi): ssh pi@192.168.178.59 " /usr/local/bin/send 00001 3 1". Somit ändert sich in FHEM der Status der Steckdose nicht ... FHEM bemerkts nicht.

Wie kann ich das als Befehl für FHEM realisieren? Ich bin bisher bei
ssh pi@<IP FHEM Server Pi1> perl /opt/fhem/fhem.pl 7072  "set Steckdose3 off"

gelandet

und bekomme folgende Fehlermeldung
Usage: set <name> <type-dependent-options>
where <name> is a single device name, a list separated by komma (,) or a regexp. See the devspec section in the commandref.html for details.

Unknown command Steckdose3, try help.
Unknown command off, try help.


Ich bin also schon mal zu FHEM durchgetunnelt

In der Befehlsreferenz sind am Anfang zwei weitere Befehlsbeispiele angegeben, die ich genauso erfolglos übertragen habe, hier mit Fehlermeldungen:

{fhem("set lamp off")}-->
Zitatssh pi@<IP FHEM Server Pi1> {fhem  ("set Steckdose3 off")}
bash: Syntaxfehler beim unerwarteten Wort `('

"fhem.pl 7072 "set lamp off"" -->
Zitatssh pi@<IP FHEM Server Pi1> "perl /opt/fhem/fhem.pl 7072  "set Steckdose3 off""
Usage: set <name> <type-dependent-options>
where <name> is a single device name, a list separated by komma (,) or a regexp. See the devspec section in the commandref.html for details.
Unknown command Steckdose3, try help.
Unknown command off, try help.

Offensichtlich funktioniert der Zugang, aber es wird z.B. "set Steckdose3 off" als drei Befehle angesehen.

Ich denke es fehlt nicht mehr all zu viel ... aber was?
   
Gurten Abend,
Bernd
Raspberry pi 1 rev. 2, Wheezy (Linux raspberrypi1 4.1.7+ #817 PREEMPT), FHEM 5.7, JeeLink clone thx Robin, nanoCUL433, Signalduino, BrennenstuhlSteckdosen, LaCrosse Sensoren. LÄUFT NICHT: Energiemessung - Revolt NC-5462, Bresser Erdfeuchtesensor

viegener

Das Problem ist, dass über die ssh-Verbindung die Anführungsstriche um Deinen Befehl entfernt werden und dann sind es 3 Befehle.
Die anderen Beispiele funktionieren nicht in einer unix shell sondern innerhalb von fhem.

Vorschlag: Du könntest probieren das Kommando nicht nur in Anführunsstriche sondern auch in "Quotes" zu setzen also z.B. so

ssh pi@<IP FHEM Server Pi1> perl /opt/fhem/fhem.pl 7072  "'set Steckdose3 off'"
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Berndd

HURRAAAA ;D ;D!
Es hat geklappt. Ich denke Dir, viegener.

Was zwei solche Strichelchen doch ausmachen,
Bernd
Raspberry pi 1 rev. 2, Wheezy (Linux raspberrypi1 4.1.7+ #817 PREEMPT), FHEM 5.7, JeeLink clone thx Robin, nanoCUL433, Signalduino, BrennenstuhlSteckdosen, LaCrosse Sensoren. LÄUFT NICHT: Energiemessung - Revolt NC-5462, Bresser Erdfeuchtesensor

viegener

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Berndd

Hallo, falls es eine(n) interessiert, so ist es mir geliúngen, von einem Rechner im gleichen Netzwerk (motion detection camera: Raspberry+motion+motioneye) einen Befehl  auf den FHEM-Server auszugeben:
ssh <FHEM-user> @<FHEMServer IP> perl /opt/fhem/fhem.pl 7072  "'<FHEM command>'"
Anmerkungen:
The FHEM command has to be between apostrophs and quotes
The FHEMServer must be accessible by the root of the motioneye-server via ssh without password input (./ssh/id-rsa handling!)

Gute Nacht ,
Bernd   

P.S. Thanks to viegener and Frank
Raspberry pi 1 rev. 2, Wheezy (Linux raspberrypi1 4.1.7+ #817 PREEMPT), FHEM 5.7, JeeLink clone thx Robin, nanoCUL433, Signalduino, BrennenstuhlSteckdosen, LaCrosse Sensoren. LÄUFT NICHT: Energiemessung - Revolt NC-5462, Bresser Erdfeuchtesensor

Berndd

Hallo, falls es eine(n) interessiert, so ist es mir geliúngen, von einem Rechner im gleichen Netzwerk (motion detection camera: Raspberry+motion+motioneye) einen Befehl  auf den FHEM-Server auszugeben:
ssh <FHEM-user> @<FHEMServer IP> perl /opt/fhem/fhem.pl 7072  "'<FHEM command>'"
Anmerkungen:
The FHEM command has to be between apostrophs and quotes
The FHEMServer must be accessible by the root of the motioneye-server via ssh without password input (./ssh/id-rsa handling!)

Gute Nacht ,
Bernd   

P.S. Thanks to viegener and Frank
Raspberry pi 1 rev. 2, Wheezy (Linux raspberrypi1 4.1.7+ #817 PREEMPT), FHEM 5.7, JeeLink clone thx Robin, nanoCUL433, Signalduino, BrennenstuhlSteckdosen, LaCrosse Sensoren. LÄUFT NICHT: Energiemessung - Revolt NC-5462, Bresser Erdfeuchtesensor