Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. (Frage) Shutdown vom Raspi aus ioBroker ?

    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

    (Frage) Shutdown vom Raspi aus ioBroker ?

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dolomiti
      Dolomiti @wendy2702 last edited by Dolomiti

      @Humidor Ich fahre den Raspi runter und schalte dann die Steckdose aus, um den Raspi vom Netz zu trennen

      Hier mal mein Blockly

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable id="29)7+kniBIy]GapZE*n`">result</variable>
         <variable id="K;C,Y%g_*TA{@p[x@gqZ">error</variable>
         <variable id="YniB$N$0=rO`:bW~b~;{">stderr</variable>
       </variables>
       <block type="comment" id="La*}V+_`agNidCq=7N/~" x="-1087" y="-237">
         <field name="COMMENT">Vis Ein</field>
         <next>
           <block type="on" id="^^hXU1Evgj.5RQbV@3a|">
             <field name="OID">javascript.0.HS-110.SetState</field>
             <field name="CONDITION">true</field>
             <field name="ACK_CONDITION"></field>
             <statement name="STATEMENT">
               <block type="control" id="5iw}ZF=?SU(~e-+72@6d">
                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                 <field name="OID">hs100.0.192_168_1_200.state</field>
                 <field name="WITH_DELAY">FALSE</field>
                 <value name="VALUE">
                   <block type="logic_boolean" id="LTCK{]jKskj1a%~|l*nZ">
                     <field name="BOOL">TRUE</field>
                   </block>
                 </value>
               </block>
             </statement>
           </block>
         </next>
       </block>
       <block type="comment" id="Fk*S-(*Tlhy0K=xAQ|*e" x="-1087" y="38">
         <field name="COMMENT">Vis Aus</field>
         <next>
           <block type="on" id=";k;i(}~^97vOm0B.#tLu">
             <field name="OID">javascript.0.HS-110.SetState</field>
             <field name="CONDITION">false</field>
             <field name="ACK_CONDITION"></field>
             <statement name="STATEMENT">
               <block type="exec" id="1LFRqw|35i8-u,vSptbA">
                 <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                 <field name="WITH_STATEMENT">TRUE</field>
                 <field name="LOG">log</field>
                 <value name="COMMAND">
                   <shadow type="text" id="CQWN5.yzMcU!%D=DgSV3">
                     <field name="TEXT">ssh root@192.168.1.181 shutdown -h now</field>
                   </shadow>
                 </value>
                 <statement name="STATEMENT">
                   <block type="debug" id="Y$v~T}^5[H0.{XW/qv3q">
                     <field name="Severity">log</field>
                     <value name="TEXT">
                       <shadow type="text" id="?:DjDSS@WPmlC%xw}Ckb">
                         <field name="TEXT">test</field>
                       </shadow>
                       <block type="text_join" id="F(g+i^`*|pVjE.T3*th3">
                         <mutation items="2"></mutation>
                         <value name="ADD0">
                           <block type="text" id="%2V{96uW2FS9VJ[{Cbpk">
                             <field name="TEXT">result181vis: </field>
                           </block>
                         </value>
                         <value name="ADD1">
                           <block type="variables_get" id="W#}$6A$rYR-NNYwLPuuD">
                             <field name="VAR" id="29)7+kniBIy]GapZE*n`">result</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <next>
                       <block type="debug" id=".qNoQ$?4/#ttfZwiN7[*">
                         <field name="Severity">log</field>
                         <value name="TEXT">
                           <shadow type="text" id="$R.HL[qtuJ5X3`a~!pIf">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="text_join" id="T84DsQucu2q:17?)W{eL">
                             <mutation items="2"></mutation>
                             <value name="ADD0">
                               <block type="text" id=":Q~}].f|X+=4UV_-1$Vp">
                                 <field name="TEXT">error181vis: </field>
                               </block>
                             </value>
                             <value name="ADD1">
                               <block type="variables_get" id="cS+nA-Rm1?EH6@ZfRwKQ">
                                 <field name="VAR" id="K;C,Y%g_*TA{@p[x@gqZ">error</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <next>
                           <block type="debug" id="d:veD$2VsJREQ:no:WN^">
                             <field name="Severity">log</field>
                             <value name="TEXT">
                               <shadow type="text" id="u_]~j~LCpTeVik8WNV^M">
                                 <field name="TEXT">test</field>
                               </shadow>
                               <block type="text_join" id="@S1^*D`z[##:ZHf]L4q*">
                                 <mutation items="2"></mutation>
                                 <value name="ADD0">
                                   <block type="text" id="_@o#r91,FxF+M[U@!IWk">
                                     <field name="TEXT">stderr181vis: </field>
                                   </block>
                                 </value>
                                 <value name="ADD1">
                                   <block type="variables_get" id="S?4Fc]HH5ulGw8%Z_jMb">
                                     <field name="VAR" id="YniB$N$0=rO`:bW~b~;{">stderr</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </statement>
                 <next>
                   <block type="control" id="81|*-`*oH,TWh!-=RhC:">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                     <field name="OID">hs100.0.192_168_1_200.state</field>
                     <field name="WITH_DELAY">TRUE</field>
                     <field name="DELAY_MS">30</field>
                     <field name="UNIT">sec</field>
                     <field name="CLEAR_RUNNING">FALSE</field>
                     <value name="VALUE">
                       <block type="logic_boolean" id="W,],|]O///hV~3df~@C8">
                         <field name="BOOL">FALSE</field>
                       </block>
                     </value>
                   </block>
                 </next>
               </block>
             </statement>
           </block>
         </next>
       </block>
       <block type="comment" id="8LF^,[#HvnSaxqO*|=LA" x="-537" y="88">
         <field name="COMMENT">Zeit Aus</field>
         <next>
           <block type="schedule" id="_u-.BC#csgEoEG=],*tl">
             <field name="SCHEDULE">59 23 * * 0-4</field>
             <statement name="STATEMENT">
               <block type="controls_if" id="!V6s^8H:f!1?`A`DT7gv">
                 <value name="IF0">
                   <block type="logic_operation" id="8rP!v6_mZ$rqjsFm*,b2">
                     <field name="OP">AND</field>
                     <value name="A">
                       <block type="logic_compare" id="[Q%GS}p*r,x-u=q{b/=r">
                         <field name="OP">EQ</field>
                         <value name="A">
                           <block type="get_value" id="bWx!uj~:P!*]%?+xmbNu">
                             <field name="ATTR">val</field>
                             <field name="OID">hm-rega.0.3617</field>
                           </block>
                         </value>
                         <value name="B">
                           <block type="logic_boolean" id="=2ij}wz#6H^8|E:9v{X=">
                             <field name="BOOL">FALSE</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <value name="B">
                       <block type="logic_compare" id="|`m)A[I)q[Kik429)I%u">
                         <field name="OP">EQ</field>
                         <value name="A">
                           <block type="get_value" id="MM81x!naoYZz#/4f1.Iq">
                             <field name="ATTR">val</field>
                             <field name="OID">feiertage.0.morgen.boolean</field>
                           </block>
                         </value>
                         <value name="B">
                           <block type="logic_boolean" id=")/UXsjZ7M9Z27Dbj/FA,">
                             <field name="BOOL">FALSE</field>
                           </block>
                         </value>
                       </block>
                     </value>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="exec" id="tw/B`E2Mn_lw!rds(u%.">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                     <field name="WITH_STATEMENT">TRUE</field>
                     <field name="LOG">log</field>
                     <value name="COMMAND">
                       <shadow type="text" id="D}HGUAy[b1VRS=ZU3776">
                         <field name="TEXT">ssh root@192.168.1.181 shutdown -h now</field>
                       </shadow>
                     </value>
                     <statement name="STATEMENT">
                       <block type="debug" id="3?;(vM{F{pD0yijX6_RR">
                         <field name="Severity">log</field>
                         <value name="TEXT">
                           <shadow type="text">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="text_join" id="SE!0Lt5e;qx)Q]1-vC_R">
                             <mutation items="2"></mutation>
                             <value name="ADD0">
                               <block type="text" id="|O}W3`@YYU8r-?IPVRO7">
                                 <field name="TEXT">result181: </field>
                               </block>
                             </value>
                             <value name="ADD1">
                               <block type="variables_get" id="SM:!6/m6r(8q;Td%-dPq">
                                 <field name="VAR" id="29)7+kniBIy]GapZE*n`">result</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <next>
                           <block type="debug" id="NRbuGv*F23oFVJxw3F1m">
                             <field name="Severity">log</field>
                             <value name="TEXT">
                               <shadow type="text">
                                 <field name="TEXT">test</field>
                               </shadow>
                               <block type="text_join" id="#.DgTTkxiDD!{;@k0*FN">
                                 <mutation items="2"></mutation>
                                 <value name="ADD0">
                                   <block type="text" id="][e5L,dy.t]!YDQyBjhE">
                                     <field name="TEXT">error181: </field>
                                   </block>
                                 </value>
                                 <value name="ADD1">
                                   <block type="variables_get" id="ftXK6!mM9o9Fe^0SV*6V">
                                     <field name="VAR" id="K;C,Y%g_*TA{@p[x@gqZ">error</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <next>
                               <block type="debug" id="tRW(hl9rwYCljt(3clWj">
                                 <field name="Severity">log</field>
                                 <value name="TEXT">
                                   <shadow type="text">
                                     <field name="TEXT">test</field>
                                   </shadow>
                                   <block type="text_join" id="qm*bqCL:#Go;B1RMD,HX">
                                     <mutation items="2"></mutation>
                                     <value name="ADD0">
                                       <block type="text" id="TdG/F|=Pz~6q.VWnLBYr">
                                         <field name="TEXT">stderr181: </field>
                                       </block>
                                     </value>
                                     <value name="ADD1">
                                       <block type="variables_get" id="kVDebk9V|HQudAqimCjz">
                                         <field name="VAR" id="YniB$N$0=rO`:bW~b~;{">stderr</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </statement>
                     <next>
                       <block type="control" id="6Nu4=mc(@46(#2$=HaU%">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                         <field name="OID">javascript.0.HS-110.SetState</field>
                         <field name="WITH_DELAY">TRUE</field>
                         <field name="DELAY_MS">30</field>
                         <field name="UNIT">sec</field>
                         <field name="CLEAR_RUNNING">FALSE</field>
                         <value name="VALUE">
                           <block type="logic_boolean" id="Rm`[lAkp@JFUv1IJ#I-b">
                             <field name="BOOL">FALSE</field>
                           </block>
                         </value>
                       </block>
                     </next>
                   </block>
                 </statement>
               </block>
             </statement>
           </block>
         </next>
       </block>
      </xml>
      

      1 Reply Last reply Reply Quote 1
      • J
        joeflower @Humidor last edited by

        @humidor Ich hatte die beste Erfahrung (bzw. am zuverlässigsten), wenn ich das "runterfahren" Js-Script überlasse.
        Im Blockly dann z.B. eine Steckdose mit 30 Sek verzögerung schalteten.
        Hier mal mein JS-Script:

        var SSH = require('simple-ssh');
        var ssh = new SSH({
            host: '192.168.xxx.xxx',
            user: 'pi',
            pass: 'raspberry'
        });
          ssh.exec('sudo /home/pi/aus.sh', {
            out: function(stdout) {
                console.log(stdout);
            }
        }).start();
        

        Dann noch in /home/pi/aus.sh den shutdown Befehl eintragen.

        Humidor 1 Reply Last reply Reply Quote 1
        • Humidor
          Humidor @joeflower last edited by

          @joeflower @Dolomiti
          danke für eure Scripts!

          eins verstehe ich nicht, du startest den shutdown oder restart (egal)
          dann deaktivierst du aus ioBroker über Blockly die Steckdose?
          da läuft doch ioBroker gar nicht mehr ?

          Dolomiti 1 Reply Last reply Reply Quote 0
          • Dolomiti
            Dolomiti @Humidor last edited by

            @humidor Auf dem Raspi läuft nur Kodi. Mein ioBroker läuft in einem Container unter Proxmox

            Humidor 1 Reply Last reply Reply Quote 0
            • Humidor
              Humidor @Dolomiti last edited by

              @dolomiti sagte in (Frage) Shutdown vom Raspi aus ioBroker ?:

              @humidor Auf dem Raspi läuft nur Kodi. Mein ioBroker läuft in einem Container unter Proxmox

              OK, hab keine Ahnung was das ist 😉

              1 Reply Last reply Reply Quote 0
              • J
                joeflower @Humidor last edited by

                @humidor Klar wenn du den selben Raspi runter fährst, auf dem der IObroker läuft wäre das blöd. Ich dachte es wäre ein anderer Raspi. Was du in das Shellscript "aus.sh" rein schreibst ist dir überlassen. Also würde auch ein "sudo reboot" gehen.

                1 Reply Last reply Reply Quote 0
                • S
                  SpeedyBlade @mickym last edited by

                  @mickym könntest du diesen flow/node mal teilen bitte?

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @SpeedyBlade last edited by

                    @speedyblade Ich weiß nicht mehr was Du für einen Flow meinst bzw. mit dem Shelly - das Auto ON funktioniert irgendwie nicht.

                    Wenn Du auf Deiner Maschine sudo Kommandos ausführen willst, dann musst Du dem iobroker entsprechende Rechte geben. Dann musst kannst Du über die exec Node einfach runterfahren oder neustarten.

                    cbb59b2f-fdea-4ead-b662-eb27ff04afdf-image.png

                    Wie gesagt das AUTO On funktioniert nicht, auch wenn die Parameter über die HTTP Nodes verstellen kann.

                    S Thomas Braun 2 Replies Last reply Reply Quote 0
                    • S
                      SpeedyBlade @mickym last edited by

                      @mickym ak...alles klar...danke
                      dann schalte ich wohl eher die steckdose aus/ein zum rebooten, falls notwendig

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @SpeedyBlade last edited by

                        @speedyblade Nein das Rebooten mach direkt mit SUDO - nicht mit den Steckdosen. Das Reboot funktioniert auch. Bei dem Shutdown hatte ich nur die Idee, dass es nach einer Zeit wieder selbstständig hochfährt.

                        Also das sollte jedenfalls tun:

                        [
                           {
                               "id": "45318d82.5e9eb4",
                               "type": "exec",
                               "z": "2140b385.78fb7c",
                               "g": "e98606364e7d8fae",
                               "command": "sudo reboot",
                               "addpay": "",
                               "append": "",
                               "useSpawn": "false",
                               "timer": "",
                               "winHide": false,
                               "oldrc": false,
                               "name": "",
                               "x": 2850,
                               "y": 1100,
                               "wires": [
                                   [],
                                   [
                                       "e4f476eb324cf743"
                                   ],
                                   []
                               ]
                           },
                           {
                               "id": "e4f476eb324cf743",
                               "type": "debug",
                               "z": "2140b385.78fb7c",
                               "g": "e98606364e7d8fae",
                               "name": "Error Server MWHome reboot",
                               "active": true,
                               "tosidebar": true,
                               "console": false,
                               "tostatus": false,
                               "complete": "payload",
                               "targetType": "msg",
                               "statusVal": "",
                               "statusType": "auto",
                               "x": 3090,
                               "y": 1100,
                               "wires": []
                           },
                           {
                               "id": "d850706ffc7367d6",
                               "type": "inject",
                               "z": "2140b385.78fb7c",
                               "g": "e98606364e7d8fae",
                               "name": "Shutdown",
                               "props": [
                                   {
                                       "p": "payload"
                                   }
                               ],
                               "repeat": "",
                               "crontab": "",
                               "once": false,
                               "onceDelay": 0.1,
                               "topic": "",
                               "payload": "true",
                               "payloadType": "bool",
                               "x": 3480,
                               "y": 1100,
                               "wires": [
                                   [
                                       "9b251ee21907f782"
                                   ]
                               ]
                           },
                           {
                               "id": "9b251ee21907f782",
                               "type": "exec",
                               "z": "2140b385.78fb7c",
                               "g": "e98606364e7d8fae",
                               "command": "sudo shutdown",
                               "addpay": "",
                               "append": "",
                               "useSpawn": "false",
                               "timer": "",
                               "winHide": false,
                               "oldrc": false,
                               "name": "Shutdown MWHome",
                               "x": 3680,
                               "y": 1160,
                               "wires": [
                                   [],
                                   [],
                                   [
                                       "e3f6b9e498e53b1f"
                                   ]
                               ]
                           },
                           {
                               "id": "e3f6b9e498e53b1f",
                               "type": "debug",
                               "z": "2140b385.78fb7c",
                               "g": "e98606364e7d8fae",
                               "name": "",
                               "active": false,
                               "tosidebar": true,
                               "console": false,
                               "tostatus": false,
                               "complete": "false",
                               "statusVal": "",
                               "statusType": "auto",
                               "x": 3890,
                               "y": 1180,
                               "wires": []
                           }
                        ]
                        

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

                          @mickym sagte in (Frage) Shutdown vom Raspi aus ioBroker ?:

                          Wenn Du auf Deiner Maschine sudo Kommandos ausführen willst, dann musst Du dem iobroker entsprechende Rechte geben.

                          Der user 'iobroker' gehört aber nicht in die Gruppe 'sudo' rein. Dessen Rechte werden anderweitig vergeben. reboot und shutdown gehört allerdings schon dazu.

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

                            Gibt doch den Adapter Linux Control….
                            damit kann man wunderbar alle Befehle und Eventualitäten abbilden.

                            Edit: ansonsten wie schon geschrieben über simple-ssh

                            mickym 1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @haselchen last edited by

                              @haselchen sagte in (Frage) Shutdown vom Raspi aus ioBroker ?:

                              Gibt doch den Adapter Linux Control….
                              damit kann man wunderbar alle Befehle und Eventualitäten abbilden.

                              Nein leider nicht.

                              Mein Flow hat so funktioniert, dass die Maschine mit dem Raspberry runtergefahren wird und der Shelly mit 180 s (da kann man davon ausgehen, das die MAschine in der Regel runtergefahren ist) sich abschaltet und nach einer halben Stunde wieder einschaltet.

                              Das Problem ist, dass er sich nicht wieder einschaltet.

                              Und NEIN - der LINUX Adapter bringt hier auch keine Vorteile, weil auch hier der User iobroker die entsprechenden Rechte braucht. Auch die Adapter laufen nämlich mit diesem Benutzer.

                              haselchen 1 Reply Last reply Reply Quote 0
                              • S
                                SpeedyBlade @mickym last edited by SpeedyBlade

                                @mickym besten Dank...das ist ja top
                                kann ich damit jeden linux Befehl, welchen ich auch über Putty eingebe, durchführen lassen?

                                der Shutdown fährt ja nur herunter. Wenn dann die Steckdose ausgeschalten wird und anschließend wieder eingeschalten, dann sollte doch der Raspi automatisch wieder hochfahren

                                mickym 1 Reply Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @SpeedyBlade last edited by mickym

                                  @speedyblade Mit der Exec Node kannst Du alle Befehle durchführen. Wie gesagt es läuft alles mit den Rechten des Users iobroker.

                                  der Shutdown fährt ja nur herunter. Wenn dann die Steckdose ausgeschalten wird und anschließend wieder eingeschalten, dann sollte doch der Raspi automatisch wieder hochfahren

                                  Ja das geht auch, wenn du die Steckdose mit der ShellyApp wieder einschaltest.

                                  939d8085-9900-4b0d-b836-24420ef9a9ed-image.png

                                  Die Steckdose schaltet auch nach 180s (also 3 Minuten) ab, aber das AUTOMATISCH Wiedereinschalten mit dem Auto On funktioniert nicht.
                                  ed69854b-0037-4d6f-9dde-9a71e1e50d67-image.png
                                  Sprich irgendwie funktioniert der Ontimer irgendwie nicht, wenn man vorher über Auto-Off die Steckdose abgeschaltet hat.

                                  Wenn Du über die Shelly APP wieder einschaltest - fährt die Maschine ganz normal wieder hoch! - Also kein Problem.

                                  Wie gesagt Du musst der Maschine ja Zeit zum Runterfahren geben, ansonsten ist es ja wie STECKERZIEHEN und das sollte man in jedem Fall vermeiden.

                                  1 Reply Last reply Reply Quote 0
                                  • haselchen
                                    haselchen Most Active @mickym last edited by haselchen

                                    @mickym

                                    Mag sein , dass ich nicht ganz in der Thematik stecke 🫣
                                    Ich nutze das eigentlich so, ich lasse den Raspi mit dem Linux Control Befehl runterfahren . Und per WLAN Steckdose dann per Sprache wieder anschalten ,sodass der Raspi wieder hochfährt .

                                    mickym 1 Reply Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @haselchen last edited by

                                      @haselchen Das mit der Steckdose - wollte ich wie gesagt nur noch automatisieren, aber wenn Du mit AUTO OFF runterfährst, geht das mit dem AUTO ON nicht - ansonsten geht das.

                                      Und ja mit dem HOCH und RUNTERfahren über den Adapter habe ich was falsches gesagt.

                                      4831ef5a-aa15-4de6-b33e-98bc7c0d524c-image.png

                                      Der nutzt wohl die Benutzer, die man für die jeweiligen Maschinen angegeben hat. Aber auch mit dem Adapter würde ich dann den

                                      644eedc8-c60b-45c0-8cbf-13d31c68fc0a-image.png

                                      Datenpunkt mit NODE-RED ansteuern und sicher nicht mit Blockly. 😉 😉

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

                                      Support us

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

                                      846
                                      Online

                                      31.9k
                                      Users

                                      80.1k
                                      Topics

                                      1.3m
                                      Posts

                                      9
                                      33
                                      2412
                                      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