mamoreau 3 Signaler ce message Posté(e) 10 décembre 2016 (modifié) Bonjour, j'ai utilisé ce code LUA afin d'avoir un état de ma freebox player : local HC2 = Net.FHttp("192.168.0.199", 54243); local result, status, errorCode = HC2:GET("/device.xml"); if errorCode == 0 then if tonumber(status) == 200 then fibaro:debug('Status: ON') fibaro:setGlobal("FbxHD_etat", 1) fibaro:call(EtatFbxPlayer, "setProperty", "ui.Label.EtatFbxPlayer.value", On) else fibaro:debug('Status: OFF or In Standby Mode') fibaro:setGlobal("FbxHD_etat", 0) end else fibaro:debug('Connection refused') fibaro:setGlobal("FbxHD_etat", 0) end Mon problème est que mon libéllé EtatFbxPlayer n'affiche pas "On" Quelqu'un pourrait il m'aider ? Merci par avance. Modifié 10 décembre 2016 par mamoreau Partager ce message Lien à poster Partager sur d’autres sites
Berale64 630 Signaler ce message Posté(e) 10 décembre 2016 Tu es sur de ça "ui.Label.EtatFbxPlayer.value" Je dirais que le point après Label est de trop. Partager ce message Lien à poster Partager sur d’autres sites
mamoreau 3 Signaler ce message Posté(e) 10 décembre 2016 il y a 5 minutes, Berale24 a dit : Tu es sur de ça "ui.Label.EtatFbxPlayer.value" Je dirais que le point après Label est de trop. Bonjour si je fais ca en mode debug j'obtient : attempt to concatenate local 'deviceID' (a nil value) Partager ce message Lien à poster Partager sur d’autres sites
Berale64 630 Signaler ce message Posté(e) 10 décembre 2016 Dans ton code je ne vois pas la valeur associée à la variable EtatFbxPlayer Si tu as renommé le label EtatFbxPlayer alors la syntaxe est ui.EtatFbxPlayer.value Partager ce message Lien à poster Partager sur d’autres sites
mamoreau 3 Signaler ce message Posté(e) 10 décembre 2016 il y a 2 minutes, Berale24 a dit : Dans ton code je ne vois pas la valeur associée à la variable EtatFbxPlayer Si tu as renommé le label EtatFbxPlayer alors la syntaxe est ui.EtatFbxPlayer.value Comme cela, ca ne fonctionne pas non plus : local HC2 = Net.FHttp("192.168.0.199", 54243); local result, status, errorCode = HC2:GET("/device.xml"); if errorCode == 0 then if tonumber(status) == 200 then fibaro:debug('Status: ON') fibaro:setGlobal("FbxHD_etat", 1) fibaro:call(EtatFbxPlayer, "setProperty", "ui.EtatFbxPlayer.value", On) else fibaro:debug('Status: OFF or In Standby Mode') fibaro:setGlobal("FbxHD_etat", 0) end else fibaro:debug('Connection refused') fibaro:setGlobal("FbxHD_etat", 0) end L'Id de l'etiquette est bien EtatFbxPlayer Partager ce message Lien à poster Partager sur d’autres sites
Nikko 92 Signaler ce message Posté(e) 11 décembre 2016 Bonjour, Ce que @Berale24 t'écris c'est que dans cette ligne: fibaro:call(EtatFbxPlayer, "setProperty", "ui.EtatFbxPlayer.value", On) tu n'as pas définit EtatFbxPlayer, qui est juste après le call. fibaro:call(id , "setProperty", "ui.Label.value", texte) id est un nombre, représentant le numéro du VD; Dans ton cas EtatFbxPlayer, doit renvoyer vers un nombre; que tu auras définit, par exemple EtatFbxPlayer = fibaro:getSelfId() ou EtatFbxPlayer = 55 si ton device est le numéro 55 "ui.Label.value" est le nom du label; ici "ui.EtatFbxPlayer.value"; ok texte est de type string. Ici tu as mis On sans les guillemets, ce qui veut dire que tu inscrit le contenu d'une variable On que tu auras définit auparavant. Je pense que tu as oublié les guillemets Partager ce message Lien à poster Partager sur d’autres sites
mamoreau 3 Signaler ce message Posté(e) 11 décembre 2016 Désole mais je n'ai pas compris : local HC2 = Net.FHttp("192.168.0.199", 54243); local result, status, errorCode = HC2:GET("/device.xml"); if errorCode == 0 then if tonumber(status) == 200 then fibaro:debug('Status: ON') fibaro:setGlobal("FbxHD_etat", 1) EtatFbxPlayer = fibaro:getSelfId() fibaro:call(EtatFbxPlayer, "setProperty", "ui.EtatFbxPlayer.value", On) else fibaro:debug('Status: OFF or In Standby Mode') fibaro:setGlobal("FbxHD_etat", 0) end else fibaro:debug('Connection refused') fibaro:setGlobal("FbxHD_etat", 0) end ca ne fonctionne pas Partager ce message Lien à poster Partager sur d’autres sites
Nikko 92 Signaler ce message Posté(e) 11 décembre 2016 As tu toujours l'erreur ou est ce juste ton label qui n'est pas mis à jour???? local HC2 = Net.FHttp("192.168.0.199", 54243); local result, status, errorCode = HC2:GET("/device.xml"); if tonumber(errorCode) == 0 then if tonumber(status) == 200 then fibaro:debug('Status: ON') fibaro:setGlobal("FbxHD_etat", 1) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.EtatFbxPlayer.value", "On") else fibaro:debug('Status: OFF or In Standby Mode') fibaro:setGlobal("FbxHD_etat", 0) end else fibaro:debug('Connection refused') fibaro:setGlobal("FbxHD_etat", 0) end Partager ce message Lien à poster Partager sur d’autres sites
mamoreau 3 Signaler ce message Posté(e) 11 décembre 2016 il y a 12 minutes, Nikko a dit : As tu toujours l'erreur ou est ce juste ton label qui n'est pas mis à jour???? local HC2 = Net.FHttp("192.168.0.199", 54243); local result, status, errorCode = HC2:GET("/device.xml"); if tonumber(errorCode) == 0 then if tonumber(status) == 200 then fibaro:debug('Status: ON') fibaro:setGlobal("FbxHD_etat", 1) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.EtatFbxPlayer.value", "On") else fibaro:debug('Status: OFF or In Standby Mode') fibaro:setGlobal("FbxHD_etat", 0) end else fibaro:debug('Connection refused') fibaro:setGlobal("FbxHD_etat", 0) end Plus d'erreur mais libel pas a jour Partager ce message Lien à poster Partager sur d’autres sites
Nikko 92 Signaler ce message Posté(e) 11 décembre 2016 (modifié) Recopie le dernier code que je t'ai mis, car c'est ce que je t'expliquais, tu n'a pas les guillemets sur ton On. De plus ton label ne sera mis à jour que la première fois puisque: Si tu arrives à faire le Get alors label On et Variable globale à 1 Sinon variable globale à 0 Mais jamais tu ne demandes à ton label de mettre un autre état que on Donc si ton get aboutit alors ton label passe sur on mais au coup d'après si la requète n'aboutit pas, tu restes quand même sur on vu que tu ne modifies pas le label par la suite... Il aurait fallu un truc du genre: local HC2 = Net.FHttp("192.168.0.199", 54243); local result, status, errorCode = HC2:GET("/device.xml"); if tonumber(errorCode) == 0 then if tonumber(status) == 200 then fibaro:debug('Status: ON') fibaro:setGlobal("FbxHD_etat", 1) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.EtatFbxPlayer.value", "On") else fibaro:debug('Status: OFF or In Standby Mode') fibaro:call(fibaro:getSelfId(), "setProperty", "ui.EtatFbxPlayer.value", "Off") fibaro:setGlobal("FbxHD_etat", 0) end else fibaro:debug('Connection refused') fibaro:setGlobal("FbxHD_etat", 0) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.EtatFbxPlayer.value", "Refused") end Modifié 11 décembre 2016 par Nikko 1 Partager ce message Lien à poster Partager sur d’autres sites
mamoreau 3 Signaler ce message Posté(e) 11 décembre 2016 il y a 1 minute, Nikko a dit : Recopie le dernier code que je t'ai mis, car c'est ce que je t'expliquais, tu n'a pas les guillemets sur ton On. De plus ton label ne sera mis àjour que la première fois puisque: Si tu arrives à faire le Get alors label On et Variable globale à 1 Sinon variable globale à 0 Mais jamais tu ne demandes à ton label de mettre un autre état que on Donc si ton get aboutit ton label passe sur on mais au coup d'après si la requète n'aboutit pas, tu restes quand même sur on vu que tu ne modifies pas le label par la suite... Il aurait fallu un truc du genre: local HC2 = Net.FHttp("192.168.0.199", 54243); local result, status, errorCode = HC2:GET("/device.xml"); if tonumber(errorCode) == 0 then if tonumber(status) == 200 then fibaro:debug('Status: ON') fibaro:setGlobal("FbxHD_etat", 1) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.EtatFbxPlayer.value", "On") else fibaro:debug('Status: OFF or In Standby Mode') fibaro:call(fibaro:getSelfId(), "setProperty", "ui.EtatFbxPlayer.value", "Off") fibaro:setGlobal("FbxHD_etat", 0) end else fibaro:debug('Connection refused') fibaro:setGlobal("FbxHD_etat", 0) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.EtatFbxPlayer.value", "Refused") end It's good un grand merci à toi Partager ce message Lien à poster Partager sur d’autres sites