Différences entre les versions de « API V3 »

De GCE Electronics
Aller à la navigation Aller à la recherche
(Page créée avec « API IPX800 V3 »)
 
Ligne 1 : Ligne 1 :
API IPX800 V3
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

Version du 29 avril 2018 à 09:11

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