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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Neustart vom IoBroker sowie einen kompletten Reboot über die VIS mit Blockly

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

Neustart vom IoBroker sowie einen kompletten Reboot über die VIS mit Blockly

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
39 Beiträge 15 Kommentatoren 30.0k Aufrufe 4 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.
  • E Offline
    E Offline
    emblitz
    schrieb am zuletzt editiert von
    #2

    Hallo,

    hat jemand eine Lösung hierfür ?

    LG

    emblitz

    1 Antwort Letzte Antwort
    0
    • HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #3

      Ich habe das mal hierhin verschoben, ich denke im vis-Forum ist es nicht so gut aufgehoben.

      Gruß

      Rainer

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Antwort Letzte Antwort
      0
      • wendy2702W Online
        wendy2702W Online
        wendy2702
        schrieb am zuletzt editiert von
        #4

        Frage:

        Du nutzt den Cloud Zugang und willst den restart remote machen oder sollen die Leute zu Hause das machen können?

        Bitte keine Fragen per PN, die gehören ins Forum!

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

        1 Antwort Letzte Antwort
        0
        • E Offline
          E Offline
          emblitz
          schrieb am zuletzt editiert von
          #5

          Oh, ich wusste nicht, dass der Zugangssort, also von wo ich auf die Hompage der VIS zugreife, eine Rolle spielt.

          Ich verbinde mich über VPN oder W-Lan mit der Homepage der VIS.

          Ich stelle mir einen Taster in der VIS für den Reboot vor.

          LG

          embitz

          1 Antwort Letzte Antwort
          0
          • wendy2702W Online
            wendy2702W Online
            wendy2702
            schrieb am zuletzt editiert von
            #6

            Eigentlich spiel das keine Rolle.

            Aber wenn du per VPN auf dein Heimnetzwerk kommst, warum keinen klassischen restart per Konsole?

            Das hat den Vorteil das man eventuelle Fehlermeldungen beim Neustart zumindest von iobroker direkt sieht.

            Bitte keine Fragen per PN, die gehören ins Forum!

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

            1 Antwort Letzte Antwort
            0
            • E Offline
              E Offline
              emblitz
              schrieb am zuletzt editiert von
              #7

              Ja, aber mit dem Handy von unterwegs mal schnell einen Reboot über die Konsole zu machen, wenn etwas hakt ist eben schwierig.

              Daher meine Idee über die VIS.

              LG

              emblitz

              1 Antwort Letzte Antwort
              0
              • smartboartS Offline
                smartboartS Offline
                smartboart
                schrieb am zuletzt editiert von
                #8

                Mit Handy remote reboot geht einwandfrei über den telegram adapter, javascript adapter und text to command adapter, mit dem entsprechenden javascript. Mit diesem script geht dann auch der Reboot über vis…

                Blockly nutze ich aber nicht...

                Habe das in vis sogar mit ner Sicherheitsabfrage gelöst. Benutze das für iobroker update, upgrade, restart, stop und upgrade self für den js controller.

                und für das Tinker board für shut down und reboot...

                Ein script für reboot ist hier im Forum im Umlauf, habe das dann entsprechend meinen Bedürfnissen angepasst. 6558_screenshot_2018-06-19-17-02-40_1529420646117.png 6558_screenshot_2018-06-19-17-02-34_1529420646682.png

                1 Antwort Letzte Antwort
                0
                • B Offline
                  B Offline
                  Berchemer
                  schrieb am zuletzt editiert von
                  #9

                  Sieht gut aus. Bestünde vielleicht die Möglichkeit, dass Du View, Widgets und Skript sowie eine kleine Anweisung teilen würdest? ;)

                  1 Antwort Letzte Antwort
                  0
                  • smartboartS Offline
                    smartboartS Offline
                    smartboart
                    schrieb am zuletzt editiert von
                    #10

                    klar, bin auch immer froh, wenn ich hier was nützliches abgreifen kann….

                    Möchte noch dazu sagen, dass ich die Vorlage für die exec Funktion zum reboot hier im Forum gefunden habe...Dies ist also nicht mein Verdienst...

                    Habe es dann halt für sämtliche Funktionen geändert...

                    Das Script muss nur kopiert und im Javascript Adapter entsprechend eingepflegt werden...

                    Nach dem Starten des Scripts werden sämtliche für Vis nötige States unter Objekte angelegt..( javascript.o/t2c_system )

                    Die Widgets holen sich die States entsprechend ab oder beschreiben diese mit true und false...

                    Die exec Scripts lassen sich auch mit dem Handy ausführen...Dafür ist noch der telegram Adapter und text to command adapter nötig...

                    Wie das geht ist auch hier im Forum beschrieben..Vlt. auch auf Github....einfach mal suchen...Würde den Rahmen sprengen...

                    Hier der Export der widgets...

                    es sind 3 pro Funktion nötig.... Lade die 3 Widgets für die iobroker reboot Funktion hoch...das kann dann entsprechend kopiert und für alle anderen angepasst werden...

                    1. Vorwahl

                    [{"tpl":"_tplGroup","data":{"members":["w00162","w00163"],"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"g_signals":false,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"g_css_font_text":false,"g_css_background":false,"g_css_border":false,"g_css_shadow_padding":false,"g_gestures":false,"g_objects":false,"attrCount":"1"},"style":{"top":"210px","left":"30px","width":"100px","height":"100px","z-index":"3"},"widgetSet":null},{"tpl":"tplBulbOnOffCtrl","data":{"oid":"javascript.0.t2c_System.restart_Bestaetigung","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","icon_off":"/vis.0/restart.png","icon_on":"/icons-open-icon-library-png/actions/dialog-cancel-2.png","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"g_ccontrol":false,"readOnly":false,"name":"iobroker reboot","filterkey":"System","min":"","max":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false},"style":{"left":"35%","top":"35px","width":"70px","height":"70px","z-index":"3","background-color":"#383838","border-style":"outset","border-color":"#383838","border-radius":"12px","border-width":"5px"},"widgetSet":"basic","grouped":true,"groupName":"w00162"},{"tpl":"tplFrame","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"title":"reboot","title_color":"#ffffff","title_top":"5","title_left":"5","header_height":"100","header_color":"#90877a","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","name":"iobroker reboot","filterkey":"System"},"style":{"left":"0%","top":"0%","width":"100%","height":"100%","z-index":"2","background-color":"#90877a","border-color":"#90877a","border-style":"outset","border-width":"5px","border-radius":"12px","background":"#90877a"},"widgetSet":"basic","grouped":true,"groupName":"w00163"}]
                    

                    2. Rückfrage

                    [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":true,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"true","visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"sicher ?","visibility-oid":"javascript.0.t2c_System.restart_Bestaetigung"},"style":{"left":"34px","top":"330px","width":"102px","height":"27px","z-index":"3","text-align":"center","color":"#FFFFFF"},"widgetSet":"basic"}]
                    

                    3. Bestätigung für exec Funktions

                    [{"tpl":"tplBulbOnOffCtrl","data":{"oid":"javascript.0.t2c_System.restart_command","g_fixed":false,"g_visibility":true,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"true","visibility-groups-action":"hide","icon_off":"/icons-open-icon-library-png/actions/dialog-ok-4.png","icon_on":"/icons-open-icon-library-png/actions/dialog-ok-4.png","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"visibility-oid":"javascript.0.t2c_System.restart_Bestaetigung"},"style":{"left":"50px","top":"360px","width":"70px","height":"70px","z-index":"3","border-color":"#383838","border-radius":"12px","border-width":"5px","border-style":"outset","background-color":"#383838","background":"#383838"},"widgetSet":"basic"}]
                    

                    Hier das Script für die States und die Ecex funktionen ( javascript Adapter ) für Vis… es beinhaltet alle Funktionen welche in den Bildern oben zu sehen sind...

                    // states für Asführungsbestätigung der remote reboot / shutdown scripts
                    // und zum automatischem schließen des Bestätigungsbutton nach einer Zeit X
                    
                    createState('t2c_System.restart_Bestaetigung', '');
                    on({id: 'javascript.0.t2c_System.restart_Bestaetigung', change : 'any'}, function(obj) {
                      if (obj.newState.val === true || obj.newState.val === 'true'){
                         setTimeout(function(){setState('javascript.0.t2c_System.restart_Bestaetigung', 'false')},2*1000);
                      }
                    });
                    
                    createState('t2c_System.stop_Bestaetigung', '');
                    on({id: 'javascript.0.t2c_System.stop_Bestaetigung', change : 'any'}, function(obj) {
                      if (obj.newState.val === true || obj.newState.val === 'true'){
                         setTimeout(function(){setState('javascript.0.t2c_System.stop_Bestaetigung', 'false')},2*1000);
                      }
                    });
                    
                    createState('t2c_System.update_Bestaetigung', '');
                    on({id: 'javascript.0.t2c_System.update_Bestaetigung', change : 'any'}, function(obj) {
                      if (obj.newState.val === true || obj.newState.val === 'true'){
                         setTimeout(function(){setState('javascript.0.t2c_System.update_Bestaetigung', 'false')},2*1000);
                      }
                    });
                    
                    createState('t2c_System.upgrade_Bestaetigung', '');
                    on({id: 'javascript.0.t2c_System.upgrade_Bestaetigung', change : 'any'}, function(obj) {
                      if (obj.newState.val === true || obj.newState.val === 'true'){
                         setTimeout(function(){setState('javascript.0.t2c_System.upgrade_Bestaetigung', 'false')},2*1000);
                      }
                    });
                    
                    createState('t2c_System.upgradeSelf_Bestaetigung','');
                    on({id: 'javascript.0.t2c_System.upgradeSelf_Bestaetigung', change : 'any'}, function(obj) {
                      if (obj.newState.val === true || obj.newState.val === 'true'){
                         setTimeout(function(){setState('javascript.0.t2c_System.upgradeSelf_Bestaetigung', 'false')},2*1000);
                      }
                    });
                    
                    createState('t2c_System.LinuxRestart_Bestaetigung', '');
                    on({id: 'javascript.0.t2c_System.LinuxRestart_Bestaetigung', change : 'any'}, function(obj) {
                      if (obj.newState.val === true || obj.newState.val === 'true'){
                         setTimeout(function(){setState('javascript.0.t2c_System.LinuxRestart_Bestaetigung', 'false')},2*1000);
                      }
                    });
                    
                    createState('t2c_System.LinuxShutdown_Bestaetigung','');
                    on({id: 'javascript.0.t2c_System.LinuxShutdown_Bestaetigung', change : 'any'}, function(obj) {
                      if (obj.newState.val === true || obj.newState.val === 'true'){
                         setTimeout(function(){setState('javascript.0.t2c_System.LinuxShutdown_Bestaetigung', 'false')},2*1000);
                      }
                    });
                    
                    // Scripte zum Ausführen der exec Funktionen
                    
                    createState('t2c_System.restart_command', '');
                    on({id: 'javascript.0.t2c_System.restart_command', change: 'any'}, function (obj) {
                      if (obj.newState.val === true || obj.newState.val === 'true'){
                          log('Command reboot');
                          setState('javascript.0.t2c_System.restart_command', 'false');
                          exec ('iobroker restart');
                      }
                    });
                    
                    createState('t2c_System.stop_command', '');
                    on({id: 'javascript.0.t2c_System.stop_command', change: 'any'}, function (obj) {
                      if (obj.newState.val === true || obj.newState.val === 'true'){
                          log('Command stop');
                          setState('javascript.0.t2c_System.stop_command', 'false');
                          exec ('iobroker stop');
                      }
                    });
                    
                    createState('t2c_System.update_command', '');
                    on({id: 'javascript.0.t2c_System.update_command', change: 'any'}, function (obj) {
                      if (obj.newState.val === true || obj.newState.val === 'true'){
                          log('Command stop');
                          setState('javascript.0.t2c_System.update_command', 'false');
                          exec ('iobroker update');
                      }
                    });
                    
                    createState('t2c_System.upgrade_command', '');
                    on({id: 'javascript.0.t2c_System.upgrade_command', change: 'any'}, function (obj) {
                      if (obj.newState.val === true || obj.newState.val === 'true'){
                          log('Command stop');
                          setState('javascript.0.t2c_System.upgrade_command', 'false');
                          exec ('iobroker upgrade');
                      }
                    });
                    
                    createState('t2c_System.upgradeSelf_command', '');
                    on({id: 'javascript.0.t2c_System.upgradeSelf_command', change: 'any'}, function (obj) {
                      if (obj.newState.val === true || obj.newState.val === 'true'){
                          log('Command stop');
                          setState('javascript.0.t2c_System.upgradeSelf_command', 'false');
                          exec ('iobroker upgrade self');
                      }
                    });
                    
                    createState('t2c_System.LinuxShutdown_command', '');
                    on({id: 'javascript.0.t2c_System.LinuxShutdown_command', change: 'any'}, function (obj) {
                      if (obj.newState.val === true || obj.newState.val === 'true'){
                          log('Command stop');
                          setState('javascript.0.t2c_System.LinuxShutdown_command', 'false');
                          exec ('sudo shutdown -h 0');
                      }
                    });
                    
                    createState('t2c_System.LinuxRestart_command', '');
                    on({id: 'javascript.0.t2c_System.LinuxRestart_command', change: 'any'}, function (obj) {
                      if (obj.newState.val === true || obj.newState.val === 'true'){
                          log('Command stop');
                          setState('javascript.0.t2c_System.LinuxRestart_command', 'false');
                          exec ('reboot');
                      }
                    });
                    
                    1 Antwort Letzte Antwort
                    0
                    • ChaotC Offline
                      ChaotC Offline
                      Chaot
                      schrieb am zuletzt editiert von
                      #11

                      Ich möchte mich auch ganz herzlich bedanken.

                      Noch eine Frage:

                      Die Bilder am Schalter unten liegen im Ordner Vis.o und werden nicht im Export eingefügt. Hast du für die auch eine Quelle

                      ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                      1 Antwort Letzte Antwort
                      0
                      • smartboartS Offline
                        smartboartS Offline
                        smartboart
                        schrieb am zuletzt editiert von
                        #12

                        Ach ja, stimmt habe ich ganz vergessen.

                        Die Icons habe ich teilweise auch importiert, bzw. online nach passenden icons gesucht….Wenn ich zu Hause bin kann ich dise noch hochladen...

                        1 Antwort Letzte Antwort
                        0
                        • B Offline
                          B Offline
                          Berchemer
                          schrieb am zuletzt editiert von
                          #13

                          Danke für die Bereitstellung :-)

                          Werde es am WE mal ausprobieren :mrgreen:

                          1 Antwort Letzte Antwort
                          0
                          • DutchmanD Online
                            DutchmanD Online
                            Dutchman
                            Developer Most Active Administrators
                            schrieb am zuletzt editiert von
                            #14

                            @Berchemer:

                            Danke für die Bereitstellung :-)

                            Werde es am WE mal ausprobieren :mrgreen: `

                            Schliesse ich mich an danke auch meinerseits [emoji6]

                            Sent from my iPhone using Tapatalk

                            1 Antwort Letzte Antwort
                            0
                            • smartboartS Offline
                              smartboartS Offline
                              smartboart
                              schrieb am zuletzt editiert von
                              #15

                              Gern geschehen.

                              6558_restart.png So hier noch der fehlende Icon…einfach in vis.0 importieren, oder einfach ein anderes Bild dort ablegen und so benennen... die restlichen beiden Icons sind aus der /icons-open-icon-library-png/actions/

                              habe noch ein video angehängt zum Vergleich ... 6558_cut3.gif

                              1 Antwort Letzte Antwort
                              0
                              • A Offline
                                A Offline
                                aleks-83
                                schrieb am zuletzt editiert von
                                #16

                                Vielen Dank dass du deine Skripte mit uns teilst, smartboart.

                                Ich habe versucht deine Buttons in meinem Vis nachzubauen.

                                Hierzu habe ich deine Skripte und Widgets importiert und gestartet.

                                Wenn ich nun meinen View öffne, sehe ich sofort einen braunen Kasten in dem steht "reboot",

                                darunter steht "sicher?"

                                darunter ein weiterer brauner Kasten.

                                Klicke ich auf einen der Kästen, verschwindet "sicher?" und der untere Kasten.

                                klicke ich noch mal, erscheint das gelbe reboot logo, welches vorher nicht zu sehen war.

                                Der Pi rebootet aber nicht, und das Verhalten der Buttons ist offenbar nicht ok.

                                Was mache ich falsch?

                                = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                                = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                                Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                                Glasfaser 400

                                1 Antwort Letzte Antwort
                                0
                                • G Offline
                                  G Offline
                                  GeosShark
                                  schrieb am zuletzt editiert von
                                  #17

                                  Die Buttons funzen nicht richtig, da die Datenpunkte nicht komplett erzeugt werden.

                                  Besser wäre folgende Erstellung:

                                  // states für Asführungsbestätigung der remote reboot / shutdown scripts
                                  // und zum automatischem schließen des Bestätigungsbutton nach einer Zeit X (timout)
                                  
                                  // -----------------------------------------------
                                  // Vorbereitung 
                                  // -----------------------------------------------
                                  
                                  var timout = 2*1000;
                                  
                                  var forceCreation   = true;
                                  
                                  var pfad = 't2c_System.';
                                  
                                  var datenpunkte = {
                                     'restart_Bestaetigung':        {"init": false, "common": {type: 'boolean',  name: 'Bestätigung für Reboot',                        unit: ''}},
                                     'stop_Bestaetigung':           {"init": false, "common": {type: 'boolean',  name: 'Bestätigung für Shutdown',                      unit: ''}},
                                     'update_Bestaetigung':         {"init": false, "common": {type: 'boolean',  name: 'Bestätigung für Update',                        unit: ''}},
                                     'upgrade_Bestaetigung':        {"init": false, "common": {type: 'boolean',  name: 'Bestätigung für Upgrade',                       unit: ''}},
                                     'upgradeSelf_Bestaetigung':    {"init": false, "common": {type: 'boolean',  name: 'Bestätigung für UpgradeSelf',                   unit: ''}},
                                     'LinuxRestart_Bestaetigung':   {"init": false, "common": {type: 'boolean',  name: 'Bestätigung für Linux-Restart',                 unit: ''}},
                                     'LinuxShutdown_Bestaetigung':  {"init": false, "common": {type: 'boolean',  name: 'Bestätigung für Linux-Shutdown',                unit: ''}},
                                  
                                     'restart_command':             {"init": false, "common": {type: 'boolean',  name: 'Ausführung des "iobroker restart" Kommandos',   unit: ''}},
                                     'stop_command':                {"init": false, "common": {type: 'boolean',  name: 'Ausführung "iobroker stop" Kommandos',          unit: ''}},
                                     'update_command':              {"init": false, "common": {type: 'boolean',  name: 'Ausführung "iobroker update" Kommandos',        unit: ''}},
                                     'upgrade_command':             {"init": false, "common": {type: 'boolean',  name: 'Ausführung "iobroker upgrade" Kommandos',       unit: ''}},
                                     'upgradeSelf_command':         {"init": false, "common": {type: 'boolean',  name: 'Ausführung "iobroker upgrade self" Kommandost', unit: ''}},
                                     'LinuxShutdown_command':       {"init": false, "common": {type: 'boolean',  name: 'Ausführung "shutdown -h now" Kommandos',        unit: ''}},
                                     'LinuxRestart_command':        {"init": false, "common": {type: 'boolean',  name: 'Ausführung "reboot" Kommandos',                 unit: ''}}
                                     };       
                                  
                                  //=========================================================================
                                  // Trigger 
                                  //=========================================================================
                                  
                                  on({id: 'javascript.0.t2c_System.restart_Bestaetigung', change : 'any'}, function(obj) {
                                    if (obj.newState.val === true || obj.newState.val === 'true'){
                                       setTimeout(function(){setState('javascript.0.t2c_System.restart_Bestaetigung', false)},timout);
                                    }
                                  });
                                  
                                  on({id: 'javascript.0.t2c_System.stop_Bestaetigung', change : 'any'}, function(obj) {
                                    if (obj.newState.val === true || obj.newState.val === 'true'){
                                       setTimeout(function(){setState('javascript.0.t2c_System.stop_Bestaetigung', false)},timout);
                                    }
                                  });
                                  
                                  on({id: 'javascript.0.t2c_System.update_Bestaetigung', change : 'any'}, function(obj) {
                                    if (obj.newState.val === true || obj.newState.val === 'true'){
                                       setTimeout(function(){setState('javascript.0.t2c_System.update_Bestaetigung', false)},timout);
                                    }
                                  });
                                  
                                  on({id: 'javascript.0.t2c_System.upgrade_Bestaetigung', change : 'any'}, function(obj) {
                                    if (obj.newState.val === true || obj.newState.val === 'true'){
                                       setTimeout(function(){setState('javascript.0.t2c_System.upgrade_Bestaetigung', false)},timout);
                                    }
                                  });
                                  on({id: 'javascript.0.t2c_System.upgradeSelf_Bestaetigung', change : 'any'}, function(obj) {
                                    if (obj.newState.val === true || obj.newState.val === 'true'){
                                       setTimeout(function(){setState('javascript.0.t2c_System.upgradeSelf_Bestaetigung', false)},timout);
                                    }
                                  });
                                  
                                  on({id: 'javascript.0.t2c_System.LinuxRestart_Bestaetigung', change : 'any'}, function(obj) {
                                    if (obj.newState.val === true || obj.newState.val === 'true'){
                                       setTimeout(function(){setState('javascript.0.t2c_System.LinuxRestart_Bestaetigung', false)},timout);
                                    }
                                  });
                                  
                                  on({id: 'javascript.0.t2c_System.LinuxShutdown_Bestaetigung', change : 'any'}, function(obj) {
                                    if (obj.newState.val === true || obj.newState.val === 'true'){
                                       setTimeout(function(){setState('javascript.0.t2c_System.LinuxShutdown_Bestaetigung', false)},timout);
                                    }
                                  });
                                  
                                  // -----------------------------------------------
                                  // Scripte zum Ausführen der exec Funktionen
                                  // -----------------------------------------------
                                  
                                  // iobroker restart
                                  on({id: 'javascript.0.t2c_System.restart_command', change: 'any'}, function (obj) {
                                    if (obj.newState.val === true || obj.newState.val === 'true'){
                                        log('vis: iobroker restart');
                                        setState('javascript.0.t2c_System.restart_command', false);
                                        exec ('iobroker restart');
                                    }
                                  });
                                  
                                  // iobroker stop
                                  createState('t2c_System.stop_command', '');
                                  on({id: 'javascript.0.t2c_System.stop_command', change: 'any'}, function (obj) {
                                    if (obj.newState.val === true || obj.newState.val === 'true'){
                                        log('vis: iobroker stop');
                                        setState('javascript.0.t2c_System.stop_command', false);
                                        exec ('iobroker stop');
                                    }
                                  });
                                  
                                  // iobroker update
                                  createState('t2c_System.update_command', '');
                                  on({id: 'javascript.0.t2c_System.update_command', change: 'any'}, function (obj) {
                                    if (obj.newState.val === true || obj.newState.val === 'true'){
                                        log('vis: iobroker update');
                                        setState('javascript.0.t2c_System.update_command', false);
                                        exec ('iobroker update');
                                    }
                                  });
                                  
                                  // iobroker upgrade
                                  createState('t2c_System.upgrade_command', '');
                                  on({id: 'javascript.0.t2c_System.upgrade_command', change: 'any'}, function (obj) {
                                    if (obj.newState.val === true || obj.newState.val === 'true'){
                                        log('vis: iobroker upgrade');
                                        setState('javascript.0.t2c_System.upgrade_command', false);
                                        exec ('iobroker upgrade');
                                    }
                                  });
                                  
                                  // iobroker upgrade self
                                  createState('t2c_System.upgradeSelf_command', '');
                                  on({id: 'javascript.0.t2c_System.upgradeSelf_command', change: 'any'}, function (obj) {
                                    if (obj.newState.val === true || obj.newState.val === 'true'){
                                        log('vis: iobroker upgrade self');
                                        setState('javascript.0.t2c_System.upgradeSelf_command', false);
                                        exec ('iobroker upgrade self');
                                    }
                                  });
                                  
                                  // Linux shutdown
                                  createState('t2c_System.LinuxShutdown_command', '');
                                  on({id: 'javascript.0.t2c_System.LinuxShutdown_command', change: 'any'}, function (obj) {
                                    if (obj.newState.val === true || obj.newState.val === 'true'){
                                        log('vis: Linux shutdown');
                                        setState('javascript.0.t2c_System.LinuxShutdown_command', false);
                                        exec ('sudo shutdown -h 0');
                                    }
                                  });
                                  
                                  // Linux Reboot
                                  createState('t2c_System.LinuxRestart_command', '');
                                  on({id: 'javascript.0.t2c_System.LinuxRestart_command', change: 'any'}, function (obj) {
                                    if (obj.newState.val === true || obj.newState.val === 'true'){
                                        log('vis: Linux Reboot');
                                        setState('javascript.0.t2c_System.LinuxRestart_command', false);
                                        exec ('reboot');
                                    }
                                  });   
                                  
                                  // -----------------------------------------------------------------------------------------------------------------------------------------
                                  // Erzeuge Datenpunkte
                                  // -----------------------------------------------------------------------------------------------------------------------------------------
                                  function createDp() 
                                  {
                                  	var name;
                                  	var init;
                                  	var common;
                                  
                                  	for (var dp in datenpunkte) 
                                  	{
                                  		name = pfad + dp;
                                  		init = datenpunkte[dp].init;
                                  		common = datenpunkte[dp].common;
                                  		createState(name, init , forceCreation, common);
                                  	}
                                  }
                                  
                                  // -----------------------------------------------
                                  // Start Skript:
                                  // Initialisierung
                                  // -----------------------------------------------
                                  createDp();
                                  
                                  

                                  Habe es noch etwas "gebeautyfied"

                                  Gruß

                                  Frank


                                  CCU2, Raspberry3+

                                  1 Antwort Letzte Antwort
                                  1
                                  • A Offline
                                    A Offline
                                    aleks-83
                                    schrieb am zuletzt editiert von
                                    #18

                                    OK, Danke.

                                    also die Datenpunkte und das Script von smartboart löschen und deins erstellen und starten!?

                                    = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                                    = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                                    Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                                    Glasfaser 400

                                    1 Antwort Letzte Antwort
                                    0
                                    • G Offline
                                      G Offline
                                      GeosShark
                                      schrieb am zuletzt editiert von
                                      #19

                                      hallo Aleks,

                                      Am Anfang meines Scripts steht````
                                      var forceCreation = true;

                                      
                                      Solange diese Varialble auf "true" steht, werden die Datenpunkte zwangsweise erstellt, also auch wenn sie schon existieren.
                                      
                                      Ansonsten fehlte die initialisierung der Datenpunkte auf "false".
                                      
                                      Gruß
                                      
                                      Frank

                                      Gruß

                                      Frank


                                      CCU2, Raspberry3+

                                      1 Antwort Letzte Antwort
                                      0
                                      • smartboartS Offline
                                        smartboartS Offline
                                        smartboart
                                        schrieb am zuletzt editiert von
                                        #20

                                        Hallo,

                                        das Script funktioniert auch in der ursprünglichen Version. Ich hatte nur beim create Sate im script den ersten Status nach der Erstellung nicht definiert.

                                        die log zeilen hatten copy und paste Fehler, welche die LogAusgabe betrafen.

                                        Nach dem Starten des Scripts werden die States angelegt.

                                        Dann das script wieder stoppen und neu starten.

                                        Mir ist das Problem nicht aufgefallen, da ich das Script parallel zu meiner Vis angepasst habe.

                                        Dabei hatte ich eh mehrmals die buttons betätigt, wobei dann die States ja einen definierten Zustand bekommen. Das hätte schon geholfen..

                                        GeoShark hat das script nochmal aufgeräumt.

                                        Finde ich gut, das es weiter eintwickelt wird..

                                        Der Gedanke ist folgender, wegen der Frage mit den Buttons…

                                        Der obere Button gibt die Funktion frei. Es öffnet sich die Sicherheitsabfrage Sicher? und der unter Button für die Exec Funktion.

                                        Mit Betätigung des grünen Haken im unten geöffneten Button wird die exec ausgeführt. Wenn du 2 Sekunden zögerst weil nicht sicher, geht der unter button wieder zu. ebenfalls beim erneuten Betätigen des oberen Button mit dem X geht die Sicher Abfrage und der untere Button wieder weg... Wie im Video oben gezeigt...

                                        Im Javascript Adapter muss die exec Funktion freigegeen werden, damit die exec Funktionen auch durchkommen...Du hattest ja geschrieben, das die Funktion nicht klappte...

                                        1 Antwort Letzte Antwort
                                        0
                                        • A Offline
                                          A Offline
                                          aleks-83
                                          schrieb am zuletzt editiert von
                                          #21

                                          Ah OK. Super. jetzt hab ichs…

                                          Ich frage mich aber noch wie ich mehrere deiner "buttons" einfügen kann.

                                          Denn ich habe jetzt einen Button für Reboot angelegt. der Funktioniert.

                                          Dann habe ich per Widget importieren alle deine 3 Codes erneut eingefügt und den zweiten button auf einen anderen Datenpunkt geelgt (Update)

                                          Wenn ich jetzt aber auf den button Reboot klicke, öffnet unter dem Button für Update ebenfalls die Abfrage "sicher?" und das Häkchen "klappt aus".

                                          Zusatzfrage:

                                          Wie kann ich ein"busy" Logo anzeigen, solange das Update/upgrade läuft?

                                          = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                                          = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                                          Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                                          Glasfaser 400

                                          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

                                          184

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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