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

      @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

                          646
                          Online

                          31.9k
                          Users

                          80.2k
                          Topics

                          1.3m
                          Posts

                          api simple api
                          5
                          22
                          3346
                          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