NEWS
Benennung globale Skripte
-
Hat jemand ein Anwendungsbeispiel für globale Scripte? Wozu benutzt man das? Was ist der Vorteil?
-
Du kannst in so einem globalen Skript eine Funktion definieren, z.B. getAllLights und dann diese Funktion überall verwenden.
-
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
-
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.
-
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.
-
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 -
Hallo bluefox,
danke für das Update so finde ich das gut (vor allem die Fettschrift).
Gruß
Pix
-
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; }
-
Du rufst einfach "nowIsBetween" auf, als ob die in den gleichen Skript oben definiert ist.
-
Du rufst einfach "nowIsBetween" auf, als ob die in den gleichen Skript oben definiert ist. `
Auch im Adapter? -
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.
-
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