kioneoranga Posté(e) le 28 septembre 2016 Signaler Posté(e) le 28 septembre 2016 Super agent 3 erreurs de corrigées! Génial, merci Steven
Steven Posté(e) le 28 septembre 2016 Auteur Signaler Posté(e) le 28 septembre 2016 @kioneoranga De rien. @Berale24 et @sebcbien, J'y ai pensé mille fois et il y a une dizaine de moyen de faire cela, mais un problème persiste ... les entête. On devra toujours tapper le bon ID dans l'entête de nos scénario, perdant ainsi tout intérêt à la centralisation des IDs. @Nico Tout dépend du ° alcool que tu fourni
sebcbien Posté(e) le 28 septembre 2016 Signaler Posté(e) le 28 septembre 2016 Aye aye sir Pour les scènes oui, bien que certaines n'ont pas besoin de déclencheurs et idem pour les VD. Et pour les entêtes, ton tool peut vérifier ça facilement. Donc ça ne resouds pas tout mais une fameuse partie quand même. Sent from my Note4
jojo Posté(e) le 28 septembre 2016 Signaler Posté(e) le 28 septembre 2016 @Steven, Félicitations, travail d'enfer. et ce qui m'impressionne encore plus, c'est que le code n'est pas kilométrique ... Quelle est l'utilité de la variable "mostUseVariables" ? Dans mon GEA, j'utilise DeviceID (là où beaucoup utilisent id), et le check se fait parfaitement.
Lazer Posté(e) le 28 septembre 2016 Signaler Posté(e) le 28 septembre 2016 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 ... il faut être root pour cela.... c'est d'autant plus dommage que c'est très facile à faire. mais Fibaro ne souhaite pas nous simplifier la vie avec ces IDs
Steven Posté(e) le 29 septembre 2016 Auteur Signaler Posté(e) le 29 septembre 2016 mostUseVariables regroupe une liste de variable généralement utilisé pour mapper un ID. local id = X local deviceId = X ... Le script va donc toutes les analyser comme dans ton cas avec DeviceID. On peux en rajouter selon sont style de programmation. Si tu as l'habitude d'utiliser "local pureeDInvariableQuiChange = Y", tu peux l'ajouter à la liste. 2
BenjyNet Posté(e) le 29 septembre 2016 Signaler Posté(e) le 29 septembre 2016 Oh le belge !! La prochaine fois fait des icônes transparentes !! :D Rah !! un si beau boulot de notre Steven national gâché par un mangeur de frite !!
jojo Posté(e) le 29 septembre 2016 Signaler Posté(e) le 29 septembre 2016 BenjyNet, tu n'es pas obligé de l'installer cette icône, la scène de Steven fonctionne très bien sans ...
BenjyNet Posté(e) le 29 septembre 2016 Signaler Posté(e) le 29 septembre 2016 Ouais mais c'est làoù l'on voit la différence entre les belges et les français... c'est que la perfectitude ne peut être autre que Française !!!
sebcbien Posté(e) le 29 septembre 2016 Signaler Posté(e) le 29 septembre 2016 1) PROUT ! 2) Je l'ai faite sur un pc sans photoshop et en 2 minutes sur un paint un peu plus évolué, alors les transparents... 'fo pas rêver 3) SI j'ai le temps ET SI vous êtes sages, je pourrais EVENTUELLEMENT ENVISAGER de PENSER à la POSSIBILITE de la refaire. 2
sebcbien Posté(e) le 29 septembre 2016 Signaler Posté(e) le 29 septembre 2016 Ouais mais c'est là où l'on voit la différence entre les belges et les français... c'est que la perfectitude ne peut être autre que Française !!! Perfectitude du crocodile, ça c sur
Fredric Posté(e) le 29 septembre 2016 Signaler Posté(e) le 29 septembre 2016 ça marche super bien, vu que je fait la chasse aux ID fantôme car j'ai pu constater les problèmes que cela peut apporter, je n'en ai pas mais cela m'a montré tous les ID qui n’existe plus en commentaire, c'est plus propre
jojo Posté(e) le 29 septembre 2016 Signaler Posté(e) le 29 septembre 2016 plus sérieusement, je ne reçois ni mail, ni notif. Pourtant ce sont les même ID que dans GEA où cela fonctionne parfaitement. Je viens même de faire un restart de ma box (qui après 18 jours était à 34% de RAM ) Une idée ? Voici ma config --[[ %% autostart --]] -- =========================================== -- ANALYSEUR DE CODE pour relevé les problèmes d'ID -- =========================================== local receivePush = true -- true pour recevoir une notification en cas de problème éventuel local receiveEmail = true -- true pour recevoir le rapport d'exécution par email local checkDisabled = false -- true pour vérifier aussi les scènes et VD désactivés -- Tableau contenant les id des smartphones devant recevoir une notification en cas de problème -- mettre en commentaire pour envoyer à tous les smartphones local portables_for_notification = {166} -- Tableau contenant les id des utilisateurs devant recevoir un e-mail résumant -- l'analyse local users_for_mail = {99} -- Va executer cette scène toutes les X heures -- mettre cette ligne en commentaire pour désactiver local run_every = 24 -- Tableau permettant d'ajuster les warnings à ignorer -- Exemple -- {id=141} -- tous les warning du VD ou de la scène 141 seront ignoré -- {id=141, field="id"} -- tous les warning du VD ou de la scène 141 seront ignoré s'il concerne une variable "id" -- {id=141, field="id", value="2000"} -- tous les warning du VD ou de la scène 141 seront ignoré s'il concerne une variable "id" et la valeur est 2000 local ignored = { {id=11, field="id_not_exist", value="100056"}, {id=12, field="Lights_On_at_end_Simulation", value="0"}, {id=12, field="Lights_On_if_Simulation_deactivated", value="0"}, } -- Tableau contenant les noms de variables habituellement utilisés pour identifiant -- un ID fibaro local mostUseVariables = {"id", "deviceid", "device_id", "module", "identifiant", "DeviceID"} -- Si vous avez un tableau d'ID a tester local ids = { --LUA_SNIPPETS = 141, SEISMOMETRE = 8, LAMPE_CHAMBRE = 12, -- =========== -- Devices -- =========== -- SECTION : Etage -- ROOM : Bibliothèque FUME_BIBLIOTHEQUE = 201, LUM_BIBLIOTHEQUE = 58, PRISE_PS3 = 15, THERM_BIBLIOTHEQUE = 60, TMP_BIBLIOTHEQUE = 203, VANNE_BIBLIOTHEQUE = 219, -- ROOM : Bureau FUME_BUREAU = 193, LUM_BUREAU = 382, NETWORK_MONITOR = 165, PRISE_BUREAU = 5, SYNOLOGY_MONITORING = 167, THERM_BUREAU = 384, TMP_BRUEAU = 195, VANNE_BUREAU = 229, -- ROOM : Ch Enfants FUME_MAXIMILIEN = 209, FUME_PAULINE = 213, SONOS_MAXIMILIEN = 307, THERM_CHENFANTS = 112, TMP_MAXIMILIEN = 211, TMP_PAULINE = 215, VANNE_MAXIMILIEN = 223, VANNE_PAULINE = 217, -- ROOM : Hall de nuit FUME_HALLNUIT_SDB = 244, FUME_HALLNUIT_SDJ = 240, LUM_HALLNUIT_SDB = 9, LUM_HALLNUIT_SDJ = 7, MVT_HALLNUIT_SDB = 342, MVT_HALLNUIT_SDJ = 26, TMP_HALLNUIT_SDJ = 242, -- ROOM : Salle de jeux FUME_SDJ = 197, THERM_SDJ = 298, TMP_SDJ = 199, VANNE_SDJ = 231, -- ROOM : SdB Etage FUME_SDBETAGE = 205, LUM_SDBETAGE = 11, THERM_SDBETAGE = 108, TMP_SDBETAGE = 207, VMC_ETAGE = 13, VANNE_RADIATEUR = 227, VANNE_SECHESERVIETTE = 225, -- SECTION : Extérieur -- ROOM : Avant BOUTON_BARRIERE = 189, BOUTON_GACHE = 191, COURRIER = 312, IN2_RGBW = 32, IN3_RGBW = 33, IN4_RGBW = 34, IPCAM_AVANT = 291, LUM_AVANT = 50, MVT_EST_AVANT = 39, MVT_OUEST_AVANT = 20, NIVEAU_EAU_PLUIE = 31, PRISE_AVANT = 64, SONNETTE = 46, STAT_BARRIERE = 290, SURVSTATION_AVANT = 292, -- ROOM : Jardin IPCAM_JARDIN = 288, LUM_JARDIN = 369, LUM_TERREST = 106, LUM_TERROUEST = 296, LUM_TERRPAR = 110, LUM_TERRSUD = 370, MVT_EST_JARDIN = 40, MVT_OUEST_JARDIN = 21, PISCCHAUF = 70, PISCPMP = 68, SURVSTATION_JARDIN = 289, TMP_EXTERIEURE = 129, TMP_PISCINE = 154, -- SECTION : Rez de chaussée -- ROOM : Ch Parents SONOS_PARENTS = 343, -- ROOM : Cuisine LUM_CUISINE = 375, LUM_CUISINETABLE = 376, SONOS_CUISINE = 352, -- ROOM : Garage ALARME_ACTIVE = 128, ALARME_INTRUSION = 127, BOUTON_GA = 104, BOUTON_GV = 102, FUME_GARAGE = 283, PRISE_MODEM = 187, RESTART_MODEM = 371, STAT_GAR_ANNABELLE = 286, STAT_GAR_VINCENT = 287, TMP_FREZE = 353, TMP_GARAGE = 285, -- ROOM : Hall d'entrée FUME_HALLENTRE_C = 248, FUME_HALLENTRE_S = 252, LUM_HALLENTRE = 44, LUX_HALLENTRE_S = 184, MVT_HALLENTRE_C = 177, MVT_HALLENTRE_S = 182, TMP_HALLENTRE_S = 254, -- ROOM : Salon ARROSAGE_PLANTES = 118, IPCAM_LIVING = 120, LUM_PETITSALON = 264, LUM_SALLEMANGER = 262, LUM_SALONTV = 258, LUM_VITRINE = 260, NEST_HUMIDITY = 117, NEST_TEMPERATURE = 116, NEST_THERMOSTAT = 115, PORTE_COULISS = 256, PRISE_PETITSALON = 62, PRISE_TV = 48, SURVSTATION_SALON = 119, VAR_INCENDIE = 310, -- ROOM : SdB Rez HUM_SDBREZ = 238, LUM_SDBREZ_DOUCHE = 56, LUM_SDBREZ_LAVABO = 54, LUX_SDBREZ = 237, MVT_SDBREZ = 235, TMP_SDBREZ = 236, VANNE_SECHESERVIETTE_SDB_REZ = 233, -- SECTION : Section virtuelle -- ROOM : Backup BACKUP_HEATPANEL = 294, BACKUP_VARIABLES = 293, -- ROOM : Tehniques CHECK_INTERNET = 327, CLOCK_SYNC = 332, DEADNODESANALYSIS = 330, EMONCMS = 334, HC2_DIAGNOSTICS = 337, MY_BATTERIES = 329, SONOS_MP3 = 331, SURVSTATION_ALL = 335, SURVSTATION_EXT = 336, TECHNICAL = 333, TOP_10_POWER = 328, -- ROOM : Variables PRESENCE_SIMULATOR = 325, VAR_AUTH_LUMINTERIEUR = 316, VAR_AUTH_PS3 = 314, VAR_AUTH_TV = 313, VAR_AUTH_VMCETAGE = 315, VAR_CHAUFFAGE = 321, VAR_DAYPART = 323, VAR_ECS = 317, VAR_NOEL = 322, VAR_PMC = 320, VAR_REMPL_PISCINE = 319, VAR_SAISON = 324, VAR_VACANCES = 318, VARIABLES_GLOBALES = 326, -- ROOM : Z-Spare Z121_R1 = 122, Z121_R2 = 124, Z149_IN2 = 152, Z344_IN1 = 346, Z344_IN2 = 347, Z377_R2 = 380, Z49_R2 = 52, Z89_IN2 = 92, -- ROOM : Z_Fake IN21_F = 135, IN22_F = 136, IN31_F = 143, IN32_F = 144, R11_F = 271, R12_F = 273, R21_F = 275, R22_F = 277, R31_F = 279, R32_F = 281, R41_F = 355, R42_F = 357, R51_F = 359, R52_F = 361, R61_F = 363, R62_F = 365, TMP12_F = 130, TMP13_F = 131, TMP14_F = 132, TMP21_F = 137, TMP22_F = 138, TMP23_F = 139, TMP24_F = 140, TMP31_F = 145, TMP32_F = 146, TMP33_F = 147, TMP34_F = 148, -- ROOM : Z_Hidden device BARRIERE_CLOSED = 163, BARRIERE_OPENED = 164, BOITELETTRES_FACTEUR = 87, BOITELETTRES_PORTE = 88, CONTACT_GACHE = 91, GA_MVT = 96, GA_OPEN = 95, GV_MVT = 160, GV_OPEN = 159, NEST_CONTROLER = 113, TELEC_CHPARENTS = 304, TELEC_CUISINE = 302, -- SECTION : Sous-sol -- ROOM : Cave à vin PORTE_CAVEAVIN = 349, PRISE_PMPEAUPLUIE = 169, TMP_CAVEAVIN = 351, -- ROOM : Chaufferie AUTH_PAC = 378, CHAUDIERE_CMD = 74, CHAUDIERE_OUTPUT = 72, CIRCULATEUR_ETAGE = 76, CIRCULATEUR_REZ = 78, FLOD_CHAUFFERIE = 171, HP_UPDATE = 311, SOLAIRE_OUTPUT = 151, TMPH_PANNEAUX = 156, TMPL_PANNEAUX = 155, TMP_CHAUFFERIE = 173, TMP_TISUN = 153, -- =========== -- Users -- =========== Vincent = 99, Annabelle = 98, -- =========== -- Mobiles -- =========== V_Nexus5 = 166, A_Nexus5 = 999, } --[[ =========================================== NE PAS TOUCHER --=========================================== ]]
pepite Posté(e) le 29 septembre 2016 Signaler Posté(e) le 29 septembre 2016 @jojo, Si tu ne recois rien, c'est que tu n'as pas de soucis, et qu'il a tout retrouve, donc pas d'ids fantomes, tout est OK. Idem, j'ai rajoute ce que j'avais dans GEA et tout est OK. Regarde ton debug, ni rouge, ni orange, panipwo ;-) Tu recois push, mail, popup unqiuement si tu as un probleme ;-) Pour tester, commente une de tes lignes "ignored" tu vas avoir un petit push ;-)
jojo Posté(e) le 29 septembre 2016 Signaler Posté(e) le 29 septembre 2016 c'est ce que je me disais, mais dans les commentaires, il me semblait qu'on ne recevait un push qu'en cas de problème, mais un mail dans tous les cas. De toute façon j'ai forcé une erreur dans mon tableau pour recevoir qqch [DEBUG] 19:51:26: ====================== [DEBUG] 19:51:26: Starting checker v.3.4 [DEBUG] 19:51:26: Cet outil ESSAIE de trouver des erreurs d'ID dans le code LUA [DEBUG] 19:51:26: En aucun cas il est exaustif et peux indiquer des warning qui n'ont pas de raison d'être [DEBUG] 19:51:26: A vous d'ajuster le tableau "ignored" [DEBUG] 19:51:26: ====================== [DEBUG] 19:51:26: code couleur : [DEBUG] 19:51:26: .....orange = a vérifier [DEBUG] 19:51:26: .....rouge = erreur [DEBUG] 19:51:26: [DEBUG] 19:51:26: -------------------------------------------- [DEBUG] 19:51:26: Checking scenes ... [DEBUG] 19:51:26: -------------------------------------------- [DEBUG] 19:51:26: checking scene : [1] Backup_Variables [DEBUG] 19:51:27: checking scene : [2] Backup_HeatPanel [DEBUG] 19:51:27: checking scene : [3] Generateur_ID [DEBUG] 19:51:27: checking scene : [4] Clignote_Lampes [DEBUG] 19:51:27: checking scene : [5] GA_Remote [DEBUG] 19:51:27: checking scene : [6] Barr_Open_Remote [DEBUG] 19:51:27: checking scene : [7] Barr_Close_Remote [DEBUG] 19:51:27: checking scene : [8] Gache_Remote [DEBUG] 19:51:27: checking scene : [9] EmonCMS [DEBUG] 19:51:27: checking scene : [11] Performance_Analysis [DEBUG] 19:51:27: checking scene : [12] Simulation [DEBUG] 19:51:27: checking scene : [13] WatchDog [DEBUG] 19:51:30: checking scene : [14] VariablesWhereUsed [DEBUG] 19:51:31: checking scene : [15] GEA_5.4 [DEBUG] 19:51:32: checking scene : [16] EmonCMS_Counter [DEBUG] 19:51:32: checking scene : [17] CheckAllIDs [DEBUG] 19:51:32: ... done [DEBUG] 19:51:32: -------------------------------------------- [DEBUG] 19:51:32: Checking virtual devices ... [DEBUG] 19:51:32: -------------------------------------------- [DEBUG] 19:51:33: checking vd : [118] Arrosage_Plantes [DEBUG] 19:51:34: checking vd : [119] SurvStation_Salon [DEBUG] 19:51:34: checking vd : [165] Network_Monitor [DEBUG] 19:51:34: checking vd : [167] Synology_Monitoring [DEBUG] 19:51:34: checking vd : [286] Stat_Gar_Annabelle [DEBUG] 19:51:34: checking vd : [287] Stat_Gar_Vincent [DEBUG] 19:51:34: checking vd : [289] SurvStation_Jardin [DEBUG] 19:51:34: checking vd : [290] Stat_Barriere [DEBUG] 19:51:34: checking vd : [292] SurvStation_Avant [DEBUG] 19:51:35: checking vd : [293] Backup_Variables [DEBUG] 19:51:35: checking vd : [294] Backup_HeatPanel [DEBUG] 19:51:35: checking vd : [307] SONOS_Maximilien [DEBUG] 19:51:35: checking vd : [310] Var_Incendie [DEBUG] 19:51:35: checking vd : [311] HP_Update [DEBUG] 19:51:35: checking vd : [312] Courrier [DEBUG] 19:51:35: checking vd : [313] Var_Auth_TV [DEBUG] 19:51:35: checking vd : [314] Var_Auth_PS3 [DEBUG] 19:51:35: checking vd : [315] Var_Auth_VMCEtage [DEBUG] 19:51:35: checking vd : [316] Var_Auth_LumInterieur [DEBUG] 19:51:35: checking vd : [317] Var_ECS [DEBUG] 19:51:35: checking vd : [318] Var_Vacances [DEBUG] 19:51:35: checking vd : [319] Var_Rempl_Piscine [DEBUG] 19:51:35: checking vd : [320] Var_PMC [DEBUG] 19:51:35: checking vd : [321] Var_Chauffage [DEBUG] 19:51:35: checking vd : [322] Var_Noel [DEBUG] 19:51:35: checking vd : [323] Var_DayPart [DEBUG] 19:51:35: checking vd : [324] Var_Saison [DEBUG] 19:51:35: checking vd : [325] Presence_Simulator [DEBUG] 19:51:35: checking vd : [326] Variables_Globales [DEBUG] 19:51:35: checking vd : [327] Check Internet [DEBUG] 19:51:35: checking vd : [328] Top_10_Power [DEBUG] 19:51:35: checking vd : [329] My_Batteries [DEBUG] 19:51:35: checking vd : [330] DeadNodesAnalysis [DEBUG] 19:51:35: checking vd : [331] SONOS_MP3 [DEBUG] 19:51:36: checking vd : [332] Clock_Sync [DEBUG] 19:51:36: checking vd : [333] Technical [DEBUG] 19:51:36: checking vd : [334] EmonCMS [DEBUG] 19:51:36: checking vd : [335] SurvStation_All [DEBUG] 19:51:36: checking vd : [336] SurvStation_Ext [DEBUG] 19:51:36: checking vd : [337] HC2_Diagnostics [DEBUG] 19:51:36: checking vd : [343] SONOS_Parents [DEBUG] 19:51:37: checking vd : [352] SONOS_Cuisine [DEBUG] 19:51:37: checking vd : [371] Restart Modem [DEBUG] 19:51:37: ... done [DEBUG] 19:51:37: -------------------------------------------- [DEBUG] 19:51:37: Checking table [ids] ... [DEBUG] 19:51:37: -------------------------------------------- [DEBUG] 19:51:38: --> A_Nexus5 contient une référence erronée le table : 999 [DEBUG] 19:51:45: ... done [DEBUG] 19:51:45: Message d'avertissement envoyé à "LGE Nexus 5" [DEBUG] 19:51:45: --- Terminé ---
jojo Posté(e) le 29 septembre 2016 Signaler Posté(e) le 29 septembre 2016 Oui, mais tu vois ligne 84, qu'il dit qu'il m'a envoyé un push, mais je n'ai rien reçu, ni mail
Steven Posté(e) le 30 septembre 2016 Auteur Signaler Posté(e) le 30 septembre 2016 Pourrais-tu créer un scénario en y mettant juste ces 2 lignes stp .. pour tester. local v = 166 local message = "Test" fibaro:call(v, "sendPush", "["..v .. "] : " .. message)
jojo Posté(e) le 30 septembre 2016 Signaler Posté(e) le 30 septembre 2016 J'ai mis ton petit scrip, et il fonctionne. J'ai refait un save de la scène CheckAll, et j'ai reçu la notification sur mon Androïd , mais pas de mail Cela correspond maintenant au debug de la scène : il me dit qu'il a envoyé une notif. Etait-il supposé mettre une autre ligne avec l'information comme quoi il avait envoyé un mail ? Reçoit-t-on le mail même si tout est ok, ou seulement si erreur ?
pepite Posté(e) le 30 septembre 2016 Signaler Posté(e) le 30 septembre 2016 @jojo, Et si tu mettais ton user "admin : 2 " pour recevoir les mails pour tester et pas ton user 99 ?
jojo Posté(e) le 30 septembre 2016 Signaler Posté(e) le 30 septembre 2016 @pepite, bonne idée, mais ça ne change rien. Pour les mails, as-tu une ligne dans le debug qui t'informe qu'il a envoyé le mail ?
Steven Posté(e) le 30 septembre 2016 Auteur Signaler Posté(e) le 30 septembre 2016 Je n'ai pas mis de ligne informant l'envoi de mail. Le mail part dans tous les cas (erreur ou pas) Le code pour l'envoi de mail est : local v = 2 -- id de l'utilisateur local scene_name = "Nom de la scene" local version = "0.0" local mailmsg = "Le résumé complet du debug" fibaro:call(v, "sendEmail", "HC2 Scénario " .. scene_name .. " v." .. version, mailmsg) Qui correspond à la doc de fibaro http://www.fibarouk.co.uk/support/lua/actions-use-fibarocall-api/actions-arguments-usage/#sendEmail Par contre, chez moi, les push ET les mails ne fonctionne pas depuis ma HC2, je ne peux donc pas tester. Mais je suis 99,9% sà»r du code.
jojo Posté(e) le 30 septembre 2016 Signaler Posté(e) le 30 septembre 2016 je confirme que ton code est ok car : je n'en ai jamais douté je l'ai mis dans une scène de test, et ça fonctionne. Alors pourquoi ça ne fonctionne pas chez moi dans la scène du check des ID ????
Steven Posté(e) le 30 septembre 2016 Auteur Signaler Posté(e) le 30 septembre 2016 Le message est peut-être trop long, trop de devices.
jojo Posté(e) le 30 septembre 2016 Signaler Posté(e) le 30 septembre 2016 bonne piste, je réduit la taille du tableau àvérifer et te dis quoi
Messages recommandés