J'avais obtenu et adapté un script qui listait tous les périphériques Zwave et lançait la commande OFF pour chacun d'eux.
Ce script à fonctionné durant quelques temps mais il ne fonctionne maintenant plus.
Deux questions :
1) N'étant pas un champion du PHP, j'aimerais à minima regarder ce qui se passe dans un log mais je n'en trouve pas. Pour info, ce script est écrit dans un bloc code d'un scénario.
Le seul log est celui du scénario qui mentionne une fonction indéfinie :
Code : Tout sélectionner
------------------------------------
[2019-09-02 02:00:03][SCENARIO] Start : Scenario execute automatiquement sur programmation.
[2019-09-02 02:00:03][SCENARIO] Exécution du sous-élément de type [action] : code
[2019-09-02 02:00:03][SCENARIO] Exécution d'un bloc code
[2019-09-02 02:00:04][SCENARIO] Call to undefined function getConfiguration()
[2019-09-02 02:00:04][SCENARIO] Fin correcte du scénario
Voici le script php en question
Code : Tout sélectionner
// Limitation à certains objets (en fait des lieux dans la domotique)
$lieux = array('1er étage','Jardin - Rez de Jardin','Rez de Chaussée');
// recherche des equipements lumière ( basée sur catégorie = 'light' )
$lumieres = eqLogic::ByCategorie('light');
// balayage des équipements : de type lumière
foreach($lumieres as $lumiere)
{
// ignorer lumière inactives
if($lumiere->getIsEnable()== false) continue;
$lieu = $lumiere->getObject()->getName();
// ignorer les lumières n'appartenant pas à la liste des lieux retenus
if(in_array($lieu, $lieux) )
{
// récupérer toutes les actions pour cet équipement
$cmds = cmd::byEqLogicId($lumiere->getId());
foreach($cmds as $cmd)
{
// Commande de fermeture ?
if($cmd->getConfiguration('value') == 'data[0].Set(0)');
{
// noter quelle commande va être traitée
echo 'préparation cmd ' . '#' . $lumiere->getHumanName() . '[' . $cmd->getName() . ']#' . PHP_EOL;
// éxecuter la commande
$cmd->execCmd();
}
}
}
}
// log fin de traitement
echo 'fin extinction des lumieres';
Merci par avance pour votre aide