Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Benennung globale Skripte

    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

    Benennung globale Skripte

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

      hallo,

      ich benutze unter anderem für sayit ein globales Skript. Damit ich es in der Spalte der vielen Skript schnell finde, heisst es bei mir global_sayit. Wenn ich den Haken für "global" setze, fügt ioBroker automatisch ein "_global" hinten an den Namen an. Das ist sinnvoll. Wenn ich den Namen dann aber oben im Namensfeld wieder korrigiere und das "_global" hinten lösche, ist das Häkchen wieder weg. Das ist nicht gut.

      Gut, wenn ioBroker mitdenkt; schlecht, wenn es sich nicht überstimmen läßt. Besser wäre, wenn die globalen Skripte in der Liste der Skripte ganz oben (oder ganz unten, hauptsache zusammen) stehen und vielleicht mit einem Icon "[G]" oder "Weltkugel" markiert wären. Meine globalen Skript heißen nämlich jetzt alle "global_NAMEDESSKRIPTS_global"

      Gruß

      Pix

      1 Reply Last reply Reply Quote 0
      • Bluefox
        Bluefox last edited by

        @pix:

        Wenn ich den Namen dann aber oben im Namensfeld wieder korrigiere und das "_global" hinten lösche, ist das Häkchen wieder weg. Das ist nicht gut. `
        Die Markierung, dass ein Skript global ist, geschieht über "_global". D.h. wenn kein "_global" da ist, dann ist es kein Global.

        Man konnte alle Globale Skripte vorne auflisten und grundsätzlich alle Skripte alphabetisch sortieren.

        1 Reply Last reply Reply Quote 0
        • P
          pix last edited by

          @Bluefox:

          Man konnte alle Globale Skripte vorne auflisten `
          Das wär gut!

          1 Reply Last reply Reply Quote 0
          • htrecksler
            htrecksler Forum Testing last edited by

            Hat jemand ein Anwendungsbeispiel für globale Scripte? Wozu benutzt man das? Was ist der Vorteil?

            1 Reply Last reply Reply Quote 0
            • Bluefox
              Bluefox last edited by

              Du kannst in so einem globalen Skript eine Funktion definieren, z.B. getAllLights und dann diese Funktion überall verwenden.

              1 Reply Last reply Reply Quote 0
              • P
                pix last edited by

                Hallo,

                ich nutze zur Zeit zwei globale Funktionen:

                sayit() und display_schalten().

                Bei sayit werden der zu sprechende Text und Parameter mitübergeben.

                Das verkürzt die Skripte und minimiert den Wartungsaufwand, wenn mal wieder beim Sayit-Aufruf was geändert wird. Funktioniert als Substitution.

                display_schalten schaltet das Flur-Wandtablet ein. Zum Beispiel vor Ansagen (aufgerufen aus sayit), bei Bewegung im Flur; und aus bei Abwesenheit, Nachtruhe und generell alle 30 Minuten.

                Geplant ist noch eine Funktion licht_alles_aus() und andere Szenen szene_tv_an(). So kann ich mit verschiedenen Aktionen (Wandtaster, schedule, Vis) die gleiche Funktion aufrufen und zentral warten (zB neue Lampe einfügen).

                Gruß

                Pix

                Gesendet von meinem iPhone mit Tapatalk

                1 Reply Last reply Reply Quote 0
                • B
                  Beatz last edited by

                  Ich habe darüber eine JavaScript Funktion laufen, mit der ich prüfe, ob die aktuelle Zeit in ein Zeitfenster passt.

                  So kann ich mir den Code in jedem einzelnen Script sparen.

                  1 Reply Last reply Reply Quote 0
                  • ruhr70
                    ruhr70 last edited by

                    @Bluefox:

                    Man konnte alle Globale Skripte vorne auflisten und grundsätzlich alle Skripte alphabetisch sortieren. `

                    Nur zur Info…

                    Es werden auch Scripte nach Vorne sortiert, bei denen nicht "_global" hinten angehangen ist, sondern bei denen einfach "global" oder "globale" im Scriptnamen an irgendeiner Stelle vorkommt.

                    1 Reply Last reply Reply Quote 0
                    • Bluefox
                      Bluefox last edited by

                      @ruhr70:

                      @Bluefox:

                      Man konnte alle Globale Skripte vorne auflisten und grundsätzlich alle Skripte alphabetisch sortieren. `

                      Nur zur Info…

                      Es werden auch Scripte nach Vorne sortiert, bei denen nicht "_global" hinten angehangen ist, sondern bei denen einfach "global" oder "globale" im Scriptnamen an irgendeiner Stelle vorkommt. `
                      Habe gefixt.. Wird irgendwann in der neuen Version reinfließen.
                      3435_20171123_200857.jpg
                      3435_20171123_200841.jpg

                      1 Reply Last reply Reply Quote 0
                      • P
                        pix last edited by

                        Hallo bluefox,

                        danke für das Update so finde ich das gut (vor allem die Fettschrift).

                        Gruß

                        Pix

                        1 Reply Last reply Reply Quote 0
                        • htrecksler
                          htrecksler Forum Testing last edited by

                          @Bluefox:

                          Du kannst in so einem globalen Skript eine Funktion definieren, z.B. getAllLights und dann diese Funktion überall verwenden. `

                          ist wahrscheinlich trivial, aber wie adressiere ich die Funktion des globalen Scripts… (Syntax für den Aufruf)

                          a. in einem Adapter

                          b. in einem normalen Script

                          z.B. Das globale Script heißt "my_global" und die Funktion in dem Skript

                          function nowIsBetween(min, max){
                          var now = new Date();
                          minDate = new Date((now.getMonth() + 1) + " " + now.getDate() + ", " + now.getFullYear() + " " + min + ":00");
                          maxDate = new Date((now.getMonth() + 1) + " " + now.getDate() + ", " + now.getFullYear() + " " + max + ":00");
                          if(now.getTime() < minDate.getTime()) return false;
                          if(now.getTime() > maxDate.getTime()) return false;
                          return true;
                          }
                          
                          
                          1 Reply Last reply Reply Quote 0
                          • Bluefox
                            Bluefox last edited by

                            Du rufst einfach "nowIsBetween" auf, als ob die in den gleichen Skript oben definiert ist.

                            1 Reply Last reply Reply Quote 0
                            • htrecksler
                              htrecksler Forum Testing last edited by

                              @Bluefox:

                              Du rufst einfach "nowIsBetween" auf, als ob die in den gleichen Skript oben definiert ist. `
                              Auch im Adapter?

                              1 Reply Last reply Reply Quote 0
                              • htrecksler
                                htrecksler Forum Testing last edited by

                                Ich meine natürlich nur lokale Adapter. Bei den anderen kann es ja nicht gehen, sonst müssen ja alle User das gleiche globale Script haben.

                                Ich möchte also in allen meinen lokalen Adaptern auf eine globale Funktion zugreifen, damit ich die Funktion nich in jedem Adapter ins adapter.js packen muss.

                                1 Reply Last reply Reply Quote 0
                                • Bluefox
                                  Bluefox last edited by

                                  Jetzt verstehe ich.

                                  Natürlich nicht. Du musst adapter.js modifizieren. Aber wenn die Funktion gut ist, dann nehme ich die gerne in adapter.js auf.

                                  Sonst musst du die Funktion in eine Datei aushängen (z.B. lib/tools.js) und die dann zwischen deinen Adaptern synchron halten. (z.b. mit Grunt).

                                  So mache ich mit lib/utils.js

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

                                  Support us

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

                                  880
                                  Online

                                  31.9k
                                  Users

                                  80.2k
                                  Topics

                                  1.3m
                                  Posts

                                  5
                                  15
                                  3392
                                  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