fredokl Posté(e) le 10 février 2017 Signaler Posté(e) le 10 février 2017 Merci @jojo pour ce VD. Je viens de recevoir mes Smoke Detector de Fibaro et le VD est très utile.
Fanou Posté(e) le 22 mars 2017 Signaler Posté(e) le 22 mars 2017 (modifié) Petit Up sur la récupération de l'ID des icones ajoutés. Ils sont bien dans la banque d'icone mais je n'ai pas "affiche l'image" dans la liste du "clic droit"... Je suis sous Edge (Win 10), et sous IE 11 j'ai le menu dans la liste du clic droit mais c'est grisé.. j'ai tenté de passé par le toolkit mais j'ai trouvé nulle part les icones... merci d'avance. PS : c'est le premier VD que j'ajoute.. Bon je viens de trouver.. si ca peut aider, a moins que je sois le seul ignorant.. en faisant un "clic droit" puis "enregistrer l'image sous" le nom proposé est "Userxxxx.png" où "xxxx" correspond à l'ID... Modifié le 22 mars 2017 par Fanou solution trouvée
jojo Posté(e) le 23 mars 2017 Auteur Signaler Posté(e) le 23 mars 2017 Regarde dans la section pour les nuls, @Dida expliqué comment retrouver l'id d'une icône
Fanou Posté(e) le 23 mars 2017 Signaler Posté(e) le 23 mars 2017 @jojo "la section pour les nuls" merci de me le rappeler.. Comme expliqué dans mon message, la maniere donnée par@Did ne fonctionne plus sur Edge (ni ie 11) sous win 10. (A moins que ca ne vienne de moi). Quelqu'un peut-il confirmer ca sous win 10. Je n'ai pas testé sous chrome ou FFox...Envoyé de mon SM-G928F en utilisant Tapatalk
Steven Posté(e) le 23 mars 2017 Signaler Posté(e) le 23 mars 2017 Aucune garantie de fonctionnement : Affiche la liste des icônes disponibles Appuie sur [F12] Une nouvelle petite fenêtre s'ouvre, sélectionne l'icone de gauche (flèche 1) Puis tu clique sur l'icône que tu veux (flèche 2) Tu note le numéro de l'icône (flèche 3) ici c'est le "1017".
Fanou Posté(e) le 23 mars 2017 Signaler Posté(e) le 23 mars 2017 Bon effectivement j'avais mal lu l'explication de @Did concernant le nom de l'ID... il avait bien précisé que c'est précédé de "User" pour les icône perso Et oui Steven, j'ai fini par passer par là hier... ;) Voila le menu sous Edge. Merci à tous
Steven Posté(e) le 23 mars 2017 Signaler Posté(e) le 23 mars 2017 Ben t'as l'option "Inspecter l'élément" :-)
Fanou Posté(e) le 23 mars 2017 Signaler Posté(e) le 23 mars 2017 Oui c'est ce que j'avais fais du coup, fouiller dans la console DOM.. Envoyé de mon SM-G928F en utilisant Tapatalk 1
fredokl Posté(e) le 2 mai 2017 Signaler Posté(e) le 2 mai 2017 Salut. Le VD ne veut plus fonctionner chez moi depuis ce soir. Il me met une erreur à la ligne 56: [ERROR] 23:40:23: line 56: attempt to concatenate a nil value Je n'ai rien changé mise à part les id des icônes, le téléphone Il fonctionnait bien jusqu'à tout à l'heure et en faisant un rafraîchissement il a planté. J'ai redémarré la box mais rien n'y fait. J'ai aussi installé une deuxième version "toute neuve" mais le problème est le même!
pepite Posté(e) le 3 mai 2017 Signaler Posté(e) le 3 mai 2017 Bonjour, partage ta ligne 56 :-) ce sera plus simple. Envoyé de mon Nexus 5X en utilisant Tapatalk
jojo Posté(e) le 3 mai 2017 Auteur Signaler Posté(e) le 3 mai 2017 (modifié) quel code as-tu autour de ta ligne 56 ? (on est des dieux, mais pas des devvins ...) Modifié le 3 mai 2017 par jojo grillé par @pepite (comme d'hab, en fait) 1
fredokl Posté(e) le 3 mai 2017 Signaler Posté(e) le 3 mai 2017 (modifié) Pour les Dieux du forum. Si si vous êtes des Dieux! Voici le code jusqu'à la ligne 59. Si il faut l'intégralité du code, je le poste, y a pas de problème. Je précise que je n'ai rien modifié mise à part la partie utilisateur (icônes, téléphone). ---------------------------------- -- User Settings ---------------------------------- -- icônes pour 0, 25, 50, 75 & 100 % local iconebatt = {1057, 1058, 1059, 1060, 1061} -- laissez la table vide si pas d'icônes à afficher local pushID = {764} -- 0 = no push; sinon entrer les ID séparés par une , local pushLevel = 10 -- niveau de batterie en dessous duquel il y a min 1 batterie pour notification push ---------------------------------- -- DO not change bellow this line ---------------------------------- local modules = {} local batt -- charge de la batt local battmin = 100 -- % charge de la batterie chargée au min HC2 = Net.FHttp("127.0.0.1",11111) -- memorise LastCheck time local LastCheck = os.date("%d/%m/%y %H:%M") -- clear labels for i = 1, 10 do fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label" ..i.. ".value", "") end --------------- --FUNCTIONS --------------- function exclude(name) return name == "Main_Zwave_Device" or name == "Seismomètre" or name == "Luminosité" end -- fonction push notification function push(msg) if pushID[1] ~= 0 then for i = 1, #pushID do fibaro:call(pushID[i], "sendPush", msg.." ("..os.date("%d/%m à %H:%M")..")") end end end --------------- --END FUNCTIONS --------------- local parentIds = {} local uniqueParentId = true local response = HC2:GET("/api/devices") local json = json.decode(response) 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 batt = tonumber(v.properties.batteryLevel) if batt == 255 then batt = 0 end if (batt < battmin) then battmin = batt end table.insert(modules, {batt, v.name .. " (" .. v.id .. "-"..fibaro:getRoomName(fibaro:getRoomID(v.id))..")"}) end -- if exclude end -- if batteryLevel end -- for Modifié le 3 mai 2017 par fredokl
pepite Posté(e) le 3 mai 2017 Signaler Posté(e) le 3 mai 2017 Il y a 2 heures, fredokl a dit : table.insert(modules, {batt, v.name .. " (" .. v.id .. "-"..fibaro:getRoomName(fibaro:getRoomID(v.id))..")"}) Donc c'est cela ta ligne 56 ?
fredokl Posté(e) le 3 mai 2017 Signaler Posté(e) le 3 mai 2017 OuiEnvoyé de mon iPhone en utilisant Tapatalk
pepite Posté(e) le 3 mai 2017 Signaler Posté(e) le 3 mai 2017 A priori, d'après l'erreur, ils ne trouvent rien : a nil value ;-) Je te poste mon code qui fonctionne ---------------------------------- -- User Settings ---------------------------------- -- icones pour 0, 25, 50, 75 & 100 % local iconebatt = {50,51,52,53,54} local pushID = {0} -- 0 = no push; sinon entrer les ID séparés par une , local pushLevel = 10 -- niveau de batterie en dessous duquel il y a min 1 batterie pour notification push ---------------------------------- -- DO not change bellow this line ---------------------------------- local modules = {} local batt -- charge de la batt local battmin = 100 -- % charge de la batterie chargée au min local BattOper -- is battery Operated (only for v3.x) local Dead -- is dead local Visible -- is Visible ? -- détermination de la version du firmware local HC2 = Net.FHttp("127.0.0.1",11111) local version = "" payload = "/api/settings/info" response, status, errorCode = HC2:GET(payload) if tonumber(status) == 200 then jsonTable = json.decode(response) if tonumber(jsonTable.softVersion) >= 4 then version = "4.x" else version = "3.x" end else fibaro:debug('<span style="color:red;">status='..status..', errorCode='..errorCode..', payload='..payload..', response='..response..'</span>') end fibaro:debug('version = ' ..version) HC2 = Net.FHttp("127.0.0.1",11111) -- memorise LastCheck time local LastCheck = os.date("%d/%m/%y %H:%M") -- clear labels for i = 1, 10 do fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label" ..i.. ".value", "") end --------------- --FUNCTIONS --------------- function exclude(name) return name == "Main_Zwave_Device" or name == "Seismomètre" or name == "Luminosité" end -- fonction push notification function push(msg) if pushID[1] ~= 0 then for i = 1, #pushID do fibaro:call(pushID[i], "sendPush", msg.." ("..os.date("%d/%m à %H:%M")..")") end end end --------------- --END FUNCTIONS --------------- local parentIds = {} local uniqueParentId = true local response = HC2:GET("/api/devices") local json = json.decode(response) 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 batt = tonumber(v.properties.batteryLevel) if batt == 255 then batt = 0 end if (batt < battmin) then battmin = batt end table.insert(modules, {batt, v.name .. " (" .. v.id .. "-"..fibaro:getRoomName(fibaro:getRoomID(v.id))..")"}) end -- if exclude end -- if batteryLevel end -- for -- sort table function comp(w1,w2) return tonumber(w1[1]) < tonumber(w2[1]) end table.sort(modules,comp) -- display labels --if string.len(modules[1][2]) >= 29 then -- modules[1][2] = string.sub(modules[1][2], 1, 28) --end for index, value in ipairs(modules) do pcall( function() fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..index..".value", value[2].. "..." .. value[1] .. "%") end ) end -- display LastCheck fibaro:debug(LastCheck) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.LastCheck.value", LastCheck) -- display Icon fibaro:debug("battmin = "..battmin) if battmin < pushLevel then msg = "Il y a au moins une batterie sous le niveau minimum ("..pushLevel.."%) : "..battmin.."%." push(msg) end battmin = math.floor((battmin - 1)/25) + 2 fibaro:debug("Icone batterie : "..battmin) fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", iconebatt[battmin]) 1
fredokl Posté(e) le 3 mai 2017 Signaler Posté(e) le 3 mai 2017 Merci pepite. Je test dès que possible.Envoyé de mon iPhone en utilisant Tapatalk
jojo Posté(e) le 3 mai 2017 Auteur Signaler Posté(e) le 3 mai 2017 ne serait-ce pas lié à un problème que @Lazer a déjà identifié dans les dernières version : j'ai utilisé une variable <json>, qui est peut-être réservée dans les dernières versions. Alors remplace ce <json> par <autreChose> et regarde si ça fonctionne
jojo Posté(e) le 3 mai 2017 Auteur Signaler Posté(e) le 3 mai 2017 je parle de la variable json qui est déclarée ici local json = json.decode(response) for k, v in ipairs(json) do j'essayerais en remplaçant par ceci : local autreChose = json.decode(response) for k, v in ipairs(autreChose) do 1
pepite Posté(e) le 3 mai 2017 Signaler Posté(e) le 3 mai 2017 oui j'y ai pensé aussi @jojo mais chez moi c'est la même variable et pourtant ça fonctionne ;-) alors là..
jojo Posté(e) le 3 mai 2017 Auteur Signaler Posté(e) le 3 mai 2017 et je vois que tu es en dernier firmware. Alors, ça doit être le coup du bit à moitié ouvert ...
fredokl Posté(e) le 4 mai 2017 Signaler Posté(e) le 4 mai 2017 Salut à tous. Merci pour vos réponses. En vérifiant le VD à l'instant, j'ai constaté qu'il fonctionne de nouveau alors que je n'ai rien fait! C'est à rien n'y comprendre! Par précaution, j'ai installé le code de @pepite et tout fonctionne parfaitement. Je vous tiens au courant en cas de nouveau plantage du VD. Merci encore. 1
jojo Posté(e) le 4 mai 2017 Auteur Signaler Posté(e) le 4 mai 2017 bienvenue dans le monde mystérieux de Fibaro
Messages recommandés