Aller au contenu

Moicphil

Messages recommandés

Voila un super plugin pour les possesseurs d'une freebox V6 !

 

Vous connaissez tous l'auteur, puisqu'il est présent sur le forum...il s'agit de Krikroff !

 

Au passage, j'ai adoré la rédaction du sujet, présentation...etc.

Je tiens personnellement à  te féliciter pour le travail que tu fais pour les possesseurs d'une HC2.

 

Nous t'attendons ici JC pour commenter ton plugin... ;)

 

Sans plus attendre...voici le lien de l'article : http://domotique-info.fr/2014/01/home-center-2-lua-freebox-avec-krikroff/

 

 

 

 

Note de mise à  jour:

 

Important, Veuillez lire le document Release_notes_v0.1.0.docx avant l'installation

 

Version 0.0.7

- Notification par mail des nouveaux appels manqués (Date Heure + Numéro de téléphone + Nom). Pour activer la fonctionnalité il faut paramétrer dans le code la variable _userId avec l’ID d’utilisateur et mettre missedCalls à  true.
- Ajout de variables : Monitoring du DD interne : température, espace.
- Modifications mineurs

 

Version 0.0.8

- Modifications mineures
- Ajout de variables pour utiliser les températures des sondes CPU et Switch depuis une scène.
- Ajout d’une variable pour utiliser le Fan RPM depuis une scène.
- Ajout d’une variable pour persister la version du Firmware et notifier d’un changement de version.

 

Version 0.0.9

- Ajout de variables pour la détection de 2 périphériques Wi-Fi. Attention depuis iOS 6.xx les iPhones désactivent le Wi-Fi pendant la veille et sortent donc du réseau.

 

Version 0.1.0

- Correction sur la mise à  jour de l’ IHM en cas de remis à  zéro de la liste des appels

:)

 

Version 0.1.1

- Dernière version disponible à  ce jour, voir en page 11 : http://www.domotique-fibaro.fr/index.php/topic/328-plugin-freebox-v6/?p=101866

Lien vers le commentaire
Partager sur d’autres sites

Merci à  tous les deux, vous êtes :74: .

 

Encore beaucoup de choses en tête après c'est le temps qui manque, si je pouvais tout faire ...

 

Une nouvelle version est en cours de préparation (avec mise à  jour du frameworks en v1.0.4) mais n’hésitez pas à  proposer des améliorations.

 

HS: Phil, est-il possible de créer un sondage: Votre F.A.I c'est qui ?

 

Et vive le partage !

Lien vers le commentaire
Partager sur d’autres sites

Petit ajout personnel à  ce super script (qui m'a permis de décommissioner l'équivalent PHP sur mon NAS !):

 

Une fonction pour l'espace disque restant (je faisais ça avant en PHP avec une alerte quand il faut faire du ménage, genre en dessous de 20Go restant) :

function GetDiskFreeBytes(enable)
  --Toolkit.Net.isTraceEnabled = true;
  local HttpClient = Toolkit.Net.HttpRequest(FreeboxObject._host, 80);
  HttpClient:setReadTimeout(1000);
  local response, status, errorCode = HttpClient:request("GET", 
    "/api/v1/storage/disk/1", {
      "User-Agent: FibaroHC2/1.0",
      "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
      "Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3",
      "Accept-Encoding: deflate",
      "Accept-Charset: utf-8",
      "X-Fbx-App-Auth: "..FreeboxObject._sessionToken,
      "X-Fbx-App-Id: plugin.freebox.fibaro"
    });
  HttpClient:disconnect();
  HttpClient:dispose();
  HttpClient = nil;
  --Toolkit.Net.isTraceEnabled = false;
  local _return = false;
  -- check for error
  if errorCode == 0 then
    if tonumber(status) == 200 then
      local jsonTable = json.decode(response);
      if (jsonTable.success == true ) then
        Tk:trace("Get Disk Storage Status with success");
        FreeboxObject._diskFreeBytes = jsonTable.result or {};
        _return = true;
      else
        Tk:trace("Get Disk Storage Status failed");
      end
    else
      Tk:trace("status: "..status);
    end
  else
    Tk:trace("Communication error");
  end
  return _return;
end

Bien penser à  rajouter la variable _diskFreeBytes au début du script Freebox.

Puis ce code à  rajouter dans le main pour rafraîchir le label :

if (GetDiskFreeBytes()) then
  fibaro:call(FreeboxObject._selfId, "setProperty", "ui.lblDisk.value", math.floor(FreeboxObject._diskFreeBytes.partitions[1].free_bytes/1000000000,2).." Go libres sur "..math.floor(FreeboxObject._diskFreeBytes.partitions[1].total_bytes/1000000000,2).." Go");
end 

Une autre fonction pour monitorer la °C de la freebox :

function GetTemperatures()
  local payload = [[
  {"db":"temp", "fields":["temp1", "temp2", "temp3"], "precision":10}
  ]];
  --Toolkit.Net.isTraceEnabled = true;
  local HttpClient = Toolkit.Net.HttpRequest(FreeboxObject._host, 80);
  HttpClient:setReadTimeout(1000);
  local response, status, errorCode = HttpClient:request("POST", 
    "/api/v1/rrd/", {
      "User-Agent: FibaroHC2/1.0",
      "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
      "Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3",
      "Accept-Encoding: deflate",
      "Accept-Charset: utf-8",
      "X-Fbx-App-Auth: "..FreeboxObject._sessionToken,
      "X-Fbx-App-Id: plugin.freebox.fibaro"
    },payload);
  HttpClient:disconnect();
  HttpClient:dispose();
  HttpClient = nil;
  --Toolkit.Net.isTraceEnabled = false;
  local _return = false;
  -- check for error
  if errorCode == 0 then
    if tonumber(status) == 200 then
      local jsonTable = json.decode(response);
      if (jsonTable.success == true ) then
        Tk:trace("Getting Temperatures with success");
        FreeboxObject._temperatures = jsonTable.result or {};
        _return = true;
      else
        Tk:trace("Getting Temperatures failed");
      end
    else
      Tk:trace("status: "..status);
    end
  else
    Tk:trace("Communication error");
  end
  return _return;  
end

Et pareil pour la variable _temperatures ainsi que le rafraîchissement du label :

if (GetTemperatures()) then
  fibaro:call(FreeboxObject._selfId, "setProperty", "ui.lblTemperatures.value", (FreeboxObject._temperatures.data[1].temp1/10)..", "..(FreeboxObject._temperatures.data[1].temp2/10)..", "..(FreeboxObject._temperatures.data[1].temp3/10).."°C");
end

Bien sà»r il faut rajouter les label dans avec les ID lblDisk et lblTemperatures

 

Voilà  !

 

Ah oui et sinon Krikroff, "failed", il n'y a qu'un "l" !

Lien vers le commentaire
Partager sur d’autres sites

Salut bbart, merci pour la coquille (avec 2 "l") :P et merci pour cette contribution :) . Mais...
 
C'est dommage j'ai déjà  implémenté la température du HDD et l 'espace libre au périphérique virtuel, mais il était trop tard pour faire les modifications sur l'article de Sébastien. En revanche un membre du fofo ici, i-magin pour ne pas le nommer est bêta testeur du VD.
 
Je tiens d'ailleurs à  le remercier pour sa disponibilité et sa gentillesse: Merci JJ :60:
 
Voici une capture de la version dans l'état actuel mais d'autres choses sont aussi en cours...
 

gallery_3_49_16194.png

 

 

Lien vers le commentaire
Partager sur d’autres sites

Il faut renseigner dans le code LUA l'adresse mac d'un périphérique wifi + un seuil d'inactivité (ici threshold), ensuite les boutons Wifi dev 1 et Wifi dev 2 permettent de vérifier si ces périphériques sont listés comme actifs ou pas (ex: smartphone, tablette, objet connecté). Dans la version à  venir des variables globales serviront pour persister l'état.

 

le code ressemble à  cela:

  _wifiDevice = {
    {
      -- Wifi device #1 which can be searched
      mac = "60:FA:44:95:7B:22", 
      threshold = 1200,
      lastActivity = 0
    }
  }

Tu seras le premier informé ;)

Lien vers le commentaire
Partager sur d’autres sites

Non ce n'est pas du ping c'est vraiment une interrogation de la liste des périphériques réseau (Wif-Fi ici les baux actifs) de la Freebox, en revanche toujours le problème avec IOS qui sort du réseau rapidement après une veille.

 

Bonne idée l'affichage du dernier appelant ;).

Lien vers le commentaire
Partager sur d’autres sites

L'adresse pour le freebox serveur c'est soit mafreebox.freebox.fr ou freebox-server.local ou l'adresse IP ...

Bien vérifier si le plugin est autorisé sur la freebox ;)

Lien vers le commentaire
Partager sur d’autres sites

Bon, merci à  vous de m'avoir répondu, mais a priori j'arrive toujours pas à  me connecter au serveur.

 

J'ai essayé les différentes adresse données ci-dessus, même l'IP que j'ai retrouvé dans les paramètres d'accès distant de ma freebox, avec ou sans port. 

 

J'ai mis ces adresse dans l'onglet Adresse IP : 78.247.6.**

 

je suis retourné voir mes variables, mais j'ai rien trouvé...il doit y avoir un truc que j'ai dà» loupé.

Lien vers le commentaire
Partager sur d’autres sites

...l'adresse en 78.xxx.xxx.xxx.xxx c'est ton adresse publique, il faut utiliser mafreebox.freebox.fr ou ton adresse en loc. qui doit être un truc comme 192.168.1.254 pour la freexbox. As tu vérifié depuis l'interface de la free si le plug est bien identifié ?

Lien vers le commentaire
Partager sur d’autres sites

Super que ça marche ! En même temps c'est vrai que la procédure est un peu lourde, vivement les plugins de la V4, enfin j'espère...

 

Bientôt une nouvelle release ;).

Lien vers le commentaire
Partager sur d’autres sites

il suffirait simplement de dire on l'on met son Ip local de la freebox, dans le code Lua de "main loop" ainsi que la ligne. Car pour un débutant c'est pas évident.

 

Un autre phénomène, sur iphone je ne vois toutes les données, elles sont partiellement masquées. Celles des données débit :

 

med_gallery_25_48_179319.jpg

Lien vers le commentaire
Partager sur d’autres sites

Pour info un peu hors sujet car pas liée au plugin mais interessant: depuis le dernier firmware du freebox player, la commande power est envoyée àla TV via l'HDMI quand on allumer le player avec la télécommande, du coup en ayant un virtual device avec les commandes de la télécommande on peut envisager une petite scène pour le matin au ptit dej, style allume les lumières, fait chauffer l'eau, allumer la télé :D

Lien vers le commentaire
Partager sur d’autres sites

Moi j'attends la freebox v7. Me faire payer 90€ pour avoir la révolution alors que je viens d'être dégroupé, ça me fait chier, surtout que Niel est dans les starting-blocks pour annoncer mieux qu'une révolution parait-il ! Krikroff je compte sur toi pour développer un plugin pour la v7 hein :)

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...