Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Ausfallsicherung

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    584

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

Ausfallsicherung

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
32 Beiträge 11 Kommentatoren 3.1k Aufrufe 10 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Smartin

    @armilar
    Ich hatte das in 3 Jahren bisher 3x, sonst läuft meine Installation wirklich geschmeidig.
    Einmal hatte sich tatsächlich nur der admin.0 Adapter weggehängt, 2x hat es den ganzen Raspi gerissen. Keine Einträge mehr im syslog bis zum Neustart. Beide Male habe ich anhand der Logs und den Vorgängen vorher nicht herausgefunden woran es lag, habe aber auch nachdem es danach wieder rund und ausdauernd lief nicht mehr viel nachgeforscht.
    Meiner Frau den Stecker zeigen ist übrigens die schlechteste alle Möglichkeiten :flushed: Wenn irgendetwas ihrer Meinung nach dann nicht funktioniert, zerrt sie schon am Stecker bzw. drückt sie schon den Schalter :grin:
    Nee nee ... lieber nicht.
    Automatisiert wäre mir da wohler ...

    @emil70
    Der Pi hängt an einer schaltbaren Steckdose (Sonoff). Ich habe als "anderes System" nur den RasPi Zero der als ioBroker Slave läuft. Wie könnte ich denn da ein solches script laufen lassen?
    Mit einer 2. Instanz vom js-Adapter? Läuft das denn nicht auch über den Master, der ja dann nicht erreichbar ist?

    @Wildbill
    Das System läuft stabil, da ist nix zu fixen. Wie schon erwähnt, es soll nur eine schnelle Hilfe sein, falls doch mal was unrund läuft. Und bisher hatte ein Neustart (wenn eben auch einer der harten Sorte) ausgereicht um wieder alles am laufen zu haben.
    Wenn dadurch mein System mal komplett abkac.en sollte, die SD abraucht oder sonstwie, wird das System mit Backups eben wieder schnell neu aufgesetzt. Sicher, es soll laufen (tut es ja auch stabil), aber wenn, dann hat bei mir zumindest ein kurzer Stromreset noch nie geschadet. Sollte es mal anders kommen .... Cést la vie und schnell behoben. Trotzdem hast du natürlich völlig Recht, ich schaue mir auch jeden Ausfall genau an und sollten dort Probleme auftauchen werde ich die natürlich primär lösen.

    E Online
    E Online
    emil70
    schrieb am zuletzt editiert von emil70
    #11

    @smartin

    Ich lass meine Sonoff mit der Software überwachen, ob sie online sind. Wenn nicht werden sie neu gestartet.


    #!/bin/bash

    check and log if a host is reachable by ping

    #CONFIGURATION

    #IP of host
    GERAET=Buerobeleuchtung
    WATCH_IP="192.168.178.40"
    #path to logfile
    LOGFILE="/var/log/Sonoff/Buerobeleuchtung.log"
    #duration between pings
    PAUSE=60
    #how many failed pings before log
    TESTS=10

    #SCRIPT

    #initialize
    MISSED=0
    #touch $LOGFILE

    #-lt = lesser than = kleiner als
    #-eq = equal = Gleichheit
    #-ne = not equal = Ungleichheit
    #-le = lesser or equal = kleiner oder gleich
    #-ge = greater or equal = größer oder gleich
    #-gt = greater than = größer als

    while true; do
    if ! ping -c 1 -w 1 $WATCH_IP > /dev/null; then echo $MISSED
    ((MISSED++))
    else
    if [ $MISSED -ge $TESTS ]; then
    echo date "-" $GERAET "ist wieder online." >> $LOGFILE;
    fi
    MISSED=0
    fi;
    if [ $MISSED -eq $TESTS ]; then
    echo date "-" $GERAET "wurde neu gestartet." >> $LOGFILE;
    echo "reboot" | socat - udp-sendto:192.168.178.40:6676
    fi
    sleep $PAUSE;
    done

    Müsste man anpassen

    Das script arbeitet als Schleife

    socat muss installiert sein

    gruss emil70

    iobroker,pihole,homematic,motioneys,solaranlage laufen auf Proxmox (16 x AMD Ryzen 7 6800H with Radeon Graphics )

    ArmilarA S 2 Antworten Letzte Antwort
    1
    • E emil70

      @smartin

      Ich lass meine Sonoff mit der Software überwachen, ob sie online sind. Wenn nicht werden sie neu gestartet.


      #!/bin/bash

      check and log if a host is reachable by ping

      #CONFIGURATION

      #IP of host
      GERAET=Buerobeleuchtung
      WATCH_IP="192.168.178.40"
      #path to logfile
      LOGFILE="/var/log/Sonoff/Buerobeleuchtung.log"
      #duration between pings
      PAUSE=60
      #how many failed pings before log
      TESTS=10

      #SCRIPT

      #initialize
      MISSED=0
      #touch $LOGFILE

      #-lt = lesser than = kleiner als
      #-eq = equal = Gleichheit
      #-ne = not equal = Ungleichheit
      #-le = lesser or equal = kleiner oder gleich
      #-ge = greater or equal = größer oder gleich
      #-gt = greater than = größer als

      while true; do
      if ! ping -c 1 -w 1 $WATCH_IP > /dev/null; then echo $MISSED
      ((MISSED++))
      else
      if [ $MISSED -ge $TESTS ]; then
      echo date "-" $GERAET "ist wieder online." >> $LOGFILE;
      fi
      MISSED=0
      fi;
      if [ $MISSED -eq $TESTS ]; then
      echo date "-" $GERAET "wurde neu gestartet." >> $LOGFILE;
      echo "reboot" | socat - udp-sendto:192.168.178.40:6676
      fi
      sleep $PAUSE;
      done

      Müsste man anpassen

      Das script arbeitet als Schleife

      socat muss installiert sein

      ArmilarA Offline
      ArmilarA Offline
      Armilar
      Most Active Forum Testing
      schrieb am zuletzt editiert von
      #12

      @emil70

      Auch interessant. Ein Watchdog für Tasmotas außerhalb ioBroker.

      Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
      https://github.com/joBr99/nspanel-lovelace-ui/wiki

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      1 Antwort Letzte Antwort
      0
      • E emil70

        @smartin

        Ich lass meine Sonoff mit der Software überwachen, ob sie online sind. Wenn nicht werden sie neu gestartet.


        #!/bin/bash

        check and log if a host is reachable by ping

        #CONFIGURATION

        #IP of host
        GERAET=Buerobeleuchtung
        WATCH_IP="192.168.178.40"
        #path to logfile
        LOGFILE="/var/log/Sonoff/Buerobeleuchtung.log"
        #duration between pings
        PAUSE=60
        #how many failed pings before log
        TESTS=10

        #SCRIPT

        #initialize
        MISSED=0
        #touch $LOGFILE

        #-lt = lesser than = kleiner als
        #-eq = equal = Gleichheit
        #-ne = not equal = Ungleichheit
        #-le = lesser or equal = kleiner oder gleich
        #-ge = greater or equal = größer oder gleich
        #-gt = greater than = größer als

        while true; do
        if ! ping -c 1 -w 1 $WATCH_IP > /dev/null; then echo $MISSED
        ((MISSED++))
        else
        if [ $MISSED -ge $TESTS ]; then
        echo date "-" $GERAET "ist wieder online." >> $LOGFILE;
        fi
        MISSED=0
        fi;
        if [ $MISSED -eq $TESTS ]; then
        echo date "-" $GERAET "wurde neu gestartet." >> $LOGFILE;
        echo "reboot" | socat - udp-sendto:192.168.178.40:6676
        fi
        sleep $PAUSE;
        done

        Müsste man anpassen

        Das script arbeitet als Schleife

        socat muss installiert sein

        S Offline
        S Offline
        Smartin
        schrieb am zuletzt editiert von
        #13

        @emil70

        Das ist klasse!
        Genauso wie übrigens das Überwachungs-Script von @armilar :+1:

        Ich bin allerdings wie gesagt nicht so wirklich ein Linux/Script-Held ...
        Ich vermute in dieser Zeile würde ich den Aus/An Befehl unterbringen müssen

        echo "reboot" | socat - udp-sendto:192.168.178.40:6676
        

        Richtig?
        Wie müsste das aussehen, wenn der Befehl

        http://192.168.1.42/cm?cmnd=Power%20off
        

        bzw.

        http://192.168.1.42/cm?cmnd=Power%20on
        

        lautet und dazwischen noch eine Pause von 10 Sekunden eingehalten werden soll?

        E ArmilarA 4 Antworten Letzte Antwort
        0
        • S Smartin

          @emil70

          Das ist klasse!
          Genauso wie übrigens das Überwachungs-Script von @armilar :+1:

          Ich bin allerdings wie gesagt nicht so wirklich ein Linux/Script-Held ...
          Ich vermute in dieser Zeile würde ich den Aus/An Befehl unterbringen müssen

          echo "reboot" | socat - udp-sendto:192.168.178.40:6676
          

          Richtig?
          Wie müsste das aussehen, wenn der Befehl

          http://192.168.1.42/cm?cmnd=Power%20off
          

          bzw.

          http://192.168.1.42/cm?cmnd=Power%20on
          

          lautet und dazwischen noch eine Pause von 10 Sekunden eingehalten werden soll?

          E Online
          E Online
          emil70
          schrieb am zuletzt editiert von emil70
          #14

          @smartin

          ja das ist der Part

          Du nutzt Tasmota, so wie ich die Befehle sehe. Das nutze ich leider nicht und kann da nicht sagen, wie da der Befehl über Konsole lautet. http geht so auf jeden Fall nicht

          Vielleicht geht bei Tasmota ssh

          ssh IP vom Sonoff -p 22 -l "reboot"
          

          gruss emil70

          iobroker,pihole,homematic,motioneys,solaranlage laufen auf Proxmox (16 x AMD Ryzen 7 6800H with Radeon Graphics )

          ArmilarA 1 Antwort Letzte Antwort
          0
          • S Smartin

            @emil70

            Das ist klasse!
            Genauso wie übrigens das Überwachungs-Script von @armilar :+1:

            Ich bin allerdings wie gesagt nicht so wirklich ein Linux/Script-Held ...
            Ich vermute in dieser Zeile würde ich den Aus/An Befehl unterbringen müssen

            echo "reboot" | socat - udp-sendto:192.168.178.40:6676
            

            Richtig?
            Wie müsste das aussehen, wenn der Befehl

            http://192.168.1.42/cm?cmnd=Power%20off
            

            bzw.

            http://192.168.1.42/cm?cmnd=Power%20on
            

            lautet und dazwischen noch eine Pause von 10 Sekunden eingehalten werden soll?

            ArmilarA Offline
            ArmilarA Offline
            Armilar
            Most Active Forum Testing
            schrieb am zuletzt editiert von
            #15

            @smartin

            https://tasmota.github.io/docs/Commands/#with-web-requests

            Ist schon korrekt so

            Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
            https://github.com/joBr99/nspanel-lovelace-ui/wiki

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            1 Antwort Letzte Antwort
            0
            • E emil70

              Pack den Pi doch an eine Schaltbare Steckdose und nutzt ein script auf einem anderen System,was den Pi anpingt. Ist dieser nicht erreichbar wird die Steckdoese aus und nach ein paar Sekunden wieder eingeschlaltet.

              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von Homoran
              #16

              @emil70 sagte in Ausfallsicherung:

              Pack den Pi doch an eine Schaltbare Steckdose und nutzt ein script auf einem anderen System,was den Pi anpingt. Ist dieser nicht erreichbar wird die Steckdoese aus und nach ein paar Sekunden wieder eingeschlaltet.

              Das wären dann ja doch wieder zwei Geräte.

              Außerdem müsste man jetzt genau wissen was unter Ausfall zu verstehen ist.
              Auch ich

              @armilar sagte in Ausfallsicherung:

              dachte bei Ausfallsicherheit eigentlich an Redundanz und Hochverfügbarkeit.

              und wenn es nur um

              @smartin sagte in Ausfallsicherung:

              einem Neustart

              geht wäre

              @emil70 sagte in Ausfallsicherung:

              eine Schaltbare Steckdose

              so ziemlich das Teil was man nicht als erste Wahl nehmen sollte.
              Die Folgen von "reboot" durch Stecker raus sollten ja inzwischen hinlänglich bekannt sein.

              EDIT:
              Wo kommen denn jetzt auf einmal die ganzen Posts her?
              Da war gerade nix!

              also vergesst meinen Post, ist ja nix neues

              kein Support per PN! - Fragen im Forum stellen -
              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
              Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              1 Antwort Letzte Antwort
              0
              • S Smartin

                @emil70

                Das ist klasse!
                Genauso wie übrigens das Überwachungs-Script von @armilar :+1:

                Ich bin allerdings wie gesagt nicht so wirklich ein Linux/Script-Held ...
                Ich vermute in dieser Zeile würde ich den Aus/An Befehl unterbringen müssen

                echo "reboot" | socat - udp-sendto:192.168.178.40:6676
                

                Richtig?
                Wie müsste das aussehen, wenn der Befehl

                http://192.168.1.42/cm?cmnd=Power%20off
                

                bzw.

                http://192.168.1.42/cm?cmnd=Power%20on
                

                lautet und dazwischen noch eine Pause von 10 Sekunden eingehalten werden soll?

                E Online
                E Online
                emil70
                schrieb am zuletzt editiert von emil70
                #17

                @smartin

                Teste mal

                curl -s http://192.168.1.42/cm?cmnd=Power%20off
                
                curl -s http://192.168.1.42/cm?cmnd=Power%20off
                

                curl muss installiert sein

                geht bei mir auf jede Fall mit der von mir verwendetet Software

                gruss emil70

                iobroker,pihole,homematic,motioneys,solaranlage laufen auf Proxmox (16 x AMD Ryzen 7 6800H with Radeon Graphics )

                1 Antwort Letzte Antwort
                0
                • S Smartin

                  @emil70

                  Das ist klasse!
                  Genauso wie übrigens das Überwachungs-Script von @armilar :+1:

                  Ich bin allerdings wie gesagt nicht so wirklich ein Linux/Script-Held ...
                  Ich vermute in dieser Zeile würde ich den Aus/An Befehl unterbringen müssen

                  echo "reboot" | socat - udp-sendto:192.168.178.40:6676
                  

                  Richtig?
                  Wie müsste das aussehen, wenn der Befehl

                  http://192.168.1.42/cm?cmnd=Power%20off
                  

                  bzw.

                  http://192.168.1.42/cm?cmnd=Power%20on
                  

                  lautet und dazwischen noch eine Pause von 10 Sekunden eingehalten werden soll?

                  ArmilarA Offline
                  ArmilarA Offline
                  Armilar
                  Most Active Forum Testing
                  schrieb am zuletzt editiert von Armilar
                  #18

                  @smartin

                  oder so

                     var ip = '55'; //letzte Zahl der IP
                     require("request")((['http://192.168.1.',('' + ip),'/cm?cmnd=cmnd=Power%20off'].join(''))).on("error", function (e) 
                  

                  Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                  https://github.com/joBr99/nspanel-lovelace-ui/wiki

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  1 Antwort Letzte Antwort
                  0
                  • E emil70

                    @smartin

                    ja das ist der Part

                    Du nutzt Tasmota, so wie ich die Befehle sehe. Das nutze ich leider nicht und kann da nicht sagen, wie da der Befehl über Konsole lautet. http geht so auf jeden Fall nicht

                    Vielleicht geht bei Tasmota ssh

                    ssh IP vom Sonoff -p 22 -l "reboot"
                    
                    ArmilarA Offline
                    ArmilarA Offline
                    Armilar
                    Most Active Forum Testing
                    schrieb am zuletzt editiert von Armilar
                    #19

                    @Smartin

                    Übrigens wenn du deinen Rechner kontrolliert rebooten lassen willst, geht das auch:

                    createState('0_userdata.0.Reboot.t2c_System.LinuxRestart_command', '');
                    on({id: '0_userdata.0.Reboot.t2c_System.LinuxRestart_command', change: 'any'}, function (obj) {
                      if (obj.newState.val === true || obj.newState.val === 'true'){
                          log('Command stop');
                          setState('0_userdata.0.Reboot.t2c_System.LinuxRestart_command', 'false');
                          exec ('sudo reboot');
                      }
                    });
                    

                    In den angelegten DP true zum Zeitpunkt deiner Wahl schreiben... und exec im JS-Adapter zulassen.

                    Dann startet dein ioBroker durch.

                    EDIT:
                    Ich denke an so etwas hat @Homoran bestimmt gedacht, als er die Steckdose als Power on/off sah ;-)

                    Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    HomoranH 1 Antwort Letzte Antwort
                    0
                    • ArmilarA Armilar

                      @Smartin

                      Übrigens wenn du deinen Rechner kontrolliert rebooten lassen willst, geht das auch:

                      createState('0_userdata.0.Reboot.t2c_System.LinuxRestart_command', '');
                      on({id: '0_userdata.0.Reboot.t2c_System.LinuxRestart_command', change: 'any'}, function (obj) {
                        if (obj.newState.val === true || obj.newState.val === 'true'){
                            log('Command stop');
                            setState('0_userdata.0.Reboot.t2c_System.LinuxRestart_command', 'false');
                            exec ('sudo reboot');
                        }
                      });
                      

                      In den angelegten DP true zum Zeitpunkt deiner Wahl schreiben... und exec im JS-Adapter zulassen.

                      Dann startet dein ioBroker durch.

                      EDIT:
                      Ich denke an so etwas hat @Homoran bestimmt gedacht, als er die Steckdose als Power on/off sah ;-)

                      HomoranH Nicht stören
                      HomoranH Nicht stören
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von
                      #20

                      @armilar aber wenn der iob hängt, geht ja nichts mehr.

                      kein Support per PN! - Fragen im Forum stellen -
                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                      Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      ArmilarA 1 Antwort Letzte Antwort
                      0
                      • HomoranH Homoran

                        @armilar aber wenn der iob hängt, geht ja nichts mehr.

                        ArmilarA Offline
                        ArmilarA Offline
                        Armilar
                        Most Active Forum Testing
                        schrieb am zuletzt editiert von
                        #21

                        @homoran
                        ich nehme immer an, dass mindestens ein Adapter seine Arbeit noch macht. Daher auch die JS-Instanz für PROD und eine für z.B. Wartung. Wenn der iob hängt, dann kann er höchstens versuchen sich mit VPN auf den pi zuzugreifen und ein sudo reboot aus der Console abzusetzen. Na und wenn das auch nicht mehr geht - Dann muss die Steckdose halt ran.

                        Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                        https://github.com/joBr99/nspanel-lovelace-ui/wiki

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        S 1 Antwort Letzte Antwort
                        1
                        • ArmilarA Armilar

                          @homoran
                          ich nehme immer an, dass mindestens ein Adapter seine Arbeit noch macht. Daher auch die JS-Instanz für PROD und eine für z.B. Wartung. Wenn der iob hängt, dann kann er höchstens versuchen sich mit VPN auf den pi zuzugreifen und ein sudo reboot aus der Console abzusetzen. Na und wenn das auch nicht mehr geht - Dann muss die Steckdose halt ran.

                          S Offline
                          S Offline
                          Smartin
                          schrieb am zuletzt editiert von Smartin
                          #22

                          Ja, wie schon gesagt, ich bin da auch nicht so zimperlich. Sollte das System tatsächlich doch Schaden nehmen, setze ich es eben neu auf, Backups habe ich ja. Und ca. alle 4 Wochen spiegele ich die SD Karte auf eine andere, sodass ich schnell wieder am Start wäre mit relativ wenig Aufwand.
                          Ich habe jetzt mal den Ansatz von @emil70 versucht mit dem Shellscript und dem curl Befehl (der auf der Konsole ohne Probleme funktioniert).
                          Allerdings komme ich da nicht recht weiter.

                          #!/bin/bash
                          #CONFIGURATION
                          #IP of host
                          GERAET=RasPi1
                          WATCH_IP="192.168.1.109"
                          #path to logfile
                          LOGFILE="/media/fritz.nas/SAMSUNG/RasPI/raspi1.log"
                          #duration between pings
                          PAUSE1=120
                          PAUSE2=10
                          #how many failed pings before log
                          TESTS=2
                          #SCRIPT
                          #initialize
                          MISSED=0
                          # touch $LOGFILE
                          #-lt = lesser than = kleiner als
                          #-eq = equal = Gleichheit
                          #-ne = not equal = Ungleichheit
                          #-le = lesser or equal = kleiner oder gleich
                          #-ge = greater or equal = größer oder gleich
                          #-gt = greater than = größer als
                          while true; do
                          if ! ping -c 1 -w 1 $WATCH_IP > /dev/null; then echo $MISSED
                          ((MISSED++))
                          else
                          if [ $MISSED -ge $TESTS ]; then
                          echo date "-" $GERAET "ist wieder online." >> $LOGFILE;
                          fi
                          MISSED=0
                          fi;
                          if [ $MISSED -eq $TESTS ]; then
                          echo date "-" $GERAET "wurde neu gestartet." >> $LOGFILE;
                          curl -s http://192.168.1.42/cm?cmnd=Power%20off
                          sleep $PAUSE2;
                          curl -s http://192.168.1.42/cm?cmnd=Power%20on
                          fi
                          sleep $PAUSE1;
                          done
                          
                          

                          Das Script bleibt aber mit der Meldung

                          ./restart_raspi1.sh: 33: ./restart_raspi1.sh: MISSED++: not found
                          

                          hängen, stört sich also an der Addition der Fehlversuche.
                          Bei shellCheck wird das Script als völlig korrekt angezeigt.
                          Was mache ich denn falsch? Oder würde das so überhaupt funktionieren?
                          Der Logfile wird erstellt, die Datei ist vorhanden (habe den touch Aufruf daher wieder auskommentiert).
                          Vielleicht könnt ihr nochmal drüber gucken ...

                          ArmilarA E 2 Antworten Letzte Antwort
                          0
                          • S Smartin

                            Ja, wie schon gesagt, ich bin da auch nicht so zimperlich. Sollte das System tatsächlich doch Schaden nehmen, setze ich es eben neu auf, Backups habe ich ja. Und ca. alle 4 Wochen spiegele ich die SD Karte auf eine andere, sodass ich schnell wieder am Start wäre mit relativ wenig Aufwand.
                            Ich habe jetzt mal den Ansatz von @emil70 versucht mit dem Shellscript und dem curl Befehl (der auf der Konsole ohne Probleme funktioniert).
                            Allerdings komme ich da nicht recht weiter.

                            #!/bin/bash
                            #CONFIGURATION
                            #IP of host
                            GERAET=RasPi1
                            WATCH_IP="192.168.1.109"
                            #path to logfile
                            LOGFILE="/media/fritz.nas/SAMSUNG/RasPI/raspi1.log"
                            #duration between pings
                            PAUSE1=120
                            PAUSE2=10
                            #how many failed pings before log
                            TESTS=2
                            #SCRIPT
                            #initialize
                            MISSED=0
                            # touch $LOGFILE
                            #-lt = lesser than = kleiner als
                            #-eq = equal = Gleichheit
                            #-ne = not equal = Ungleichheit
                            #-le = lesser or equal = kleiner oder gleich
                            #-ge = greater or equal = größer oder gleich
                            #-gt = greater than = größer als
                            while true; do
                            if ! ping -c 1 -w 1 $WATCH_IP > /dev/null; then echo $MISSED
                            ((MISSED++))
                            else
                            if [ $MISSED -ge $TESTS ]; then
                            echo date "-" $GERAET "ist wieder online." >> $LOGFILE;
                            fi
                            MISSED=0
                            fi;
                            if [ $MISSED -eq $TESTS ]; then
                            echo date "-" $GERAET "wurde neu gestartet." >> $LOGFILE;
                            curl -s http://192.168.1.42/cm?cmnd=Power%20off
                            sleep $PAUSE2;
                            curl -s http://192.168.1.42/cm?cmnd=Power%20on
                            fi
                            sleep $PAUSE1;
                            done
                            
                            

                            Das Script bleibt aber mit der Meldung

                            ./restart_raspi1.sh: 33: ./restart_raspi1.sh: MISSED++: not found
                            

                            hängen, stört sich also an der Addition der Fehlversuche.
                            Bei shellCheck wird das Script als völlig korrekt angezeigt.
                            Was mache ich denn falsch? Oder würde das so überhaupt funktionieren?
                            Der Logfile wird erstellt, die Datei ist vorhanden (habe den touch Aufruf daher wieder auskommentiert).
                            Vielleicht könnt ihr nochmal drüber gucken ...

                            ArmilarA Offline
                            ArmilarA Offline
                            Armilar
                            Most Active Forum Testing
                            schrieb am zuletzt editiert von
                            #23

                            @smartin
                            okay - dann bin ich raus... :blush:

                            Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                            https://github.com/joBr99/nspanel-lovelace-ui/wiki

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            1 Antwort Letzte Antwort
                            0
                            • mcm1957M Online
                              mcm1957M Online
                              mcm1957
                              schrieb am zuletzt editiert von
                              #24

                              Da ich hier noch nichts dazu gelesen habe noch eine Info:

                              Der Raspi4 hat wenn mein Wissensstand richtig ist einen HArdware Watchdog. Sollte sich der Pi4 aufhängen, d.h. der Watchdog nicht rechtzeitig getriggert werden, dann gibts einen HW Reset.

                              Welche Auswirkungen das auf Linux, insbesondere auf das Filesystem hat kann ich nict sagen. Da sollte man unbedingt noch genauer nachforschen.

                              https://www.gieseke-buch.de/raspberrypi/eingebauten-hardware-watchdog-zur-ueberwachung-nutzen#:~:text=Eine der Besonderheiten des Raspberry,Störung nicht mehr ordnungsgemäß läuft.

                              https://www.raspberry-buy.de/Tutorial_Raspberry_Pi_Watchdog_installieren_konfigurieren_aktivieren.html

                              Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                              Support Repositoryverwaltung.

                              Wer 'nen Kaffee spendieren will: https://paypal.me

                              LESEN - gute Forenbeitrage

                              Thomas BraunT 1 Antwort Letzte Antwort
                              1
                              • SantosS Offline
                                SantosS Offline
                                Santos
                                schrieb am zuletzt editiert von
                                #25

                                Die Idee mit dem Watchdog direkt in der HW finde cool, würde auch installieren!

                                1 Antwort Letzte Antwort
                                0
                                • mcm1957M mcm1957

                                  Da ich hier noch nichts dazu gelesen habe noch eine Info:

                                  Der Raspi4 hat wenn mein Wissensstand richtig ist einen HArdware Watchdog. Sollte sich der Pi4 aufhängen, d.h. der Watchdog nicht rechtzeitig getriggert werden, dann gibts einen HW Reset.

                                  Welche Auswirkungen das auf Linux, insbesondere auf das Filesystem hat kann ich nict sagen. Da sollte man unbedingt noch genauer nachforschen.

                                  https://www.gieseke-buch.de/raspberrypi/eingebauten-hardware-watchdog-zur-ueberwachung-nutzen#:~:text=Eine der Besonderheiten des Raspberry,Störung nicht mehr ordnungsgemäß läuft.

                                  https://www.raspberry-buy.de/Tutorial_Raspberry_Pi_Watchdog_installieren_konfigurieren_aktivieren.html

                                  Thomas BraunT Online
                                  Thomas BraunT Online
                                  Thomas Braun
                                  Most Active
                                  schrieb am zuletzt editiert von Thomas Braun
                                  #26

                                  @mcm57 sagte in Ausfallsicherung:

                                  Welche Auswirkungen das auf Linux, insbesondere auf das Filesystem hat kann ich nict sagen. Da sollte man unbedingt noch genauer nachforschen.

                                  Ich hab das hier laufen, allerdings triggert hier die Load 1 Min.
                                  Der Wachhund hat aber außerhalb von Tests nie angeschlagen.

                                  Die Anleitungen sind übrigens veraltet, mittlerweile ist das kein nachladbares Kernelmodul mehr sondern direkt in den Kernel gebacken worden.

                                  Linux-Werkzeugkasten:
                                  https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                  NodeJS Fixer Skript:
                                  https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                  iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                  1 Antwort Letzte Antwort
                                  0
                                  • S Smartin

                                    Ja, wie schon gesagt, ich bin da auch nicht so zimperlich. Sollte das System tatsächlich doch Schaden nehmen, setze ich es eben neu auf, Backups habe ich ja. Und ca. alle 4 Wochen spiegele ich die SD Karte auf eine andere, sodass ich schnell wieder am Start wäre mit relativ wenig Aufwand.
                                    Ich habe jetzt mal den Ansatz von @emil70 versucht mit dem Shellscript und dem curl Befehl (der auf der Konsole ohne Probleme funktioniert).
                                    Allerdings komme ich da nicht recht weiter.

                                    #!/bin/bash
                                    #CONFIGURATION
                                    #IP of host
                                    GERAET=RasPi1
                                    WATCH_IP="192.168.1.109"
                                    #path to logfile
                                    LOGFILE="/media/fritz.nas/SAMSUNG/RasPI/raspi1.log"
                                    #duration between pings
                                    PAUSE1=120
                                    PAUSE2=10
                                    #how many failed pings before log
                                    TESTS=2
                                    #SCRIPT
                                    #initialize
                                    MISSED=0
                                    # touch $LOGFILE
                                    #-lt = lesser than = kleiner als
                                    #-eq = equal = Gleichheit
                                    #-ne = not equal = Ungleichheit
                                    #-le = lesser or equal = kleiner oder gleich
                                    #-ge = greater or equal = größer oder gleich
                                    #-gt = greater than = größer als
                                    while true; do
                                    if ! ping -c 1 -w 1 $WATCH_IP > /dev/null; then echo $MISSED
                                    ((MISSED++))
                                    else
                                    if [ $MISSED -ge $TESTS ]; then
                                    echo date "-" $GERAET "ist wieder online." >> $LOGFILE;
                                    fi
                                    MISSED=0
                                    fi;
                                    if [ $MISSED -eq $TESTS ]; then
                                    echo date "-" $GERAET "wurde neu gestartet." >> $LOGFILE;
                                    curl -s http://192.168.1.42/cm?cmnd=Power%20off
                                    sleep $PAUSE2;
                                    curl -s http://192.168.1.42/cm?cmnd=Power%20on
                                    fi
                                    sleep $PAUSE1;
                                    done
                                    
                                    

                                    Das Script bleibt aber mit der Meldung

                                    ./restart_raspi1.sh: 33: ./restart_raspi1.sh: MISSED++: not found
                                    

                                    hängen, stört sich also an der Addition der Fehlversuche.
                                    Bei shellCheck wird das Script als völlig korrekt angezeigt.
                                    Was mache ich denn falsch? Oder würde das so überhaupt funktionieren?
                                    Der Logfile wird erstellt, die Datei ist vorhanden (habe den touch Aufruf daher wieder auskommentiert).
                                    Vielleicht könnt ihr nochmal drüber gucken ...

                                    E Online
                                    E Online
                                    emil70
                                    schrieb am zuletzt editiert von emil70
                                    #27

                                    @smartin sagte in Ausfallsicherung:

                                    Gibt mal über Konsole das ein und poste den Log. Der wird da angelegt wo das script liegt

                                    sh -x ./restart_raspi1.sh > debug.txt 2>&1
                                    

                                    Edit:

                                    Der Logfile wird erstellt, die Datei ist vorhanden (habe den touch Aufruf daher wieder auskommentiert).

                                    Dann solltest du auch

                                    #echo date "-" $GERAET "ist wieder online." >> $LOGFILE;
                                    #echo date "-" $GERAET "wurde neu gestartet." >> $LOGFILE;
                                    

                                    gruss emil70

                                    iobroker,pihole,homematic,motioneys,solaranlage laufen auf Proxmox (16 x AMD Ryzen 7 6800H with Radeon Graphics )

                                    S 1 Antwort Letzte Antwort
                                    0
                                    • E emil70

                                      @smartin sagte in Ausfallsicherung:

                                      Gibt mal über Konsole das ein und poste den Log. Der wird da angelegt wo das script liegt

                                      sh -x ./restart_raspi1.sh > debug.txt 2>&1
                                      

                                      Edit:

                                      Der Logfile wird erstellt, die Datei ist vorhanden (habe den touch Aufruf daher wieder auskommentiert).

                                      Dann solltest du auch

                                      #echo date "-" $GERAET "ist wieder online." >> $LOGFILE;
                                      #echo date "-" $GERAET "wurde neu gestartet." >> $LOGFILE;
                                      
                                      S Offline
                                      S Offline
                                      Smartin
                                      schrieb am zuletzt editiert von
                                      #28

                                      @emil70

                                      debug.txt

                                      + GERAET=RasPi1
                                      + WATCH_IP=192.168.1.109
                                      + LOGFILE=/media/fritz.nas/SAMSUNG/RasPI/raspi1.log
                                      + PAUSE1=120
                                      + PAUSE2=10
                                      + TESTS=2
                                      + MISSED=0
                                      + true
                                      + ping -c 1 -w 1 192.168.1.109
                                      + echo 0
                                      0
                                      + MISSED++
                                      ./restart_raspi1.sh: 32: ./restart_raspi1.sh: MISSED++: not found
                                      + [ 0 -eq 2 ]
                                      + true
                                      + ping -c 1 -w 1 192.168.1.109
                                      + echo 0
                                      0
                                      + MISSED++
                                      ./restart_raspi1.sh: 32: ./restart_raspi1.sh: MISSED++: not found
                                      + [ 0 -eq 2 ]
                                      + true
                                      + ping -c 1 -w 1 192.168.1.109
                                      + echo 0
                                      0
                                      

                                      Deinen 2. Absatz verstehe ich nicht so ganz. Muss der touch Aufruf immer aktiv bleiben um das Log zu schreiben? Ich dachte das Logfile wird damit nur erstellt und die Logzeilen werden dann immer dort angehängt wenn er vorhanden ist. Deswegen hatte ich den Aufruf nach dem erstellen des Logfiles deaktiviert.

                                      E F 2 Antworten Letzte Antwort
                                      0
                                      • S Smartin

                                        @emil70

                                        debug.txt

                                        + GERAET=RasPi1
                                        + WATCH_IP=192.168.1.109
                                        + LOGFILE=/media/fritz.nas/SAMSUNG/RasPI/raspi1.log
                                        + PAUSE1=120
                                        + PAUSE2=10
                                        + TESTS=2
                                        + MISSED=0
                                        + true
                                        + ping -c 1 -w 1 192.168.1.109
                                        + echo 0
                                        0
                                        + MISSED++
                                        ./restart_raspi1.sh: 32: ./restart_raspi1.sh: MISSED++: not found
                                        + [ 0 -eq 2 ]
                                        + true
                                        + ping -c 1 -w 1 192.168.1.109
                                        + echo 0
                                        0
                                        + MISSED++
                                        ./restart_raspi1.sh: 32: ./restart_raspi1.sh: MISSED++: not found
                                        + [ 0 -eq 2 ]
                                        + true
                                        + ping -c 1 -w 1 192.168.1.109
                                        + echo 0
                                        0
                                        

                                        Deinen 2. Absatz verstehe ich nicht so ganz. Muss der touch Aufruf immer aktiv bleiben um das Log zu schreiben? Ich dachte das Logfile wird damit nur erstellt und die Logzeilen werden dann immer dort angehängt wenn er vorhanden ist. Deswegen hatte ich den Aufruf nach dem erstellen des Logfiles deaktiviert.

                                        E Online
                                        E Online
                                        emil70
                                        schrieb am zuletzt editiert von emil70
                                        #29

                                        @smartin

                                        wegen dem 2.Absatz, hatte ich das falsch verstanden

                                        touch $LOGFILE
                                        

                                        wird nicht benötigt, da mit

                                        >> $LOGFILE
                                        

                                        er angelegt wird

                                        Zu deinem Fehler. Ist die anzupingene IP die Richtige?
                                        Da bei dir ein

                                        echo 0
                                        

                                        kommt

                                        Die Meldung

                                        MISSED++: not found
                                        

                                        ist Richtig, wird sobald ein

                                        + MISSED=0
                                        

                                        und nicht ein

                                        echo 0
                                        

                                        nicht mehr erscheinen

                                        So der Log bei mir au smit deinen daten, da ich die IP nicht habe

                                        + GERAET=RasPi1
                                        + WATCH_IP=192.168.1.109
                                        + LOGFILE=/var/log/Sonoff/test.log
                                        + PAUSE1=120
                                        + PAUSE2=10
                                        + TESTS=2
                                        + MISSED=0
                                        + true
                                        + ping -c 1 -w 1 192.168.1.109
                                        + echo 0
                                        0
                                        + MISSED++
                                        ./test.sh: 25: ./test.sh: MISSED++: not found
                                        + [ 0 -eq 2 ]
                                        + sleep 120
                                        + true
                                        + ping -c 1 -w 1 192.168.1.109
                                        + echo 0
                                        0
                                        + MISSED++
                                        ./test.sh: 25: ./test.sh: MISSED++: not found
                                        + [ 0 -eq 2 ]
                                        + sleep 120
                                        + true
                                        + ping -c 1 -w 1 192.168.1.109
                                        + echo 0
                                        
                                        

                                        So mit einer IP von mir

                                        + GERAET=Gartentorbeleuchtung1
                                        + WATCH_IP=12.16.8.57
                                        + LOGFILE=/var/log/Sonoff/Gartentorbeleuchtung1.log
                                        + PAUSE=60
                                        + TESTS=10
                                        + MISSED=0
                                        + true
                                        + ping -c 1 -w 1 12.16.8.57
                                        + echo 0
                                        0
                                        + MISSED++
                                        ./Gartentorbeleuchtung1.sh: 31: ./Gartentorbeleuchtung1.sh: MISSED++: not found
                                        + [ 0 -eq 10 ]
                                        + sleep 60
                                        + true
                                        + ping -c 1 -w 1 12.16.8.57
                                        + [ 0 -ge 10 ]
                                        + MISSED=0
                                        + [ 0 -eq 10 ]
                                        + sleep 60
                                        + true
                                        + ping -c 1 -w 1 12.16.8.57
                                        + [ 0 -ge 10 ]
                                        + MISSED=0
                                        + [ 0 -eq 10 ]
                                        + sleep 60
                                        + true
                                        + ping -c 1 -w 1 12.16.8.57
                                        + [ 0 -ge 10 ]
                                        + MISSED=0
                                        + [ 0 -eq 10 ]
                                        + sleep 60
                                        + true
                                        + ping -c 1 -w 1 12.16.8.57
                                        + [ 0 -ge 10 ]
                                        + MISSED=0
                                        
                                        

                                        Edit: Du muss, wenn Alles geht in die

                                        /etc/crontab
                                        

                                        das reinschreiben, so wie das script ausgführt und die Prüfschleife wiederholt sich immer wieder

                                        @reboot root /dein Pfad zum script/restart_raspi1.sh
                                        

                                        Danch ein reboot durchführen

                                        gruss emil70

                                        iobroker,pihole,homematic,motioneys,solaranlage laufen auf Proxmox (16 x AMD Ryzen 7 6800H with Radeon Graphics )

                                        1 Antwort Letzte Antwort
                                        0
                                        • P Offline
                                          P Offline
                                          peterfido
                                          schrieb am zuletzt editiert von
                                          #30

                                          Wie wäre es mit einem Skript auf dem Raspi selbst? Also z.B. minütlich prüfen, ob ein Ping, z.B. zum Router fehl schlägt und dann einen Reboot hinlegen.

                                          Hängt der Raspi selbst, kann man nach einer längeren Zeit, wie z.B. 5 Minuten, die Steckdose immer noch kurz abschalten.

                                          Zur Fehlersuche würde ich mir den freien RAM mitloggen.

                                          Gruß

                                          Peterfido


                                          Proxmox auf Intel NUC12WSHi5
                                          ioBroker: Debian (VM)
                                          CCU: Debmatic (VM)
                                          Influx: Debian (VM)
                                          Grafana: Debian (VM)
                                          eBus: Debian (VM)
                                          Zigbee: Debian (VM) mit zigbee2mqtt

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          552

                                          Online

                                          32.7k

                                          Benutzer

                                          82.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe