Entfernten Raspberry herunterfahren und ausschalten

Begonnen von t_schlueter, 24 Januar 2017, 16:57:18

Vorheriges Thema - Nächstes Thema

t_schlueter

Hi,

bin erst seit 3 Monaten in FHEM unterwegs und habe da mal eine Frage.

Ich möchte einen entfernten Raspberry herunterfahren wenn ich in FHEM als abwesend (Bluetooth) gemeldet bin.
Das mit dem Shutdown funktioniert, nun möchte ich den Raspberry nach 120 sek ausschalten (hängt an einer Funkdose) und habe das script erweitert. Leider funktioniert das so nicht. Könnte da mal einer rübersehen und mir einen Tipp geben :-)

defmod Hotspot_Torsten_Off notify HA.Torsten:off { GetHttpFile("192.168.178.44", "/shutdown.php");;;; .* sleep 120 ("set Hotspot_DStar off") }
Danke

DeeSPe

Da Du den Inhalt von "shutdown.php" nicht preis gibst, wird Dir diesbezüglich kaum jemand helfen können!

Mir stellt sich allerdings die Frage warum man einen Webserver + PHP benötigt um ein System herunterzufahren...
Schon mal was von SSH gehört? Das kann man sogar passwortlos einrichten und dann den entsprechenden shutdown Befehl absetzen.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

t_schlueter

Moin,

auf dem anderen Raspi läuft ein Webserver. Ich sende mit dem FHem nur einen Befehl zum Shutdown.
Wie gesagt funktioniert das so ja auch. Ich möchte danach aber nach 120 sek Wartezeit (shutdown komplett) den Schalter Hotspot_DStar ebenfalls schalten. Mag vielleicht umständlich klingen aber da der Raspi nur hier im Netz läuft ist die Methode aus meiner Sicht die beste. So muss ich keine Passworte etc hinterlegen und kann den Befehl auch von jedem Browser senden.

Es geht mir nur um das "wait 120" und anschließend der Schalter "Hotspot_DStar"

DeeSPe

Zitat von: t_schlueter am 24 Januar 2017, 17:49:32
Moin,

auf dem anderen Raspi läuft ein Webserver. Ich sende mit dem FHem nur einen Befehl zum Shutdown.
Wie gesagt funktioniert das so ja auch. Ich möchte danach aber nach 120 sek Wartezeit (shutdown komplett) den Schalter Hotspot_DStar ebenfalls schalten. Mag vielleicht umständlich klingen aber da der Raspi nur hier im Netz läuft ist die Methode aus meiner Sicht die beste. So muss ich keine Passworte etc hinterlegen und kann den Befehl auch von jedem Browser senden.

Es geht mir nur um das "wait 120" und anschließend der Schalter "Hotspot_DStar"

Und da ich dort auch sonst keine Sicherheit in deinem "shutdown.php" sehe, kann also jede(r) der in Deinem Netzwerk ist diesen Host über Aufruf der URL herunterfahren!?
Das würde mir zu denken geben... ;)
Aber das ist Deine Entscheidung.

Vorschlag:
defmod Hotspot_Torsten_Off notify HA.Torsten:off { GetHttpFile("192.168.178.44", "/shutdown.php");; sleep 120;; fhem "set Hotspot_DStar off" }

Damit solltest Du das erreichen was Du erreichen möchtest.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

t_schlueter

ZitatUnd da ich dort auch sonst keine Sicherheit in deinem "shutdown.php" sehe, kann also jede(r) der in Deinem Netzwerk ist diesen Host über Aufruf der URL herunterfahren!?
Das würde mir zu denken geben... ;)

Auf dem Webserver läuft noch einiges mehr. Ist ein Amateurfunk Hotspot für Digitalfunk. Da dort noch mehr läuft war das mit dem Shutdown die beste Lösung :-)

Ich danke Euch.

DeeSPe

Zitat von: t_schlueter am 24 Januar 2017, 18:02:19
Auf dem Webserver läuft noch einiges mehr. Ist ein Amateurfunk Hotspot für Digitalfunk. Da dort noch mehr läuft war das mit dem Shutdown die beste Lösung :-)

Ich danke Euch.

Und gerade deshalb würde ich da die Sicherheit erhöhen, scheint ja für Dich ein "kritischer Server" zu sein.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

t_schlueter

So kritisch ist das nicht. Läuft nur wenn ich daheim bin und dann überwacht.
Dein Script klappt aber nicht :-)

2017.01.24 18:09:11 1: PERL WARNING: Number found where operator expected at (eval 130294) line 1, near "* sleep 120"
2017.01.24 18:09:11 3: eval: my $EVTPART0='off';my $SELF='Hotspot_Torsten_Off';my $NAME='HA.Torsten';my $EVENT='off';my $TYPE='dummy';{ GetHttpFile("192.168.178.44", "/shutdown.php");;;; .* sleep 120 ("set Hotspot_DStar off") }
2017.01.24 18:09:11 1: ERROR evaluating my $EVTPART0='off';my $SELF='Hotspot_Torsten_Off';my $NAME='HA.Torsten';my $EVENT='off';my $TYPE='dummy';{ GetHttpFile("192.168.178.44", "/shutdown.php");;;; .* sleep 120 ("set Hotspot_DStar off") }: syntax error at (eval 130294) line 1, near "; ."


Wo liegt da der Fehler?

DeeSPe

Du scheinst aber nicht meine Version getestet zu haben, denn es wird ein * bemängelt den es in meiner Version überhaupt nicht gibt!

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

t_schlueter

ZitatDu scheinst aber nicht meine Version getestet zu haben, denn es wird ein * bemängelt den es in meiner Version überhaupt nicht gibt!

Mein Fehler, nun funzt das.

Danke