Différences entre les versions de « API V3 »
Ligne 15 : | Ligne 15 : | ||
==PROTOCOLE DE COMMUNICATION M2M IPX800 (mode serveur)== | ==PROTOCOLE DE COMMUNICATION M2M IPX800 (mode serveur)== | ||
===Liste des commandes M2M=== | |||
Les ordres sont envoyées par trame TCP/IP sur le port TCP 9870 (par défaut). | Les ordres sont envoyées par trame TCP/IP sur le port TCP 9870 (par défaut). | ||
Ligne 114 : | Ligne 116 : | ||
exemple en PHP | exemple en PHP | ||
==API HTTP== | ==API HTTP== |
Version du 29 avril 2018 à 08:51
| |||
---|---|---|---|
Nom | API IPX800 V3 | ||
Famille | IPX800 V3 |
Présentation
définition M2M
définition API HTTP
PROTOCOLE DE COMMUNICATION M2M IPX800 (mode serveur)
Liste des commandes M2M
Les ordres sont envoyées par trame TCP/IP sur le port TCP 9870 (par défaut).
Le numéro de port peut être changer via l'interface web de l'IPX800.
Les commandes doivent être envoyées par un client TCP.
• Commander une sortie : Set
Paramètres :
Setxxy ou xx est le numéro de sortie de 01 à 32 et y l’état de la sortie 0 = Off et 1 = On
Pour mettre le relais 1 à 1 le code commande est Set011
Pour commander la sortie en mode impulsionnel il faut ajouter le symbole p en fin de chaine et
avoir été définit les délais Ta et Tb dans l’interface WEB de l’IPX800.
Pour mettre le relais 1 à 1 en mode impulsionnel le code commande est Set011p
• Commander les sorties simultanément : Bit=
Le mode bitmask vous permet de définir avec une seule commande l’état que doivent prendre des 32 sorties.
Le code Bit= doit etre suivi des 32 états des sorties (0 ou 1)
Bit=00000000000000000000000000000000 Met les 32 sorties à 0
Bit=11111111111111111111111111111111 Met les 32 sorties à 1
• • Obtenir l‘état d’une entrée: GetIn
Paramètres :
GetInx ou x est ne numéro de l’entrée de 1 à 32
GetIn1 permet d’obtenir l’état de l’entrée 1. L’IPX800 répond GetIn1=0 (Valeur 0 ou 1 en fonction de l’état de l‘entrée).
• Obtenir l‘état de toutes les entrées : GetInputs
Paramètres :
GetInputs permet de recevoir dans une seule trame l’état des 32 entrées digitales.
Réponse de l’IPX800: GetInputs=00000000000000000000000000000000 (Le dernier caractère reçu correspond à l’entrée 32)
• Obtenir l‘état d’une entrée analogique : GetAn
Paramètres :
GetAnx ou x est le numéro de l’entrée analogique de 1 à 4
GetAn1 permet de recevoir l’état de l’entrée analogique 1. Réponse de l’IPX800 GetAn1=512 (valeur de 0 à 1023)
• Obtenir l‘état d’un compteur d’implusion : GetCount
Paramètres :
GetCountx ou x est le numéro de compteur (de 1 à 3)
GetCount1 renvoi la valeur du compteur 1. Réponse de l’IPX GetCount1=0 (Compteur 32 Bits soit une valeur de 0 à 4294967295)
• Obtenir l‘état d’une sortie: GetOut
Paramètres :
GetOutx ou x est le numéro de la sortie (de 1 à 32).
GetOut1 renvoi la valeur de la sorite 1. Réponse de l’IPX800 GetOut1=1 (Valeur 0 ou 1 en fonction de l’état de la sortie).
• Obtenir l‘état de toute les sorties: GetOutputs
Paramètres :
GetOutputs permet de recevoir dans une seule trame l’état des 32 sorties. Réponse de l’IPX800: GetOutputs=00000000000000000000000000000000 (Le dernier caractère reçu correspond à la sortie 32)
• Remise à zéro des compteurs: ResetCount
Paramètres :
ResetCountx ou x est le numéro du compteur à remettre à zéro.
ResetCount1 remet le compteur 1 à zéro. Réponse de l’IPX800: Success
• Reset système de l’IPX800 Reset
Paramètres :
Reset L’envoi de cette commande provoque le redémarrage de l’IPX800 (Reboot).
Utilisation du M2M
exemple avec client TCP ( type PUTTY)
exemple en PHP
API HTTP
Listes des différentes commandes HTTP
En fonction du modèle et de la révision de firmware, certaines commandes peuvent ne pas être pris en compte.
• Simuler une entrée : http://IPX800_V3/leds.cgi?
Paramètres :
led=x où x est le numéro de l'entrée, de 100 à 131.
On pourra donc, de la sorte, commander les entrées 9 à 32 (108 à 131 dans la commande http) même si les extensions X880 ne sont pas présentes physiquement. Pratique pour créer des assignations virtuelles !
• Réinitialiser un timer : http://IPX800_V3/protect/timers/timer1.htm?
Paramètres :
erase=x où x est le numéro du timer à effacer, de 0 à 127.
• Programmer un timer : http://IPX800_V3/protect/timers/timer1.htm?
utilisation
exemple par navigateur (URL simple)
exemple PHP
Paramètres :
timer=x où x c'est le numéro du timer concerné, de 0 à 127
day=x où x est le jour concerné de 0 à 6 (lundi à dimanche), 7 pour tous les jours, 8 pour les jours travaillés (lundi à vendredi) et 9 pour les weekends.
time=HH%3AMM où HH représente les heures et MM les minutes de l'horaire choisi
relay=x où x est le numéro de sortie assignée, de 0 à 31, ou de compteur assigné, de 32 à 34.
action=x où x est le numéro d'action avec 0=off, 1=on, 2=inversion, 3=impulsion, 4=annulation du timer (valeur vide) et 7=pour réinitialiser les compteurs.
• Commander une sortie : http://IPX800_V3/leds.cgi?
Paramètre :
led=x avec x le numéro de la sortie, de 0 à 31.
Cette syntaxe permet la commande directe d'une sortie. Cette syntaxe commandera une impulsion si la sortie concernée a été préréglée avec au moins un Tb non nul dans le site embarqué de l'IPX. Sinon la commande inversera tout simplement l'état de la sortie, comme un télérupteur.
• Commander une sortie sans mode impulsionnel : http://IPX800_V3/preset.htm?
Paramètre :
setx=1 ou 0 où x le numéro de la sortie de 1 à 32.
Cette syntaxe permet de commander un état de sortie, c'est-à-dire on pour 1 ou off pour 0. Nous avons donc là une sorte d'interrupteur.
Avantage de cette commande : elle peut tout de même s'appliquer à une sortie préréglée en mode impulsionnel. Par conséquent, pour une telle sortie un "led" lancera une impulsion alors qu'un "set" forcera un état on ou off sans impulsion.
• Gérer un compteur et sa valeur : http://IPX800_V3/protect/assignio/counter.htm?
Paramètres :
counternamex=NOUVEAUNOM permet de renommer le compteur x, de 1 à 3
counterx=123 permet de forcer une valeur au compteur x
Commande très pratique pour faire une remise à zéro par exemple.
• Gérer la configuration d'une sortie : http://IPX800_V3/protect/settings/output1.htm?
Paramètres :
output=x où x est le numéro de sortie concernée, de 1 à 32
relayname=LumiereTerrasse avec ce paramètre on peut modifier le nom de la sortie
delayon=x il s'agit là du Ta où x exprime, en dixième de seconde, le temps de retard avant mise à on, valeur max 65535 soit un peu plus de 1h49
delayoff=y le Tb où y, en dixième de seconde, le temps de maintien avant remise à off de l'impulsion, valeur max idem Ici nous pouvons modifier "à la volée" n'importe quelle configuration de sortie : son nom et même le Ta et le Tb, on peut donc rendre une sortie impulsionnelle ou à l'inverse arrêter le mode impulsionnel en remettant un Ta et un Tb nuls.
• Gérer la configuration d'une entrée numérique : http://IPX800_V3/protect/assignio/assign1.htm?
Paramètres :
input=x où x est le numéro d'entrée concernée, de 0à 31
inputname=Inter1 avec ce paramètre on peut modifier le nom de l'entrée
lx=1 ce petit L permet de choisir une sortie assignée (x de 0 à 31)
mode=x là c'est le mode d'assignation où x = 0 pour on/off, 1 pour switch, 2 pour VR, 3 pour on et 4 pour off.
inv=1 si nécessaire, permet d'inverser la logique d'entrée.
• Gérer la configuration d'une entrée analogique : http://IPX800_V3/protect/assignio/analog1.htm?
Paramètres :
analog=x où x est le numéro de l'entrée concernée, de 0 à 3
name=Temperature permet de renommer l'entrée
selectinput=4 permet de choisir un type de capteur avec 0=valeur brute, 1=tension, 2=TC4012, 3=SHT-X3 lumière, 4=SHT-X3 température et 5=SHT-X3 humidité
hi=x où x est la valeur brute de seuil haut
mhi=0 ou 1 pour off ou on, il s'agit là de l'action sur la ou les sortie(s) assignée(s), paramètres lka
lo=696
mlo=0 ou 1 pour off ou on, il s'agit de l'action sur la ou les sortie(s) assignée(s)
lkax=1 permet de choisir une sortie assignée (x de 1 à 8)
• Programmer le ping watchdog : http://IPX800_V3/protect/settings/ping.htm?
Paramètres :
pingip=xxx.xxx.xxx.xxx permet de choisir l'adresse IP à "pinguer"
pingtime=x où x est le nombre de secondes pour l'intervalle des tentatives de ping
pingretry=x où x est le nombre d'essais de ping avant commande de la sortie choisie
prelay=x où x est la sortie assignée de 0 à 31
Formulaire XML
Un formulaire XML vous permet de récupérer l’état des entrées/sorties de l’IPX800
Celui-ci est disponible à l’adresse http://ipx800_v3/globalstatus.xml
Inclure des étiquettes dans les notifications
Il est possible d’inclure des étiquettes de l’IPX800 en utilisant le signe $ pour inclure des valeurs dans les notifications.
Exemple d’url pour renvoyer l’adresse MAC et les 32 entrées en bitmask vers un serveur distant.
Syntaxe: 192.168.1.100/mapage.htm?data=$M&$I
Dans ce cas $M sera remplacé par l’adresse Mac et $I par l’état des 32 entrés.
Résultat: 192.168.1.100/mapage.php?data=00:04:A3:87:00:1F&00000000000000000000000000000000
Liste des étiquettes disponibles:
M = Adresse MAC
$M (renvoi la mac adresse)
I = INPUTS
$I renvoi l'état des 32 Entrées $I1 renvoi seulement l'état de l'entrée 1 $I32 renvoi seulement l'état de l'entrée 32
O= OUTPUTS
$O renvoi l'état des 32 sorties $O1 renvoi seulement l'état de la sortie 1 $O32 renvoi seulement l'état de la sortie 32
A= ANALOG
$A renvoi l'état des 16 entrées analogiques $A1 renvoi l'état de l'entrée analogique 1 $A16 renvoi l'état de l'entrée analogique 16
C = COMPTEUR
$C renvoi l'état des 8 compteurs $C1 renvoi l'état du compteur 1 $C8 renvoi l'état du compteur 8