Aller au contenu

jojo

Messages recommandés

  • 3 mois après...
  • 1 mois après...

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é par Fanou
solution trouvée
Lien vers le commentaire
Partager sur d’autres sites

@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

Lien vers le commentaire
Partager sur d’autres sites

Aucune garantie de fonctionnement :

 

  1. Affiche la liste des icônes disponibles
  2. Appuie sur [F12]
  3. Une nouvelle petite fenêtre s'ouvre, sélectionne l'icone de gauche (flèche 1)
  4. Puis tu clique sur l'icône que tu veux (flèche 2)
  5. Tu note le numéro de l'icône (flèche 3) ici c'est le "1017".

6304622303.png

Lien vers le commentaire
Partager sur d’autres sites

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

clicdroit.png

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

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!

Lien vers le commentaire
Partager sur d’autres sites

quel code as-tu autour de ta ligne 56 ? (on est des dieux, mais pas des devvins ...)

Modifié par jojo
grillé par @pepite (comme d'hab, en fait)
  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

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é par fredokl
Lien vers le commentaire
Partager sur d’autres sites

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])

 

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

 
  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

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.

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...