Befehl zu shtudown eines Raspi senden

Begonnen von cornelius fillmore, 29 August 2015, 10:39:01

Vorheriges Thema - Nächstes Thema

cornelius fillmore

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.
3 x Fhem 5.9 mit RPI

Knallfrosch

Hallo,

was meinst du mit "Stromversorgung" abstellen?

Läuft FHEM auf dem Raspberry den du runterfahren willst?


Grüße

DieterL

sollte kein problem sein, der befehl zum sicheren herunterfahren lautet : {system('sudo shutdown -h 0');;}
Raspi 2, Cul868, CUL433, Jeelink,HM-USB,4 *ITM100, 6* FHT8V, 6*CMR500, x-FS20 Komp., X- FS20 ST-4, 6* FS20 DI22-4 , YWT-8500, 4* Sonos Play:1, 2* Sonos Pl5, div selbstgestrickte Sensoren, 5* S555TH,9 * LaCrosse TX 29-IT, Philips Hue, 4* Piri-2,HomeMatic 4-Kanal-Schalter, 2*Velux,Bluetooth Stick

Doggiebert

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...
SW: FHEM 5.5, Raspian, XBMC, Testinstallation auf Win7
HW: Raspi B, 32GB SD, enocean Pi, RFXTRX433E, BSC - MwC-32, Onkyo TX-NR709, Samsung UE55F8090, Jung LS-Eno, permundo SmartPlug, KDG-FB 6490cable (ohne FHEM)

Tom111

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
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

Hollo

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.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

cornelius fillmore

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?
3 x Fhem 5.9 mit RPI

Doggiebert

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.
SW: FHEM 5.5, Raspian, XBMC, Testinstallation auf Win7
HW: Raspi B, 32GB SD, enocean Pi, RFXTRX433E, BSC - MwC-32, Onkyo TX-NR709, Samsung UE55F8090, Jung LS-Eno, permundo SmartPlug, KDG-FB 6490cable (ohne FHEM)

cornelius fillmore

3 x Fhem 5.9 mit RPI

volschin

Intel NUC+Ubuntu 24.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7690, Echo Dots+Show8, HomeBridge

Hollo

#10
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://linux.robert-scheck.de/software/ssh-key/
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

beSmart

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

cornelius fillmore

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://linux.robert-scheck.de/software/ssh-key/

thx
3 x Fhem 5.9 mit RPI

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz