L’IPX800v3 est un « petit » automate bien connu des bidouilleurs fous
Il dispose de sorties (Relais) , d’entrées analogiques et digitales.
On peut également y raccorder des extensions pour piloter des volets roulants, mesurer des consommations électriques, mesurer le niveau de Ph et de Chlore si on a une piscine … bref un vrai couteau suisse
Plus de détails sur ces cartes ici GCE Electronics: Domotique - Automatisme - Industrie
Cet automate possède également une API qui permet de piloter les sorties mais également de pouvoir récupérer les états associés aux différents capteurs.
La documentation de l’API se trouve ici GCE Electronics
Via cette API on peut donc intégrer l’IPX800v3 à notre Home Assistant
- Pilotage d’un relais
Pour la syntaxe extrait de la documentation API de GCE ci-dessous
Commander une sortie
La commande : 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.
On va utiliser l’intégration « Command line »
Cette intégration va nous permettre d’envoyer des requêtes Http.
Ajouter dans le configuration.yaml
switch:
- platform: command_line
switches:
ipx800_r1:
command_on: curl "http://192.168.0.25/leds.cgi?led=0"
friendly_name: Fermeture volet piscine
ATTENTION Il ne faut pas mettre de majuscule dans le nom des switches
On obtient donc un switch dans l’UI qui lors de l’appui sur « bouton ON » symbolisé par le petit éclair non barré enverra l’instruction au relais 1 de l’IPX800
Récupération de l’état des entrées analogiques :
L’API nous met à disposition les valeurs des entrées analogiques au format Json
Commande pour la récupération des Analogiques :
http://IPX800_V3/api/xdevices.json?cmd=30
Exemple de Réponse :
`{"product":"IPX800_V3","AN1":0,"AN2":0,"AN3":209,"AN4":198,"AN5":0,"AN6":0,"AN7":0,"AN8":0,"AN9":0, "AN10":0,"AN11":0,"AN12":0,"AN13":748,"AN14":2513,"AN15":0,"AN16":0}`
On va utiliser l’intégration « Restful »
Ajouter dans le configuration.yaml
sensor:
- platform: rest
resource: http://192.168.0.25/api/xdevices.json?cmd=30
name: Chlore piscine
unit_of_measurement: 'mV'
value_template: '{{ value_json["AN14"] - 2500 }}'
On récupère donc tout simplement la valeur de l’entrée analogique AN14
On notera que l’on extrait les données brutes et qu’il convient d’appliquer des formules de conversion pour avoir les valeurs interprétables sur certains capteurs, dans mon cas la valeur d’une sonde de Chlore raccordée sur le module X200Ph
On retrouve ces formules de conversion ici Formules de calcul
Et voici ce que cela donne dans l’UI