Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Fritzbox regelmäßig neu starten - erbitte Hilfe

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    Fritzbox regelmäßig neu starten - erbitte Hilfe

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      Berlon @Rand last edited by

      @Rand
      bin jetzt erst dazu gekommen das ganze umzusetzen.

      Problem:
      Das Script läuft, FB wird resettet.
      Habe über das Uhrsymbol eine Zeit eingestellt. Alle 3 Tage um 3:00.
      das Script wurde vom Editor folgendermaßen geändert.

      '{"time":{"start":"03:00","end":"04:00","mode":"hours","interval":1},"valid":{"from":"06.11.2020"},"period":{"days":3}}'
      function test ()
      {
          console.log("Restarting");
          exec('/home/iobroker/reset_fb.sh > /home/iobroker/FBlog', function(err, stdout, stderr) {
                  if(err)
                  { 
                      log('Exec-Fehler: '+ stderr, 'error');
                  }
                  else
                  {
                      log('FB restarted'+ stdout, 'info');
                  }
              });
      }
      
        schedule("* * * * *", function () {
          test();
      });
      

      Wenn ich nun das Script laufen lasse wird die FB immer neu gestartet und im Log erscheint folgender Fehler:

      javascript.0	2020-11-08 06:48:05.322	error	(2029) script.js.meine_Scripte.FB-Reset_starten: Exec-Fehler:
      javascript.0	2020-11-08 06:48:00.007	info	(2029) script.js.meine_Scripte.FB-Reset_starten: Restarting
      

      Wo liegt der Fehler? Wie gesagt, ich komme aus der Windowsecke und habe mit Linux "noch" nicht viel Erfahrung.

      Gruß
      Bernd

      D R 2 Replies Last reply Reply Quote 0
      • D
        Dragon @Berlon last edited by

        @Berlon Ich würde um es einfach zu halten einfach den tr064 Adapter installieren und per Zeitsteuerung im Blockly einfach den Datenpunkt reboot nutzen lassen und gut ists. Ist das einfachste...

        B 1 Reply Last reply Reply Quote 1
        • B
          Berlon @Dragon last edited by Berlon

          @David-Froebus
          habe mal das Script zusammen geklickt. Würde das funktionieren?

          <block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="ip^_?xFbOW;Z1}!(Pug7" x="38" y="38">
            <field name="SCHEDULE">{"time":{"start":"03:00","end":"","mode":"hours","interval":0},"period":{"days":3},"valid":{"from":"08.11.2020"}}</field>
            <statement name="STATEMENT">
              <block type="control" id="0G%-]IJ#r~caPJ~0^P~B">
                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                <field name="OID">tr-064.0.states.reboot</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                  <block type="logic_boolean" id="AR+JzgrSo,{WDF],[hLe">
                    <field name="BOOL">TRUE</field>
                  </block>
                </value>
              </block>
            </statement>
          </block>
          

          Wegen der langen Zeitspanne kann ich es nicht überprüfen, hoffe nun auf die Meister des Scriptens.
          Gruß
          Bernd

          D 1 Reply Last reply Reply Quote 0
          • D
            Dragon @Berlon last edited by

            @Berlon Da warst du nah dran. Aber für den ersten Versuch ganz gut. Du musst keine Zeitspannen nehmen, sondern einen bestimmten Zeitpunkt. Und bei dem "Button" Status würde ich umschalten. Dann gehst du auf Nummer sicher...
            Versuch es so:

            <block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="ip^_?xFbOW;Z1}!(Pug7" x="38" y="38">
              <field name="SCHEDULE">{"time":{"start":"03:00","exactTime":true},"valid":{"from":"08.11.2020"},"period":{"days":3}}</field>
              <statement name="STATEMENT">
                <block type="toggle" id="|Zny_ua0bv/ZQd(muxpV">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                  <field name="OID">tr-064.0.states.reboot</field>
                  <field name="WITH_DELAY">FALSE</field>
                </block>
              </statement>
            </block>
            
            B 1 Reply Last reply Reply Quote 0
            • B
              Berlon @Dragon last edited by

              @David-Froebus
              danke schon mal. "Zu einem bestimmeten Zeitpunkt" sehe ich ein. ist eleganter.
              Aber was bewirkt Umschalten gegenüber steure??

              Gruß
              Bernd

              D 1 Reply Last reply Reply Quote 0
              • D
                Dragon @Berlon last edited by

                @Berlon Der State reboot ist ein Button. Da habe ich mal iwo gelesen nutzt man einfach umschalten. Habe ich nicht hinterfragt und hat bei mir auch super geklappt...

                1 Reply Last reply Reply Quote 0
                • R
                  Rand @Berlon last edited by

                  @Berlon

                  Sorry war etwas busy...

                  Ich sehe Du hast umgebaut und damit ggf nicht mehr relevant, aber zur Vollständigkeit -
                  ich nehme an das Dein Script mit einem Exit Code != 0 endet (aber ohne Fehlermeldung) auf stderr; daher gibt es einen Fehler ohne Mitteilung.

                  Sollte sich auf shell ebene einfdach prüfen lassen mit einem "echo $?" nachdem das script aufgerufen wurde.

                  Oder heisst "immer neu gestartet" bei jedem Aufruf? - Nicht ganz klar was das Problem ist:)

                  B 1 Reply Last reply Reply Quote 0
                  • B
                    Berlon @Rand last edited by

                    @Rand
                    Das Problem bestand darin, das die FB bei laufendem Script alle 3-4 Minuten neu gestartet ist.
                    Da ich die FB so eingestellt habe, das bei einem Neustart Logs per eMail zugestellt bekomme habe ich die halt alle 3-4 Minuten erhalten.
                    Wo das Problem liegt weiß ich nicht.
                    Die Jetzige Funktion geht auch, nur mit dem Unterschied das die Logs nicht mehr zugestellt werden.
                    Vieleicht kann man da nochmal drüber schauen, das mit den zugestellten Logs ist schon gut.
                    Gruß
                    Bernd

                    R 1 Reply Last reply Reply Quote 0
                    • R
                      Rand @Berlon last edited by

                      @Berlon

                      Naja Du hast oben einen alle 3 Tage triggger und unter ein dauernd trigger würde ich sagen, aber schedules sind mir auch noch ein wenig suspekt... die agieren bei mir auch öfter mal schwer nachvollziehbar;)

                      Sieht aber für mich doppelt aus - ersetze mal den unteren aufruf einfach mit test(), also

                      
                      
                      '{"time":{"start":"03:00","end":"04:00","mode":"hours","interval":1},"valid":{"from":"06.11.2020"},"period":{"days":3}}'
                      
                      function test ()
                      
                      {
                      
                        console.log("Restarting");
                      
                        exec('/home/iobroker/reset_fb.sh > /home/iobroker/FBlog', function(err, stdout, stderr) {
                      
                                if(err)
                      
                                { 
                      
                                    log('Exec-Fehler: '+ stderr, 'error');
                      
                                }
                      
                                else
                      
                                {
                      
                                    log('FB restarted'+ stdout, 'info');
                      
                                }
                      
                            });
                      
                      }
                      
                      test();
                      
                      B 1 Reply Last reply Reply Quote 0
                      • B
                        Berlon @Rand last edited by Berlon

                        Hallo Rand,
                        bin zur Zeit stark beruflich gebunden und komme deshalb momentan zu selten an den Broker. Habe dein Script mal eingetragen bekomme aber den Fehler

                        08:26:28.281	error	javascript.0 (2029) script.js.meine_Scripte.FB-Reset_starten compile failed: at script.js.meine_Scripte.FB-Reset_starten:1
                        

                        beim ausfüheren des Skriptes.

                        Die Datei reset_fb.sh ist vorhanden und ausgefüllt.
                        Für die Datei ist sudo chmod +x /home/iobroker/reset_fb.sh ausgeführt

                        In der Datei FBlog steht nix drin.

                        Kannst du mir da weiterhelfen da ich mit der Fehlermeldung nix anfangen kann.

                        Gruß
                        Bernd

                        R 1 Reply Last reply Reply Quote 0
                        • R
                          Rand @Berlon last edited by

                          @Berlon
                          Hi,

                          hast Du mal die Leerzeile weggemacht? (und die anderen unnötigen auch damit es besser lesbar ist)
                          Der Codeblock war nur Copy&Paste und nicht getestet...

                          B 1 Reply Last reply Reply Quote 0
                          • B
                            Berlon @Rand last edited by

                            @Rand ,
                            so langsam verzweifele ich am Broker......

                            Script sieht nun so aus:

                            function test ()
                            {
                              console.log("Restarting");
                              exec('/home/iobroker/reset_fb.sh > /home/iobroker/FBlog', function(err, stdout, stderr) {
                                      if(err)
                                      { 
                                          log('Exec-Fehler: '+ stderr, 'error');
                                      }
                                      else
                                      {
                                          log('FB restarted'+ stdout, 'info');
                                      }
                                  });
                            }
                            test();
                            

                            Fehlermeldung kommt:

                            javascript.0	2020-11-21 08:25:30.514	error	(2029) script.js.meine_Scripte.FB-Reset_starten: Exec-Fehler:
                            javascript.0	2020-11-21 08:25:25.465	info	(2029) script.js.meine_Scripte.FB-Reset_starten: registered 0 subscriptions and 0 schedules
                            javascript.0	2020-11-21 08:25:25.427	info	(2029) script.js.meine_Scripte.FB-Reset_starten: Restarting
                            javascript.0	2020-11-21 08:25:25.413	info	(2029) Start javascript script.js.meine_Scripte.FB-Reset_starten
                            

                            Ich sehe den Fehler nicht da vom Broker keine genaueren Angaben.

                            Hiiilfe!!!!

                            Gruß
                            Bernd

                            R 1 Reply Last reply Reply Quote 0
                            • R
                              Rand @Berlon last edited by

                              @Berlon said in Fritzbox regelmäßig neu starten - erbitte Hilfe:

                              function test ()

                              Naja das sieht doch so aus als würde er versuchen das Skript auszuführen (Log Meldung Restarting), aber dann auf Shell Ebene einen unbekannten Fehler finden.

                              Läuft das Shell script denn wenn du es als User iobroker ausführst?

                              B 1 Reply Last reply Reply Quote 0
                              • B
                                Berlon @Rand last edited by Berlon

                                @Rand
                                hmmm.. wie Eingangs schongeschrieben bin ich linuxmäßig ein DAU.
                                Wenn ich mit Putty auf den Pi gehe habe ich als user:
                                pi@raspberry.
                                Wie kann ich da nun das Script als iobroker ausführen.
                                Und wenn das nicht geht, wie kann ich dem iobroker die Rechte für das Script geben?

                                Gruß
                                Bernd

                                R 1 Reply Last reply Reply Quote 0
                                • R
                                  Rand @Berlon last edited by

                                  @Berlon

                                  Wenn du das Passwort vom iobroker User gesetzt hast dann mit su - iobroker

                                  Alternativ su - um root zu werden, dann su - iobroker
                                  Falls Du das root pw nicht hast ggf auch sudo su - wenn bei Dir sudo eingerichtet ist.

                                  Dann als iobroker /home/iobroker/reset_fb.sh ausführen.

                                  Wenn es einen Ausführungsfehler gibt bitte ein ls -l /home/iobroker/reset_fb.sh herzeigen
                                  Wenn es einen anderen Fehler ist dann entsprechend den zeigen

                                  Thomas Braun 1 Reply Last reply Reply Quote 0
                                  • Thomas Braun
                                    Thomas Braun Most Active @Rand last edited by

                                    @Rand
                                    Quatsch...

                                    sudo -u iobroker DAS-WAS-IOBROKER-AUSFUEHREN-SOLL
                                    
                                    R 1 Reply Last reply Reply Quote 0
                                    • R
                                      Rand @Thomas Braun last edited by

                                      @Thomas-Braun

                                      ... wenn user pi als iobroker was ausführen darf ?
                                      Ist das so in den Pi images drin?
                                      Ist überhaupt ein Image verwendet worden oder manuell installiert?

                                      Thomas Braun 1 Reply Last reply Reply Quote 0
                                      • Thomas Braun
                                        Thomas Braun Most Active @Rand last edited by Thomas Braun

                                        @Rand
                                        Mit

                                        sudo -u Username
                                        

                                        kann man Befehle als der genannte User ausführen.
                                        Da muss man nicht mit su - oder ähnlichem rummurksen.
                                        Der Befehl ist genau für diesen usecase angelegt.

                                        R 1 Reply Last reply Reply Quote 0
                                        • R
                                          Rand @Thomas Braun last edited by

                                          @Thomas-Braun

                                          Ohne das man explizit die entsprechenden Berechtigungen in der sudoers braucht?
                                          shrug Ok, bin nicht mehr so fit in Linux wie früher, mag also sein:)

                                          Thomas Braun 1 Reply Last reply Reply Quote 0
                                          • Thomas Braun
                                            Thomas Braun Most Active @Rand last edited by

                                            @Rand

                                            pi@raspberrypi:~ $ sudo -u iobroker whoami
                                            iobroker
                                            
                                            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

                                            824
                                            Online

                                            32.1k
                                            Users

                                            80.6k
                                            Topics

                                            1.3m
                                            Posts

                                            fritzbox 7490
                                            4
                                            25
                                            4317
                                            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