NEWS
Raspi hart stromlos schalten?
-
@hg6806 das könnte daran liegen das er auf das Eingeben des Kennwortes wartet das beim ersten sudo Befehl üblicherweise nötig ist.
I’m übrigen würde ich das blockly ändern: trigger auf “kleiner als” an statt ungleich - dann kann die if Abfrage weg.
I’m übrigen solltest du nicht den iobroker stoppen sondern den pi herunter fahren - per shutdown now oder init 0
A.
-
Stimmt, ich müsste mich ja überhaupt noch irgendwie am Pi anmelden für die Ausführen.
Kann mir jemand sagen wie man das macht und ich dann das ausführe?Wenn ich den Pi herunterfahre, wird dann iobroker vorher normal gestoppt, damit er nicht abschaltet wenn gerade auf eine SD Karte geschrieben wird?
-
@hg6806 sagte:
Wenn ich den Pi herunterfahre, wird dann iobroker vorher normal gestoppt
Ja, die Prozesse werden gekillt und beenden sich dadurch normal. Wie ich gelesen habe, kann es länger dauern, als wenn man ioBroker vorher stoppt. Du kannst per exec auch ein Shell-Skript ausführen, das z.B. so aussehen könnte:
#!/bin/bash iobroker stop sleep 1 shutdown -h 0
EDIT: Alle Befehle ohne sudo.
-
OK, kann ich versuchen.
Weiß aber noch nicht wie ich das über Blockly ausführen kann, wegen dem Anmelden. -
@hg6806
du kannst das mit dem exec blocky machen den du schon benutzt hast. Als text kann da rein"echo xxxx | sudo stop iobroker && sleep 1 && sudo shutdown -h 0", wobei xxxx dein Rpi password sein müsste.
A.
-
Ok, und welcher Use wäre das? Habe gelesen "iobroker", den müsste ich dann noch anlegen oder?
-
@hg6806 sagte:
wegen dem Anmelden.
Habe es mit meiner Testumgebung unter Ubuntu getestet, bei der ioBroker nicht mit root-Rechten läuft: Das Shellskript funktioniert, wenn ich es von Konsole aufrufe (nicht als root), nicht aber mit exec(). Mit exec() wird zwar ioBroker gestoppt, aber kein shutdown ausgeführt.
-
@Asgothian sagte in Raspi hart stromlos schalten?:
"echo xxxx | sudo stop iobroker && sleep 1 && sudo shutdown -h 0"
Welches PW wäre das? Von User "pi" oder "root" (dann bräuchte ich ja auch kein "sudo" mehr)? Und woher weiß ioBroker dass er im Fall von "pi", sich mit "pi" ein,loggt?
Sorry, bin bei Linux etwas unbedarft. -
@hg6806 sagte:
Welches PW wäre das? Von User "pi"
Ja.
@Asgothian sagte in Raspi hart stromlos schalten?:
echo xxxx | sudo stop iobroker && sleep 1 && sudo shutdown -h 0
iobroker stop benötigt kein sudo, aber wohl shutdown. Folgendes Kommando sollte funktionieren (nicht getestet):
iobroker stop && echo passwort | sudo -S shutdown -h 0
-
@paul53 sagte in Raspi hart stromlos schalten?:
iobroker stop && echo passwort | sudo -S shutdown -h 0
Das funktioniert nun.
Was passiert bei "sudo -s shutdown -h 0"? Und kommt der Shut down nicht währenddessen iobroker gestoppt wird?Von @Asgothian verstehe ich "I’m übrigen würde ich das blockly ändern: trigger auf “kleiner als” an statt ungleich - dann kann die if Abfrage weg." nicht.
Es gibt doch als Trigger nur zwei zur Auswahl welche im Prinzip gleich sind. -
Kleine Verständnisfrage:
Sollte iobroker nicht sowieso über systemd gestoppt werden wenn man ein shutdown macht? -
@hg6806 sagte in:
trigger auf “kleiner als” an statt ungleich - dann kann die if Abfrage weg.
Wenn andere Triggerbedingung, dann ist größer als letztes. Dieser Trigger beinhaltet beide Bedingungen: Änderung und ist wahr, denn in Javascript ist true > false. Es wird also nur bei einer Änderung von falsch auf wahr getriggert.
-
OK, ist verstanden, klappt soweit!
Danke an Alle! -
-
Sorry, zu früh gefreut.
Klappt doch nicht 100%ig.Iobroker wird zwar gestoppt, der Pi bleibt aber weiterhin am Leben.
Also irgendwie klappt das mit dem Anmeldung und PW nicht. -
Kann ein RaspberryPi nicht zwischen Einspeisung am USB und Einspeisung an den Pins unterscheiden? Dann könnte man sich den Optokoppler schenken...
-
Das mit dem Optokoppler am GPIO ist eine gute Idee. Und den Rest würde ich wie folgt machen:
Habe bei mir den Button durch einen GPIO von einem Wemos D1 mini ersetzt. und funktioniert hervorragend. Dann die USV und die wird ja den moment bis zum vollständigen shutdown abfangen. Beim reaktivieren sollte er wieder starten und also 230V dran und schon fährt er wieder hoch.