Forum użytkowników automatyki budynkowej

Z-wave => Fibaro - urządzenia wirtualne, pluginy => Wątek zaczęty przez: andy w Lipiec 01, 2016, 12:01:31 pm

Tytuł: Wieszanie się urządzenia wirtualnego
Wiadomość wysłana przez: andy w 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ł ?
Tytuł: Odp: Wieszanie się urządzenia wirtualnego
Wiadomość wysłana przez: sztywniak w Lipiec 07, 2016, 06:11:22 pm
po co Ci temperatura zewnętrzna co 20 sekund ?
Tytuł: Odp: Wieszanie się urządzenia wirtualnego
Wiadomość wysłana przez: sztywniak w 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
Tytuł: Odp: Wieszanie się urządzenia wirtualnego
Wiadomość wysłana przez: andy w 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.
Tytuł: Odp: Wieszanie się urządzenia wirtualnego
Wiadomość wysłana przez: andy w 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ł.