mikael2235 Posté(e) le 23 novembre 2015 Signaler Posté(e) le 23 novembre 2015 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.
Nikko Posté(e) le 23 novembre 2015 Signaler Posté(e) le 23 novembre 2015 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
mikael2235 Posté(e) le 23 novembre 2015 Auteur Signaler Posté(e) le 23 novembre 2015 en fait j'ai tout essayé, mais il ne rentre jamais dans le IF :-/
Nikko Posté(e) le 23 novembre 2015 Signaler Posté(e) le 23 novembre 2015 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 1
mikael2235 Posté(e) le 23 novembre 2015 Auteur Signaler Posté(e) le 23 novembre 2015 Merci Nikko, C'etait ça, je pensais que le local, fonctionnait dans toute la scène, et non pas que dans le If !!
jojo Posté(e) le 23 novembre 2015 Signaler Posté(e) le 23 novembre 2015 un peux de théorie sur le sujet http://www.domotique-fibaro.fr/index.php/topic/1199-pr%C3%A9cis-sur-les-variables-localesglobales/
Messages recommandés