merci mips, j’ai lu cette page, j’ai même chargé les morceaux de codes pour essayer de comprendre comment ça s’utilise et plus particulièrement : https://doc.jeedom.com/fr_FR/dev/daemon_plugin
je t’avoue que je ne suis pas certain d’avoir tout compris, je vais juste poser des questions plus ciblées différentes et qui seront plus facile pour vous.
PHP->DEMON:
pour envoyer une valeur formatée au démon, si je veux passer plusieurs choses, est-ce que je dois faire un tableau ou coder autrement ?
$ip ='N.N.N.N.';
$token='lfkr45flckfxxxx`;
$cmd='start';
$ret = sendToDaemon(['ip'=>$ip, 'token' => $token, 'cmd'=>$start]);
du côté du démon pour réceptionner dans read_socket(name) :
global JEEDOM_SOCKET_MESSAGE
if not JEEDOM_SOCKET_MESSAGE.empty():
message = JEEDOM_SOCKET_MESSAGE.get().decode('utf-8')
message =json.loads(message)
et après pour accéder aux éléments reçus je fais message[ip], message[token], etc …?
DEMON->PHP
ensuite dans l’autre sens, pour envoyer du démon vers jeedom, le démon ne sait pas écrire directement vers jeedom, il envoie donc uniquement un flux d’information (payload) à travers une socket ouverte sur le port à définir en entête.
du coup si je veux récupérer un tableau, je vais décoder via un truc du style :
$result['retour']; suivi d’une bordée de cmd->event() ou ce que je veux.
et pour l’envoyer côté démon je dois construire un json et l’envoyer comme ça ?
jeedom_com.send_change_immediate({'id' : '1', 'json' : {[...]} })
et c’est un tableau json envoyé qui sera décompté, c’est bien ça ?
mon $retour[« id »] sera égal à 1 et en faisant un json_decode($retour[« json »], true) je récupère un tableau des valeurs contenu dans la chaine « json ».
j’ai tout compris ou il y a une subtilité supplémentaire à laquelle je dois faire attention ?