Hello,
Je ne trouve pas comment vérifier une variable passée dans un bloc code.
Pourriez-vous me dire comment vérifier dans les logs (je ne trouve pas) ou si ma syntaxe est bonne:
$myVarConsigne = $scenario->getData('Scenario_check_arret_pac');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://192.168.1.132/control?cmd=heatpumpir,hitachi,1,2,0,$myVarConsigne,0,0');
$response = curl_exec($ch);
curl_close($ch);
m_arth
Janvier 15, 2023, 9:37
2
Pas tout compris de ta demande, mais si tu veux vérifier quelques choses dans un bloc code, voici un exemple,
if ($value>200) {
$msg='Il fait jour. ('.$value.')';
} else {
$msg='Il fait nuit. ('.$value.')';
}
Mais si tu veux rajouter la valeur dans un log, ce serait plutot,
$scenario->setLog('Valeur :'.$value);
Je t’invite a jeter un oeil sur Jeedom v4 Petits codes entre amis | Jeedom by KiboOst
Mathieu
Je récupère ma variable déclarée dans jeedom dans mon bloc code par:
$myVarConsigne = $scenario->getData('Scenario_check_arret_pac');
Cela me permet de démarrer ma pompe à chaleur avec la température de la consigne:
curl_setopt($ch, CURLOPT_URL, 'http://192.168.1.132/control?cmd=heatpumpir,hitachi,1,2,0,$myVarConsigne,0,0');
$response = curl_exec($ch);
curl_close($ch);
Ce que je souhaite voir, c’est si « $myVarConsigne » est bien transposée en « 18 » degrés par exemple.
De ta syntaxe, il faut rajouter les « . » pour la concaténation je suppose.
m_arth
Janvier 15, 2023, 9:42
4
Pardon, je viens de voir ta réponse après avoir modifié ma précédente réponse, mon ajout devrait répondre à ta question . Oui, le .
est pour la concaténation de chaine.
Mathieu
Il faut aussi que je stop la chaîne de caractère avec le ‹ ›.
Du coup cela me donnerait:
curl_setopt($ch, CURLOPT_URL, 'http://192.168.1.132/control?cmd=heatpumpir,hitachi,1,2,0,'.$myVarConsigne.',0,0');
C’est ce que j’avais mis au début puis finalement modifié en tombant sur un message sur stackoverflow!
Merci de ton aide
jpty
Janvier 15, 2023, 10:33
6
Bonjour,
Vous pouvez aussi utiliser des " à la place des ’ pour délimiter une chaine de caractères:
curl_setopt($ch, CURLOPT_URL, "http://192.168.1.132/control?cmd=heatpumpir,hitachi,1,2,0,$myVarConsigne,0,0");
En PHP, quand le délimiteur est une " les variables sont interprétées.
Ok, merci pour l’information.