Déclenchement d'une action via PHP / transmission de paramètre

Bonjour,

Je souhaite déclencher l’action « Consigne » d’un équipement KNX de type thermostat par programmation PHP. L’objectif est de factoriser un code qui doit pouvoir fonctionner pour tous les thermostats de la maison.

La ligne de code avec laquelle j’essaie de faire ça est la suivante :

…avec le tag Cible contenant le nom de la pièce concernée.

Mon problème est que je ne parviens pas à faire fonctionner ça, la consigne envoyée sur le réseau KNX n’est pas correcte.

Par exemple, pour envoyer 18°C, il faut envoyer x0708 (en hexadécimal, donc), ce qui correspond à la conversion de 18 dans le format floating point half precision utilisé par KNX pour les températures (la consigne est de type 9.001 - Temperature).

Je ne sais pas sous quelle forme il faut que le paramètre $consigne soit… à vrai dire j’ai essayé beaucoup de choses (binaire sous forme de string, décimal sous forme de string, hexa sous forme de string, binaire, décimal et hexa), mais aucune de ces formes n’aboutit au transfert de la bonne valeur.

Je suspecte une transformation effectuée au niveau du plugin EIB - KNX mais je ne trouve pas laquelle…

Help…

Bizniouf

Bonjour

En argument d’un excCmd il faut un array
Essai comme ça

excCmd(array("slider"=>$consigne));

Bonjour Mika,
Ah ouiiiii !.. ça a fonctionné du premier coup, avec une valeur tout bêtement décimale dans la variable $consigne.
J’aurais pu chercher longtemps ! (J’ai peut-être mal cherché dans la doc mais je n’ai vu cette info nulle part…)
Merci beaucoup !!!
Bizniouf

P.S.: Ton plugin fonctionne impeccablement bien :+1:. C’est :sunglasses:. Merci !!!

Bonjour Mika,

Deux petites questions complémentaires, cependant…
Pour la bascule du mode de fonctionnement, les essais suivants ne fonctionnent pas :


Par contre, j’y parviens comme ça :

Je ne comprends pas la logique… Quid ?

Et puis quand je récupère le mode de fonctionnement, il me le donne sous la forme d’une string. Par exemple, la ligne suivante :


…renvoie « Night »

Comment faire pour modifier le mode de la même façon qu’on le récupère avec un entier, ou alors avec une string ?

À l’avance merci à toi pour tes compléments d’info !
@+

Bizniouf

Bien tenté mais ce n’est pas ça

excCmd(array("select"=>"Night"));

Yep. Ça marche :+1:
Merci !!!

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.