SSH Befehle über FHEM senden ?

Begonnen von Qunatz, 22 Mai 2015, 04:23:01

Vorheriges Thema - Nächstes Thema

Qunatz

Hi, ist es möglich über FHEM SSH Befehle zu senden ?

FHEM sollte sich in einen Pi einloggen und einen SSH Befehl abgeben. Es soll ein RAW Befehl sein, dass an pilight geht.

sudo pilight-send -p raw --code="316 948 316 948 948 316 316 948 948 316 948 316 948 316 316 948 316 948 316 948 948 316 316 948 316 948 316 948 316 948 316 948 948 316 316 948 316 948 316 948 316 948 948 316 316 948 316 948 316 10744"

Mit diesem Befehl fährt die Leinwand runter. Es muss ein RAW Befehl sein, weil die Leinwand von Pilight nicht unterstützt wird.

Danke :)

duke-f

Ich nutze für die Ansteuerung eines IR-Senders mit lirc an einem zweiten Raspi dort ein FHEM in Minimal-Konfiguration und steuere Mittels FHEM2FHEM. Kann mir vorstellen das wäre auch hier eine Lösungsmöglichkeit.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

jsloot

Ja, das sollte gehen. Ich führe den ssh-Befehl zwar nicht direkt aus, aber ich führe ein bash-Skript aus, und das wiederum verbindet sich via ssh auf einem anderen Rechner und aktiviert eine Webcam:

system('/Ueberwachung/cam1/start_cam1.sh &')

Das sollte aber auch direkt gehen, sofern du passwordless ssh eingerichtet hast.

Gruß Jörn
Ein FHEM-Raspi mit HM-CFG-USB-2. 9 HM Heizthermostate, 9 HM Temperatursensoren, 22 HM Fensterkontakte, 7 Rolloaktoren, 17 HM Unterputz-Aktoren

klausw

Zitat von: Qunatz am 22 Mai 2015, 04:23:01
Hi, ist es möglich über FHEM SSH Befehle zu senden ?

Ja, das geht.
Eine Lösung ist, für den User unter dem FHEM läuft ein Schlüsselpaar (ohne Passwort) anzulegen und den öffentlichen Schlüssel auf dem Pi hinterlegen.
klick
Dann wird beim Start von ssh kein Passwort mehr abgefragt und du kannst mit
ssh user@ip sudo pilight-send -p raw --code="316 948 316 948 948 316 316 948 948 316 948 316 948 316 316 948 316 948 316 948 948 316 316 948 316 948 316 948 316 948 316 948 948 316 316 948 316 948 316 948 316 948 948 316 316 948 316 948 316 10744"
deinen Befehl ausführen.
Je nachdem, wo in FHEM du das nutzen willst müssen die Hochkommas und auch @ escaped werden.

RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Qunatz

Ich habe vergessen zu erwähnen, dass FHEM und Pilight auf ein und dem selben Pi laufen  :-[

Im Link wird ja von Local und remote geredet. oder ist es egal ?

Trotzdem danke schonmal für die Nachrichten :)

jsloot

Zitat von: Qunatz am 25 Mai 2015, 20:17:40
Ich habe vergessen zu erwähnen, dass FHEM und Pilight auf ein und dem selben Pi laufen  :-[

Im Link wird ja von Local und remote geredet. oder ist es egal ?

Trotzdem danke schonmal für die Nachrichten :)

Und warum dann ssh?
Ein FHEM-Raspi mit HM-CFG-USB-2. 9 HM Heizthermostate, 9 HM Temperatursensoren, 22 HM Fensterkontakte, 7 Rolloaktoren, 17 HM Unterputz-Aktoren

Qunatz

#6
Ich kann nur über ssh meine Leinwand steuern, da Pilight (Prog um Steckdosen zu schalten) die Leinwand noch nicht in der Datenbank hat. Gibt es ne andere Möglichkeit Pilight den Raw Befehl zu senden ? Über HTTP vlt ? Ich les mich darüber grad ein.


Edit: Über HTTP gehts nicht :(

Fällt Klausw noch etwas ein ?

jsloot

Zitat von: Qunatz am 25 Mai 2015, 21:37:35
Ich kann nur über ssh meine Leinwand steuern, da Pilight (Prog um Steckdosen zu schalten) die Leinwand noch nicht in der Datenbank hat. Gibt es ne andere Möglichkeit Pilight den Raw Befehl zu senden ? Über HTTP vlt ? Ich les mich darüber grad ein.


Edit: Über HTTP gehts nicht :(

Fällt Klausw noch etwas ein ?

Moment, jetzt verstehe ich nur Bahnhof. Du hast eine Leinwand, die an einer Funksteckdose hängt. Diese willst du über den RAW-Code via pilight aktivieren. Dazu musst du pilight mit dem obigen Kommando starten. Soweit korrekt?

Jetzt nochmal meine Frage, wenn FHEM und pilight auf demselben RPi laufen, warum dann ssh? Dann kannst du doch auch Pilight direkt starten....
Ein FHEM-Raspi mit HM-CFG-USB-2. 9 HM Heizthermostate, 9 HM Temperatursensoren, 22 HM Fensterkontakte, 7 Rolloaktoren, 17 HM Unterputz-Aktoren

Qunatz

Pilight kann RAW Befehle nur über SSH ausführen, weder übers WEBGUI sonst noch über einen Befehl über HTTP.

FHEM müsste sich nur einloggen und den Befehl absetzen.

jsloot

Wie kommst du denn darauf? Du kannst doch deinen Befehl

pilight-send -p raw --code="316 948 316 948 948 316 316 948 948 316 948 316 948 316 316 948 316 948 316 948 948 316 316 948 316 948 316 948 316 948 316 948 948 316 316 948 316 948 316 948 316 948 948 316 316 948 316 948 316 10744"

ganz normal auf deinem RPi absetzen. Wofür brauchst du da ssh? Pilight ist auf deinem RPi installiert, auf dem du auch fhem laufen hast, oder? Dann setz den Befehl in fhem doch einfach über system('pilight-send -p raw --code="316 948 316 948 948 316 316 948 948 316 948 316 948 316 316 948 316 948 316 948 948 316 316 948 316 948 316 948 316 948 316 948 948 316 316 948 316 948 316 948 316 948 948 316 316 948 316 948 316 10744"')

ab. Ich versteh dein Problem nicht.
Ein FHEM-Raspi mit HM-CFG-USB-2. 9 HM Heizthermostate, 9 HM Temperatursensoren, 22 HM Fensterkontakte, 7 Rolloaktoren, 17 HM Unterputz-Aktoren

Qunatz

Vielen Dank jsloot !!!! So hat es hingehaun. ich wusste nicht, dass FHEM direkt Befehle ans System senden kann. Diese Funktion macht es ja verdammt mächtig :))


jsloot

Dann hast du meine erste Antwort (3. Beitrag) hier wohl übersehen  ;) na, egal... Hauptsache es funktioniert.


Zitat von: jsloot am 23 Mai 2015, 08:30:18
Ja, das sollte gehen. Ich führe den ssh-Befehl zwar nicht direkt aus, aber ich führe ein bash-Skript aus, und das wiederum verbindet sich via ssh auf einem anderen Rechner und aktiviert eine Webcam:

system('/Ueberwachung/cam1/start_cam1.sh &')

Das sollte aber auch direkt gehen, sofern du passwordless ssh eingerichtet hast.

Gruß Jörn
Ein FHEM-Raspi mit HM-CFG-USB-2. 9 HM Heizthermostate, 9 HM Temperatursensoren, 22 HM Fensterkontakte, 7 Rolloaktoren, 17 HM Unterputz-Aktoren