Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
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

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    12
    1
    122

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.3k

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

[gelöst] Aus Skript ein weiteres Skript starten

Scheduled Pinned Locked Moved Skripten / Logik
4 Posts 3 Posters 1.6k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H Offline
    H Offline
    HKF8770
    wrote on last edited by
    #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 Reply Last reply
    0
    • P Offline
      P Offline
      pix
      wrote on last edited by
      #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 Reply Last reply
      0
      • Jey CeeJ Online
        Jey CeeJ Online
        Jey Cee
        Developer
        wrote on last edited by
        #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 Reply Last reply
        0
        • H Offline
          H Offline
          HKF8770
          wrote on last edited by
          #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 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          Support us

          ioBroker
          Community Adapters
          Donate

          587

          Online

          32.7k

          Users

          82.4k

          Topics

          1.3m

          Posts
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Home
          • Recent
          • Tags
          • Unread 0
          • Categories
          • Unreplied
          • Popular
          • GitHub
          • Docu
          • Hilfe