Welcome to Domotique-fibaro

 

Inscrivez-vous maintenant pour accéder à toutes nos fonctionnalités. Une fois inscrit et connecté, vous serez en mesure de contribuer à ce site en soumettant votre propre contenu ou en répondant au contenu existant. Vous serez en mesure de personnaliser votre profil, de recevoir des points de réputation comme une récompense pour la soumission de contenu, tout en communiquant avec d'autres membres via votre boîte de réception privée, et bien plus encore! Ce message sera supprimé une fois que vous vous êtes connecté.

 

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

Steven

Tuto HC2
Scénario Permettant De Contrôler Les Ids

124 messages dans ce sujet


VERIFICATEUR D'ID


 
Très souvent, trop souvent, notre HC2 plante car nous utilisons des IDs (identifiants) qui n'existent pas/plus.
Ces identifiants ont tendance à  changer lors :

  • d'une mise à  jour de la box
  • de la reconfiguration d'un device
  • Parfois, même un simple changement de pile

Bref, il est difficile de contrôler périodiquement tous nos scènarios, VD, ...
 
Voici donc un scénario qui va "tenter" de faire cette vérification pour vous. Ce scénario N'EST PAS intelligent, il analyse votre code sans le comprendre et vous affiche des éléments qui méritent d'être vérifiés.
 
Ce scénario peut vous envoyer un push en cas d'avertissement rencontré, peux tourner à  intervalle régulier et vous envoyer un rapport par email.
 
Lorsque ce scénario rencontre quelque chose d'étrange, il vous affiche la ligne suivante :

[DEBUG] 09:57:24: checking scene : [425] Graphs pull
[DEBUG] 09:57:24: code --> contient une référence erronée dans fibaro:call(81, "pressButton", "1") [ignored = {id=425, field="81"}]

Vous allez donc vérifier le code de votre scène (Graphs pull) dans cet exemple. Si effectivement l'ID n'existe plus, il vous suffit de corriger votre code. Inversement, si cet avertissement n'a pas de sens, il vous suffit de copier le code commencant par ignored [ignored = {id=425, field="81"}] situé en fin de ligne et de le copier entre les deux lignes suivantes

local ignored = {
--  {id=425, field="81"}, -- Graph pull - Ligne en commentaire
}

Ainsi cette scène ignorera cet avertissement pour les prochaines fois.
 
Cette scène nécessite un petit effort de mise en place mais permet de corriger et prévenir des erreurs d'ID qui peuvent être désagréable.

Courage et n'hésitez pas si vous avez des questions.

Ci-joint la scène en question et l'icone créé par @sebcbien.

 

 

Historique :

  • 1.0 -> Initialisaton
  • 2.0 -> vérifie ou non les scènes et VDs désactivés (voir local checkDisabled = false)
  • 2.0 -> corrige l'analyse de l'entête des scènes (du mois, je crois)
  • 2.0 -> permet d'ignorer certaines erreurs (voir local ignored = {})
  • 2.1 -> optimisation du code
  • 2.2 -> lors de la recherche de la valeur d'une variable, prend en compte la position dans le code
  • 2.3 -> Vérifie les variables courantes : "id", "deviceid", ... (voir local mostUseVariables = {})
  • 3.0 -> Auto-détection de GEA
  • 3.1 -> Ignore les warnings liés à  cette propre scène
  • 3.2 -> Autostart et envoi de push + notification en cas de problème
  • 3.3 -> Envoi de mail + relancement automatique toutes les X heures
  • 3.4 -> Mise à  disposition des utilisateurs
  • 3.5 -> Affichage du nom du bouton en cas d'avertissement
  • 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

post-339-0-99224700-1474963885_thumb.png

CheckAll_v3.6.lua

10

Partager ce message


Lien à poster
Partager sur d’autres sites

Et il fonctionne très bien :)

1

Partager ce message


Lien à poster
Partager sur d’autres sites

Toujours au top notre Steven super travail

Envoyé de mon SM-G901F en utilisant Tapatalk

1

Partager ce message


Lien à poster
Partager sur d’autres sites

LE top du TOP, merci maitre.

 

Je mets ca ce soir, couplé au Générateur d'IDs, top !!

 

J'ai pas pu attendre ;-) un petit home.fibaro, vite fait ;-)

 

Marche superbement bien, trouve un id ;-) qui est dans un Vd test, mis dans "ignored" : Nickel :-)

 

 

La 1ère question du boulet :

 

 j'utilise par exemple 2 tableau d'ids supplementaires dans GEA : users, et mobile ;-)

 

Je les mets plutot dans mostUseVariables ou dans "ids ?

 

Si c'est dans Ids si je comprends bien, je comprends pas la syntaxe à  utiliser :-( .. Je remets tout mon tableau d'ids "users" et tout mon tableau d'ids mobile ?

Modifié par pepite
0

Partager ce message


Lien à poster
Partager sur d’autres sites

Si tu souhaites contrôler tes tableaux d'ID, il faut les mettre dans "ids" comme ceci :

local ids = {
	USER1 = 141, USER2 = 8, USER3 = 12,
        MOBILE1 = 100, MOBILE2 = 32,
}
0

Partager ce message


Lien à poster
Partager sur d’autres sites

OK compris maitre ;-) J'avais déjà  fait le "mauvais choix" en mettant dans Most_UseVariables lol

 

J'utilise pas Pushbullet encore et concernant le HomeCenterPopup ca tourne chez vous ? L'appli doit toujours être en 1er plan ? ca fait longtemps que j'ai pas essayé ;-)

 

Bon,je viens de tester :

 

 - Tableau d'ids supplementaire, nickel surtout que j'ai les mêmes noms et aps les memes ids, TOP

 - PopUP :

      --> En arrière plan : la petite enveloppe avec la bulle rouge "info" sur le nombre de notification apparait et on peut aller lire les notifications, dingue non ? Mais je ne sais pas encore comment on les supprime lol, elles restent toutes, si quelqu'un a l'info ;-) merci

     --> En 1er plan, cela apparait nickel ;-)

 

 

Super TOP

 

Petit HS : couplé au push qui ne reste pas ce POPUP est TOP. Je rate parfois des notifications "push", et là  je n'en raterais pas..

Maitre : ce serait beaucoup de boulot à  coupler avec GEA, que le message de GEA soit le contentBody du push ?

Modifié par pepite
0

Partager ce message


Lien à poster
Partager sur d’autres sites

Non c'est facile assez facile.

 

Je te MP.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Testé et approuvé c'est de la balle !!! :60: :60:

0

Partager ce message


Lien à poster
Partager sur d’autres sites

ça c'est super!!

 

Je vais essayer de le mettre en place dés ce soir.

Merci @Steven  :60:

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Super !!

 

Merci 2 erreurs de corrigées.

 

:13:

0

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est carrément TOP !!! :60:    

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Le vieux ménage de .. d'automne que je vais faire, ça déchire! Merci Monsieur Steven  :60:

Par contre Steven le script tombe chez moi avec [DEBUG] 20:55:54: line 333: attempt to concatenate a nil value sur un VD. Si tu veux je te passe le fichier qui le fait se bananer.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, bien volontiers

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Si GT mauvaise langue je dirais ´encore un truc fait parce que la HC2 ne sait pas faire ´ mais comme je ne le suis pas je dis bravo @Steven et merci pour le partage :-)

1

Partager ce message


Lien à poster
Partager sur d’autres sites

Je te place ou Steven le code du coupable ? 

MP envoyé

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Le vieux ménage de .. d'automne que je vais faire, ça déchire! Merci Monsieur Steven  :60:

Par contre Steven le script tombe chez moi avec [DEBUG] 20:55:54: line 333: attempt to concatenate a nil value sur un VD. Si tu veux je te passe le fichier qui le fait se bananer.

C'est moi qui est merdoyé je n'avais pas mis à   jour l'id de mon tel et laissé celui d'origine. Mais Monsieur Steven l'a vu tout de suite enfin ça lui a pris 14 secondes et des poussières ... 

ça marche de la balle !!

1

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut

j'ai un message d'erreur a l'instalation

: malformed vfid file (en rouge)

je fais quoi ?

merci

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Très joli travail.

ça m'a permit de corriger deux, trois erreurs.

 

Un truc marrant:

J'ai dans une scène : id = 0

puis dans une boucle j'assigne une valeur à  id.

 

Cette ligne est signalée comme "à  vérifier"

found id=0 in code and 0 is not a device, please check [ignored = {id=24, field="id", value="0"}]

 

PS: Si seulement il y avait un truc du genre $insert ça simplifierait bien la vie :)

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut

j'ai un message d'erreur a l'instalation

: malformed vfid file (en rouge)

je fais quoi ?

merci

Corruption du fichier?

Essaye de le re-telecharger du premier post

Sent from my Note4

0

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est un scénario et non pas un VD.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

PS: Si seulement il y avait un truc du genre $insert ça simplifierait bien la vie :)

Purée mais t'es vraiment un flemmard :-)

J'ai déjàmis en fin de ligne la commande a utiliser pour simplifier. La prochaine fois, je passe directement chez toi pour l'installer :-)

3

Partager ce message


Lien à poster
Partager sur d’autres sites

Pareil, je t'envoi l'accès à  ma Box par MP, comme ça tu te charges de l'installation... D'ailleurs ce serait bien que tu passes par ma box de test avant mise en PROD, ok ?

 

:) :)

1

Partager ce message


Lien à poster
Partager sur d’autres sites

Je ne sais pas si on parle de la même chose.

 

Je pense à  une facilité comme en language C ou d'autres.

Créer un fichier unique qui contient tous les IDs des devices et on l'insert automatiquement dans les scènes.

 

Fichier du genre:

Lampe_salon = 25

VMC_cuisine = 124

 

etc ...

 

et dans les scènes il suffit d'utiliser les noms.

 

De plus, ce fichier peut être générés automatiquement, il y a déjà  des exemples sur le forum.

 

En cas de changement, on tourne la scène qui génère les Ids.

Reboot et hop !!! tout est à  jour.

 

Mais je rêve ... :6:

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Il faudrait voir si on pourrait stocker tout dans un label ou une VG et l'appeler en début de script.

Quitte àcompresser.

Mais àmon avis ça risquerait de ralentir

Sent from my Note4

0

Partager ce message


Lien à poster
Partager sur d’autres sites