Wieszanie się urządzenia wirtualnego

  • 4 Odpowiedzi
  • 1268 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline andy

  • * 3
  • 0
    • Zobacz profil
Wieszanie się urządzenia wirtualnego
« dnia: Lipiec 01, 2016, 12:01:31 pm »
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ł ?
« Ostatnia zmiana: Lipiec 01, 2016, 12:03:32 pm wysłana przez andy »
*

Offline sztywniak

  • ***** 601
  • 23
    • Zobacz profil
  • Nazwa i wersja ID: HC2 3.60/ 4.37, Vera 1.7.1018
Odp: Wieszanie się urządzenia wirtualnego
« Odpowiedź #1 dnia: Lipiec 07, 2016, 06:11:22 pm »
po co Ci temperatura zewnętrzna co 20 sekund ?
*

Offline sztywniak

  • ***** 601
  • 23
    • Zobacz profil
  • Nazwa i wersja ID: HC2 3.60/ 4.37, Vera 1.7.1018
Odp: Wieszanie się urządzenia wirtualnego
« Odpowiedź #2 dnia: Lipiec 07, 2016, 06:12:43 pm »
... i druga sprawa
lepiej wklej ten kod pod przycisk(który wciskaj sceną co jakis czas)  a nie w pętli głównej
*

Offline andy

  • * 3
  • 0
    • Zobacz profil
Odp: Wieszanie się urządzenia wirtualnego
« Odpowiedź #3 dnia: Lipiec 10, 2016, 03:17:43 pm »
Witam

Temperatura faktycznie jest bez sensu, bardzie mnie interesuje wiatr (chodzi o podniesienie żaluzji). Akurat jakoś w pierwszej kolejności sparsowałem temperaturę : )
Z tym przyciskiem to może dobry pomysł, tak więc spróbuję to przerobić.

A tak w ogóle czy ktoś zna kody błędów, które zwraca errorcode ?

Jak przerobię to dam znać jak działa.

Pzdr.
*

Offline andy

  • * 3
  • 0
    • Zobacz profil
Odp: Wieszanie się urządzenia wirtualnego
« Odpowiedź #4 dnia: Lipiec 12, 2016, 09:04:29 pm »
Odpalanie poprzez przycisk załatwiło sprawę. Działa od 3 dni bez zarzutu : )
Tak więc bardzo dziękuję za pomysł.