Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Eine Funktion aus Skript 2 aufrufen

    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

    SOLVED Eine Funktion aus Skript 2 aufrufen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dominic Reber
      Dominic Reber last edited by

      Hallo zusammen

      Ich habe eine Funktion in Skript 2.
      Diese möchte ich aus Skript 1 aufrufen.

      Hab einiges nachgelesen aber nichts geht bei mir.

      Einmal stand, dass eine Funktion:

      function x(){
          console.log('function x');
      }
      
      x();
      

      Auch einfach mit

      x();
      

      in einem zweiten Skript aufgerufen werden kann. Das geht bei mir nicht.

      habs auch versucht mit:

      var SomeName = function() {
      
          var function1 = function() {
              console.log('function 1');
          }
          return {
              function1: function () {
                  return function1();
              }
          }}();
      
      SomeName.function1();
      

      Aufruf auch:

      SomeName.function1();
      

      Geht auch nicht (ist ja in der Logik auch der gleiche weg wie Variante 1.

      Nur: Warum geht's nicht?

      Danke

      Dominik

      UncleSam Dominic Reber 2 Replies Last reply Reply Quote 0
      • UncleSam
        UncleSam Developer @Dominic Reber last edited by

        @dominic-reber Du musst globale Skripte verwenden.

        Dominic Reber 1 Reply Last reply Reply Quote 0
        • UncleSam
          UncleSam Developer @Dominic Reber last edited by

          @dominic-reber Du musst globale Skripte verwenden.

          Dominic Reber 1 Reply Last reply Reply Quote 0
          • Dominic Reber
            Dominic Reber @Dominic Reber last edited by

            @dominic-reber Ach herrje - erst jetzt seh ich dass es unter "Experten-Modus" ein "Global"-Ordner existiert.
            Wenn ich sie dort reinkopiere, gehts....

            Danke!

            1 Reply Last reply Reply Quote 1
            • Dominic Reber
              Dominic Reber @UncleSam last edited by

              @unclesam Hi und danke!

              Also hab das Script jetzt im Global-Ordner. Und kann es wie gewünscht aufrufen.
              Wie kann ich jetzt aber externe module dort auch registrieren?
              z.b. googleapis - bis jetzt hab ich das in der Instanz-Einstellungen registrieren können - unter Global wird das anscheinend nicht erkannt?

              const { google } = require('googleapis');
              

              Sagt er cannot find module?

              UncleSam 1 Reply Last reply Reply Quote 0
              • UncleSam
                UncleSam Developer @Dominic Reber last edited by

                @dominic-reber OK, das is komisch... Externe Module sollten in globalen Skripten genauso funktionieren wie in normalen Skripten. Denn: in Tat und Wahrheit werden die globalen Skripte einfach "vor das eigentliche Skript kopiert". Bist du sicher, dass du nicht einen Schreibfehler oder so hast? Oder dasselbe zweimal definiert hast?

                Dominic Reber 1 Reply Last reply Reply Quote 0
                • Dominic Reber
                  Dominic Reber @UncleSam last edited by

                  @unclesam Danke für Deine Nachricht.

                  Ok interessant. Das gleiche Skript funktionierte vorher und nach dem Kopieren in global-ordner beschwert er sich.
                  Aber irgendwie resetted meine javascript-instanz gerade die ganze Zeit, da stimmt was nicht.

                  Hab alle skripts deaktiviert - immer noch restarts. Instanz gelöscht und neu installiert - immer noch nicht.
                  Alle skripts gelöscht und instanz neu installiert - immer noch restart. Strange.

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

                    @dominic-reber

                    wenn du eine funktion in einem globalen script ohne trigger aufrufst, wird das script x-mal ausgeführt, wenn die instanz eingeschaltet wird - es ist ja in jedem script dazugekommen

                    daher immer vorsicht mit globalen scripten

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

                      @liv-in-sky Aber wenn ich das ganze in einer Funktion in einem globalen Skript lege, sollte das ja nicht X-Mal ausgeführt werden, richtig?

                      Funktionieren tut das aber gerade nicht bei mir.

                      globales skript:

                      function X(){
                      log('a');
                      }
                      

                      wieso kann ich in einem Skript in "root" jetzt nicht

                      SkriptName.X();
                      

                      ausführen?

                      Wie muss ich das realisieren, damit es geht?

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @Dominic Reber last edited by

                        @dominic-reber sagte: Wie muss ich das realisieren, damit es geht?

                        Aufruf aus nicht globalem Skript:

                        X();
                        
                        Dominic Reber 1 Reply Last reply Reply Quote 0
                        • Dominic Reber
                          Dominic Reber @paul53 last edited by

                          @paul53 Oh man. Wie blöd muss ich sein 🐷
                          Wenn die Skripte rüberkopiert werden, dann muss das ja direkt aufrufbar sein.

                          Danke!

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          808
                          Online

                          31.8k
                          Users

                          80.0k
                          Topics

                          1.3m
                          Posts

                          4
                          10
                          500
                          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