Bonjour,
Je suis en cours de réalisation d’un scénario générique type « protection fenêtre ouverte » qui va couper l’alimentation de moyens de chauffage par pièce en fonction de la détection d’ouverture des ouvrants de cette même pièce.
Je réalise un seul scénario, qui se sert des types génériques et du parent du déclencheur de l’ouvrant pour couper le chauffage de la pièce.
Mon souci est que je ne récupère que les ouvertures et pas les fermetures. Voici la partie déclencheur de mon scénario :
Pour le moment, mon scénario ne fait rien de plus que logguer l’état du trigger :
require_once dirname(__FILE__) . '/../../data/php/constants.php';
require_once dirname(__FILE__) . '/../../data/php/user.function.class.php';
if('user' !== $scenario->getRealTrigger()) {
$triggerCommand = cmd::byString($scenario->getRealTrigger());
var_dump($triggerCommand->execCmd());
if(1 === $triggerCommand->execCmd()) {
$scenario->setLog("Ouverture détectée de " . $triggerCommand->getHumanName());
}
else {
$scenario->setLog("Fermeture détectée de " . $triggerCommand->getHumanName());
}
}
Voici une extraction des data de ce matin, pour ma porte d’entrée :
On voit bien
- Une ouverture un peu après 8h33 et la fermeture associée un peu après 8h34.
- Une ouverture/fermeture autour de 8h38.
Maintenant, voici les logs de mon scénario :
[2022-12-16 08:33:03][SCENARIO] -- Start : Scenario execute automatiquement sur evenement venant de : genericType(OPENING,#[Entree]#) from [Entree][Porte entree][Ouverture].
[2022-12-16 08:33:03][SCENARIO] - Exécution du sous-élément de type [action] : code
[2022-12-16 08:33:03][SCENARIO] Exécution d'un bloc code
[2022-12-16 08:33:03][SCENARIO] Ouverture détectée de [Entrée][Porte entrée][Ouverture]
[2022-12-16 08:33:03][SCENARIO] Fin correcte du scénario
------------------------------------
[2022-12-16 08:37:53][SCENARIO] -- Start : Scenario execute automatiquement sur evenement venant de : genericType(OPENING,#[Entree]#) from [Entree][Porte entree][Ouverture].
[2022-12-16 08:37:53][SCENARIO] - Exécution du sous-élément de type [action] : code
[2022-12-16 08:37:53][SCENARIO] Exécution d'un bloc code
[2022-12-16 08:37:53][SCENARIO] Ouverture détectée de [Entrée][Porte entrée][Ouverture]
[2022-12-16 08:37:53][SCENARIO] Fin correcte du scénario
On n’a que le passage à 1, donc l’ouverture, et pas la fermeture.
Voyez-vous un souci dans la configuration de mes déclencheurs? Ou un souci sur le test de la valeur? J’ai vérifié, la commande renvoie bien un integer, du coup le test if(1 === $triggerCommand->execCmd()) est valable. Je dumpe la valeur avant et j’ai toujours un (int) 1, ce qui me fait dire que mes déclencheurs sont mal paramétrés de ma part.
Merci pour vos retours & éclairages,

