Aller au contenu

Messages recommandés

Posté(e)

Bonjour, 

 

J'ai besoin de votre aide, pour qqch de tout bête je pense, mais je ne trouve pas depuis hier soir.

Surement une question de quote, ou autre syntaxe ....

--[[ 
%% properties
89 value
126 value
131 value
%% globals
--]]

local trigger = fibaro:getSourceTrigger();
local samsung_2M = fibaro:getGlobal('IdI9305')
  fibaro:debug('Id Samsung_2M = ' .. samsung_2M);
 
if (trigger['type'] == 'property') then
  local moduleID = tonumber(trigger['deviceID']);
  fibaro:debug('Module ID = ' .. moduleID);
  -- 89 = volet escalier  
  -- 126 = volet Salon
  -- 131 = volet Sejour
  local A = fibaro:getValue(moduleID, 'value');
fibaro:debug('Volet ' .. A .. " %" )
end

if (tonumber(moduleID) == 89) -- volet escalier
then
	if (tonumber(fibaro:getValue(moduleID, 'value')) > 90)
	then
		--notification id 132
		fibaro:call(samsung_2M, "sendDefinedPushNotification", "132");	
      	fibaro:debug('send notif 132');
	elseif (tonumber(fibaro:getValue(moduleID, 'value')) < 10)
	then
		--notification id 81
		fibaro:call(samsung_2M, "sendDefinedPushNotification", "81");
        fibaro:debug('send notif 81');
	end
elseif (tonumber(moduleID) == 126) -- volet Salon
then
	if (tonumber(fibaro:getValue(moduleID, 'value')) > 70)
	then
		--notification id 134
		fibaro:call(samsung_2M, "sendDefinedPushNotification", "134");
        fibaro:debug('send notif 134');
	elseif (tonumber(fibaro:getValue(moduleID, 'value')) < 10)
	then
		--notification id 131
		fibaro:call(samsung_2M, "sendDefinedPushNotification", "131");
        fibaro:debug('send notif 131');
	end
elseif (moduleID == '131') -- volet Sejour
then 
  fibaro:debug('toto');
	if (tonumber(fibaro:getValue(moduleID, 'value')) > 90)
	then
		--notification id 133
		fibaro:call(samsung_2M, "sendDefinedPushNotification", "133");	
        fibaro:debug('send notif 133');
	elseif (tonumber(fibaro:getValue(moduleID, 'value')) < 10)
	then
		--notification id 75
		fibaro:call(samsung_2M, "sendDefinedPushNotification", "75");
        fibaro:debug('send notif 75');
	end 
end

 

[DEBUG] 09:33:55: Id Samsung_2M = 130
[DEBUG] 09:33:55: Module ID = 131
[DEBUG] 09:33:55: Volet 87 %
[DEBUG] 09:35:16: Id Samsung_2M = 130
[DEBUG] 09:38:36: Id Samsung_2M = 130
[DEBUG] 09:38:36: Module ID = 131
[DEBUG] 09:38:36: Volet 98 %

 

Rien a faire, je n'arrive pas à  mon debug toto !!!

Merci pour votre aide.

Posté(e)

Bonjour,

elseif (moduleID == '131')

Tu demandes si moduleID égal àune chaine de caractère alors que ton type est number; pourquoi ne pas faire comme pour les autres?

elseif (moduleID == 131)

Nicolas

Posté(e)

Oui il y a aussi le fait  que tu déclares en local moduleID qui ne sera valable que dans ta boucle if

if (trigger['type'] == 'property') then
  local moduleID = tonumber(trigger['deviceID']);
  fibaro:debug('Module ID = ' .. moduleID);
  -- 89 = volet escalier  
  -- 126 = volet Salon
  -- 131 = volet Sejour
  local A = fibaro:getValue(moduleID, 'value');
fibaro:debug('Volet ' .. A .. " %" )
end

Donc en dehors de ce if moduleID n'existe pas

Nicolas

  • Upvote 1
×
×
  • Créer...