Aller au contenu

Rechercher dans la communauté

Affichage des résultats pour les étiquettes 'panels event'.



Plus d’options de recherche

  • Rechercher par étiquettes

    Saisir les étiquettes en les séparant par une virgule.
  • Rechercher par auteur

Type du contenu


Forums

  • Bienvenue
    • Nouveau ? Présentez-vous
    • Le bistrot
    • Mon installation domotique
    • Annonces et suggestions
  • La Home Center et ses périphériques
    • La Home Center pour les nuls
    • HC 2 & Lite
    • HC 3
    • Modules Fibaro
    • Modules Z-wave
    • Périphériques et matériels autres
    • Plugins
    • Quick App
    • Multimédia (audio, vidéo ...)
    • Chauffage et Energie
    • Actionneurs & Ouvrants (Portail, volets, piscines, ...)
    • Eclairage
    • Applications Smartphones et Tablettes
  • Autres solutions domotiques
    • Box / Logiciel
    • Modules Nice (433 & 866 MHz)
    • Modules Zigbee
    • GCE Electronics
    • Modules Bluetooth Low Energy
  • Objets connectés
    • Les Assistants Vocaux
    • Netatmo
    • Philips Hue
    • DIY (Do It Yoursel)
  • Sécurité
    • Alarmes
    • Caméras
    • Portiers
    • Serrures
  • Informatique / Réseau
    • Tutoriels
    • Matériels Réseaux
    • Matériels Informatique
    • NAS
    • Virtualisation
  • Les bonnes affaires
    • Sites internet
    • Petites annonces

Rechercher les résultats dans…

Rechercher les résultats qui…


Date de création

  • Début

    Fin


Dernière mise à jour

  • Début

    Fin


Filtrer par nombre de…

Inscription

  • Début

    Fin


Groupe


Jabber


Skype


Ville :


Intéret :


Version

1 résultat trouvé

  1. jjacques68

    Exploiter l'historique des device

    Hello ! j'étais intéressé de pouvoir récupérer l'historique de ce qu'il se passe avec nos device. Ce que l'on peut voir dans la page "history". L'objectif final est de sauvegarder tout ça dans une base de données externe à la HC3... bref. donc voici dans un QA la méthode que j'utilise pour récupérer les données de l'API : Le principe est que je cherche toutes les X minutes le contenu. (pour le moment le déclenchement est manuel, il faut que je réfléchisse à l'interval de bouclage...) J'utilise une variable au QA "TimeStart" qui contient le TimeStamp de fin de la dernière recherche. Par précaution, je vérifie que l'interval de recherche ne soit pas supérieur (pour le moment) à 1 h. Si c'est le cas, je force donc à 1 heure max. --------------------------------------------------------------------------------------- -- CHERCHE LES DONNEES --------------------------------------------------------------------------------------- function QuickApp:CheckLogs() local TimeStart = tonumber(self:getVariable("TimeStart")) local TimeEnd = os.time() local http = net.HTTPClient({timeout=3000}) --Pour ne pas récupérer plus de x temps de log (cas d'un plantage, arrêt, autre...) if os.difftime(TimeEnd, TimeStart) > 3600 then TimeStart = TimeEnd - 3600 end print("<<<<<<<<<<<< start : "..os.date("%d/%m/%Y %H:%M:%S", TimeStart).." - end : "..os.date("%d/%m/%Y %H:%M:%S", TimeEnd).." >>>>>>>>>>>>") http:request("http://127.0.0.1:11111/api/panels/event?type=time&from="..TimeStart.."&to="..TimeEnd, { options = { method = "GET" }, success = function(res) Display(res.data) end, error = function(error) print(json.encode(error)) end }) --mémorise l'heure de fin pour qu'elle soit la procaine heure de début self:setVariable("TimeStart", tostring(TimeEnd)) end et voici comment je sors les données avec la fonction Display() : --------------------------------------------------------------------------------------- -- TRAITEMENT DU RESULTAT --------------------------------------------------------------------------------------- local function Display(alldata) --formate le tableau json alldata = json.decode(alldata) --pour chaque élément du tableau for k,v in pairs(alldata) do --chope le nom du device local NameDevice = api.get("/devices/"..v.deviceID).name --créé la trame local Message = v.type.." - "..os.date("%d/%m/%Y %H:%M:%S", v.timestamp).." - "..v.deviceID.." - "..NameDevice.." - "..tostring(v.event.data.newValue) print(Message) end end Pour le moment je ne fait que un print du résultat, mais celui-ci sera envoyé en base de donnée... (pas voulu en parler dans ce sujet). le résultat dans le debug donne ça : on obtient donc, le type d’événement (DEVICE_EVENT), son Timecode, l'ID du device, son nom et pour finir sa valeur. d'autres information son dispo dans l'API, mais pour le moment, celles-ci me suffisent... Je lance actuellement le process manuellement pas un bouton, mais je vais mettre un bouclage par setTimeout en place, afin de le faire boucler régulièrement.
×