Aller au contenu

Nil Value ?


chrispec

Messages recommandés

Bonjour,

 

J'ai inclu une Minimote sans soucis.

 

 

J'ai créé une scène associée, dont voici le code:

(une ampoule Hue se trouve derrière un interrupteur associé à  un FGS221)



--[[

%% properties

184 sceneActivation

%% globals

--]]

 

local ButtonPressed = fibaro:getValue(184, "sceneActivation")


local LampeId = 197
local selfId = fibaro:getSelfId()
local ip = "192.168.0.21"
local port = 80

 

if ( tonumber(ButtonPressed) == 1) then

fibaro:call(28, "turnOn")
  
HueGtw = Net.FHttp(ip,tonumber(port)) 
HueGtw:PUT('/api/newdeveloper/lights/'..LampeId..'/state', '{"on":true, "sat":125, "bri":255, "hue":46200, "ct":100}')
fibaro:call(selfId, "setProperty", "ui.Luminosite.value", 100)
fibaro:call(selfId, "setProperty", "ui.Saturation.value", 50) 
  
  
    
    fibaro:debug("MiniMote button 1 pressed")


  
elseif ( tonumber(ButtonPressed) == 2) then
    fibaro:call(138, "turnOff")
    fibaro:debug("MiniMote button 2 pressed")

elseif ( tonumber(ButtonPressed) == 3) then


 
      -- fibaro:call(29, "turnOn")

    fibaro:debug("MiniMote button 3 pressed")

elseif ( tonumber(ButtonPressed) == 4) then

    fibaro:debug("MiniMote button 4 pressed")

elseif ( tonumber(ButtonPressed) == 5) then

    fibaro:debug("MiniMote button 5 pressed")

elseif ( tonumber(ButtonPressed) == 6) then

    fibaro:debug("MiniMote button 6 pressed")

elseif ( tonumber(ButtonPressed) == 7) then

    fibaro:debug("MiniMote button 7 pressed")

elseif ( tonumber(ButtonPressed) == 8) then

    fibaro:debug("MiniMote button 8 pressed")

else

    fibaro:debug("No response")

end


Le debug me donne:

 

"line 20; attempt to call method 'getSelfId' (a nil value)

 

Aux experts LUA, que signifie cette erreur ?

 

Merci de votre aide ;)

Lien vers le commentaire
Partager sur d’autres sites

la méthode getfelfidk retourne l'DI du virtual device.

je ne programme presque pas en LUA dans les scènes, mais beaucoup dans les virtual device.

Il me semble que ton code appelle de nombreuses fonctions pour les virtual device.

 

Ligne 32 et 33, tu veux modifier la valeur d'un label d'un VD, dont l'ID serait celui de ta scène. Il y a un Stuut comme on dit en Belgique

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...