Aller au contenu
jjacques68

Conditions/Triggers

Recommended Posts

salut merci pour ton aide

 

Avec la ligne :

 

j'ai une erreur

 

[06.10.2020] [16:10:36] [ERROR] [SCENE74]: (load):1: Assertion failed: Expected number

Partager ce message


Lien à poster
Partager sur d’autres sites

Je pense que ça vient de la : la ligne en erreur attend une VALEUR numérique

 

Il faut donc écrire :

 

local VALEUR = tonumber(fibaro(id,"value")) pour renvoyer la valeur numérique attendue de "valeur"

 

Modifié par Sowliny

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut, 

si je comprends bien la fonction récupérer à la ID du module qui est en appel Et la stock temporairement dans la variable local

Modifié par 971jmd

Partager ce message


Lien à poster
Partager sur d’autres sites

Exact. Sous forme numérique (tonumber(...)), et non pas texte (qui génère l'erreur).

 

Si je peux te glisser un petit conseil : j'ai vu dans ta scène (ou plus) variables locales dont le nom commence par id...

local id = 95
local idlampe = fibaro.getName(id)  --- nom du device

Essaie de n'utiliser "id" que pour les identifiants de module ou de scène.

Mais pas pour un nom de device, et essaie aussi de "documenter" mieux les variables id :

 

Par exemple pour local id = 95, essaie local ID_module1.

Pour la variable idlampe, change pour LAMPE_salon (par exemple bien sûr), ou NOM_lampe_salon, ce qui sera plus en rapport avec le contenu.

 

Tu t'y retrouveras bien mieux ;)

Modifié par Sowliny
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

toujours erreur 

 

quand je place uniquement :  local VALEUR = tonumber(fibaro(id,"value"))

 

j'ai 

 

07.10.2020] [16:42:46] [ERROR] [SCENE74]: (load):4: attempt to call a table value (global 'fibaro')

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, il y avait un truc qui me chiffonnait hier.

Je vérifie et je reviens (vite !)

Modifié par Sowliny

Partager ce message


Lien à poster
Partager sur d’autres sites

Ma réponse d'hier soir (qui n'avait pas dû partir...)

 

Exact. Sous forme numérique, et non pas texte (qui génère l'erreur).

 

Si je peux te glisser un petit conseil : j'ai vu dans ta scene é (ou plus) variables locales dont le nom commence par id...

Essaie de n'utiliser "id" que pour les identifiants de module ou de scène.

Mais pas pour des identifiants

 

Pour ce matin :

 

Effectivement y'a un truc qui chiffonne.

La réponse est dans le libellé de l'erreur "attempt to call a table value (global 'fibaro')"

 

Il y a 11 heures, 971jmd a dit :

quand je place uniquement :  local VALEUR = tonumber(fibaro(id,"value"))

 

Il manque quelque chose comme ".get" après "tonumber(fibaro..." non ?

Ca serait plutôt tonumber(fibaro.get(id,"value"))

 

Erreur typique dite "des paupières lourdes", quand on a bossé longtemps...

Ca m'est arrivé souvent aussi - maintenant quand je tourne en rond (surtout le soir), je laisse béton...

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour info, Lua avait tenté d'interpréter "fibaro" comme un nom de variable, et le contenu entre parenthèses comme des coordonnées de table.

Partager ce message


Lien à poster
Partager sur d’autres sites

×