Aller au contenu

Scénario Permettant De Contrôler Les Ids


Steven

Messages recommandés

Peux-tu tester un truc pour moi stp ?

 

Chercher le code ci-dessous

    if (firstonly) then
      for device in string.gmatch(header, "(%d+)") do

et le remplacer par 

    if (firstonly) then
      for device in string.gmatch(header, "[ ](%d+)") do

Il y a juste un [ ] de plus.

 

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

super, ça marche pour les Variables qui comportent des chiffres en entête  ;)

 

reste plus que cette dernière qui est faite par le Swipe, je l'ai supprimé et recréé, pareil.

je ne sais pas d'ou vient ce "4"


[DEBUG] 17:00:56: checking scene : [917] lumière Salon 
[DEBUG] 17:00:56: --> contient une référence erronée dans l'entête : ID 4
Lien vers le commentaire
Partager sur d’autres sites

--[[
%% properties
%% globals
%% events
978 CentralSceneEvent 4 Pressed
--]]

local sourceTrigger = fibaro:getSourceTrigger()
if (
( true )
or
sourceTrigger["type"] == "other"
)
then
local deviceValue = tonumber(fibaro:getValue(72, 'value'))
if (deviceValue > 0) then
  fibaro:call(72, 'turnOff')
else
  fibaro:call(72, 'turnOn')
end
end

c'est une scène auto, voici le code par le biais du toolkit.

 

c'est plus le même Id car je l'ai supprimé et recréé

Lien vers le commentaire
Partager sur d’autres sites

Par ce qu'il existe bel et bien un ID 1, 2 et 3  :(

 

Pourrais-tu tester cette méthode à  la place de l'ancienne :

function checkheader(scene)
  local problem = false
  local firstonly = true
  for header in string.gmatch(scene.lua, "%-%-%[%[(.-)%-%-%]%]") do
    if (firstonly) then
      for w, device in string.gmatch(header, "(%a+) (%d+)") do
        if (w ~= "CentralSceneEvent") then
          if (not(exist(device, "      --> contient une référence erronée dans l'entête : ID " .. device))) then
            problem = true
          end
        end
      end
      firstonly = false
    end
  end
  return problem
end
Lien vers le commentaire
Partager sur d’autres sites

Nouvelle version 3.6 (merci @Fredric)

 

  • 3.6 -> Ne confond plus les variables contenant caractères et chiffres (Windows5, Radiateur_4) avec des IDs de module
  • 3.6 -> Ne confond plus le numéro du CentralSceneEvent avec un ID de module
  • Upvote 2
Lien vers le commentaire
Partager sur d’autres sites

J'en avais marre de coder tout le temps la même chose. J'intègre donc dorénavant une petite boîte à  outils dans mes scripts.

 

Elle est ici : https://gea.piccand.me/doku.php/minifier

 

Tu peux y voir le code en clair ainsi que les exemples.

Lien vers le commentaire
Partager sur d’autres sites

Ne me remercie pas @Steven, c'est plutot àmoi de te remercier.

Vraiment dommage que j'avais pas ce script il y a plus de six mois, avec tous les ID fantôme que j'avais partout et qui me crée des problèmes...

mais maintenant je l'ai et il fonctionne !

  • Upvote 2
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Salut@Steven,

Je pense que j'ai un nouveau petit souci avec le script, j'ai dû supprimer deux modules, dé-inclus, re-inclus et du coup, les ID 28 et 779 N'existe plus.

Par contre, le scripte ne me signale rien, Ces ID sont dans plusieurs scènes dont GEA et pour le scripte il y a pas de soucis.

Qu'en penses-tu ?

Lien vers le commentaire
Partager sur d’autres sites

Il est quasiment impossible de contrôler les ID dans GEA. Si l'ID n'est pas dans l'entête, ce script ne verra rien. Je souhaitais faire en sorte que GEA vérifie lui les ID qu'il utilise mais cela demande un certain temps que je n'ai jamais eu  :(

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

  • 3 mois après...

oula j'arrive sur le tard en découvrant ce bon script (merci Steven), qui vient de me faire découvrir une tonne d'erreur, reste plus qu'a décortiquer :D

A première vue ce sont des lignes désactivés dans GEA.

 

A seconde vue, toutes mes erreurs proviennent de lignes passés en commentaire.

 

Steven, il y a t'il moyen que le script ne check pas les lignes en commentaire ?

Modifié par Domodial
  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Je me cite : 

 

Citation

Oui, en effet, attention, pour moi, un code en commentaire n'est pas un code mort, c'est un code temporairement désactivé. C'est un code qu'il faut aussi maintenir avec attention.

 

Mais même si je voulais, cela ne serait pas simple du tout.

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

  • 5 mois après...

Bonjour

Cela faisait un moment que je n'avais pas regarder les logs de la scene CheckAll (version 3.6) que j'ai maintenant une erreur que je ne sais pas expliquer.

Sauriez vous m'aider ?

J'ai regardé la scene juste avant cette ligne, rien à signaler comme script en erreur.

J'ai regardé line 91 de checkAll, mais je ne vois pas ce qui pourrait générer cette erreur.

 

Voici l'erreur

[DEBUG] 10:13:53: line 91: Unclosed elements present

Merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...