Vom Qubino ZMNHOD1 zur Blebox-shutterBox DC

Leider gibt es vom Qubino Flush shutter DC leider keinen Nachfolger. Es findet sich kein Hersteller, der einen „Flush Shutter DC“ im Programm hat.Ich versuche eine Quickapp zu schreiben um die „Blebox-Shutter DC“ ins System zu integrieren. Das Gerät läuft über WLAN und die API ist offen. Die ersten Taster-Funktionen funktionieren. Ich würde gerne den Zustand der Jalousie abfragen, damit der richtige Zustand angezeigt wird. Kann mir jemand helfen die Quickapp zu schreiben?

-- Roller shutter type should handle actions: open, close, stop
-- To update roller shutter state, update property "value" with integer 0-99
function QuickApp:onInit()
    self:debug("onInit")
    self.http = net.HTTPClient({timeout = 5000})
    self.url = "http://" .. self:getVariable("IPAddress")
print (self.url)
self:debug(self.url)

end
function QuickApp:checkState(func)
    self.http:request(self.urlBase .. "/state", {
        options = {
            method = "GET",
            headers = {
                ["Content-Type"] = "application/json",
            }
        },
        success = function(response) 
            s = json.decode(response.data)
            func(s)
        end,
        error = function(message)
            self:debug("error:", message)
        end
    })

  return state
end

function QuickApp:open()
    self:debug("Tor hoch")
    self:updateProperty("value", 99)
 
local url = self.url .. "/s/u"
print(url)
self.http:request(url , {
        options={
            headers = { 
                Accept = "application/json"
            },
          --  checkCertificate = true,
            method = "GET"
        },
        success = function(response)
            print(response.status) 
            print(response.data)
         
          
        end,
        error = function(error)
            print('error: ' .. json.encode(error))
        end
    }) 

end

function QuickApp:close()
    self:debug("roller shutter closed")
    self:updateProperty("value", 0)    

   local url = self.url .. "/s/d"
print(url)
self.http:request(url , {
        options={
            headers = { 
                Accept = "application/json"
            },
          --  checkCertificate = true,
            method = "GET"
        },
        success = function(response)
            print(response.status) 
            print(response.data)
         
          
        end,
        error = function(error)
            print('error: ' .. json.encode(error))
        end
    })  
end

function QuickApp:stop()
    self:debug("roller shutter stopped ")
    local url = self.url .. "/s/s"
print(url)
self.http:request(url , {
        options={
            headers = { 
                Accept = "application/json"
            },
          --  checkCertificate = true,
            method = "GET"
        },
        success = function(response)
            print(response.status) 
            print(response.data)
         
          
        end,
        error = function(error)
            print('error: ' .. json.encode(error))
        end
    }) 
end

-- Value is type of integer (0-99)
function QuickApp:setValue(value)
    self:debug("roller shutter set to: " .. tostring(value))
    self:updateProperty("value", value)    

      local url = self.url .. "/s/p/" ..tostring(value)
print(url)
self.http:request(url , {
        options={
            headers = { 
                Accept = "application/json"
            },
          --  checkCertificate = true,
            method = "GET"
        },
        success = function(response)
            print(response.status) 
            print(response.data)
         
          
        end,
        error = function(error)
            print('error: ' .. json.encode(error))
        end
    }) 
end
function QuickApp:checkState(func)
    self.http:request(self.urlBase .. "/state", {
        options = {
            method = "GET",
            headers = {
                ["Content-Type"] = "application/json",
            }
        },
        success = function(response) 
            s = json.decode(response.data)
            func(s)
        end,
        error = function(message)
            self:debug("error:", message)
        end
    })

  end