PITP2 Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 Non dans le debug au niveau du Bouton "Batteries"
Diuck Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 Ok je fais le test mais pas de réponse du debug !!
PITP2 Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 ok tu es bien dans le debug du bouton Batteries ? Tu as bien appuyé sur start ? Tu peux aussi regarder le nombre de device que tu as maintenant car au changement des versions il y en a un paquet de créés. Je dis cela car dans le code au début de la boucle ligne 11 du dois adapter le nombre en rouge en mettant un nombre supérieur au nombre de device de ton système for i = 1, 1000 do J'espère que cela t'aidera
Diuck Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 Merci pour ta réponse j'ai bien fais debug sur le bouton batteries start aussi les modifs mais toujours pas de réponse du debug !! pas de résultat page noir !!
Diuck Posté(e) le 11 janvier 2015 Signaler Posté(e) le 11 janvier 2015 C'est tout bon je n'avais pas vu la MJ du code de Mr Steven tout est ok Un grand merci à lui pour le suivi de ces codes
cybersquat Posté(e) le 16 janvier 2015 Signaler Posté(e) le 16 janvier 2015 Bonjour Steven et à tous, J'ai tenté ton module sur ma HC2 v4 et j'ai cette erreur la [ERROR] 21:51:52: line 13: bad argument #1 to 'find' (string expected, got nil) Une idée ? Merci
Steven Posté(e) le 16 janvier 2015 Auteur Signaler Posté(e) le 16 janvier 2015 As-tu appliqué cette correction : http://www.domotique-fibaro.fr/index.php/topic/1710-my-batteries/?p=38400 Je pense que cela devrait résoudre le soucis. Cordialement
cybersquat Posté(e) le 16 janvier 2015 Signaler Posté(e) le 16 janvier 2015 oops non !!! j'avais pas vu ! désolé, j'ai copier le code, pas de soucis quand je fais démarrer, après qu'elle genre de réaction cela fera par la suite ? Merci en tout cas
Steven Posté(e) le 16 janvier 2015 Auteur Signaler Posté(e) le 16 janvier 2015 C'était un peu noyer dans la masse donc pas besoin de d'excuser. Je viens de rajouter l'info sur le 1er post. Je comprends mal ta question. Une fois le code modifier (remplacer le code du bouton par le nouveau) et enregistrer, tu devrais voir apparaître la liste des 10 premiers modules utilisant des piles triés par ordre du plus vide au plus plein.
cybersquat Posté(e) le 16 janvier 2015 Signaler Posté(e) le 16 janvier 2015 Il faut au minima 10 modules ? j'ai bien enregistré comme convenu, pas d'erreur cette fois, j'ai cliquer sur démarrer mais il ne se passe rien, peu être a cause que je n 'ai pas les 10 modules ?
cybersquat Posté(e) le 16 janvier 2015 Signaler Posté(e) le 16 janvier 2015 ca marche nickel, merci beaucoup Par contre j'arrive pas a changer ton icon avec celui fournit par défaut de la HC2, impossible d'importer
Steven Posté(e) le 16 janvier 2015 Auteur Signaler Posté(e) le 16 janvier 2015 Attention, les icônes, c'est une longue histoire. Il faut absolument cliquer dessus puis appuyer sur "Save" puis enregistrer l'image ... si tu ne fait pas cela, l'image n'est pas en 128x128 et tu ne pourras pas l'insérer. Voilà
cybersquat Posté(e) le 16 janvier 2015 Signaler Posté(e) le 16 janvier 2015 lol voila pourquoi ça me gonfle depuis hier lol Merci 1
nigamais Posté(e) le 21 janvier 2015 Signaler Posté(e) le 21 janvier 2015 Suite a la mise a jour de Steven pour une version 4.xx ou devons mettre cette commande pour le pourcentage .Merci :if (tonumber(batt) == 255) then batt = 0 end
cybersquat Posté(e) le 21 janvier 2015 Signaler Posté(e) le 21 janvier 2015 Steven, merci pour les icons c'est rélger de mon côté ^^
zozotte Posté(e) le 10 février 2015 Signaler Posté(e) le 10 février 2015 Bonjour, J'ai rajouté la ligne de batterie = 255 et aussi enlevé les Zwave Node:xxx de la liste affichée. Par contre pas trouvé comment on récupérait le statut visible ou pas du device pour n'afficher que les devices non cachés...si quelqu'un a une idée?? Pourt les FGK, ca affichée au moins 2 lignes si capteur de température, une idée pour voir qu'il s'agit de la meme chose ? local modules = {} function exclude(name) return name == "Main_Zwave_Device" or (string.find(name, "Zwave Node:")) -- or name == "Seismomètre" or name == "Luminosité" end for i = 1, 1000 do local batt = fibaro:getValue(i, 'batteryLevel') if (type(batt) ~= nil and (tonumber(batt) ~= nil)) then if (not exclude(fibaro:getName(i))) then if (tonumber(batt) == 255) then batt = 0 end table.insert(modules, {batt, fibaro:getName(i) .. " (" .. i .. ")"}) end end end function comp(w1,w2) return tonumber(w1[1]) < tonumber(w2[1]) end table.sort(modules,comp) for index, value in ipairs(modules) do pcall( function() fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..index..".value", value[2].. " ... " .. value[1] .. "%") end ) end
zozotte Posté(e) le 10 février 2015 Signaler Posté(e) le 10 février 2015 pour éviter les doublons en cas de device avec plusieurs fonction, je crois qu'il faut regarder du coté de parentID. bon ba je vais me pencher dessus alors
nigamais Posté(e) le 11 février 2015 Signaler Posté(e) le 11 février 2015 alors zozotte as-tu trouvais pour les doublons ?Merci
zozotte Posté(e) le 13 février 2015 Signaler Posté(e) le 13 février 2015 ba il faut regarder du coté des ParentID mais pas encore commencé pour le code... en plus je débute donc faudra etre un peu patient
zozotte Posté(e) le 13 février 2015 Signaler Posté(e) le 13 février 2015 Bonjour, j'ai utilisé le nouveau code pour la version 4x Cela fonctionne bien mais j'ai un module que ressort alors qu'il est en "caché" j'essaie depuis un moment de modifier le code pour supprimer de l'affichage les devices avec "visible": false je n'arrive pas à récupérer cette valeur ... j'ai essayé de la faire comme ceci Un pro du code pourrait il me dire comment faire ? local visu = tostring(fibaro:getValue(i, 'visible')) if (visu == false) then fibaro:debug("Visu oui ") else fibaro:debug("Visu non ") end ici l'extrait du json de ce device { "id": 354, "name": "Zwave Node: 61", "roomID": 0, "type": "com.fibaro.zwaveDevice", "baseType": "com.fibaro.device", "enabled": true, "visible": false, "isPlugin": false, "parentId": 1, "remoteGatewayId": 0, "interfaces": [ "battery", "zwave", "zwaveAssociation", "zwaveConfiguration", "zwaveSlaveRouting", "zwaveWakeup" ], réponse du support Fibaro: pas de fonctions pour le faire mais possibilité d'utiliser l'API (voir exemple ci dessous). pas encore implémenté dans le module, sur ma todo --[[ %% properties %% globals --]] local idOfDevice = ; --here paste device ID local function updateDevice(deviceId, successCallback, errorCallback) local http = net.HTTPClient() http:request('http://127.0.0.1:11111/api/devices/' .. deviceId, { options = { method = 'GET' }, success = successCallback, error = errorCallback }) end deviceId = updateDevice(idOfDevice, function(resp) print("Status: " .. resp.status) local dat = json.decode(resp.data) print(dat.visible) end, function(err) print('error' .. err) end )
Steven Posté(e) le 13 février 2015 Auteur Signaler Posté(e) le 13 février 2015 J'ai modifié depuis un moment mon code et il répond àta demande alors soit tu fermes les yeux et tu développes ton propre code pour t'entrainer, soit tu peux copier celui-ci : function exclude(name) return name == "Main_Zwave_Device" or name == "Seismomètre" or name == "Luminosité" end local HC2 = Net.FHttp("127.0.0.1", 11111) local response = HC2:GET("/api/devices") local json = json.decode(response) local modules = {} local parentIds = {} local uniqueParentId = true for k, v in ipairs(json) do if (type(v.properties.batteryLevel) == "number") then if (not exclude(v.name) and v.visible and (not uniqueParentId or not parentIds[v.parentId])) then parentIds[v.parentId] = true table.insert(modules, {v.properties.batteryLevel, v.name .. " (" .. v.id .. ")"}) end end end function comp(w1,w2) return tonumber(w1[1]) < tonumber(w2[1]) end table.sort(modules,comp) for index, value in ipairs(modules) do pcall( function() fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..index..".value", value[2].. " ... " .. value[1] .. "%") end ) end 1
jojo Posté(e) le 16 février 2015 Signaler Posté(e) le 16 février 2015 Merci Steven pour ce VD On l'importe, il n'y a rien à faire, et ça marche. J'ai cependant fait une mini modif : si un des modules a une batterie < niveau donné (ligne 5), l'icône passe du bleu ou rouge (merci Berale24 pour l'icône rouge) Voici donc ma V2.0 pour le firmware 3.600 My_Batteries_v2.0.vfib 3
pepite Posté(e) le 16 février 2015 Signaler Posté(e) le 16 février 2015 bonsoir, Alors je suis un poissard je pense, rien ne s'affiche pour moi, je suis en 4.033 et j'ai fait la modif de steven pour les 4.0x ;-) Une idee ? Par curiosite j'ai aussi essaye celui de jojo mais evidemment, rien non plus puisque c'est pour 3.6
Diuck Posté(e) le 16 février 2015 Signaler Posté(e) le 16 février 2015 @ pepite tu as mis cette modif ? car moi je viens de le faire à l'instant et c'est ok J'ai modifié depuis un moment mon code et il répond à ta demande alors soit tu fermes les yeux et tu développes ton propre code pour t'entrainer, soit tu peux copier celui-ci : function exclude(name) return name == "Main_Zwave_Device" or name == "Seismomètre" or name == "Luminosité" end local HC2 = Net.FHttp("127.0.0.1", 11111) local response = HC2:GET("/api/devices") local json = json.decode(response) local modules = {} local parentIds = {} local uniqueParentId = true for k, v in ipairs(json) do if (type(v.properties.batteryLevel) == "number") then if (not exclude(v.name) and v.visible and (not uniqueParentId or not parentIds[v.parentId])) then parentIds[v.parentId] = true table.insert(modules, {v.properties.batteryLevel, v.name .. " (" .. v.id .. ")"}) end end end function comp(w1,w2) return tonumber(w1[1]) < tonumber(w2[1]) end table.sort(modules,comp) for index, value in ipairs(modules) do pcall( function() fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..index..".value", value[2].. " ... " .. value[1] .. "%") end ) end
Messages recommandés