Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

 

Je suis actuellement les cours sur "l'API Fibaro.fr" et je ne comprends pas le code suivant sur la fonction isSceneEnabled :

local SceneActive = fibaro:isSceneEnabled(3)
if SceneActive == 'true' then
fibaro:debug('active')
else fibaro:debug('inactive')
end

La condition se trouve être stockée dans la variable SceneActive (true ou false). OK.

La condition du "if" derrière est donc étrange, cherché à  savoir si true ou false = 'true' (la chaine de caractère "true") ce qui ne sera jamais vrai.

Pour moi, le code à  faire devrait être :

local SceneActive = fibaro:isSceneEnabled(3)
if SceneActive then
fibaro:debug('active')
else fibaro:debug('inactive')
end

Là , la condition sur SceneActive va donc devenir la condition du "if" et faire en sorte que cela soit true ou false.

 

Je me trompe lourdement et cela a été testé, ou bien j'ai juste ?

 

Merci.

 

[Edit]

Je viens de vérifier avec le script précédent et en sauvant une scène avec la case "Scène Active" cochée j'ai en débug :

 [DEBUG] 18:04:46: active

Et quand je décoche la case, en sauvant, quand je démarre dans le débug j'ai :

 [DEBUG] 18:06:04: inactive

Donc, ca fonctionne pour moi.

Cela fonctionne aussi avec le code suivant :

local SceneActive = fibaro:isSceneEnabled(3)
if SceneActive == true then
fibaro:debug('active')
else fibaro:debug('inactive')
end

si jamais vous voulez aussi préciser pour plus de clareté (mais inutile car true == true ou false == true c'est comme avoir directement true ou false).

 

Peut-être que le tutoriel pourrait être modifié pour dire que cela fonctionne ?

 

Voilà .

[/Edit]

Posté(e)

Tu peux envoyer un MP à ohan, je pense que c'est le seul qui a les droits pour modifier ces pages.

Par contre il est plutôt occupé, donc je ne suis pas certain qu'il te réponde rapidement.

Posté(e)

Même si tu as parfaitement raison il me semble que la version actuelle évite des confusions pour les néophytes

Envoyé de mon smartphone

Posté(e)

Bonjour,

 

La version actuelle est fausse dans le test. Faites bien attention à  ce qui est comparé.

Comme je l'ai dit dans mon [Edit][/Edit], le dernier exemple de code que je propose (pour les néophytes) est le bon et dans ce cas l'affirmation suivante est fausse dans le tuto :

 

Que la scène soit active ou pas, le débogage indiquera inactive.

 

Je veux juste que le tuto soit le mieux pour les néophytes comme tu dis.

Il faut remplacer :

if SceneActive == 'true' then

par :

if SceneActive == true then

Voilà .

×
×
  • Créer...