Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Raspberry mit Linux-Control Adapter neu starten

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Raspberry mit Linux-Control Adapter neu starten

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Kraxelhuber @liv-in-sky last edited by

      @liv-in-sky
      Meine iobroker Master Instanz läuft in einem Docker Container auf meiner Synology DiskStation. Auf einem Raspberry läuft die Slave Instanz ebenfalls in einem Docker Container.

      Mein Ziel ist es den RPi zu rebooten, sobald der Docker Container der Hauptinstanz neu gestartet wurde.

      liv-in-sky 1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @Kraxelhuber last edited by liv-in-sky

        @kraxelhuber

        über ssh würde das funktionieren

        1 über eine zu installierende node - die node muss in der javascript-instanz bei zusätzlichen nodes eingetragen werden - das ist zwar dann javascript, aber dass könnte man über ein function-blockly einbinden https://forum.iobroker.net/post/362315
        2 hier sind beispiele für eine ssh verbindung, die dann über das exec-blockly ausgeführt werden - schnell und "dirty" über passh oder sicherer mit ssh-key https://serverfault.com/questions/241588/how-to-automate-ssh-login-with-password
        3 die idee von @Elektroniker86 ist auch nicht schlecht - über diesen adapter (linux controll) kann man dann sehr einfach andere abfragen dazunehmen und hat dann ein paar system infos über den slave (wenn man das haben will - z.b. temp) https://forum.iobroker.net/topic/35870/test-adapter-linux-control-v1-x-x
        4 bin mir da nicht sicher ob das funktioniert - habe keine slaves - über eine javascript-instanz auf dem slave installiert und dort direkt - ohne ssh - einen sudo reboot im exec-blockly ausführen - der trigger muss dann vom master und einem dp kommen
        • auf was willst du triggern ? z.b. uptime (system.adapter.admin.0.uptime)
          ein script ohne trigger welches nach einer zeitverzögerung die uptime abfrägt und dann ( je nach uptime) den befehl sendet oder nicht. ein script ohne trigger wird immer nach einem reboot bzw eigentlich nach dem start der javascript instanz gestartet

        oder hast du eine andere idee

        1 Reply Last reply Reply Quote 0
        • K
          Kraxelhuber @Elektroniker86 last edited by

          @elektroniker86
          @liv-in-sky

          Ich habe jetzt den Linux-Control Adapter verwendet. Das war ein guter Tip. Danke dafür!

          Den Reboot des RPi habe ich damit hinbekommen. Bei mir stellt sich jetzt in der Tat nur noch die Frage des Triggers. Eigentlich soll das Script ausgeführt werden, sobald die ioBroker Master Instanz (hier läuft auch der Linux-Controller) neu gestartet wurde.

          Ich habe jetzt folgendes, simples Script erstellt, was auch bei manueller Ausführung seinen Dienst erfolgreich verrichtet. Allerdings wird es nicht automatisch nach einem Neustart ausgeführt. Hättet ihr da noch einen Hinweis?

          f670103e-161e-467c-b9a7-f0c2cdd405c3-grafik.png

          <xml xmlns="https://developers.google.com/blockly/xml">
            <block type="control" id="(l[e@^Nj$-f)3{}CU(zS" x="63" y="-187">
              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              <field name="OID">linux-control.0.ioBroker_slave.control.restart</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
                <block type="logic_boolean" id="n:ZJFf#Dsk0bM}xi+^oA">
                  <field name="BOOL">TRUE</field>
                </block>
              </value>
              <next>
                <block type="telegram" id="E/C2MhZ}-]2iGVt`%8`-">
                  <field name="INSTANCE"></field>
                  <field name="LOG"></field>
                  <field name="SILENT">FALSE</field>
                  <field name="PARSEMODE">default</field>
                  <value name="MESSAGE">
                    <shadow type="text" id="XS8u]l_WUJ^LntCJ37wl">
                      <field name="TEXT">RPi ioBroker Slave rebooted</field>
                    </shadow>
                  </value>
                </block>
              </next>
            </block>
          </xml>
          
          liv-in-sky 2 Replies Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @Kraxelhuber last edited by

            @kraxelhuber das ganze vielleicht mit etwas zeitverzögerung - 30 sek oder so - mal testen -mit einem timeout-block

            K 1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @Kraxelhuber last edited by

              @kraxelhuber

              wenn du das so machst, triggerst du auch, wenn nur die javascript-instanz restarted (von hand oder durch einen scriptfehler) wird - kommt nicht oft vor - kann aber vorkommen

              K 1 Reply Last reply Reply Quote 0
              • K
                Kraxelhuber @liv-in-sky last edited by

                @liv-in-sky

                So hat es funktioniert:

                3d839765-19ee-4496-b3ba-e15d2ddc0fec-grafik.png

                Ich musste schon ein bisschen Zeit geben, bis der Linux-Control Adapter initialisiert wurde und auch die Daten vom RPi empfangen hat.

                1 Reply Last reply Reply Quote 0
                • K
                  Kraxelhuber @liv-in-sky last edited by

                  @liv-in-sky said in Raspberry neu starten:

                  @kraxelhuber

                  wenn du das so machst, triggerst du auch, wenn nur die javascript-instanz restarted (von hand oder durch einen scriptfehler) wird - kommt nicht oft vor - kann aber vorkommen

                  Würdest du einen anderen Trigger wählen?

                  liv-in-sky 1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @Kraxelhuber last edited by liv-in-sky

                    @kraxelhuber

                    ich würde unter dem/im timeout noch eine if abfrage machen, ob dieser dp (system.adapter.admin.0.uptime) kleiner ... sekunden ist
                    die sekundenanzahl musst du schätzen - du brauchst 180 sekunden (timeout plus die sekunden, bis die javascript-instanzen gestartet werden - vielleicht 5 min also kleiner 300 sekunden

                    den dp siehst du mit der experten-einstellung im admin

                    K 1 Reply Last reply Reply Quote 0
                    • K
                      Kraxelhuber @liv-in-sky last edited by

                      @liv-in-sky

                      Meinst du das so?

                      59f1bb61-480e-46e4-8fdd-02c5f9e1d5d5-grafik.png

                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @Kraxelhuber last edited by

                        @kraxelhuber

                        ja - wenn also nach 300 sekunden online der javascript adapter neugestartet wird, wird der neustart nicht ausgeführt !

                        K 1 Reply Last reply Reply Quote 0
                        • K
                          Kraxelhuber @liv-in-sky last edited by

                          @liv-in-sky said in Raspberry neu starten:

                          @kraxelhuber

                          ja - wenn also nach 300 sekunden online der javascript adapter neugestartet wird, wird der neustart nicht ausgeführt !

                          Super, das läuft rund. Danke, Problem gelöst.

                          liv-in-sky 1 Reply Last reply Reply Quote 0
                          • liv-in-sky
                            liv-in-sky @Kraxelhuber last edited by

                            @kraxelhuber konntest du dein slave problem lösen ?

                            K 1 Reply Last reply Reply Quote 0
                            • K
                              Kraxelhuber @liv-in-sky last edited by

                              @liv-in-sky said in [gelöst] Raspberry mit Linux-Control Adapter neu starten:

                              @kraxelhuber konntest du dein slave problem lösen ?

                              Ja, besten Dank!

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              879
                              Online

                              31.9k
                              Users

                              80.1k
                              Topics

                              1.3m
                              Posts

                              blockly
                              4
                              17
                              1059
                              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