Aller au contenu
mprinfo

Vd - Visualiser Les 10 Dernieres Ouverture De Porte

Recommended Posts

Visualiser les 10 dernières ouverture de Porte

 

 

 

 

Je remercie @steven car ce VD est une adaptation de son VD Variables Globales

 

 

Ce virtual devices affiche la dernière détection avec le temps écoulé des captures comme on peu le voir dans l'interface 

 

Les informations sont récuperer directement via l'api il peut y avoir quelques soucis si un modules et déclarer comme detecteur de porte alors qu'il ne l'ai pas

 

 

med_gallery_374_240_903.png

 

 

Ouverture_porte_v0.2b.vfib
 

Modifié par mprinfo
  • Upvote 5

Partager ce message


Lien à poster
Partager sur d’autres sites

si on veut un tri dans l'autre sens il faut modifié

table.sort(Ouverture, function(a, return a[3]>b[3] end)

par

table.sort(Ouverture, function(a, return a[3]<b[3] end)

Partager ce message


Lien à poster
Partager sur d’autres sites

J'aime pas les icones lol

Envoyé de mon SM-G900F en utilisant Tapatalk

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut tout le monde,

@mprinfo,

Tout d'abord merci pour ce VD

Par contre je ne comprends pas son fonctionnement

J'ai plusieurs détecteurs d'ouverture et dans le cas présent, j'ai toutes les 2 à  5 seconds des rafraichissements des heures indiqués.

Je ne vois pas pourquoi car à  cette heure un Dimanche (8h30) tout le monde dors à  la maison sauf moi  :-)

Donc aucune porte ou fenêtre n'est ouverte.

 

D'autre part serait il envisageable dans l'information affiché de faire paraitre la date de dernière ou le nombre de jour depuis la dernière ouverture?

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui je suis aperçu de ce bug au delàde 24h la remontée d informations et "erronée" il manque le nombre de jours je vais corriger ce problème et publié le code

Effectivement la mise àjour ce fait toute les 3s c'est la main loop qui s'exécute tout le 3s on peut augmenter ce delai avec un sleep

C'est normal que cela augmente car il calcule l heure de la dernière ouverture avec l heure actuelle

Envoyé de mon SM-G900F en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Voici le code qui corrige l'absence du nombre de jours dans le label

HC2 = Net.FHttp("127.0.0.1",11111) 
response = HC2:GET("/api/devices")

local Ouverture = {}
local t = json.decode(response)
local j = 0
for i = 1, #t do
  if t[i].visible == true and t[i].type == "com.fibaro.doorSensor" then
     local HeureModif = t[i].properties.lastBreached
     local heure = os.time()
     local TempEcoule = os.difftime(heure, HeureModif)-3600
     table.insert(Ouverture, {t[i].name, t[i].id, TempEcoule})
  --fibaro:debug(t[i].name.." id : "..t[i].id..t[i].properties.lastBreached)
  end
end

table.sort(Ouverture, function(a, return a[3]<b[3] end)

-- Display results
local id = fibaro:getSelfId()

for i = 1, #Ouverture do
  pcall(function() 
     if Ouverture[i][1] == nil then
        fibaro:call(id, "setProperty", "ui.Label"..i..".value", "")
     else
        if Ouverture[i][3] > 3600*24 then
           fibaro:debug(i .. " id=" .. Ouverture[i][1] .. " - Value=" .. os.date("%j jours %X", Ouverture[i][3]) )
  	       fibaro:call(id, "setProperty", "ui.Label"..i..".value", Ouverture[i][1] .. " = " ..  " ".. os.date("%j jours %X", Ouverture[i][3]))
        else
           fibaro:call(id, "setProperty", "ui.Label"..i..".value", Ouverture[i][1] .. " = " ..  " ".. os.date("%X", Ouverture[i][3]))
 
        end
     end
  end)
end
  • Upvote 3

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci les gars pour vos retours

Envoyé de mon SM-G900F en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

salut mprinfo ,

 

peux tu mettre l'icone de la poignée de porte stp, je n'arrive pas à  la retrouver!!

Partager ce message


Lien à poster
Partager sur d’autres sites

×