Steven Posté(e) le 1 septembre 2014 Auteur Signaler Posté(e) le 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
Krikroff Posté(e) le 2 septembre 2014 Signaler Posté(e) le 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
Lazer Posté(e) le 2 septembre 2014 Signaler Posté(e) le 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
Moicphil Posté(e) le 2 septembre 2014 Signaler Posté(e) le 2 septembre 2014 Nickel! belle amélioration...je met à jour!
JM13 Posté(e) le 2 septembre 2014 Signaler Posté(e) le 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
lolomail Posté(e) le 3 septembre 2014 Signaler Posté(e) le 3 septembre 2014 Installé nickel, cela me permet d'exclure mon sensor motion du couloir et la lampe qui va avec
Steven Posté(e) le 4 septembre 2014 Auteur Signaler Posté(e) le 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
HANSOLO Posté(e) le 4 septembre 2014 Signaler Posté(e) le 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
Lazer Posté(e) le 4 septembre 2014 Signaler Posté(e) le 4 septembre 2014 @Steven tu m'as bien faire rire.... un collègue qui passait par làm'a trouvé bien joyeux !
Krikroff Posté(e) le 4 septembre 2014 Signaler Posté(e) le 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
Steven Posté(e) le 4 septembre 2014 Auteur Signaler Posté(e) le 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
Krikroff Posté(e) le 4 septembre 2014 Signaler Posté(e) le 4 septembre 2014 Non mais heuuu je te taquine, qui aime bien chatie bien 1
lolomail Posté(e) le 5 septembre 2014 Signaler Posté(e) le 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?
Steven Posté(e) le 5 septembre 2014 Auteur Signaler Posté(e) le 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
almj Posté(e) le 9 octobre 2014 Signaler Posté(e) le 9 octobre 2014 Dear friends, How may I leave only motion sensors in the list? Thank you!!Sasha
Moicphil Posté(e) le 9 octobre 2014 Signaler Posté(e) le 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.
almj Posté(e) le 9 octobre 2014 Signaler Posté(e) le 9 octobre 2014 Chers amis, Comment puis-je laisser que des détecteurs de mouvement dans la liste? Merci, Sasha
Steven Posté(e) le 9 octobre 2014 Auteur Signaler Posté(e) le 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
almj Posté(e) le 10 octobre 2014 Signaler Posté(e) le 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.
Steven Posté(e) le 10 octobre 2014 Auteur Signaler Posté(e) le 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
almj Posté(e) le 10 octobre 2014 Signaler Posté(e) le 10 octobre 2014 non, ça ne fonctionne pas toujours, très étrange. J'utilise firmware 4.017
Steven Posté(e) le 10 octobre 2014 Auteur Signaler Posté(e) le 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
almj Posté(e) le 10 octobre 2014 Signaler Posté(e) le 10 octobre 2014 très triste. je vous remercie beaucoup de toute façon! 1
Diuck Posté(e) le 23 novembre 2014 Signaler Posté(e) le 23 novembre 2014 Super outil Adopté !! merci à tous
Messages recommandés