Différences entre les versions de « API EDRT »
(10 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 535 : | Ligne 535 : | ||
=='''Utilisation de M2M'''== | =='''Utilisation de M2M'''== | ||
Sur l'EDRT2, vous devez auparavant activer le protocole M2M. | |||
En Administrateur, ouvrez le menu Système / API / | |||
activez M2M et notez le port de communication : | |||
[[Fichier:EDRT2_M2M.png|border|500px]] | |||
==='''M2M par un Client TCP'''=== | ==='''M2M par un Client TCP'''=== | ||
Ligne 647 : | Ligne 653 : | ||
* si l'accès est non protégé, vous devez valoriser la variable ''$EDRT_RESTREINT'' à '''false'''<br> | * si l'accès est non protégé, vous devez valoriser la variable ''$EDRT_RESTREINT'' à '''false'''<br> | ||
Pour vérifier l'état de la protection, rendez vous dans le menu | Pour vérifier l'état de la protection, rendez vous dans le menu Système / Sécurité,<br> | ||
Pour l'exemple ci-dessous, nous récupérons | Pour l'exemple ci-dessous, nous récupérons | ||
* la valeur | * la valeur de la température mesurée par l'extension X-THL n°1. Cette valeur est contenue entre les balises <span style="color:#C23A80;"><xths01></span> et <span style="color:#C23A80;"></xths01></span> | ||
<source> | <source> | ||
<?php | <?php | ||
Ligne 679 : | Ligne 685 : | ||
if ( $edrt_available ) { | if ( $edrt_available ) { | ||
$edrt_status = @simplexml_load_file($EDRT_URL); | $edrt_status = @simplexml_load_file($EDRT_URL); | ||
//Récupération de la | //Récupération de la température sur X-THL n°1 | ||
$ | $EDRT_temp01 = $edrt_status->xths01; | ||
echo "La | echo "La température de X-THL1 est {$EDRT_temp01}<br>"; | ||
} | } | ||
?> | ?> | ||
</source> | </source> |
Version actuelle datée du 1 juillet 2018 à 10:02
API v2.00.33
Introduction
| |||
---|---|---|---|
Nom | API EcoDevice RT2 | ||
Famille | EcoDevice RT2 |
- L'ensemble de l'API est protégée par une clef secrète. Par défaut, cette clef est : « apikey ». Elle est bien sur paramétrable et il est également possible de supprimer cette protection.
Lors de l'utilisation de l'API M2M, la clef n'est demandée qu'une seule fois par connexion. Cependant, lors de l'utilisation de l'API Json, il sera nécessaire de renseigner cette clef à chaque commande.
Pour cela, dans tous les cas, il vous suffira de la placer en premier argument de la manière suivante :
« key=apikey ».
Les requêtes Json commenceront donc de la manière suivante :
« http://EcoDevices_RT/api/xdevices.json?key=apikey&... ». Elles pourront également comprendre plusieurs commandes à la fois (même si cela aura un impact sur la réponse).
Enfin, les requêtes de l'API M2M devront être effectuées après une connexion TCP client (port 9870 par défaut). Cette connexion ne sera cependant possible qu'après l'activation du M2M (menu « http://EcoDevices_RT/admin/m2m.htm »). Un message « key=apikey » devra ensuite être envoyé afin de s'authentifier. Chaque message sera porteur d'une seule commande.
Lorsque la clef est désactivée, l'argument « key » est inutile.
Le tableau suivant récapitule les commandes disponibles dans les deux API. Ces commandes sont générales, elles peuvent être utilisées sur l'une ou l'autre des API (même si le format des trames n'est pas tout à fait le même). Les réponses sont, quant à elles, différentes et seront ensuite détaillées API par API
Remarque : :les en-têtes des réponses peuvent être supprimés dans les réponses de l'API M2M. La réponse type à un Get=R serait alors directement une suite de '0' ou '1' sans rien avant (cet exemple s'applique a toutes les réponses types).
Commandes
Commande | Argument | Paramètre(s) | Exemple(s) |
---|---|---|---|
Set (commande permettant de mettre à 1 l'état d'un élément de l'EcoDevices RT ou de modifier la valeur de ce dernier) |
R (les sorties relais de l'Eco Devices RT et des extensions) |
- xx : numéro de la sortie entre 01 et 10 | SetR=01 (met le relais 1 à 1) SetR=10 (relais 10 à 1) |
VO (les sorties virtuelles) |
- xxx : numéro de la sortie virtuelle entre 0x1 et 128 | SetVO=001 (met la sortie virtuelle 1 à 1) SetVO=128 (sortie 128 à 1) | |
C (les compteurs) |
- xx : numéro du compteur de 01 à 12 - l'opérateur (optionnel, lorsqu'il n'y en a pas, il s'agit d'une modification directe du compteur) qui peut être '+' (incrémentation) ou '-' (décrémentation) - y : la valeur de modification (de 0 à 255) |
SetC01=0 (met le compteur 1 à 0) SetC08=+2 (incrémente le compteur 8 de 2) SetC12=-200 (décrémente le compteur 12 de 200) | |
- l'opérateur (optionnel, lorsqu'il n'y en a pas, il s'agit d'une modification directe du compteur) qui peut être '+' (incrémentation) ou '-' (décrémentation) - y : la valeur de modification SetC=0 (met l'ensemble des compteurs à 0) |
SetC=+50 (incrémente l'ensemble des compteurs de 50) SetC=-150 (décrémente l'ensemble des compteurs de 150) | ||
FP (extension Fil Pilote) |
- xx : le numéro de la zone souhaité de 00 à 08 (de 01 à 04 pour la première extension, de 05 à 08 pour la seconde, 00 permettant le pilotage de l'ensemble des zones) -y : la commande : 0 pour confort, 1 pour Eco, 2 pour Hors Gel, 3 pour Arrêt, 4 pour Confort -1 et 5 pour Confort -2 |
SetFP00=1 (met l'ensemble des zone en ECO) SetFP05=3 (arrête la zone 1 de la seconde extension) | |
EnoPC (Actionneur Enocean) |
X : le numéro de l'actionneur de 1 à 24 | SetEnoPC=8 (actionneur 8 à 1) | |
Clear (commande permettant de mettre à 0 l'état d'un élément de l'EcoDevices RT) |
R (les sorties relais de l'EcoDevices RT et des extensions) |
- xx : numéro de la sortie entre 01 et 10 | ClearR=02 (met le relais 2 à 0) ClearR=10 (relais 10 à 0) |
VO (les sorties virtuelles) |
- xxx : numéro de la sortie virtuelle entre 001 et 128 | ClearVO=002 (met la sortie virtuelle 1 à 0) ClearVO=127 (sortie 127 à 0) | |
EnoPC (Actionneur Enocean) |
X : le numéro de l'actionneur de 1 à 24 | ClearEnoPC=7(Actionneur 7 à 0) | |
Toggle (commande permettant de faire un switch de l'état d'un élément de l'EcoDevices RT) |
R (les sorties relais de l'EcoDevices RT et des extensions) |
- xx : numéro de la sortie entre 01 et 10 | ToggleR=03 (toggle le relais 2) ToggleR=10 (toggle le relais 10 à 0) |
VO (les sorties virtuelles) |
- xxx : numéro de la sortie virtuelle entre 001 et 128 ToggleVO=003 (toggle la sortie
virtuelle 3) |
ToggleVO=127 (sortie 127 à 0) | |
EnoPC (Actionneur Enocean) | X : le numéro de l'actionneur de 1 à 24 | ToggleEnoPC=3 (toggle l'actionneur 3) | |
BitMask (commande permettant de modifier l'état d'un groupe d'élément de l'EcoDevices RT) |
R (les sorties relais de l'Eco Devices RT et des extensions) |
- les états (par groupe de huit) des relais correspondants. Il peut y avoir de 2 à 10 états (EcoDevices_RT + 1 extensions) dans la même commande. | BitMaskR=00 (pilote les 2 relais de l'EcoDevices RT) BitMaskR=0000000000 (pilote les 2 relais de l'EcoDevices RT et les 8 de l'extension) |
VO | - les 128 états | BitMaskVO=00000000000000000000000000000000...000 (pilote les 128 sorties virtuelles) | |
Index (commande permettant de connaître les index globaux de l'Eco Devices RT) |
C (commande permettant d'obtenir l'index des 12 compteurs de l'Eco Devices RT) |
/ | Index=C API JSON http://EcoDevices_RT/api/xdevices.json?Index=C (sans clef) |
T (commande permettant d'obtenir l'index des 16 tores de l'Eco Devices RT et des extensions même non câblées) |
/ | Index=T API JSON http://EcoDevices_RT/api/xdevices.json?Index=T (sans clef) | |
E (commande permettant d'obtenir l'ensemble des index de télé-information EDF disponible sur l'Eco Devices RT) |
/ | Index=E API JSON http://EcoDevices_RT/api/xdevices.json?key=apikey&Index=E (avec clef) | |
P (commande permettant d'obtenir les index de l'ensemble des postes de l'Eco Devices RT) |
/ | Index=P API JSON http://EcoDevices_RT/api/xdevices.json?Index=P (sans clef) | |
S (commande permettant d'obtenir les index de l'ensemble des souspostes de chaque poste de l'Eco Devices RT) |
/ | Index=S API JSON http://EcoDevices_RT/api/xdevices.json?key=apikey&Index=S (avec clef) | |
all (commande permettant d'obtenir tous les index de l'Eco Devices RT)Cette commande est uniquement disponible en JSON ! |
/ | Index=all http://EcoDevices_RT/api/xdevices.json?Index=all (sans clef) | |
DIndex (commande permettant de connaître les index du jour de l'Eco Devices RT) | P (commande permettant d'obtenir les index journaliers de l'ensemble des postes de l'Eco Devices RT) |
/ | DIndex=P API JSON http://EcoDevices_RT/api/xdevices.json?key=apikey&DIndex=P (avec clef) |
S (commande permettant d'obtenir les index journaliers de l'ensemble des sous-postes de chaque poste de l'Eco Devices RT) |
/ | DIndex=S API JSON http://EcoDevices_RT/api/xdevices.json?key=apikey&DIndex=S (avec clef) | |
Price (commande permettant de connaître les cumuls globaux de prix de l'Eco Devices RT) |
C (commande permettant d'obtenir le cumul de prix des 12 compteurs de l'Eco Devices RT) |
/ | Price=C API JSON http://EcoDevices_RT/api/xdevices.json?Price=C (sans clef) |
T (commande permettant d'obtenir le cumul de prix des 16 tores de l'Eco Devices RT et des extensions même non câblées) |
/ | Price=T API JSON http://EcoDevices_RT/api/xdevices.json?key=apikey&Price=T (avec clef) | |
E (commande permettant d'obtenir l'ensemble des cumuls de prix de télé-information EDF disponible sur l'Eco Devices RT) |
/ | Price=E API JSON http://EcoDevices_RT/api/xdevices.json?Price=E (sans clef) | |
P (commande permettant d'obtenir les cumuls de prix de l'ensemble des postes de l'Eco Devices RT) |
/ | Price=P API JSON http://EcoDevices_RT/api/xdevices.json?key=apikey&Price=P (avec clef) | |
S (commande permettant d'obtenir les cumuls de prix de l'ensemble des sous-postes de chaque poste de l'Eco Devices RT) |
/ | Price=S API JSON http://EcoDevices_RT/api/xdevices.json?Price=S (sans clef) | |
all (commande permettant d'obtenir tous les cumuls de prix de l'Eco Devices RT) Cette commande est uniquement disponible en JSON ! |
/ | Price=all API JSON http://EcoDevices_RT/api/xdevices.json?Price=all (sans clef) | |
DPrice (commande permettant de connaître les cumuls globaux de prix de l'Eco Devices RT) |
P (commande permettant d'obtenir les cumuls de prix journalier de l'ensemble des postes de l'Eco Devices RT) |
/ | DPrice=P API JSON http://EcoDevices_RT/api/xdevices.json?key=apikey&DPrice=P (avec clef) |
S (commande permettant d'obtenir les cumuls de prix journalier de l'ensemble des sous-postes de chaque poste de l'Eco Devices RT) |
/ | DPrice=S API JSON http://EcoDevices_RT/api/xdevices.json?DPrice=S (sans clef) | |
Get (commande permettant de connaitre l'etat d'un groupe d'element de l'EDRT) |
TI (commande permettant d'obtenir l'ensemble de la télé-information EDF disponible sur l'Eco Devices RT) |
/ | Get=TI API JSON http://EcoDevices_RT/api/xdevices.json?key=apikey&Get=TI (avec clef) |
P (commande permettant d'obtenir les valeurs
instantanées de l'ensemble des postes de l'Eco Devices RT) |
/ | Get=P API JSON http://EcoDevices_RT/api/xdevices.json?Get=P (sans clef) | |
S (commande permettant d'obtenir les valeurs instantanées de l'ensemble des sous-postes de chaque poste de l'Eco Devices RT) |
/ | Get=S API JSON http://EcoDevices_RT/api/xdevices.json?key=apikey&Get=S (avec clef) | |
R (commande permettant d'obtenir l'état des 10 relais de l'Eco Devices RT et des extensions même si elles ne sont pas câblées) |
/ | Get=R API JSON http://EcoDevices_RT/api/xdevices.json?key=apikey&Get=R (avec clef) | |
D (commande permettant d'obtenir l'état des 12 entrées digitales de l'Eco Devices RT et des extensions même si elles ne sont pas câblées) |
/ | Get=D API JSON http://EcoDevices_RT/api/xdevices.json?Get=D (sans clef) | |
VO (commande permettant d'obtenir l'état des 128 sorties virtuelles de l'EcoDevices RT) |
/ | Get=VO API JSON http://EcoDevices_RT/api/xdevices.json?Get=VO (sans clef) | |
C (commande permettant d'obtenir l'état des 12 compteurs de l'EcoDevices RT) |
/ | Get=C API JSON http://EcoDevices_RT/api/xdevices.json?Get=C (sans clef) | |
X (commande permettant d'obtenir l'état des éléments d'une extension, pour l'instant seule les périphériques Enocean et les X-THL sont intégrés) | xxx : le nom de l'extension (actuellement ne fonctionne qu'avec ENO et THL) |
Get=XENO API JSON http://EcoDevices_RT/api/xdevices.json?Get=XENO (sans clef) | |
FP (commande permettant d'obtenir l'état des 16 zones des différentes X4FP) |
/ | Get=FP API JSON http://EcoDevices_RT/api/xdevices.json?Get=FP | |
all (Commande dédiée) |
/ | Get=all API JSON http://EcoDevices_RT/api/xdevices.json?Get=all | |
Dall (Commande dédiée) |
/ | Get=Dall API JSON http://EcoDevices_RT/api/xdevices.json?Get=Dall | |
Reset | / | / | / |
Remarque : Pour les commandes Set, Clear et Toggle des relais, entrées et sorties virtuelles il est possible de mettre plusieurs paramètres séparés par une virgule comme dans l'exemple suivant :
« http://EcoDevices_RT/api/xdevices.json?key=apikey&SetR=01,02 » qui met les 2 relais de l' Eco Devices RT à 1.
Remarque pour l'API JSON uniquement : il faut ajouter « http://EcoDevices_RT/api/xdevices.json?key=apikey& »avant la commande donnée en exemple (cf. les exemples donnés pour la commande Get...). Les commandes peuvent également être ajoutées les unes après les autres (une seule commande Get prise en compte) en étant séparées par un & :
« http://EcoDevices_RT/api/xdevices.json?key=apikey&cmd1&cmd2 ».
Pour ajouter plusieurs commandes Get, il est possible de séparer les arguments par un caractère '|'
de la manière suivante :
« http://EcoDevices_RT/api/xdevices.json?key=apikey&Get=Arg1|Arg2|Arg3 ».
Cette commande est cependant à utiliser avec parcimonie afin de ne pas consommer trop de ressources. Le nombre d'argument est limité à 10 mais il n'est pas conseillé de dépasser les 5 arguments. Enfin, ce type de commande n'est pas compatible avec l'argument « X ».
Inclure des étiquettes dans les notifications (mail, push et GSM)
Il est possible d'inclure des étiquettes de l'EDRT dans vos push en utilisant le signe « $ ». Plusieurs étiquettes peuvent être inclues dans une même notification. Les exmples ci-dessous sont purement théorique, les nom de variable, de page ou autre sont libre.
Argument | Paramètre(s) optionnel(s) | Exemple | Retour |
---|---|---|---|
M l'adresse MAC |
/ | 192.168.1.100/mapage.htm?data=$M | 192.168.1.100/mapage.htm?data=00:04:A3:87:00:1F |
D les entrées digitales |
xx : le numéro de l'entrée digital (sans ce paramètre les 12 états des entrées sont renvoyées) compris entre 01 et 12. | 192.168.1.100/mapage.htm?data=$D01&$D | 192.168.1.100/mapage.htm?data=0&010101... |
R les relais |
xx : le numéro du relais (sans ce paramètre les 10 états des relais sont renvoyées) compris entre 01 et 10. | 192.168.1.100/mapage.htm?data=$R08&$R | 192.168.1.100/mapage.htm?data=1&010101... |
A les entrées analogiques |
xx : le numéro de l'entrée analogique (sans ce paramètre les valeurs des 4 entrées analogiques sont renvoyées) compris entre 01 et 04. | 192.168.1.100/mapage.htm?data=$A04&$A | 192.168.1.100/mapage.htm?data=200&10&20&30&200 |
C les compteurs |
xx : le numéro du compteur (sans ce paramètre les valeurs des 12 compteurs sont renvoyées) compris entre 01 et 16. | 192.168.1.100/mapage.htm?data=$C09&$C | 192.168.1.100/mapage.htm?data=20&10&20&30&... |
VO les sorties virtuelles |
xxx : le numéro de la sortie virtuelle (sans ce paramètre les 128 états des sorties virtuelles sont renvoyées) compris entre 001 et 128. | 192.168.1.100/mapage.htm?data=$VO008&$VO | 192.168.1.100/mapage.htm?data=1&010101... |
FP les états des zones fils pilotes |
xx : le numéro de la zone entre 01 et 16 (de 01 à 04 pour la première extension, de 05 à 08 pour la seconde, …, de 13 à 16 pour la 4). Sans ce paramètre les 16 états sont renvoyés | 192.168.1.100/mapage.htm?data=$FP01&$FP | 192.168.1.100/mapage.htm?data=Confort&Confort&Arrêt... |
XENO | xx : le numéro du périphérique souhaité entre 01 et 48 (de 01 à 24 pour les actionneurs ou wall-plug, de 25 à 48 pour les capteurs analogiques ( → ces derniers n'intègrent pas les compteurs
correspondant). Il est possible de remplacer ce paramètre par un 'A' pour obtenir tous les capteurs analogiques où un 'W' pour les Wall Plug. |
192.168.1.100/mapage.htm?data=$XENO08&$XENOA | 192.168.1.100/mapage.htm?data=1&25.2&65.5&.. |
THL lesétats des X-THL |
xx : le numéro de la valeur analogique entre 01 et 06 (de 01 à 03 pour la première extension, de 04 à 06 pour la seconde). La température étant en 1 et 4 l'humidité en 2 et 5 et la luminosité en 3
et 6. Sans ce paramètre les 6 états sont renvoyés |
192.168.1.100/mapage.htm?data=$THL01&$THL | 192.168.1.100/mapage.htm?data=25.2&25.2&13&.. |
TS TimeStamp |
/ | 192.168.1.100/mapage.htm?data=$TS | 192.168.1.100/mapage.htm?data=2017/01/16T14:52:30+01:00 |
IP les index des postes |
xx : le numéro du poste de 01 à 08. Sans ce paramètre les 8 postes sont renvoyés | 192.168.1.100/mapage.htm?data=$IP01&IP | 192.168.1.100/mapage.htm?data=2500&2500&25&.. |
IS les index des sous-postes |
xx: le numéro du sous poste allant de 01 à 64 (01 à 08 pour le poste 1, 09 à 16 pour le poste 2, …, 57 à 64 pour le poste 8. Sans ce paramètre, rien ne sera renvoyé. | 192.168.1.100/mapage.htm?data=$IS01 | 192.168.1.100/mapage.htm?data=1700 |
PP les prix courant des postes |
xx : le numéro du poste de 01 à 08. Sans ce paramètre les 8 postes sont renvoyés | 192.168.1.100/mapage.htm?data=$PP02&PP | 192.168.1.100/mapage.htm?data=1000&25&50.. |
PS les prix courant des sous-postes |
xx: le numéro du sous posute allant de 01 à 64 (01 à 08 pour le poste 1, 09 à 16 pour le poste 2, …, 57 à 64 pour le poste 8. Sans ce paramètre, rien ne sera renvoyé. | 192.168.1.100/mapage.htm?data=$PS25 | 192.168.1.100/mapage.htm?data=12.53 |
DIP les index journaliers des postes |
xx : le numéro du poste de 01 à 08. Sans ce paramètre les 8 postes sont renvoyés | 192.168.1.100/mapage.htm?data=$DIP08&DIP | 192.168.1.100/mapage.htm?data=2500&2500&25&.. |
DIS les index journaliers des sous-postes |
xx: le numéro du sous-poste allant de 01 à 64 (01 à 08 pour le poste 1, 09 à 16 pour le poste 2, …, 57 à 64 pour le poste 8. Sans ce paramètre, rien ne sera renvoyé. | 192.168.1.100/mapage.htm?data=$DIS64 | 192.168.1.100/mapage.htm?data=2.25 |
DPP les prix courant journaliers des postes |
xx : le numéro du poste de 01 à 08. Sans ce paramètre les 8 postes sont renvoyés | 192.168.1.100/mapage.htm?data=$DPP07&DPP | 192.168.1.100/mapage.htm?data=25.10&25.10&25&.. |
DPS les prix courant journaliers des sous-postes |
xx: le numéro du sous posute allant de 01 à 64 (01 à 08 pour le poste 1, 09 à 16 pour le poste 2, …, 57 à 64 pour le poste 8. Sans ce paramètre, rien ne sera renvoyé. | 192.168.1.100/mapage.htm?data=$DPS12 | 192.168.1.100/mapage.htm?data=2500&2500&25&.. |
TI les étiquettes de Téléinforamtion |
xx : le numéro de l'étiquette allant de 1 à 32 | 192.168.1.100/mapage.htm?data=$TI02 | 192.168.1.100/mapage.htm?data=HCHP |
P les valeurs instantanées des postes |
xx : le numéro du poste de 01 à 08. Sans ce paramètre les 8 postes sont renvoyés | 192.168.1.100/mapage.htm?data=$P01&P | 192.168.1.100/mapage.htm?data=3500&2500&25&.. |
S les valeurs instantanées des sous-postes |
xx: le numéro du sous posute allant de 01 à 64 (01 à 08 pour le poste 1, 09 à 16 pour le poste 2, …, 57 à 64 pour le poste 8. Sans ce paramètre, rien ne sera renvoyé. | 192.168.1.100/mapage.htm?data=$S42 | 192.168.1.100/mapage.htm?data=2500 |
Remarque : La taille des url ON et OFF de vos push ne doit pas dépasser les 220 caractères (avec caractères spéciaux pris en compte) même avec les retours liés aux étiquettes.
Description des fichiers status,xml et status,json
Des fichiers sont mis à disposition afin de récupérer les informations de l'EDRT depuis un élément IP. Ces fichiers sont protégés par les mots de passe utilisateur et administrateur. On les retrouve ainsi aux adresses IP suivantes :
- http://EcoDevices_RT/admin/status.xml
- http://EcoDevices_RT/admin/status.json
- http://EcoDevices_RT/user/status.xml
- http:// EcoDevices_RT/user/status.json
Ces fichiers contiennent tous les mêmes informations formaté au choix en XML ou en JSON
(certains caractères sont interdits en XML et peuvent donc entraîner des erreurs sur ces fichiers).
Voici un résumé des variables disponible et de leur signification :
Variable | Description |
---|---|
configmac | L'adresse MAC |
configip | L'adresse IP locale |
configport | Le port |
infofirm | La version de firmware |
date | La date interne |
heure | L'heure interne |
ionameXXX | Les noms des différents éléments de l'EDRT avec :
- le premier X : le type d'élément (1 pour les relais, 0 pour les entrées digitales, 3 pour les compteurs, 5 pour les tores) - les deux autres XX pour le numéro de l'élément (début à 0 tous les éléments sauf X-8R et X-8D qui commencent à 8) |
xthsXX | Les valeurs des X-THL avec :
- le premier X pour le numéro de l'extension (0 ou 1) - le second X : 1 pour la température, 2 pour l'humidité et 3 pour la luminosité. |
in | L'état des 12 entrées digitales |
rly | L'état des 10 relais |
rlyta | L'état des Ta (à 1 si un Ta est en cours) des relais |
vout | L'état des 128 sorties virtuelles |
voutta | L'état des Ta (à 1 si un Ta est en cours) des sorties relais |
eno | L'état des 24 actionneurs Enocean |
enoAXX | L'état des capteurs analogiques Enocean avec XX le numéro du capteur de
0 à 23 |
x4fpXX | L'état des X-4FP avec : -le premier X pour le numéro de l'extension (1 ou 2) |
etiquetteXX | Le label lié à l’étiquette de Téléinformation |
etiquetteECXX | Le retour de la Téléinformation |
indexXX | Renvoie l'index des étiquette de téléinformation interprétées en tant qu'index
de consommation |
posteX | Le nom des postes |
infoX | L'index et le prix correspondant des postes X suivant la période sélectionnée dans le site (année/mois/jour) |
instant | Les consommations instantanées des 8 postes séparées par des virgules |
ssposteXX | Le nom des sous-postes, - le premier X correspond au numéro du poste, - le second au numéro du sous-poste. |
sspencoursXX | La consommation instantanée des sous-postes, - le premier X correspond au numéro du poste, |
sspindexXX | L'index et des sous-postes suivant la période sélectionnée dans le site
(année/mois/jour), |
ssptodayXX | L'index journalier des sous-postes, - le premier X correspond au numéro du poste, |
trade | La tendance des 8 postes, 1 si la tendance est négative (plus de consommation que la période précédente) 0 dans le cas contraire |
mois | La consommation des 12 mois de l'année (en prix) séparé par des virgule. Cette variable correspond au graphique présent sur le dachboard principal. |
vref | L'offset de tension appliqué. La tension utilisée dans le produit est vmesure+vref |
vmesure | La tension mesuré par l'EDRT. La tension utilisée dans le produit est
vmesure+vref |
gsmco | Niveau de réseau Gsm de 0 à 3 |
gsmnetwork | Le nom du réseau auquel est connecté la X-GSM |
gsmpin | L'état de la carte SIM vis-à-vis du code pin |
ddnsstate | Le retour d'info fourni pas le DDNS |
periodeencours | La période tarifaire courante suivant les prix variable |
prixcourantXXXX | Le prix global avec le deux premiers X : 3 pour les compteurs, 5 pour les pinces ampèremétrique, 64 pour les index de téléinformation. |
indexcourantXXXX | L'index global avec le deux premiers X : 3 pour les compteurs, 5 pour les
pinces ampèremétrique, 64 pour les index de téléinformation. Les deux derniers X correspondent au numéro du compteur, de la pince ou de l'index de TIC respectivement de 0 à 11, de 0 à 15 et de 0 à 6. |
Utilisation de M2M
Sur l'EDRT2, vous devez auparavant activer le protocole M2M. En Administrateur, ouvrez le menu Système / API / activez M2M et notez le port de communication :
M2M par un Client TCP
Télécharger le client TCP ici
Installez le logiciel
Exécutez le programme.
Cochez le mode Client
renseignez l'adresse IP de l'EDRT2
renseignez le port (9870 par défaut)
cliquez sur Connecter
La connexion est établie. L'EDRT2 est en attente de la clé API
Pour vous authentifier sur l'EDRT2, entrez la clé API et cliquez sur Send. Vous devriez avoir un retour de l'EDRT2.
Time:22:41:9 - Received Data From Connection: 192.168.0.112-9870 0000: 53 75 63 63 65 73 73 0D 0A Success..
Saisissez une commande M2M. Par exemple SetR=01 pour passer la sortie Relais à l'état ON.
Time:22:43:21 - Received Data From Connection: 192.168.0.112-9870 0000: 53 75 63 63 65 73 73 0D 0A Success..
Vous pouvez également interroger l'EDRT2. Par exemple envoyez la commande Get=D afin de récupérer l'état des entrées digitales.
Pensez à vous déconnecter avant de quitter. (bouton "Close Connection")
M2M en Html et PHP
Il est possible de se connecter à l'EDRT2 via un script PHP et d'exécuter des commandes M2M à patir d'un serveur web.
Ecrivons d'abord un petit fichier Html qui comportera 2 boutons de commande afin de piloter un relais. Dans l'exemple ci-dessous, le script est enregistré sur mon serveur Web (192.168.0.9), dans un dossier M2M. Adaptez l'URL à vos besoins.
<html>
<body>
//utilisation de la commande SetR
Pilotage d'un relais sur EDRT2<br>
Sortie 2 : <a href=http://192.168.0.9/M2M/V4/M2M.php?commande=SetR=02>ON</a>
<a href=http://192.168.0.9/M2M/V4/M2M.php?commande=ClearR=02>OFF</a>
</body>
</html>
Créons le fichier M2M.php dans le même dossier Web que le fichier précédent.
L'accès en M2M est protégé par l'Api Key mise en place dans les paramètres de l'EDRT2.
Dans le script PHP ci-dessous, renseignez l'adresse IP de l'EDRT2 et l'api key pour authentification.
Renseignez le port si vous avez modifié la valeur par défaut (9870).
<?php
//Paramètres à ajuster
$ip_edrt="192.168.X.Y";
$port_M2M=9870;
$key_M2M='Api_Key'
//initialisation
$M2M_Cmd = $_GET["commande"];
//Heure d'éxécution du script
echo date("r");
//tentative ouverture Socket
error_reporting(E_ALL);
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket == false) { $texte .= "Echec du socket : " . socket_strerror(socket_last_error()) ; }
$result = socket_connect($socket, $ip_edrt, $port_M2M);
if ($result == false) { $texte .= "Echec de la connexion : " . socket_strerror(socket_last_error($socket)) ; }
//Envoi du mot de passe
$msg = 'key=' . $key_M2M;
socket_write($socket, $msg, strlen($msg));
$reponse = '<BR>'Login : ' . socket_read($socket, 64);
echo $reponse;
//Envoi commande M2M
$msg = $M2M_Cmd;
socket_write($socket, $msg, strlen($msg));
$reponse = '<BR>CMD : ' . socket_read($socket, 64);
socket_close($socket);
echo $reponse;
?>
Accès aux formulaires XML en HTML & PHP
Voici un exemple de script PHP que nous pouvons héberger sur un serveur Web.
Nous récupérons le formulaire status.xml hébergé par l'EDRT2 dans le dossier User.
L'accès à ce fichier est soumis à la même protection que l'interface Web de l'EDRT2.
- Si l'accès utilisateur est protégé, vous devez renseigner l'utilisateur et le mot de passe dans le script.
Vous devez valoriser la variable $EDRT_RESTREINT à true - si l'accès est non protégé, vous devez valoriser la variable $EDRT_RESTREINT à false
Pour vérifier l'état de la protection, rendez vous dans le menu Système / Sécurité,
Pour l'exemple ci-dessous, nous récupérons
- la valeur de la température mesurée par l'extension X-THL n°1. Cette valeur est contenue entre les balises <xths01> et </xths01>
<?php
// Variables à modifier dans ce script
$EDRT_IP = '192.168.X.Y' ; // Mettre ici l'adresse IP ou le nom DNS de l'EDRT
$EDRT_PORT = '80' ; // Mettre ici le port d'accès de l'EDRT - 80 par défaut
$EDRT_USER = 'user' ; // Mettre ici l'utilisateur pour l'accès restreint si activé sur EDRT
$EDRT_PWD = 'MotDePasse' ; // Mettre ici le mot de passe User pour l'accès restreint si activé sur EDRT
$EDRT_RESTREINT = false; //mettre true pour un accès restreint, false si accès non protégé
// URL résultante d'accès au status de l'EDRT
if ( $EDRT_RESTREINT ) {
$EDRT_URL = "http://{$EDRT_USER}:{$EDRT_PWD}@{$EDRT_IP}:{$EDRT_PORT}/user/status.xml";
} else {
$EDRT_URL = "http://{$EDRT_IP}:{$EDRT_PORT}/user/status.xml";
}
// Vérification de l'accessibilité de l'EDRT
$edrt_available= false ;
$edrt_check = @get_headers($EDRT_URL);
if (strpos($edrt_check[0],'200 OK') !== false ) { $edrt_available = true ; }
unset ($edrt_check );
// Si l'EDRT est accessible on l'interroge et on affiche le contenu "décodé"
if ( $edrt_available ) {
$edrt_status = @simplexml_load_file($EDRT_URL);
//Récupération de la température sur X-THL n°1
$EDRT_temp01 = $edrt_status->xths01;
echo "La température de X-THL1 est {$EDRT_temp01}<br>";
}
?>