API V3
| |||
---|---|---|---|
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