Steven 2 335 Signaler ce message Posté(e) 1 septembre 2014 Il trace les actions reçues ou envoyés par la HC2. En effet, cela serait sympa n'avoir le log des trames mais je ne pense pas que la HC2 les stockes @Krikroff, une petite idée ? Si tu réponds v4 ... tu sors Partager ce message Lien à poster Partager sur d’autres sites
Krikroff 1 924 Signaler ce message Posté(e) 2 septembre 2014 je pense que le HC2 conserve des logs mais sur une durée réduite, ce qui est certain c'est que ce n'est pas accessible sauf avoir un accès "admin" sur la machine d'ailleurs le support en remote session peut monitorer en temps réel l'activité du HC2 et il y a beaucoup d'informations. Un accès au logs serait un plus indéniable .... Envoyé de mon iPhone àl'aide de Tapatalk Partager ce message Lien à poster Partager sur d’autres sites
Lazer 8 473 Signaler ce message Posté(e) 2 septembre 2014 Je vous propose ma version, avec les ajouts/modifications suivantes : ajout : la variable excluded_id permet d'exclure certains modules (par exemple chez moi j'exclue les cellules du portail qui détectent sans arrêt les passage de chats) ajout : la variable max_events permet de paramétrer le nombre d'événements à surveiller (parce qu'à force d'exclure trop de modules, les 50 événements de base ne suffisaient plus, et seulement quelques lignes étaient remplies au lieu des 10 prévues) optimisation : déplacement de la génération de la variable msg dans la section else afin de ne pas travailler inutilement optimisation : ajout d'un break dès qu'on atteint les 10 lignes, afin de ne pas travailler inutilement Et je vous propose l’icône suivante pour le module virtuel : local user = "admin" local pwd = "password" local excluded_id = {98, 127} local max_events = 100 HC2 = Net.FHttp("127.0.0.1", 80) HC2:setBasicAuthentication(user, pwd) response = HC2:GET("/api/panels/event?last="..max_events.."&type=id") local t = json.decode(response) local j = 0 for i = 1, max_events do local exclude = false for k = 1, #excluded_id do if excluded_id[k] == t[i].deviceID then exclude = true break end end if (t[i].deviceType == "temperature_sensor") or (t[i].deviceType == "humidity_sensor") or (t[i].deviceType == "light_sensor") or exclude == true then -- pas interessant else local msg = fibaro:getName(t[i].deviceID) .. " ["..fibaro:getRoomName(fibaro:getRoomID(t[i].deviceID)) .. "] | " .. t[i].oldValue .. "->" .. t[i].newValue .. " | " .. os.date("%d/%m/%Y %H:%M:%S", t[i].timestamp) j = j + 1 pcall(function() fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..j..".value", msg) end) if j >= 10 then break end end end 2 Partager ce message Lien à poster Partager sur d’autres sites
Moicphil 1 114 Signaler ce message Posté(e) 2 septembre 2014 Nickel! belle amélioration...je met à jour! Partager ce message Lien à poster Partager sur d’autres sites
HANSOLO 381 Signaler ce message Posté(e) 2 septembre 2014 Adopté Partager ce message Lien à poster Partager sur d’autres sites
JM13 43 Signaler ce message Posté(e) 2 septembre 2014 nouvelle version adoptée.. C'est quand même strange de ne pas pouvoir savoir quel module lance les trames Je sens que ce weekend je vais jouer au ping-pong avec les motions Partager ce message Lien à poster Partager sur d’autres sites
lolomail 51 Signaler ce message Posté(e) 3 septembre 2014 Installé nickel, cela me permet d'exclure mon sensor motion du couloir et la lampe qui va avec Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 4 septembre 2014 Réflexion personnel : "J'ai peur .... Je vais mettre du code de Lazer dans ma HC2 ... c'est un peu comme demander un conseil à Fredo ... ça craint. Allez, courage, Steven, courage" [pointeur sur le bouton Sauver] On respire ... 1 ... 2 ... 3 Heiiinnnn, quoi, ça marche !!!, c'est quoi ce délire, ça à pas sauvé ? ... si ... hummm ok Bon ben, bizarre mais cela fonctionne. C'est sà»rement parce qu'il est parti d'excellente base. " Trève de stupidité ... merci Lazer 3 Partager ce message Lien à poster Partager sur d’autres sites
HANSOLO 381 Signaler ce message Posté(e) 4 septembre 2014 Hé même pas peur, en plus je remarque que tu as attendus que d'autres testent le code de Lazer avant Partager ce message Lien à poster Partager sur d’autres sites
Lazer 8 473 Signaler ce message Posté(e) 4 septembre 2014 @Steven tu m'as bien faire rire.... un collègue qui passait par làm'a trouvé bien joyeux ! Partager ce message Lien à poster Partager sur d’autres sites
Krikroff 1 924 Signaler ce message Posté(e) 4 septembre 2014 @hansolo, C'est normal il est suisse faut lui laisser le temps d'arriver Envoyé de mon iPhone àl'aide de Tapatalk Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 4 septembre 2014 Non mais heuuu c'est pas gentil ça. Nous les Suisses, on est pas lent, on est réfléchi ... Bon OK on réfléchi longtemps ... Tellement longtemps que lorsqu'on aura pris notre décision, il sera trop tard. N'ayant pas de module a exclure, je n'y voyais pas d'intérêt. Néanmoins, je l'ai fait et j'en ai profiter pour cacher la date si c'est celle du jour Partager ce message Lien à poster Partager sur d’autres sites
Krikroff 1 924 Signaler ce message Posté(e) 4 septembre 2014 Non mais heuuu je te taquine, qui aime bien chatie bien 1 Partager ce message Lien à poster Partager sur d’autres sites
lolomail 51 Signaler ce message Posté(e) 5 septembre 2014 Néanmoins, je l'ai fait et j'en ai profiter pour cacher la date si c'est celle du jour Steven tu as fait cela comment? Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 5 septembre 2014 Comme ceci : local user = "admin" local pwd = "admin" local excluded_id = {} -- {1,2,3} local max_events = 50 HC2 = Net.FHttp("127.0.0.1", 80) HC2:setBasicAuthentication(user, pwd) response = HC2:GET("/api/panels/event?last="..max_events.."&type=id") local t = json.decode(response) local j = 0 local now = os.date("%d/%m/%Y") function getDate(timestamp) return string.gsub(os.date("%d/%m/%Y %H:%M:%S", timestamp), now, "") end for i = 1, max_events do local exclude = false for k = 1, #excluded_id do if excluded_id[k] == t[i].deviceID then exclude = true break end end if (t[i].deviceType == "temperature_sensor") or (t[i].deviceType == "humidity_sensor") or (t[i].deviceType == "light_sensor") or exclude == true then -- pas interessant else local msg = fibaro:getName(t[i].deviceID) .. " | " .. t[i].oldValue .. " -> " .. t[i].newValue .. " | " .. getDate(t[i].timestamp) j = j + 1 pcall(function() fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..j..".value", msg) end) if j >= 10 then break end end end Lignes ajoutées : 15, 17, 18 et 19 Ligne modifiée : 37 (attention, j'ai enlevé la pièce) 2 Partager ce message Lien à poster Partager sur d’autres sites
almj 1 Signaler ce message Posté(e) 9 octobre 2014 Dear friends, How may I leave only motion sensors in the list? Thank you!!Sasha Partager ce message Lien à poster Partager sur d’autres sites
Moicphil 1 114 Signaler ce message Posté(e) 9 octobre 2014 Bonjour Merci d'écrire exclusivement en Francais. Utiliser "google translate" si nécessaire. hello Thank you write exclusively in French. Use "google translate" if necessary. Partager ce message Lien à poster Partager sur d’autres sites
almj 1 Signaler ce message Posté(e) 9 octobre 2014 Chers amis, Comment puis-je laisser que des détecteurs de mouvement dans la liste? Merci, Sasha Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 9 octobre 2014 Just replace / Remplace juste if (t[i].deviceType == "temperature_sensor") or (t[i].deviceType == "humidity_sensor") or (t[i].deviceType == "light_sensor") or exclude == true then by / par if (t[i].deviceType ~= "motion_sensor") or exclude == true then Partager ce message Lien à poster Partager sur d’autres sites
almj 1 Signaler ce message Posté(e) 10 octobre 2014 local user = "admin" local pwd = "********" local excluded_id = {98, 127} local max_events = 100 HC2 = Net.FHttp("127.0.0.1", 80) HC2:setBasicAuthentication(user, pwd) response = HC2:GET("/api/panels/event?last="..max_events.."&type=id") local t = json.decode(response) local j = 0 for i = 1, max_events do local exclude = false for k = 1, #excluded_id do if excluded_id[k] == t[i].deviceID then exclude = true break end end if (t[i].deviceType ~= "motion_sensor") or exclude == true then -- pas interessant else local msg = fibaro:getRoomName(fibaro:getRoomID(t[i].deviceID)) .. " | " .. t[i].oldValue .. "->" .. t[i].newValue .. " | " .. os.date("%d/%m %H:%M", t[i].timestamp) j = j + 1 pcall(function() fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..j..".value", msg) end) if j >= 10 then break end end end rectifiée cela. Il ne fonctionne pas. Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 10 octobre 2014 Work well on my computer (just copied and test it), I just had to change this : Fonctionne bien sur mon ordinateur (juste copier et testé). J'ai juste modifié ceci : local user = "admin" local pwd = "********" local excluded_id = {98, 127} local max_events = 100 And change max_events to 1000 Et j'ai changé max_events à 1000 Partager ce message Lien à poster Partager sur d’autres sites
almj 1 Signaler ce message Posté(e) 10 octobre 2014 non, ça ne fonctionne pas toujours, très étrange. J'utilise firmware 4.017 Partager ce message Lien à poster Partager sur d’autres sites
Steven 2 335 Signaler ce message Posté(e) 10 octobre 2014 Ok, they have change all the API so this can't work on 4.017 Ils ont changer les API, plus rien de fonctionne en 4.017 Partager ce message Lien à poster Partager sur d’autres sites
almj 1 Signaler ce message Posté(e) 10 octobre 2014 très triste. je vous remercie beaucoup de toute façon! 1 Partager ce message Lien à poster Partager sur d’autres sites
Diuck 47 Signaler ce message Posté(e) 23 novembre 2014 Super outil Adopté !! merci à tous Partager ce message Lien à poster Partager sur d’autres sites