Tänkte försöka koppla upp mig mot verisure api:et direkt i en scen från min hc2:a men får det inte att funka.
Problemet är att sätta "Cookie" i headern (markerat nedan) funkar inte, testar jag varje anrop separat från VisualStudioCode så funkar det, ser status på allting och kan låsa upp/låsa dörrarna. (authorization funkar som det ska)
På nått sätt skickas dock en cookie till api:et men nått blir fel för svaret är "invalid session cookie".
Kopierar jag den cookien till visualStudioCode så får jag korrekt svar.
Nån som har tips på vad som är fel ?
//Leif
Code: Select all
url = <base url for verisure api>;
function Debug(color, message)
fibaro:debug(string.format('<%s style="color:%s;">%s</%s>', "span", color, message, "span"));
end
function getVerisureUser(cookie)
Debug("yellow",cookie);
HC2:request(url .. "installation/search?email=" .. verisureUser, {
success = function(resp) Debug("yellow",resp.data); end,
error = function(resp) Debug("red","Error get user!" .. resp) end,
options = {
headers = {['Cookie'] = "vid=" .. cookie}, --DETTA FUNKAR INTE
method = 'GET',
timeout = 5000
}
});
end
function getVerisureSession()
Debug("yellow","Login to Verisure API...")
HC2:request( url .. "cookie", {
success = function(resp) getVerisureUser(resp.data) end,
error = function(resp) Debug("red","Error logging on to the verisure api!" .. resp) end,
options = {
method = "POST",
headers = {['Authorization'] = verisureAuth}
}
});
end
verisureUser = "my.email@gmail.com";
verisureAuth = "Basic xxxxxxxxxxxxxxxx";
HC2 = net.HTTPClient()
getVerisureSession();