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

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Scriptstart bei Aufruf einer URL

Scheduled Pinned Locked Moved Skripten / Logik
7 Posts 3 Posters 5.9k 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.
  • B Offline
    B Offline
    Beatz
    wrote on last edited by
    #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 Reply Last reply
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      wrote on last edited by
      #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 Reply Last reply
      0
      • B Offline
        B Offline
        Beatz
        wrote on last edited by
        #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 Reply Last reply
        0
        • B Offline
          B Offline
          Beatz
          wrote on last edited by
          #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 Reply Last reply
          0
          • M Offline
            M Offline
            mikey7891
            wrote on last edited by
            #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 Reply Last reply
            0
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              wrote on last edited by
              #6

              toggle muss jetzt laufen.

              1 Reply Last reply
              0
              • M Offline
                M Offline
                mikey7891
                wrote on last edited by
                #7

                Super, klappt einwandfrei. Danke

                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

                421

                Online

                32.6k

                Users

                82.1k

                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