Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Raspberry PI runterfahren

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Raspberry PI runterfahren

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Steffi81 last edited by

      Hallo zusammen

      Bräuchte mal wieder ein wenig Hilfe von Euch 😄

      Mein Pi usw hängen an einer USV. Ich möchte gerne, wenn der Strom ausgefallen ist und die USV im Einsatz ist, IoBroker stoppen und danach den PI runterfahren. Ob der Strom aus oder an ist, sehe ich an einem Homematic Energiemesser, der vor dem Pi usw hängt.

      Wenn also Energiemesser = 0, dann IoBroker stop, danach shutdown.

      Soweit so gut, aber wie setze ich das um? Geht das überhaupt so?

      Hat das jemand von Euch schonmal so gemacht oder wie macht Ihr das?

      Über Putty ist das ja kein Problem, aber ich möchte mich ja vorher nicht erst bei Putty einwählen und dass dann in die Wege leiten, dass soll schon alleine gehen, aber wie 🙂

      Desweiteren hab ich einen weiteren Pi, auf dem Raspberrymatic läuft als CCU2 Ersatz, der soll auch runtergefahren werden. Kann ich das kombinieren oder mache ich das lieber extra über die Homematic?

      Schonmal Danke im Vorraus.

      Mfg Stephan

      1 Reply Last reply Reply Quote 0
      • wendy2702
        wendy2702 last edited by

        Was ist das denn für eine USV?

        Viele USV‘n können so etwas von alleine.

        Wieso willst du iobroker vorher stoppen?

        Wenn du den Pi Sauber runterfährst ist eigentlich alles gut.

        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 last edited by

          Dem https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md#exec–-execute-some-os-command-like-cp-file1-file2 kann man die gleichen Befehle übergeben, die man auch mit Putty ausführt.
          @Steffi81:

          dann IoBroker stop, danach shutdown. `
          Das ist nicht nötig, denn beim Shutdown werden alle Prozesse - auch die von ioBroker - sauber gekillt. Dabei werden sogar die States vom Puffer in die Datei geschrieben.

          1 Reply Last reply Reply Quote 0
          • S
            Steffi81 last edited by

            Es handelt sich um eine APC Smart UPS SMT 750i

            An den USB Anschluss habe ich meine Synology DiskStation angeschlossen, die ist so eingerichtet, dass sie nach 3 min dann in den sicheren Modus wechselt. Das klappt auch alles.

            Die USV soll nach dem runterfahren auch ausgehen, dass geht auch, ist nur schlecht, wenn die Pi’s noch an sind 🙂

            Aber wie ich darüber die Pi‘s runterfahren soll, weiß ich nicht.

            Habe auch keine Ahnung wie ich das ganze umsetzten soll, bzw. was ich wo einstellen muss oder so. Ob ich nen Adapter dafür brauche, oder nen Script schreiben muss, oder oder 😄

            Dachte, es wäre besser erst IoBroker zu stoppen und dann runter zufahren. Hatte gelesen, dass bei manchen das runterfahren bis zu 10 min dauert, wenn IoBroker vorher nicht gestoppt wurde.

            Weil an der USV ja kein LAN Anschluss dran ist, habe ich mir noch ne gebrauchte Network Karte mit LAN Anschluss besorgt, ist aber noch in der Post.

            Ginge es darüber dann einfacher, dass ich damit die Geräte gezielt ansteuern kann?

            Mfg

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 last edited by

              @Steffi81:

              Ob der Strom aus oder an ist, sehe ich an einem Homematic Energiemesser, der vor dem Pi usw hängt.

              Wenn also Energiemesser = 0, dann IoBroker stop, danach shutdown. `
              Sendet der Energiemesser noch, wenn er spannungslos ist ? Wenn er hinter der USV hängt, weshalb sollte dann die Leistung auf 0 gehen ?

              1 Reply Last reply Reply Quote 0
              • S
                Steffi81 last edited by

                Er hängt vor der USV.

                An dem Energiemesser hatte ich eine mehrfach Steckleiste, wo die ganzen Geräte für das Netzwerk dran sind. Die USV steckt nun in dem Energiemesser und die Steckleiste in der USV.

                Gut, zum testen hatte ich den Energiemesser per Hand zum testen ausgeschaltet, somit stand im IoBroker 0 🙂

                Wenn jetzt der Strom komplett weg ist, denk ich, ist das Gerät eher nicht erreichbar ist,

                als das es mir 0 sagt.

                Würde das denn gehen, wenn die USV im LAN hängt, die weiß ja wann der Strom weg ist. Kann die denn Geräte runterfahren lassen? Wenn ja, wie macht man das?

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 last edited by

                  @Steffi81:

                  Würde das denn gehen, wenn die USV im LAN hängt, die weiß ja wann der Strom weg ist. `
                  Das sollte mit dem Adapter https://github.com/Apollon77/ioBroker.nut gehen. Voraussetzung ist, dass der Switch / Router, der sich zwischen USV und Raspberry Pi befindet, auch durch die USV versorgt wird.
                  @Steffi81:

                  Kann die denn Geräte runterfahren lassen? Wenn ja, wie macht man das? `
                  In einem Script kann man auf den passenden Datenpunkt des NUT-Adapters triggern und per exec('cmd') das Shutdown-Kommando (verzögert) starten.

                  1 Reply Last reply Reply Quote 0
                  • S
                    Steffi81 last edited by

                    Also der Switch, Router, die PI‘s und die Synology hängen alle hinter der USV.

                    Wie genau müsste denn son Script aussehen, von Script hab ich jetzt nicht so die Ahnung. Wie mach ich das dann, über Blockly? Oder muss ich das dann unter Scripte eingeben?

                    Hoffe werde nicht gesteinigt für die blöden Fragen :?

                    Mfg

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 last edited by

                      @Steffi81:

                      Oder muss ich das dann unter Scripte eingeben? `
                      Du kannst es unter Scripte eingeben, etwa so:

                      const idNetz = '...'; // Datenpunkt-ID für Netzspannung vorhanden
                      
                      var timer = null;
                      
                      on(idNetz, function(dp) {
                         if(!dp.stat.val) {  // keine Netzspannung
                            timer = setTimeout(function() {
                               exec('sudo shutdown -h 0');
                            }, 5 * 60000);  // Verzögerung 5 Minuten
                         } else if(timer) clearTimeout(timer);  // stoppt Timer, falls Netz innerhalb der Verzögerungszeit wieder vorhanden
                      });
                      

                      Falls erst ioBroker gestoppt werden soll und dann shutdown, erzeugst Du ein Shell-Script mit den beiden Kommandos und rufst aus dem Javascript mit exec('myScript') dieses Shell-Script auf.

                      1 Reply Last reply Reply Quote 0
                      • S
                        Steffi81 last edited by

                        Puh, ich seh schon, dass ist doch komplizierte als ich dachte, für einen Laien 😄

                        Eben war die LAN Karte in der Post, die werde ich erstmal einbauen und einrichten.

                        Danach den Adapter und dann weiter mit dem Script. Mal sehen wie weit ich komme 😄

                        1 Reply Last reply Reply Quote 0
                        • BuZZy
                          BuZZy last edited by

                          @paul53:

                          Falls erst ioBroker gestoppt werden soll und dann shutdown, erzeugst Du ein Shell-Script mit den beiden Kommandos und rufst aus dem Javascript mit exec('myScript') dieses Shell-Script auf. ` Das funktioniert glaube ich so nicht..

                          Wenn das Shellscript durch ioBroker aufgerufen wird,

                          wird es auch zusammen mit ioBroker gekillt da beim Beenden von ioBroker auch alle child-processes gekillt werden und "exec('shellscript.sh')" ist in dem Fall ein child-process von ioBroker bzw. der JavaScript Instanz.

                          War das nicht irgendwie so - oder habe ich das falsch in Erinnerung? 😄

                          Gruß

                          1 Reply Last reply Reply Quote 0
                          • AlCalzone
                            AlCalzone Developer last edited by

                            Dann womöglich per spawn mit der detached-Option:

                            https://nodejs.org/api/child_process.ht … gs_options

                            1 Reply Last reply Reply Quote 0
                            • S
                              Steffi81 last edited by

                              Guten Morgen.

                              Wollte mal einen kleine Lagebericht Posten.

                              Also, USV ist nun per LAN Kabel im Netzwerk verfügbar.

                              Diskstation erkennt die USV.

                              NUT Adapter eingerichtet, Daten von der USV werden gelesen.

                              VIS Ansicht soweit auch fertig.

                              Habe mit Blockly ein Script geschrieben, dass bei Ausfall oder Wiederkehr der Eingangsspannung eine Variable auf wahr/unwahr setzt.

                              Bei unwahr sende ich mit Blockly an den PI erst „ sudo shutdown -h 1, danach sudo iobroker stop „

                              Klappt, Iobroker wird angehalten und 1 min später der PI runtergefahren.

                              War nen bissel Bastelei, aber ich hab’s hinbekommen 😄

                              Habe aber noch nen zweite PI, wo Raspberrymatic drauf läuft.

                              Kann ich von Iobroker nen „ poweroff „ an diesen PI senden, damit der dann auch runter fährt? Wenn ja, wie mache ich das.

                              Mfg

                              1 Reply Last reply Reply Quote 0
                              • AlCalzone
                                AlCalzone Developer last edited by

                                @Steffi81:

                                Kann ich von Iobroker nen „ poweroff „ an diesen PI senden, damit der dann auch runter fährt? Wenn ja, wie mache ich das. `
                                Dürfte per SSH gehen. Obs ne Kommandozeilenoption gibt weiß ich nicht, ich hab was ähnliches aber schon per javascript gemacht mit dem node-ssh Modul https://www.npmjs.com/package/node-ssh

                                So dürfte es grob funktionieren:

                                node_ssh = require('node-ssh');
                                ssh = new node_ssh();
                                ssh.connect({
                                  host: 'localhost',
                                  username: 'abcdef',
                                  password: 'defghi'
                                }).then(() => {
                                  ssh.execCommand("shutdown -h now");
                                })
                                

                                Edit: Kommando korrigiert

                                1 Reply Last reply Reply Quote 0
                                • P
                                  peterfido last edited by

                                  Hallo,

                                  ich fahre Raspis normal mithaltstattshutdownrunter. Sollte schneller gehen als shutdown. Ob````
                                  poweroff

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    Steffi81 last edited by

                                    Also mit SSH geht das ja, macht man ja normal mit Putty.

                                    Habe im Blockly ja auch mit „exec“ den selben Befehl wie im Putty eingegeben. Und das geht.

                                    Man muss nur für jeden Befehl ein extra Exec ansetzen, weil immer nur ein Befehl pro Exec geht. Was ich aber nicht schlimm finde. Oder ich habe das noch nicht anders rausgefunden 😄

                                    Iobroker fahre ich mit shutdown runter, raspberrymatic mit poweroff, ohne was anzuhalten wie beim Iobroker.

                                    Werde das Script mal ausprobieren, mal sehen ob das geht. Über Blockly wäre mir natürlich lieber, finde ich einfacher zu verstehen 😄

                                    Mfg

                                    1 Reply Last reply Reply Quote 0
                                    • BuZZy
                                      BuZZy last edited by

                                      @peterfido:

                                      Sollte schneller gehen als shutdown. ObpoweroffVorteile bringt, ist mir beim Raspi nicht bekannt. ` halt, shutdown, poweroff macht keinen unterschied beim Raspberry..

                                      shutdown (-h now) oder poweroff machen genau das gleiche wie halt,.. Außer dass sie noch das Netzteil ausschalten und den Computer somit "vom Strom nehmen".. Das funktioniert beim Raspberry wegen externem USB Netzteil aber natürlich nicht.

                                      Gruß

                                      1 Reply Last reply Reply Quote 0
                                      • AlCalzone
                                        AlCalzone Developer last edited by

                                        @peterfido:

                                        ich fahre Raspis normal mithaltstattshutdownrunter. Sollte schneller gehen als shutdown. Laut meiner Info sind die Kommandos auf den meisten Systemen identisch: > Again, in this toolset the opposite of received BSD wisdom applies and halt and reboot simply chain to shutdown — unless the system is already in the poweroff or halt "run-levels", in which case these commands actually enact the final system state change. `
                                        tl;dr:

                                        "halt" ruft "shutdown -h" auf

                                        und "reboot" ruft "shutdown -r" auf.

                                        Allerdings müsste mein Befehl oben shutdown -h heißen, um den Raspi tatsächlich herunterzufahren. Hartes Herunterfahren würde ich nicht machen, die Datenbanken müssen ja Gelegenheit bekommen ihren Speicherinhalt auf die Platte/SD zu schreiben…

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          dtp last edited by

                                          Ich hatte https://homematic-forum.de/forum/viewtopic.php?f=48&t=27716&p=245865#p245865 mal eine Anleitung gepostet, wie man CCU.IO, den Vorgänger des ioBroker, von der CCU aus neu starten kann.

                                          Vielleicht kann's ja noch jemand gebrauchen. 😉

                                          Gruß,

                                          Thorsten

                                          1 Reply Last reply Reply Quote 0
                                          • wendy2702
                                            wendy2702 last edited by

                                            @Steffi81:

                                            Guten Morgen.

                                            Wollte mal einen kleine Lagebericht Posten.

                                            Also, USV ist nun per LAN Kabel im Netzwerk verfügbar.

                                            Diskstation erkennt die USV.

                                            NUT Adapter eingerichtet, Daten von der USV werden gelesen.

                                            VIS Ansicht soweit auch fertig.

                                            Habe mit Blockly ein Script geschrieben, dass bei Ausfall oder Wiederkehr der Eingangsspannung eine Variable auf wahr/unwahr setzt.

                                            Bei unwahr sende ich mit Blockly an den PI erst „ sudo shutdown -h 1, danach sudo iobroker stop „

                                            Klappt, Iobroker wird angehalten und 1 min später der PI runtergefahren.

                                            War nen bissel Bastelei, aber ich hab’s hinbekommen 😄

                                            Habe aber noch nen zweite PI, wo Raspberrymatic drauf läuft.

                                            Kann ich von Iobroker nen „ poweroff „ an diesen PI senden, damit der dann auch runter fährt? Wenn ja, wie mache ich das.

                                            Mfg `

                                            Teil doch mal bitte dein Blockly…!

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            921
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            23
                                            6633
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo