Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

 

J'utilise ce petit bout de code pour déterminer la version du firmware, et adapter le code pour V4.X ou v3.X.

Il a toujours très bien fonctionné, jusqu'il y a peu. 

Quelqu'un aurait une idée ?

Code :

-- détermination de la version du firmware
HC2 = Net.FHttp("127.0.0.1",11111)
version = ""
payload = "/api/settings/info"
response, status, errorCode = HC2:GET(payload)
if tonumber(status) == 200 
  then
	jsonTable = json.decode(response)
	if tonumber(jsonTable.softVersion) >= 4 
      then
		version = "4.x"
     else
		version = "3.x"
	end
  else
    fibaro:log("--- ERROR --- code : " ..errorCode)
	fibaro:debug('<span style="color:red;">status='..status..', errorCode='..errorCode..', payload='..payload..', response='..response..'</span>')
end
fibaro:debug('version = ' ..version)

Debug :

[DEBUG] 17:00:29: status=, errorCode=2, payload=/api/settings/info, response=
[DEBUG] 17:00:29: version =
[DEBUG] 17:00:32: status=, errorCode=2, payload=/api/settings/info, response=
[DEBUG] 17:00:32: version =
[DEBUG] 17:00:35: status=, errorCode=2, payload=/api/settings/info, response=
[DEBUG] 17:00:35: version =
[DEBUG] 17:00:38: status=, errorCode=2, payload=/api/settings/info, response=
[DEBUG] 17:00:38: version =

Mais quand je fais un save du VD (SANS avoir fait AUCUNE modif) tout redevient ok.

[DEBUG] 17:07:08: version = 3.x
[DEBUG] 17:07:08: Aucune lumière allumée
[DEBUG] 17:07:11: version = 3.x
[DEBUG] 17:07:11: Aucune lumière allumée

??????

 

Merci

Posté(e)

Coucou Latoupie :) Alors, tu t'éclates avec ton eedumus ?

 

Jojo : si tu as mis ce code dans une mainloop avec le sleep par défaut de 3s, je ne suis pas surpris que la fonction net.http finisse par déconner au bout de quelques heures.... rappelles toi, elle est buggée et on le dit partout ;)

Quand tu enregistres le VD, il le redémarre complètement, donc il n'y a plus de souci.... temporairement.

  • Upvote 1
Posté(e)

Merci Lazer,

C'est ce que je pensais hier soir, et j'ai mis tout le brol dans un bouton qui est appelé par la main loop, et ça marche.

Mais il me semblait que la mainloop foirait pour les téméraires en v4.x, pas pour les sages restés en v3.600  :)

Posté(e)

Non au contraire, c'est en v3 que la main loop pose problème.

Sinon tu regardes la main loop de mon module virtuel Syno Surveillance Station, elle est ultra stable, même en v3 avec de nombreux appels àNet.fhttp et JSON.décode.

×
×
  • Créer...