Hallo Forum,
ich habe folgende Aufgabenstellung.
Ich möchte bei der Ausschalten eines Receiver einen Rasperry Pi via Befehl zum Herunterfahren bringen und dann nach sicherem shutdown, die Stromversorung abstellen.
Hat das schon mal jemand reaslisiert.
Anmerkungen und Ideen willkommen.
Hallo,
was meinst du mit "Stromversorgung" abstellen?
Läuft FHEM auf dem Raspberry den du runterfahren willst?
Grüße
sollte kein problem sein, der befehl zum sicheren herunterfahren lautet : {system('sudo shutdown -h 0');;}
Ich habe so ein Setup:
1 FHEM-Raspi, und ein separater Kodi-Raspi für die Musik, der an einer Schaltsteckdose hängt.
Meine simple Lösung: beide raspis sind der Einfachhalber gleich aufgesetzt, d.h. auf dem Kodi-Raspi ist auch FHEM und darüber ist auch der Shutdown fernsteuerbar.
Der Ablauf auf dem Haupt-FHEM-Raspi:
1. Befehl an den Kodi-Raspi zum Shutdown schicken (z.B. per FHEM2FHEM)
2. der Kodi-Raspi wird per PRESENCE überwacht (notify), d.h. wenn sich der Kodi-Raspi als absent meldet, schalte ich den Strom weg.
Ist das sowas, wie's Dir vorschwebt? Bei mir ist's noch etwas ausgefeilter, ich hab einen Dummy-Button, der mir auch den jeweiligen Gesamtstatus anzeigt (Up, Down, Upping, Downing), da kann man sich beliebig spielen...
Das klappt ganz gut mit folgendem Befehl:
define RPi_System dummy
attr RPi_System eventMap on:reboot off:halt
attr RPi_System webCmd reboot:halt
define Pi_reboot_Notify notify RPi_System { if (( Value("RPi_System") eq "reboot")) { system("sudo reboot")}}
define Pi_halt_Notify notify RPi_System { if (( Value("RPi_System") eq "halt")) { system("sudo halt")}}
Folgende Einträge müssen aber noch in der Datei etc/sudoers hinzugefügt werden :
# User privilege specification
fhem ALL=NOPASSWD:/sbin/halt, /sbin/reboot
Gruß
Tom
Wozu dafür extra eine zusätzliche FHEM-Instanz?
Per ssh mit dem anderen Rechner verbinden und dann shutdown absetzen.
Wenn man die Password-Abfrage umgehen will, muss man den entsprechenden Key hinterlegen.
Gleichzeitig ein 2-Minuten-at anlegen oder bei presence einen watchdog zum Ausschalten der entsprechenden Funksteckdose.
Zitat von: Hollo am 29 August 2015, 14:49:28
Wozu dafür extra eine zusätzliche FHEM-Instanz?
Per ssh mit dem anderen Rechner verbinden und dann shutdown absetzen.
Wenn man die Password-Abfrage umgehen will, muss man den entsprechenden Key hinterlegen.
Gleichzeitig ein 2-Minuten-at anlegen oder bei presence einen watchdog zum Ausschalten der entsprechenden Funksteckdose.
Hallo Hollo, vielen Dank für die Antwort.
Kannst du mir für diese Lösung den fhem.cfg Ausschnitt zeigen?
Zitat von: Hollo am 29 August 2015, 14:49:28
Wozu dafür extra eine zusätzliche FHEM-Instanz?
wohl wahr, wenn es nur um den Shutdown geht, gibt's natürlich andere Lösungen. Das mit dem ssh-Key ist etwas Gefrickle, aber da finden sich im Internet genügend Anleitungen.
Hollo?
Zitat von: cornelius fillmore am 30 August 2015, 11:50:47
Hallo Hollo, vielen Dank für die Antwort.
Kannst du mir für diese Lösung den fhem.cfg Ausschnitt zeigen?
Nicht direkt... ;D
Ich nutze sowas in der Art auf meinem Linux-Server, damit der automatisch das Backups-System per WakeOnLan startet, sich dann per ssh verbindet und per rsync die Daten synchronisiert. Anschliessend wird die Kiste dann wieder runtergefahren. Das passiert aber alles in einem Bash-Script.
Aber ich hab mal für Dich die Suche benutzt...
http://forum.fhem.de/index.php/topic,34905.msg272198.html#msg272198 (http://forum.fhem.de/index.php/topic,34905.msg272198.html#msg272198)
http://linux.robert-scheck.de/software/ssh-key/ (http://linux.robert-scheck.de/software/ssh-key/)
Hallo.
Ich häng mich hier mal mit rein.
Ich möchte meinen Raspberry auch per Tastendruck herunterfahren. Der Taster hängt an einem MCP23017 und soweit ist alles eingerichtet und funktioniert.
Allerdings möchte ich, das der raspberry erst heruntergefahren wird, wenn der Taster länger als 3 Sekunden gedrückt wird.
Wie muss ich die 3 Sekunden Verzögerung in das Notify einbauen? Sleep bringt mich ja nicht weiter...
Gruß
beSmart
Zitat von: Hollo am 01 September 2015, 23:06:34
s-System per WakeOnLan startet, sich dann per ssh verbindet und per rsync die Daten synchronisiert. Anschliessend wird die Kiste dann wieder runtergefahren. Das passiert aber alles in einem Bash-Script.
Aber ich hab mal für Dich die Suche benutzt...
http://forum.fhem.de/index.php/topic,34905.msg272198.html#msg272198 (http://forum.fhem.de/index.php/topic,34905.msg272198.html#msg272198)
http://linux.robert-scheck.de/software/ssh-key/ (http://linux.robert-scheck.de/software/ssh-key/)
thx
Zitat von: beSmart am 02 September 2015, 21:30:18
Ich möchte meinen Raspberry auch per Tastendruck herunterfahren. Der Taster hängt an einem MCP23017 und soweit ist alles eingerichtet und funktioniert.
Allerdings möchte ich, das der raspberry erst heruntergefahren wird, wenn der Taster länger als 3 Sekunden gedrückt wird.
Wie muss ich die 3 Sekunden Verzögerung in das Notify einbauen? Sleep bringt mich ja nicht weiter...
Ich weiß nicht ganz Deine Frage, aber ich mache das so: http://www.forum-raspberrypi.de/Thread-tutorial-hoch-und-runterfahren-mittels-taster-incl-status-led
Zu Deiner eigentlichen Frage: DOIF kennt Wait und Doppelbetätigung. Du müsstest aber ein "long press" erkennen. Dein Taster müsste also echt den Status ändern und Du müsstetst in in einer Schleife drei sekunden abfragen ob er immer gedrückt ist.
Gruß Otto