API V3

De GCE Electronics
Aller à la navigation Aller à la recherche
Listes des différentes commandes M2M et HTTP pour IPX800

Auteur: Patrick Gorce / Lionel Février Original du 28/11/2011 Mise à jour le 03/02/2014 Compte tenu de l’évolution constante de nos produits certaines commandes peuvent etre sans effet. Contactez le support au 0811034813 (Coût d’un appel local depuis un poste fixe)

support@gce-electronics.com

PROTOCOLE DE COMMUNICATION M2M IPX800 (mode serveur) 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 API IPX800 - GCE Electronics - copyright 2014

• • 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. API IPX800 - GCE Electronics - copyright 2014 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). _____________________________________________________________________________ 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? 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 API IPX800 - GCE Electronics - copyright 2014 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 API IPX800 - GCE Electronics - copyright 2014 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

O= 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