ruddy Posté(e) le 19 avril 2016 Signaler Posté(e) le 19 avril 2016 Bonjour, Je m'aperçois aujourd'hui que je mes scripts ne réagissent plus sur mes ouvertures de porte et ce dans tous les script faisant appel aux "properties" Voici un script basic: --[[ %% properties 41 value 40 value 39 value 42 value 43 value 47 value 53 value 50 value 55 value 57 value 69 value %% globals --]] -- Only allow one instance of the current scene to run at a time if (fibaro:countScenes() > 1) then fibaro:debug("already running"); fibaro:abort() end local sourceTrigger = fibaro:getSourceTrigger() fibaro:debug("called at " .. os.date() .. " source trigger: " .. sourceTrigger['type']); if (sourceTrigger['type'] == 'property') then triggerId = sourceTrigger['deviceID'] end les 'value' en tête de script représentent les 'id' des Devices de mes portes. Si j'ouvre une porte correspondant à l'une de ces 'id', dans la console je reçois la ligne suivante: [DEBUG] 08:37:38: called at Tue Apr 19 08:37:38 2016 source trigger: event Normalement, le source trigger devrait afficher 'property' et non 'event' Une idée ? Merci
pepite Posté(e) le 19 avril 2016 Signaler Posté(e) le 19 avril 2016 Salut, Tu es en quel firmware de HC2, si 4.081 c'est normal, Fibaro a changé le retour "property" en "event" ;-) Teste comme ceci : if (sourceTrigger['type'] == 'property' or sourceTrigger['type'] == 'event') 1
ruddy Posté(e) le 19 avril 2016 Auteur Signaler Posté(e) le 19 avril 2016 Merci pour ta réponse! J'utilse en effet le firmware HC2. J'ai également changé (sourceTrigger['type'] == 'property' en (sourceTrigger['type'] == 'event' sur la ligne triggerId = sourceTrigger['deviceID'] j'obtiens le message suivant: [DEBUG] 10:24:03: nil comment dès lors savoir quel 'deviceID' envoie le 'trigger'?
pepite Posté(e) le 19 avril 2016 Signaler Posté(e) le 19 avril 2016 essaie en mettant dans ton entete %%events comme %%properties et mets un device dessous pour voir
ruddy Posté(e) le 19 avril 2016 Auteur Signaler Posté(e) le 19 avril 2016 Excellente idée .... mais malheureusement c'est pa ça. De plus Si j'enlève %% properties et laisse uniquement %% events 41 value 40 value 39 value 42 value 43 value 47 value 53 value 50 value 55 value 57 value 69 value Plus aucun 'trigger' !
pepite Posté(e) le 19 avril 2016 Signaler Posté(e) le 19 avril 2016 j'aurais laisse %%properties ;-) bon ben va falloir enqueter, le swipe utilise les events ;-)
pepite Posté(e) le 19 avril 2016 Signaler Posté(e) le 19 avril 2016 un debut de piste %% properties %% events 301 CentralSceneEvent 1 Pressed 301 CentralSceneEvent 2 Pressed %% globals--]]--[[ local trigger = fibaro:getSourceTrigger() if (trigger["type"] ~= "other") then local id = trigger.event.data.keyId local old = fibaro:getValue(278, "value") if (id==1) then -- UP print('up')fibaro:call(278, "setValue", old + 10) elseif (id==2) then-- DOWN print('down')fibaro:call(278, "setValue", old - 10) end end
ruddy Posté(e) le 19 avril 2016 Auteur Signaler Posté(e) le 19 avril 2016 @j'aurais laisse %%properties -- c'était juste pour tester avec et sans Ce début de piste est prometteur, je suis actuellement un peu loin de ma HC2. Ce sera pour ce soir.
ruddy Posté(e) le 19 avril 2016 Auteur Signaler Posté(e) le 19 avril 2016 en fait pour retrouver l'ID: local sourceTrigger = fibaro:getSourceTrigger() sourceTrigger.event.data.id en résumé, voici le script: --[[ %% properties 41 value 40 value 39 value 42 value 43 value 47 value 53 value 50 value 55 value 57 value 69 value 134 value %% globals --]] local sourceTrigger = fibaro:getSourceTrigger() triggerId = sourceTrigger['deviceID'] local doorID = sourceTrigger.event.data.id fibaro:debug("called at " .. os.date() .. " ID = " .. doorID) et voici le résultat quand j'ouvre la porte id=134 [DEBUG] 22:19:00: called at Tue Apr 19 22:19:00 2016 ID = 134 Merci à Pepite pour m'avoir aiguillé ! 3
Messages recommandés