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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] Aus Skript ein weiteres Skript starten

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    640

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    630

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

[gelöst] Aus Skript ein weiteres Skript starten

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
4 Beiträge 3 Kommentatoren 1.5k Aufrufe
  • Ä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.
  • H Offline
    H Offline
    HKF8770
    schrieb am zuletzt editiert von
    #1

    Ich möchte aus einem Skript heraus ein weiteres Skript starten. Kann mir jemand den Befehl sagen ??

    Gesendet von meinem Lenovo TAB 2 A10-70L mit Tapatalk

    Freddy

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      pix
      schrieb am zuletzt editiert von
      #2

      Hallo,

      kannst du etwas genauer werden? Im Javascript-Adapter sind die Skripte an sich ja keine Programme, wie in der HM-Webui. Du kannst ja theoretisch alle Logik in ein einziges riesiges und unübersichtliches Skript packen. Es sind also nur übersichtliche Einzelteile der Logik, die sich nicht separat starten lassen. Wenn ein bestimmter Teil eines Skriptes von mehreren Stellen ausgelöst werden soll, dann macht es Sinn, ihn in eine Funktion zu packen. Wenn die Funktion dann von mehreren Skripten aus gestartet werden soll, kannst du sie entweder zB oben in jedes dieser Skripte kopieren oder gleich in ein neues, globales Skript packen.

      Ich mache das so zB mit den Sayit-Ansagen.

      ! ````
      /* global sayit
      Skript setzt Sayit Objekt
      und schaltet dafür das iPad zur Tonausgabe mit ipad_schalten(zustand, meldung) ein.
      ! 18.07.2015 erstellt von Pix
      03.08.2015 Verzögerung auf 3s
      22.09.2015 Abfrage, ob iPad ein oder aus, Verzögerung auf 4s, wenn aus
      */
      ! // Sayit
      function sayit(ansage) {
      var idStatusanzeige = "hm-rpc.0.MEQ1234567.1.STATE"/Stromlose Statusanzeige Flur:1.STATE/,
      statusanzeige = getState(idStatusanzeige).val;
      var lastSay = null;
      if (statusanzeige) {
      if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) {
      lastSay = (new Date()).getTime();
      setState("sayit.0.tts.text"/Text to speech/, ansage);
      }
      } else {
      ipad_schalten(1, "Wandtablet Flur wegen Sprachmeldung eingeschaltet"); // ipad_schalten ist auch eine globale Funktion
      setTimeout(function () {
      if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) {
      lastSay = (new Date()).getTime();
      setState("sayit.0.tts.text"/Text to speech/, ansage);
      }
      }, 4000); // 4s Verzögerung damit iPad anschalten kann
      }
      }

      In den Skripts, die eine Ansage produzieren nutze ich dann nur den Aufruf sayit('anzusagender text');
      
      Gruß
      
      Pix

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      1 Antwort Letzte Antwort
      0
      • Jey CeeJ Offline
        Jey CeeJ Offline
        Jey Cee
        Developer
        schrieb am zuletzt editiert von
        #3

        Hi HKF8770,

        wie bei Buttons in vis vorgehen. Also ein Objekt "Auslöser" für dein 2tes script, im 2ten script "on({id: Auslöser, val: true})" usw. Im ersten script "setState("Auslöser", true).

        Gesendet von meinem Jolla mit Tapatalk

        Persönlicher Support
        Spenden -> paypal.me/J3YC33

        1 Antwort Letzte Antwort
        0
        • H Offline
          H Offline
          HKF8770
          schrieb am zuletzt editiert von
          #4

          Hey Jey Cee… Danke für den Tipp. Also direkter Start ist nicht möglich. Dafür einfach einen virtuellen Schaler setzen, welcher dann dass andere Skript startet.

          Gesendet von meinem Lenovo TAB 2 A10-70L mit Tapatalk

          Freddy

          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

          709

          Online

          32.6k

          Benutzer

          81.9k

          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