Witam
Mam problem z urządzeniem wirtualnym, który używa call-a do serwisu pogodowego. Problem polega na tym, że po jakiś 5-10 godzinach urządzenie "staje" i post zwraca mi błąd (errorcode) 2 (prawdopodobnie po wystąpieniu jakiegoś błędu na stronie w którą uderzam).
Czy coś źle robię, czy jest jakaś możliwość zrestartowania urządzenia ? (oczywiście jak błąd wystąpi, wchodzę na urządzenie robię zapisz i wszystko wraca do normy, samo nigdy się nie odblokowuje)
local godz;
function isempty(s)
return s == nil or s == ''
end
fibaro:log("Pobór temperatury")
HC2 = Net.FHttp("m.traxelektronik.pl")
-- wczytuje wynik zapytania do zmiennej dane
dane, status, errorcode = HC2:POST("/?type=2&elid=158","")
-- Sprawdzam czy post zwrócił mi jakieś dane
if isempty(dane) then
dane = "-1"
fibaro:debug(errorcode); --NO I TUTAJ PO KILKU GODZINACH LOGUJE MI WARTOŚĆ "2"
end
godz = string.find(dane,"<b>Rejon Wroc");
-- zabezpieczam się przed błędem
if isempty(godz) then
godz = 0
end
godztxt = string.sub(dane,tonumber(godz)+24,tonumber(godz)+39);
-- zabezpieczam się przed błędem
if isempty(godztxt) then
godztxt = 0
end
if dane=="-1" then
gdzie="-1"
gdziedo="-1"
temp2m="-1"
else
gdzie = (string.find(dane,"Temperatura powietrza"))
gdziedo =(string.find(dane,"Temperatura odczuwalna"))
temp2m = (string.gsub((string.sub(dane,tonumber(gdzie)+55,tonumber(gdziedo)-60)),'"',' '));
end
fibaro:call(1299, "setProperty", "ui.temperatura.value", temp2m.." z godziny: "..godztxt..' ');
fibaro:sleep(20000)
Macie jakiś pomysł ?