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. English
  3. ioBroker general
  4. Simple API Use SOLVED

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

  • 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.4k

Simple API Use SOLVED

Scheduled Pinned Locked Moved ioBroker general
apisimple api
22 Posts 5 Posters 4.9k Views 4 Watching
  • 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.
  • A ap2017

    @UncleSam Thank you for quick response and good comments. My actual URL does not have extra spaces:
    http://iobrokerIP:8087/set/javascript.0.Pi-detection?Value=true

    I created PI-detection variable in javascript.0 folder and monitoring value of this variable in response to motion detection from MotionEye, but so far I am getting nothing. My MotionEye Web Hook URL is http://iobrokerIP:8087/set/javascript.0.Pi-detection?Value=true with HTTP method set as GET

    paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by paul53
    #4

    @ap2017
    Link is wrong (Value --> value).
    http://iobrokerip:8087/set/javascript.0.Pi-detection?value=true

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Reply Last reply
    1
    • A ap2017

      @UncleSam Thank you for quick response and good comments. My actual URL does not have extra spaces:
      http://iobrokerIP:8087/set/javascript.0.Pi-detection?Value=true

      I created PI-detection variable in javascript.0 folder and monitoring value of this variable in response to motion detection from MotionEye, but so far I am getting nothing. My MotionEye Web Hook URL is http://iobrokerIP:8087/set/javascript.0.Pi-detection?Value=true with HTTP method set as GET

      UncleSamU Offline
      UncleSamU Offline
      UncleSam
      Developer
      wrote on last edited by
      #5

      @ap2017 Thanks for the clarifications.

      What happens if you open the URL in your browser? Do you get a JSON response similar to the following or an error message?

      {"id":"javascript.0.Pi-detection","value":true}
      

      How do you know that you are "getting nothing"?

      Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
      ♡-lichen Dank an meine Sponsoren

      A 1 Reply Last reply
      0
      • UncleSamU UncleSam

        @ap2017 Thanks for the clarifications.

        What happens if you open the URL in your browser? Do you get a JSON response similar to the following or an error message?

        {"id":"javascript.0.Pi-detection","value":true}
        

        How do you know that you are "getting nothing"?

        A Offline
        A Offline
        ap2017
        wrote on last edited by
        #6

        @UncleSam In browser I am getting error message
        "error: datapoint "javascript.0.Pi-detection" not found"
        I monitor variable PI-detection as Boolean widget in VIS

        UncleSamU 1 Reply Last reply
        0
        • A ap2017

          @UncleSam In browser I am getting error message
          "error: datapoint "javascript.0.Pi-detection" not found"
          I monitor variable PI-detection as Boolean widget in VIS

          UncleSamU Offline
          UncleSamU Offline
          UncleSam
          Developer
          wrote on last edited by
          #7

          @ap2017 Can you please share a screenshot of your object tree in ioBroker where we can see the mentioned state (and its parents)?

          Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
          ♡-lichen Dank an meine Sponsoren

          A 1 Reply Last reply
          0
          • UncleSamU UncleSam

            @ap2017 Can you please share a screenshot of your object tree in ioBroker where we can see the mentioned state (and its parents)?

            A Offline
            A Offline
            ap2017
            wrote on last edited by
            #8

            @UncleSam Here the screenshot. Do I need to have subfolder variables in my URL?

            478101c6-03ea-4770-aca9-b414a5870a93-image.png

            paul53P UncleSamU 2 Replies Last reply
            0
            • A ap2017

              @UncleSam Here the screenshot. Do I need to have subfolder variables in my URL?

              478101c6-03ea-4770-aca9-b414a5870a93-image.png

              paul53P Offline
              paul53P Offline
              paul53
              wrote on last edited by paul53
              #9

              @ap2017
              URL: http://iobrokerip:8087/set/javascript.0.variables.PI-detection?value=true

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Reply Last reply
              0
              • A ap2017

                @UncleSam Here the screenshot. Do I need to have subfolder variables in my URL?

                478101c6-03ea-4770-aca9-b414a5870a93-image.png

                UncleSamU Offline
                UncleSamU Offline
                UncleSam
                Developer
                wrote on last edited by
                #10

                @ap2017 So, did you copy the state ID the way I asked you to?

                Because it seems to me that the name should be javascript.0.variables.PI-detection

                Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
                ♡-lichen Dank an meine Sponsoren

                A 2 Replies Last reply
                0
                • UncleSamU UncleSam

                  @ap2017 So, did you copy the state ID the way I asked you to?

                  Because it seems to me that the name should be javascript.0.variables.PI-detection

                  A Offline
                  A Offline
                  ap2017
                  wrote on last edited by ap2017
                  #11

                  @UncleSam Thank you, with subfolder "variables" added I am getting browser response
                  {"id":"javascript.0.variables.PI-detection","value":true,"val":true}

                  Now I need to figure out how MotionEye notification work, since I PI-detection does not change in response to motion

                  1 Reply Last reply
                  0
                  • UncleSamU UncleSam

                    @ap2017 So, did you copy the state ID the way I asked you to?

                    Because it seems to me that the name should be javascript.0.variables.PI-detection

                    A Offline
                    A Offline
                    ap2017
                    wrote on last edited by
                    #12

                    @UncleSam Everything works now. I did not realized that I have to reset the web hook variable after motion is detected.

                    T 1 Reply Last reply
                    1
                    • A ap2017

                      @UncleSam Everything works now. I did not realized that I have to reset the web hook variable after motion is detected.

                      T Offline
                      T Offline
                      tehMilcho
                      wrote on last edited by
                      #13

                      Hey there,

                      i got the same Error but little different problem. I have copyed the Object-Path with the little button.

                      so i build this URL:
                      http://SERVER:8087/set/0_userdata.0.VirtualDevices.hc3lite.FlurPIR-1?value=false&prettyPrint

                      The Url works fine in any browser but when i try to use it in my code i get:

                      "error: no value found for "0_userdata.0.VirtualDevices.hc3lite.FlurPIR-1". Use /set/id?value=1 or /set/id?value=1&wait=1000"

                      I will use it in a Lua Script that runs on the "Fibaro Home center lite". When i rebuild the URL to "toggle" it works fine.. i have no clue whats the issue .. because it makes no sense for me.

                      Lua Code:

                      local value = fibaro.getValue(52, "value")
                      local url
                      
                      -- Deside if value should be true or false
                      if (fibaro.getValue(52, "value") == true) then
                      url = 'http://SERVER:8087/set/0_userdata.0.VirtualDevices.hc3lite.FlurPIR-1?value=true&prettyPrint'
                      elseif (fibaro.getValue(52, "value") == false) then
                      url = 'SERVER/set/0_userdata.0.VirtualDevices.hc3lite.FlurPIR-1?value=false&prettyPrint'
                      else 
                      print ("No Match")
                      end
                      
                      print(url)
                      
                      local selfhttp = net.HTTPClient()
                      
                      local headers = {
                              ["Accept"] = "application/json",
                              ["Content-Type"] = 'application/json',
                              ["Cache-Control"] = "no-cache"
                          }
                      
                      selfhttp:request(url, {
                        options={
                          method = 'GET',
                          headers = headers,
                          timeout = 5000
                        },
                       success = function(response) 
                                  print(response.status)
                                  print(response.data)
                          end,
                          error = function(message)
                                  print("error:", message)
                          end
                      })
                       
                      

                      anyone knows something? i think i had the same issue by try to use something like this in Android App - Tasker, but then give out and used toggle.

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        MCU
                        wrote on last edited by
                        #14

                        @tehmilcho sagte in Simple API Use SOLVED:

                        http://SERVER:8087/set/0_userdata.0.VirtualDevices.hc3lite.FlurPIR-1?value=true&prettyPrint

                        Try to encode the URL

                        let encodedUrl = encodeURIComponent(url);
                        

                        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                        T 1 Reply Last reply
                        0
                        • M MCU

                          @tehmilcho sagte in Simple API Use SOLVED:

                          http://SERVER:8087/set/0_userdata.0.VirtualDevices.hc3lite.FlurPIR-1?value=true&prettyPrint

                          Try to encode the URL

                          let encodedUrl = encodeURIComponent(url);
                          
                          T Offline
                          T Offline
                          tehMilcho
                          wrote on last edited by
                          #15

                          @mcu said in Simple API Use SOLVED:

                          let encodedUrl = encodeURIComponent(url);

                          the Lua Script in Fibaro seems not happy about it:

                          [24.11.2023] [22:43:48] [ERROR] [SCENE29]: (load):15: syntax error near 'encodedUrl

                          M 1 Reply Last reply
                          0
                          • T tehMilcho

                            @mcu said in Simple API Use SOLVED:

                            let encodedUrl = encodeURIComponent(url);

                            the Lua Script in Fibaro seems not happy about it:

                            [24.11.2023] [22:43:48] [ERROR] [SCENE29]: (load):15: syntax error near 'encodedUrl

                            M Offline
                            M Offline
                            MCU
                            wrote on last edited by
                            #16

                            @tehmilcho In LUA seems to be

                            local encodedUrl = url.escape(url)
                            

                            NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                            Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                            T 1 Reply Last reply
                            0
                            • M MCU

                              @tehmilcho In LUA seems to be

                              local encodedUrl = url.escape(url)
                              
                              T Offline
                              T Offline
                              tehMilcho
                              wrote on last edited by
                              #17

                              @mcu said in Simple API Use SOLVED:

                              local encodedUrl = url.escape(url)

                              mhh seems like fibaro specail lua?

                              [24.11.2023] [22:54:25] [ERROR] [SCENE29]: (load):23: attempt to call a nil value (field 'escape')

                              M 1 Reply Last reply
                              0
                              • T tehMilcho

                                @mcu said in Simple API Use SOLVED:

                                local encodedUrl = url.escape(url)

                                mhh seems like fibaro specail lua?

                                [24.11.2023] [22:54:25] [ERROR] [SCENE29]: (load):23: attempt to call a nil value (field 'escape')

                                M Offline
                                M Offline
                                MCU
                                wrote on last edited by
                                #18

                                @tehmilcho Do you use it so?

                                url = url.escape(url)
                                
                                selfhttp:request(url, {
                                  options={
                                    method = 'GET',
                                    headers = headers,
                                    timeout = 5000
                                  },
                                  success = function(response) 
                                    print(response.status)
                                    print(response.data)
                                  end,
                                  error = function(message)
                                    print("error:", message)
                                  end
                                })
                                

                                NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                T 1 Reply Last reply
                                0
                                • M MCU

                                  @tehmilcho Do you use it so?

                                  url = url.escape(url)
                                  
                                  selfhttp:request(url, {
                                    options={
                                      method = 'GET',
                                      headers = headers,
                                      timeout = 5000
                                    },
                                    success = function(response) 
                                      print(response.status)
                                      print(response.data)
                                    end,
                                    error = function(message)
                                      print("error:", message)
                                    end
                                  })
                                  
                                  T Offline
                                  T Offline
                                  tehMilcho
                                  wrote on last edited by
                                  #19

                                  @mcu yep this leads to "[24.11.2023] [22:54:25] [ERROR] [SCENE29]: (load):23: attempt to call a nil value (field 'escape')"

                                  M 1 Reply Last reply
                                  0
                                  • T tehMilcho

                                    @mcu yep this leads to "[24.11.2023] [22:54:25] [ERROR] [SCENE29]: (load):23: attempt to call a nil value (field 'escape')"

                                    M Offline
                                    M Offline
                                    MCU
                                    wrote on last edited by
                                    #20

                                    @tehmilcho sagte in Simple API Use SOLVED:

                                    :23: attempt to call a nil value (field 'escape')

                                    Try this

                                    url = url:gsub("([^A-Za-z0-9_])", function(c) return string.format("%%%02X", string.byte(c)) end)
                                    

                                    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                    T 1 Reply Last reply
                                    0
                                    • M MCU

                                      @tehmilcho sagte in Simple API Use SOLVED:

                                      :23: attempt to call a nil value (field 'escape')

                                      Try this

                                      url = url:gsub("([^A-Za-z0-9_])", function(c) return string.format("%%%02X", string.byte(c)) end)
                                      
                                      T Offline
                                      T Offline
                                      tehMilcho
                                      wrote on last edited by
                                      #21

                                      @mcu said in Simple API Use SOLVED:

                                      url = url:gsub("([^A-Za-z0-9_])", function(c) return string.format("%%%02X", string.byte(c)) end)

                                      then it seems to get stuck, no error but will not finsh and also the state in iobroker is not changed, when you Output the new string you will get:

                                      http%3A%2F%2F192%2E168%2E178%2E37%3A8087%2Fset%2F0_userdata%2E0%2EVirtualDevices%2Ehc3lite%2EFlurPIR%2D1%3Fvalue%3Dtrue%26prettyPrint

                                      T 1 Reply Last reply
                                      0
                                      • T tehMilcho

                                        @mcu said in Simple API Use SOLVED:

                                        url = url:gsub("([^A-Za-z0-9_])", function(c) return string.format("%%%02X", string.byte(c)) end)

                                        then it seems to get stuck, no error but will not finsh and also the state in iobroker is not changed, when you Output the new string you will get:

                                        http%3A%2F%2F192%2E168%2E178%2E37%3A8087%2Fset%2F0_userdata%2E0%2EVirtualDevices%2Ehc3lite%2EFlurPIR%2D1%3Fvalue%3Dtrue%26prettyPrint

                                        T Offline
                                        T Offline
                                        tehMilcho
                                        wrote on last edited by
                                        #22

                                        @MCU but this brings me on track, i now swap the "?" with "%3F" now it works .. damn @MCU you are f****** smart :) Thanks a lot. spend already hours on this :)

                                        1 Reply Last reply
                                        1
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        324

                                        Online

                                        32.5k

                                        Users

                                        81.7k

                                        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