Aller au contenu

Api Fibaro.fr Le Tutoriel


Kana-chan

Messages recommandés

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]

Lien vers le commentaire
Partager sur d’autres sites

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à .

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...