problème création d'un plugin

Discussion et échanges de scripts pour la box eedomus

problème création d'un plugin

Messagepar wally.kng » 27 Oct 2018 16:57

Bonjour,

Nouveau sur Eedomus mais n'ayant peur de rien je me lance dans la création d'un plugin.

Le but de ce plugin est de récupérer des infos sur ma freebox V5 qui ne dispose pas d'une API WEB. je fais donc un script qui vient parser la page web http://mafreebox.freebox.fr/pub/fbx_info.txt qui contient plusieurs infos dont les débits ATM.

Ce que je veux faire:
  • avoir un périph "débit down" et un autre "débit up" (pour l'instant)
  • ne faire l'exécution du script qui cherche les infos qu'une fois à chaque refresh et donc rafraichir les 2 périph en "un coup"

J'ai donc fait un plugin qui déclare 2 périph, l'un comme capteur HTTP qui déclenche le script et l'autre en tant qu'état virtuel dont la valeur sera mise à jour par le script.

Mes deux périph sont créés mais:
  • j'ai besoin du code API du 2ème pour le passer dans l'URL d'appel du script du 1er pour que ce script puisse faire un setValue après avoir extrait la valeur utile
  • j'essaye de passer ce code api avec la syntaxe suivante : plugin.devices._upspeed_atm (nom du device dans le json)
  • à l'arrivée plugin.devices._upspeed_atm est vide (je n'ai rien dans mon url en lieu et place de ce paramètre)

Est-ce qu'il est possible de connaitre et récupérer le code API qui va être affecté à un périphérique lors de la création de plusieurs périphériques liés?

ci-dessous le JSON:
Code : Tout sélectionner
{
   "plugin_id": "freeboxv5srv",
   "name_fr": "Freebox Serveur V5",
   "name_en": "Freebox Server V5",
   "icon": "fbx_v5.png",

   "version": "0.1",

   "creation_date": "2018-10-27",
   "modification_date": "2018-10-27",
   "author": "Walter Koenig",

   "description_fr": "Récupération des données réseau sur le boitier ADS Freebox V5",
   "description_en": "Read networdk data from Freebox V5 ADSL modem",

   "parameters": [{
         "parameter": "polling",
         "description": "Féquence de rafraichissement (min)",
         "default_value": "1",
         "xtype": "numberfield",
         "field": "minValue:0, allowDecimals:false, allowBlank: false"
      },
      {
         "parameter": "box_atm_up",
         "description": "Débit ATM montant :",
         "xtype": "checkbox",
         "field": "style: 'margin-top: 6px;', checked: true"
      }
   ],

   "scripts": [
      {
         "name": "fbx_parse.php"
      }
   ],

   "devices": [
      {
         "device_id": "_downspeed_atm",
         "module_id": "51",
         "type": "http",
         "name_fr": "Débit ATM descendant",
         "icon": "down.png",
         "utilisation_id": "35",
         "value_type": "float",
         "value_unit": "kb/s",
         "default_value": "0",

         "parameters": {
            "value_type": "float",
            "ignore_errors": 3,
            "RAW_URL": "http://localhost/script/?exec=fbx_parse.php&box_atm_up=plugin.parameters.box_atm_up&atm_up=[plugin.devices._upspeed_atm]",
            "RAW_XPATH": "",
            "POLLING": "plugin.parameters.polling"
         }
      },
      {
         "create": "plugin.parameters.box_atm_up",
         "device_id": "_upspeed_atm",
         "parent_id": "_downspeed_atm",
         "module_id": "11",
         "name_fr": "Débit ATM montant",
         "icon": "up.png",
         "utilisation_id": "35",
         "value_type": "float",
         "value_unit": "kb/s",
         "default_value": "0",

         "parameters": {
            "value_type": "float"
         }
      }
   ]
}


Est-ce que quelqu'un sait faire?
Merci d'avance
wally.kng
 
Messages : 5
Inscription : 18 Oct 2018

Re: problème création d'un plugin

Messagepar wally.kng » 27 Oct 2018 18:00

La persévérance est la meilleure des qualités :D

En fait cela fonctionne mais en inversant les 2 périphériques dans le JSON. Il est traité du début à la fin, le 2ème périph n'était donc pas encore créé => chaine vide !

Bon, maintenant ça me pose un autre problème. Ce périph "débit up" devait être optionnel et avoir "débit down" comme parent.
Mais comme "débit down" est maintenant créé après je ne peux plus...

A moins qu'il n'y ai mieux je vais contourner en me créant un autre état qui sera toujours créé et sera le père des deux autres...
wally.kng
 
Messages : 5
Inscription : 18 Oct 2018


Retour vers Scripts & Périphériques du store

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 65 invité(s)