Aller au contenu

Refresh Label Module Virtuel ?


Messages recommandés

Posté(e)

Bonsoir, j'ai un problème avec mes modules virtuels.

J'ai des sondes THGR810 sous Jeedom ( rfxcom) et voulant récupérer les valeurs de T° sous HC2, j'ai créé des modules virtuels avec 1 étiquette et j'ai mis en main loop :

 

JEEDOM=Net.FHttp("192.168.0.32");
temp=json.decode(temp);
fibaro:call(11,"setProperty","ui.lblSejour.value",temp.." °C ");
sleep(6*1000);
 
J'ai remarqué que les températures ne se réactualisent pas, sauf quand je réenregistre le module. 
 
Comment puis-je faire ? Merci
Posté(e)

A mon avis ...

 

Le sleep(6*1000) fait planté ton main loop car cette fonction n'existe pas. Donc ton main loop s'execute une seule fois et ce stoppe.

 

Essaie en copiant ce code :

JEEDOM=Net.FHttp("192.168.0.32");
temp=JEEDOM:GET("/core/api/jeeApi.php?apikey=xxx&type=cmd&id=257");
temp=json.decode(temp);
fibaro:call(11,"setProperty","ui.lblSejour.value",temp.." °C ");
fibaro:sleep(6*1000);
Posté(e)

Tu devrais vérifier ton ID et aussi gérer les erreurs comme ceci

local JEEDOM = nil, Net.FHttp("192.168.0.32", 80);
local response, status, errorCode = JEEDOM:GET("/core/api/jeeApi.php?apikey=xxx&type=cmd&id=257");
-- check error
if errorCode == 0 then
  -- check status and response value before...
  if ((tonumber(status) == 200) and (response ~= nil)) then
    response = json.decode(response);
    fibaro:call(11,"setProperty","ui.lblSejour.value",response.temp.." °C ");
  else
    fibaro:debug("Error!");
  end
else
  fibaro:debug("error code is "..errorCode..
    ", response is ["..response.."]")
end

De plus je trouve étrange que ton

response=json.decode(response);

soit utilisable.

 

Peut-être plus quelque chose comme response.temp

Posté(e)

oui il faut modifier la première ligne comme ceci ;)

local JEEDOM = Net.FHttp("192.168.0.32", 80);

Mais de toute manière l'erreur est certainement sur ta manière d'utiliser le json car je doute que la temp soit accessible directement ou alors ce n'est pas une vrai API json...

Posté(e)

En fait j'avais copié ça quelque part, et comme ça marchait... l'url me renvoie la valeur. J'ai supprimé et ça fonctionne. 

Dans quel(s) cas a-t-on un status <> 200 et une errorcode? Quand l'url ne renvoie rien ?

Posté(e)

Au final ça ne marche pas très bien, j'ai des périodes assez longues sans réactualisation... Plusieurs heures !!! Je dois ouvrir le module virtuel, et le réenregistrer pour la mise à  jour, alors qu'hier ça allait. 

Je ne parle même pas de mon oeil Fibaro qui ne se réveille même plus !

×
×
  • Créer...