API V3

De GCE Electronics
Aller à la navigation Aller à la recherche


API IPX800 V3

IPX800-V3 Presentation.png
Nom API IPX800 V3
Famille IPX800 V3

Présentation

définition M2M

définition API HTTP






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

• • 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


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