Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. English
    3. ioBroker general
    4. Simple API Use SOLVED

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Simple API Use SOLVED

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      ap2017 @UncleSam last edited by ap2017

      @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 Reply Quote 0
      • A
        ap2017 @UncleSam last edited by

        @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 Reply Quote 1
        • T
          tehMilcho @ap2017 last edited by

          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 Reply Quote 0
          • M
            MCU last edited by

            @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 1 Reply Last reply Reply Quote 0
            • T
              tehMilcho @MCU last edited by

              @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 Reply Quote 0
              • M
                MCU @tehMilcho last edited by

                @tehmilcho In LUA seems to be

                local encodedUrl = url.escape(url)
                
                T 1 Reply Last reply Reply Quote 0
                • T
                  tehMilcho @MCU last edited by

                  @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 Reply Quote 0
                  • M
                    MCU @tehMilcho last edited by

                    @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 1 Reply Last reply Reply Quote 0
                    • T
                      tehMilcho @MCU last edited by

                      @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 Reply Quote 0
                      • M
                        MCU @tehMilcho last edited by

                        @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 1 Reply Last reply Reply Quote 0
                        • T
                          tehMilcho @MCU last edited by

                          @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 Reply Quote 0
                          • T
                            tehMilcho @tehMilcho last edited by

                            @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 Reply Quote 1
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            822
                            Online

                            31.8k
                            Users

                            79.9k
                            Topics

                            1.3m
                            Posts

                            api simple api
                            5
                            22
                            3147
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo