Bloc code pour agir sur des équipements

Bonjour à tous,
Je suis passé de Deconz au plugin JeeZigbee (z2m).
Sous Deconz j’utilisai un bloc code pour gérer mes lumières avec un effet de transition.

J’aimerai faire la même chose avec le plugin JeeZigbee.
Pouvez-vous m’aider ?
Merci par avance.
Mathieu

J’ai tenté quelque chose, mais je ne suis pas doué pour ça.

$url_zigbee2mqtt = 'http://localhost:8080/';
$equipement = '0x0017880103e00138';

$url = $url_zigbee2mqtt . "zigbee2mqtt/" . $equipement . "/set";
$scenario->setLog("URL : ".$url);
$ch = curl_init($url);
$scenario->setLog("ch : ".$ch);

// Configuration de la requête cURL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array(
    "state" => "OFF", // Ou "OFF", "TOGGLE"
    "brightness" => 255, // Valeur entre 0 et 255
    "color" => array("x" => 0.123, "y" => 0.123), // Couleur en XY
    "transition" => 15 // en secondes
)));

$scenario->setLog("ch : ".$ch);
$response = curl_exec($ch);
$scenario->setLog("Response : ".$response);
curl_close($ch);

Il faut mettre un payload, mais je ne sais pas faire.
Mathieu

Hello,
Sinon il n’y a pas moyen d’utiliser une commande Titre/Message pour envoyer une commande groupée à un équipement sous Jeezigbee du genre « state::ON transition::15 » ?

Un truc comme ça, mais avec d’autres informations dans le LOGICAL ID.

$commande = '#[Salle à manger][Extended color light Buffet][Test message]#';
$info = 'state::OFF';  

cmd::byString($commande)->setLogicalId($info)->save();
$cmd = cmd::byString($commande);
$cmd->execCmd();

Merci

Et voilà, j’ai trouvé :slight_smile:

//$equipement = '0x00178801102bbf55';//boule
//$equipement = '0x00178801102e455a';//buffet
//$equipement = '0x00178801102e4559';//abat jour
//$equipement = '0x0017880103e00138';//cuisine
$equipement = 'Pièces de vie';//pièce de vie
//$equipement = 'Salon';//salon
//$equipement = 'Repas';//repas
//$equipement = 'Dressing';//dressing
//$equipement = '0x00178801029df4dd';//chambre
//$equipement = 'Maison';//maison
//$equipement = '0x90fd9ffffe17157a';//dressing Mathieu
//$equipement = '0x90fd9ffffe03d410';//dressing Cedric
//$equipement = '0xf0d1b800001a17c0';//jardin rue
//$equipement = '0xf0d1b800001a1e26';//jardin terrasse

$ident = 'jeedom';
$password = 'm35COt3uGTanueApDsXXXXXXXXXXXXXXXXXXXXXXXJigO2G1F';
$valeur = '
{"state": "ON",
"color":{"x":"0.675","y":"0.322"},
"brightness": 255,
"effect": "breathe"}
';
// brightness 0 à 254
// color_temp 153 (froid) à 500 (chaud) "color_temp": 500,
// transition en seconde

$scenario->setLog("Valeur 1 : ".$valeur);
$valeur = addcslashes($valeur, '"');
$scenario->setLog("Valeur 2 : ".$valeur);
$valeur = str_replace(["\n", "\r"], "", $valeur);
$scenario->setLog("Valeur 3 : ".$valeur);
$command = 'mosquitto_pub -h localhost  -p 1883 -u ' . $ident . ' -P '. $password .' -t "zigbee2mqtt/' . $equipement . '/set" -m "'. $valeur .'"';
$output = exec($command);
$scenario->setLog("Commande : ".$command);
$scenario->setLog("Output : ".$output);
1 « J'aime »

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