IPX800V5 commande JSON - domoticz

Bonjour
j’ai actuellement un IPX800 v4 qui fonctionne très bien, je l’ai interface avec domoticz et je le pilote via des commandes json du type (pour activer le relais1) : http://@adresseIPXV4/api/xdevices.json?SetR=01. (tout est expliqué en Français sur la page GCE Electronics)
J’ai acheté un IPX800 V5, mais ca ne semble pas si simple. Autant dire que je n’ai rien compris à la page IPX800 V5 Ressources
quelqu’un pourrait m’aider ?
merci bcp.

Salut Cocof , j’ai pas mal galérer et finalement j’ai réussi sur eedomus à piloter mes relais de IPX800V5 , voir copie d’écran![V4 Capture d’écran

2 « J'aime »

bonjour merci de ton retour, comment tu sélectionnes le n° de relais que tu veux ?
en utlisant l’utilitaire API Deck j’ai essayé d’en déduire une commande du type :
http://192.168.1.84/api/core/io/65536?ApiKey=xxxxxxxxxxxxxx - {« _id »:65536,« name »:« [IPX] Relais cmd 1 »,« link0 »:0,« link1 »:12648448,« virtual »:false,« on »:false}
mais rien ne se passe sous domoticz.

bonjour,
la sélection se fait par le numéro d’ID,
je vous invite à lire la doc de l’API.

L’ID peut être récupéré via l’outil API Deck, mais aussi sur la page Liens / onglet Variables / catégorie IO
Dans le panneau Collection à gauche, choisissez le relais. Son ID sera indiqué sur la représentation de l’objet. Attention à la distinction relay.cmd et Relay.state

bonjour
je venais juste de découvrir cela, j’arrive donc a choisir le relais, mais comment on change son état via une commande ?
pour le relais 2 le début ressemble à http://192.168.1.84/api/core/io/65537?ApiKey=xxxxxxxxxx
quand je tape ça sous firefox ca me renvoie bien l’état du relais :

_id 65537
name [IPX]Relay cmd 2
link0 0
link1 12648449
virtual false
on false

mais il faut mettre quoi après pour lui dire de s’ouvrir ou se fermer ?
j’ai tenté &PUT{« on »:true}
ou encore en m’inspirant de l’ API Deck : : http://192.168.1.84/api/core/io/65537?ApiKey=xxxxxxxxx&PUT{« _id »:65537,« name »:« [IPX]Relay cmd 2 »,« link0 »:0,« link1 »:12648449,« virtual »:false,« on »:true}
j’ai beau lire * API RESTful : Doc en ligne je ne trouve rien de très clair.
Y a une autre doc API ?

Je vois que je ne suis pas seul à galérer avec ça. Ça me rassure !

Sans aucunes animosité , tu pourrais être plus positif , bref de l’entraide et une attitude plus positive non ??

Bonsoir artnow.

Je pense qu il s’ agit d une mauvaise interprétation de mon message. Je vous rassure, il n y absolument aucune animosité dans mon petit message. En tout cas si vous l avez mal interprété ou pris, je m en excuse.

Je suis présent sur plusieurs groupe à ce sujet, depuis quelques jours et je constatai juste que d’autre personnes ne trouve pas la solution où on les même difficulté que moi.

Je pense néanmoins que ce n est pas le lieu pour s adresser de cette façon. Il y a trop de forum avec des échange de la sorte. N hésitez pas à me solliciter en message privé.

1 « J'aime »

Bonjour cocof,

As tu regardé sur le log de l api deck lorsque le contact du Relay est fermé pour comparer la difference?

Le « on » true passe t il en « off » false ?

Pas de problème MICOU :slightly_smiling_face:

1 « J'aime »

Artnow,

Je vois que tu as réussi à faire commuter un relai de la V5 avec eedomus.

Il s’ agit d une requête avec URL?
Du coup ça fonctionne aussi quand tu l intégre dans un navigateur web ? Le relai commute aussi?

Merci à toi

Salut Micou , non j’ai tester en une ligne de commande web cela ne fonctionne pas malheureusement .

Chez moi cela fonctionne pour actionner mes relais via eedomus :

bonjour
oui j’ai regardé les log de l’API deck, y a la fonction PUT que je n’arrive pas à retranscrire sous domoticz. voici ce que le log me donne :
17:24:43 - 30/09/2021 : PUT >> http://192.168.1.84/api/core/io/65537?ApiKey=xxxxxxxxxxxxxxx - {« toggle »:true}
J’ai essayé de passé par un script lua mais je ne trouve pas la syntaxe. doit bien y avoir une astuce du type: http://192.168.1.84/api/core/io/65537?ApiKey=xxxxxxxxxxxxx&PUT{« toggle »:true}
mais ca ne fonctionne pas.
je crois que je vais rester un bon moment avec mon v4

Salut cocof peut être en https://

non c’est pareil, mais j’avance en ligne de commande sur un terminal la commande :
curl -X PUT -H « Content-Type: application/json » -d ‹ {« toggle »:true} › http://192.168.1.125/api/core/io/65537?ApiKey=xxxxxxxxxxxxx

fonctionne ! reste à l’affecter via un script a chacune de mes activations de mon interrupteur sous domoticz.
edit : j’y suis arrivé via un script shell dans lequel j’ai mis
#!/bin/sh
curl -X PUT -H « Content-Type: application/json » -d ‹ {« toggle »:true} › http://192.168.1.125/api/core/io/65537?ApiKey=xxxxxxxxxxxxxxxxx
j’ai compilé puis appelé ce script a chaque mouvement de mon interrupteur. mais c’est lours si je dois creer un script par interrupteur …
si quelqu’un sait comment transformer cette commande en lua je suis preneur … (lua ne connait pas la commande put :frowning:

bonjour
ça avance, je suis arrivé a piloter un relais via un script lua.
voici la commande type :
os.execute(« curl -X PUT -H ‹ Content-Type: application/json › -d ‹ {"toggle":true} › http://192.168.1.125/api/core/io/65537?ApiKey=xxxxxxxxxxxxx »)
il faut penser à mettre le symbole \ avant les " dans la commande afin que le lua ne les confonde pas avec les " du début et de fin.
ainsi avec un seul scipt lua je peux commander tous les relais : le code 65537 correspond au relais, la commande {"toggle":true} correspond à ce qu’on veut faire avec le relais. Pour ouvrir le relais : ‹ {"on":false} › pour fermer : ‹ {"on":true} ›. Avec quelques « if » pour vérifier l’état de l’interrupteur j’arrive à ouvrir ou fermer le relais.
autant dire que c’est bcp moins pratique qu’avec le v4 où une simple commande http suffisait. mais ne je désespère pas de trouver la solution …

1 « J'aime »

Bonjour,
une petite erreur de copier/coller je pense :slight_smile:
Pour ouvrir le relais : ‹ {"on":false} › pour fermer : ‹ {"on":true} ›.

1 « J'aime »

Bonjour à tous,
Je me permets de relancer ce sujet très intéressant de l’interfacage de domoticz avec les nouveaux IPX800v5. Comme certains d’entre vous, je rencontre de nombreuses difficulté pour piloter un relai IPX via un script lua domoticz.
J’ai tenté malheureusement sans succès la commande :
os.execute(« curl -X PUT -H ‹ Content-Type: application/json › -d ‹ {« toggle »:true} › http://192.168.1.125/api/core/io/65537?ApiKey=xxxxxxxxxxxxx »)
de Totof (erreur curl (6) : Host not recognized).

J’ai creusé le sujet autant que possible en contactant même la hotline GCE, rien n’y fait.

Peut être auriez vous quelques pistes à me proposer. Je précise que Domoticz tourne sur un serveur windows. Voici le bout de code que j’utilise dans domoticz et les log correspondant :

local json       = (loadfile "C:\\Program Files (x86)\\Domoticz\\scripts\\lua\\JSON.lua")()
cmd = 'curl -i -X PUT -H \'Content-Type:application/json\' -d \'{"on":"true"}\' http://192.168.100.139/api/core/io/65536?ApiKey=apikey'


    local url        = assert(io.popen(cmd))
    local blocjson   = url:read('*all')
    url:close()
    local jsonValeur = json:decode(blocjson)
    print("cmd: " .. cmd)
    print("blocjson: " .. blocjson)