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. Scriptstart bei Aufruf einer URL

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Scriptstart bei Aufruf einer URL

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
7 Beiträge 3 Kommentatoren 5.8k 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.
  • B Offline
    B Offline
    Beatz
    schrieb am zuletzt editiert von
    #1

    Hallo Zusammen,

    ich möchte gerne ein Script ausführen, wenn eine URL aufgerufen wird.

    Hintergrund:

    Ich habe eine Weckerapp, die beim klingeln einen Task in Tasker ausführt. Ich suche nun eine Möglichkeit, von Tasker heraus die Ausführung eines JavaScripts anzustoßen. Darin soll z.B. das Radio eingeschaltet werden.

    Bisher habe ich das über ein Programm in der CCU realisiert, dass ich durch einen URL-Aufruf bequem starten kann.

    Hat sowas schon jemand realisiert oder eine Idee für mich?

    Viele Grüße

    Andreas

    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #2

      Du kannst dafür simple-api benutzen.
      48_simpleapi.png

      Danach kannst du http://ipaddress:8082/help

      aufrufen und du bekommst so was:

      {
        "getPlainValue": "http://ipaddress:8082/getPlainValue/stateID",
        "get": "http://ipaddress:8082/get/stateID/?prettyPrint",
        "getBulk": "http://ipaddress:8082/getBulk/stateID1,stateID2/?prettyPrint",
        "set": "http://ipaddress:8082/set/stateID?value=1&prettyPrint",
        "toggle": "http://ipaddress:8082/toggle/stateID&prettyPrint",
        "setBulk": "http://ipaddress:8082/setBulk?stateID1=0.7&stateID2=0&prettyPrint",
        "objects": "http://ipaddress:8082/objects?pattern=system.adapter.admin.0*&prettyPrint",
        "states": "http://ipaddress:8082/states?pattern=system.adapter.admin.0*&prettyPrint"
      }
      

      D.h. um eine Variable (die dann Skript anfeuert) zu setzen muss du das aufrufen:

      http://ipaddress:8082/set/EINE_VARIABLE?value=1

      1 Antwort Letzte Antwort
      0
      • B Offline
        B Offline
        Beatz
        schrieb am zuletzt editiert von
        #3

        Danke Bluefox,

        daran hatte ich auch schon gedacht. Ich würde mir dann für Programme (JavaScripts), die von extern angestoßen werden sollen, einen Ordner Trigger anlegen und darin entsprechend je eine Variable pro Script. Diese werden dann von den entsprechenden Scripts per on überwacht. Werde das heute Nachmittag mal testen und dann berichten.

        javascript.0

        |– trigger

        -- | -- programm1

        -- | -- programm2

        Viele Grüße

        Andreas
        2271_m_her.txt

        1 Antwort Letzte Antwort
        0
        • B Offline
          B Offline
          Beatz
          schrieb am zuletzt editiert von
          #4

          Wenn auch etwas später, aber ich wollte kurz nochmal berichten, dass Dein Vorschlag wunderbar funktioniert.

          1. Schritt (Vorbereitungen)

          Wie von Bluefox beschrieben, habe ich SimpleApi im web-Adapter aktiviert. Vorher hatte ich noch den separaten Adapter dafür installiert, der auf Port 8087 lief. Diesen habe ich nun deaktiviert.

          2. Schritt (Einrichtung des Triggers und Skripts)

          Das Objekt, über das mein Skript ausgeführt werden soll, lege ich direkt im Script an. Dazu habe ich folgendes Skript angelegt (Handlung.Aufstehen.Trigger). Dieser ist dann unter javascript.0.Handlung.Aufstehen.Trigger zu finden.

          Ich habe mir angewöhnt, im Skript die Aktionen jeweils vom Trigger (on/subscribe) zu lösen, um ggf. später weitere Trigger bequem ergänzen zu können.

          // -----------------------------------------------
          // Trigger
          // -----------------------------------------------
          
          // Aufstehen
          on({
              id: "javascript.0.Handlung.Aufstehen.Trigger"/*Handlung.Aufstehen.Trigger*/,
          }, function (obj) {
              Aufstehen();
          });
          
          // -----------------------------------------------
          // Aktionen
          // -----------------------------------------------
          
          function Aufstehen() {
              setState("hm-rpc.0.LEQ0277042.1.LEVEL"/*Rollladen Schlafzimmer (Gaube).LEVEL*/, 25);
              setState("hm-rpc.0.LEQ0276707.1.LEVEL"/*Rollladen Schlafzimmer (West).LEVEL*/, 25);
              setState("hm-rpc.0.LEQ0277215.1.LEVEL"/*Rollladen Kind.LEVEL*/, 100);
          
              setState("hm-rpc.0.LEQ0217489.1.LEVEL"/*Rollladen Gäste WC.LEVEL*/, 100);
              setState("hm-rpc.0.LEQ0217527.1.LEVEL"/*Rollladen HWR.LEVEL*/, 100);
              setState("hm-rpc.0.LEQ0276733.1.LEVEL"/*Rollladen Küche.LEVEL*/, 100);
              setState("hm-rpc.0.LEQ0217546.1.LEVEL"/*Rollladen Wohnzimmer 1.LEVEL*/, 100);
              setState("hm-rpc.0.LEQ0276721.1.LEVEL"/*Rollladen Wohnzimmer 2.LEVEL*/, 100);
              setState("hm-rpc.0.LEQ0276697.1.LEVEL"/*Rollladen Wohnzimmer 3.LEVEL*/, 100);
              setState("hm-rpc.0.LEQ0277051.1.LEVEL"/*Rollladen Wohnzimmer 4.LEVEL*/, 100);
              setState("hm-rpc.0.LEQ0276690.1.LEVEL"/*Rollladen Wohnzimmer 5.LEVEL*/, 100);
          
              setState("hm-rpc.0.KEQ0876727.1.STATE"/*Zirkulationspumpe.STATE*/, true);
          
              setState("onkyo.0.system-power"/*system-power*/, true);
              setState("onkyo.0.input"/*Input selector*/, "fm");
              setState("onkyo.0.master-volume"/*Master volume*/, 9);
          }
          
          createState("Handlung.Aufstehen.Trigger", false);
          

          3. Schritt: Verknüpfung vom CCU2-Programm

          Ich nutze zur Bedienung per Smartphone noch webmatic. Um das Skript auch von dort noch bequem aufrufen zu können, habe ich das das alte Programm bestehen gelassen, jedoch ohne automatisierte Bedingungen und Logik. Es wird von Dort einzig der Trigger des ioBroker über einen URL Aufruf angestoßen.

          Dazu habe ich unter Aktivität im Programmteil alles gelöscht und stattdessen einen Punkt Skript eingefügt.

          var url = "http://raspberrypi:8082/set/javascript.0.Handlung.Aufstehen.Trigger?value=true&prettyPrint";
          dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - '"#url#"'");
          dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
          string result = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
          

          Also nochmal vielen Dank an Bluefox für den wertvollen Hinweis.

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            mikey7891
            schrieb am zuletzt editiert von
            #5

            Hallo zusammen,

            Ich würde gerne ebenfalls die Script Api nutzen, allerdings funktioniert bei mir nur die set Methode. Toggle läuft leider nicht:

            http://w.x.y.z:8082/toggle/hue.0.Philips_hue.WZ_HL.on
            

            liefert:

            {"id":"hue.0.Philips_hue.WZ_HL.on","value":true}
            

            Was dem aktuellen Status entspricht, er wird nicht getoggelt.

            Folgendes funktioniert:

            http://w.x.y.z:8082/set/hue.0.Philips_hue.WZ_HL.on?value=true
            http://w.x.y.z:8082/set/hue.0.Philips_hue.WZ_HL.on?value=false
            

            Hoffe ihr habt einen Tipp für mich.

            Gruß

            mikey7891

            1 Antwort Letzte Antwort
            0
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              schrieb am zuletzt editiert von
              #6

              toggle muss jetzt laufen.

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                mikey7891
                schrieb am zuletzt editiert von
                #7

                Super, klappt einwandfrei. Danke

                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

                366

                Online

                32.5k

                Benutzer

                81.7k

                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