Heure de la dernière communication.
Re: Heure de la dernière communication.
Hello,
Pourriez-vous poster un exemple de scénario SVP ? Du coup on a quoi en déclencheur ? Une vérification tous les X minutes ? Merci !!!
Pourriez-vous poster un exemple de scénario SVP ? Du coup on a quoi en déclencheur ? Une vérification tous les X minutes ? Merci !!!
Jeedomien depuis 2014
Rpi3 - SSD 32Go + Stick Aeon Gen5 + RfxTrx + Gateway Xiaomi
+ Rpi3 - SSD 32Go + Stick Aeon Gen5 en Jeelink
+ 40 Modules Zwave + 25 modules 433 + 10 modules Xiaomi Home + 5 Caméras.
Rpi3 - SSD 32Go + Stick Aeon Gen5 + RfxTrx + Gateway Xiaomi
+ Rpi3 - SSD 32Go + Stick Aeon Gen5 en Jeelink
+ 40 Modules Zwave + 25 modules 433 + 10 modules Xiaomi Home + 5 Caméras.
Re: Heure de la dernière communication.
Bonjour,
En ce qui me concerne, c'est mon virtuel qui à un cron et c'est mon virtuel qui sert de déclencheur.
En ce qui me concerne, c'est mon virtuel qui à un cron et c'est mon virtuel qui sert de déclencheur.
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.
.
Re: Heure de la dernière communication.
Je serais curieux d'avoir plus de détail sur le problème qu'il peut y avoir à utiliser des virtuels pour stocker des valeurs réelles. J'en ai quelques uns, pour les mêmes raisons historiques, et je n'ai pas de problème.
Envoyé de mon Nexus 6P en utilisant Tapatalk
Envoyé de mon Nexus 6P en utilisant Tapatalk
Jeedom 3 sur Debian 9 en VM Proxmox 5 sur NUC Intel.
(Anciennement sur Docker sur Syno DS-415+ / MariaDB / DSM 6)
Teleinfo / RFXCom / Stick ZWave / IPX / Serveur Traccar / Blea
(Anciennement sur Docker sur Syno DS-415+ / MariaDB / DSM 6)
Teleinfo / RFXCom / Stick ZWave / IPX / Serveur Traccar / Blea
Re: Heure de la dernière communication.
Bon ça fonctionne chez moi
Petite question... Est-ce que cela pose un problème si on actualise la vérification toutes les minutes ? Ca charge pas trop la bête du côté du Cron ?
Petite question... Est-ce que cela pose un problème si on actualise la vérification toutes les minutes ? Ca charge pas trop la bête du côté du Cron ?
Jeedomien depuis 2014
Rpi3 - SSD 32Go + Stick Aeon Gen5 + RfxTrx + Gateway Xiaomi
+ Rpi3 - SSD 32Go + Stick Aeon Gen5 en Jeelink
+ 40 Modules Zwave + 25 modules 433 + 10 modules Xiaomi Home + 5 Caméras.
Rpi3 - SSD 32Go + Stick Aeon Gen5 + RfxTrx + Gateway Xiaomi
+ Rpi3 - SSD 32Go + Stick Aeon Gen5 en Jeelink
+ 40 Modules Zwave + 25 modules 433 + 10 modules Xiaomi Home + 5 Caméras.
Re: Heure de la dernière communication.
Merci à tous pour ces éléments qui m'ont bien aidé à compléter mes virtuels de gestion de chauffage en y ajoutant le retour de communication des sondes ainsi que des alertes en cas de défaillance via un widget et des notifications !
Jeedomien depuis 2014
Rpi3 - SSD 32Go + Stick Aeon Gen5 + RfxTrx + Gateway Xiaomi
+ Rpi3 - SSD 32Go + Stick Aeon Gen5 en Jeelink
+ 40 Modules Zwave + 25 modules 433 + 10 modules Xiaomi Home + 5 Caméras.
Rpi3 - SSD 32Go + Stick Aeon Gen5 + RfxTrx + Gateway Xiaomi
+ Rpi3 - SSD 32Go + Stick Aeon Gen5 en Jeelink
+ 40 Modules Zwave + 25 modules 433 + 10 modules Xiaomi Home + 5 Caméras.
Re: Heure de la dernière communication.
A tout hasard, même si cela n'est pas trop en lien, mais je suis retombé sur ce fil car je cherchais des infos sur des calculs liés au temps.
je cherche à calculer le delta de chauffe depuis 2 entrées de type "string".
On part de ça (au format string) :
Et j'ai fait un bête scénario de code php (désolé, totalement débutant là dessus). j'ai rien dans les logs malgré "log".
(que je passe sur une variable de même nom TempsChauffe).
je cherche à calculer le delta de chauffe depuis 2 entrées de type "string".
On part de ça (au format string) :
Et j'ai fait un bête scénario de code php (désolé, totalement débutant là dessus). j'ai rien dans les logs malgré "log".
(que je passe sur une variable de même nom TempsChauffe).
Code : Tout sélectionner
$cmdfin = cmd::strtotime('#[Eau Chaude][Chauffe Eau][Date de fin]#');
$valeurfin = $cmdfin->execCmd();
$cmddebut = cmd::strtotime('#[Eau Chaude][Chauffe Eau][Date de début]#');
$valeurdbt = $cmddebut->execCmd();
$scenario->setLog($valeurdbt);
$scenario->setLog($valeurfin);
$delta = time_diff($valeurfin,$valeurdbt,m)
$scenario->setLog($delta);
$scenario->setData("TempsChauffe",$delta);
Re: Heure de la dernière communication.
Bonjour benj29,
Il te manque le ; à la fin de $delta = time_diff($valeurfin,$valeurdbt,m)
C'est une erreur bloquante, ça explique pourquoi tu n'as rien dans ton log.
De plus, il me semble que strtotime travail avec des dates au format US et non FR.
Je dois aller en réunion, j'essaierais d'approfondir ça cet am si j'ai le temps.
Il te manque le ; à la fin de $delta = time_diff($valeurfin,$valeurdbt,m)
C'est une erreur bloquante, ça explique pourquoi tu n'as rien dans ton log.
De plus, il me semble que strtotime travail avec des dates au format US et non FR.
Je dois aller en réunion, j'essaierais d'approfondir ça cet am si j'ai le temps.
Box : smart, mini+, pi 2 et 3, ipbx800 v4
Protocole : Z-Wave (Fibaro & Qubino), Ikea, Bluetooth
Méteo : Netatmo
Audio : Sonos (Play 1 et 5)
Protocole : Z-Wave (Fibaro & Qubino), Ikea, Bluetooth
Méteo : Netatmo
Audio : Sonos (Play 1 et 5)
Re: Heure de la dernière communication.
Hurmf, Sartog...
J'ai beau avoir mis le ; ... toujours erreur en orange et rien dans le log.
J'ai beau avoir mis le ; ... toujours erreur en orange et rien dans le log.
Code : Tout sélectionner
$cmdfin = cmd::strtotime('#[Eau Chaude][Chauffe Eau][Date de fin]#');
$valeurfin = $cmdfin->execCmd();
$cmddebut = cmd::strtotime('#[Eau Chaude][Chauffe Eau][Date de début]#');
$valeurdbt = $cmddebut->execCmd();
$scenario->setLog($valeurdbt);
$scenario->setLog($valeurfin);
$delta = time_diff($valeurfin,$valeurdbt,m);
$scenario->setLog($delta);
$scenario->setData("TempsChauffe",$delta);
Re: Heure de la dernière communication.
Bonjour,
Tu essaies de faire quoi là ?
Tu essaies de faire quoi là ?
Code : Tout sélectionner
$cmdfin = cmd::strtotime('#[Eau Chaude][Chauffe Eau][Date de fin]#');
$valeurfin = $cmdfin->execCmd();
$cmddebut = cmd::strtotime('#[Eau Chaude][Chauffe Eau][Date de début]#');
$valeurdbt = $cmddebut->execCmd();
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.
.
Re: Heure de la dernière communication.
Calculer l'écart en min de deux infos du type string, voir copie d'écran plus haut.
Envoyé de mon Moto G (5S) Plus en utilisant Tapatalk
Envoyé de mon Moto G (5S) Plus en utilisant Tapatalk
Re: Heure de la dernière communication.
Bonjour,
Sauf que je ne vois pas comment te retourne une commande valide sur laquelle tu puisses faire
Il n'y a pas (à ma connaissance) de méthode strtotime dans la classe cmd
Sauf que je ne vois pas comment
Code : Tout sélectionner
cmd::strtotime
Code : Tout sélectionner
$cmdfin->execCmd()
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.
.
Re: Heure de la dernière communication.
Pas tester mais
devrait être une piste plus fonctionnelle.
Code : Tout sélectionner
$cmdfin=cmd::humanReadableToCmd("#tacommande#");
$fin=$cmdfin->getCollectDate();
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.
.
Re: Heure de la dernière communication.
Hello,
J'ai tenté plusieurs pistes sans succès.
Ce code là part en "en cours" mais vraiment beaucoup de temps pour s'arrêter en erreur.
Celui là aussi part en erreur...
Idem en erreur.
je trouve ces erreurs ?
Je trouve rien dans log scenario ou scenario_exec ...
J'ai tenté plusieurs pistes sans succès.
Ce code là part en "en cours" mais vraiment beaucoup de temps pour s'arrêter en erreur.
Code : Tout sélectionner
$cmdfin=cmd::humanReadableToCmd("#[Eau Chaude][Chauffe Eau][Date de fin]#");
$fin=$cmdfin->getCollectDate();
$cmddeb=cmd::humanReadableToCmd("#[Eau Chaude][Chauffe Eau][Date de début]#");
$dbt=$cmddbt->getCollectDate();
$scenario->setLog($fin-$dbt);
$scenario->setData("TempsChauffe",$fin-$dbt);
Code : Tout sélectionner
$cmdfin=cmd::humanReadableToCmd("#[Eau Chaude][Chauffe Eau][Date de fin]#");
$fin=$cmdfin->getCollectDate();
$cmddeb=cmd::humanReadableToCmd("#[Eau Chaude][Chauffe Eau][Date de début]#");
$dbt=$cmddbt->getCollectDate();
$scenario->setLog($dbt);
$scenario->setLog($fin);
$delta = time_diff($fin,$dbt,m);
$scenario->setLog($delta);
$scenario->setData("TempsChauffe",$delta);
je trouve ces erreurs ?
Je trouve rien dans log scenario ou scenario_exec ...
Re: Heure de la dernière communication.
Bonjour,
Déjà il y a une erreur là
$cmddeb versus $cmddbt
Déjà il y a une erreur là
Code : Tout sélectionner
$cmddeb=cmd::humanReadableToCmd("#[Eau Chaude][Chauffe Eau][Date de début]#");
$dbt=$cmddbt->getCollectDate();
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.
.
Re: Heure de la dernière communication.
Euh c'est dimanche soir... joker !
Je suis vraiment bête là... lol.
Bon même corrigé :
Erreur.
Le même scénario mais sans la fonction de time_diff ...
Idem, erreur !
Je suis vraiment bête là... lol.
Bon même corrigé :
Code : Tout sélectionner
$cmdfin=cmd::humanReadableToCmd("#[Eau Chaude][Chauffe Eau][Date de fin]#");
$fin=$cmdfin->getCollectDate();
$cmddeb=cmd::humanReadableToCmd("#[Eau Chaude][Chauffe Eau][Date de début]#");
$dbt=$cmddeb->getCollectDate();
$scenario->setLog($dbt);
$scenario->setLog($fin);
$delta = time_diff($fin,$dbt,m);
$scenario->setLog($delta);
$scenario->setData("TempsChauffe",$delta);
Le même scénario mais sans la fonction de time_diff ...
Code : Tout sélectionner
$cmdfin=cmd::humanReadableToCmd("#[Eau Chaude][Chauffe Eau][Date de fin]#");
$fin=$cmdfin->getCollectDate();
$cmddeb=cmd::humanReadableToCmd("#[Eau Chaude][Chauffe Eau][Date de début]#");
$dbt=$cmddeb->getCollectDate();
$scenario->setLog($dbt);
$scenario->setLog($fin);
$scenario->setLog($fin-$dbt);
$scenario->setData("TempsChauffe",$fin-$dbt);
Re: Heure de la dernière communication.
Code : Tout sélectionner
$valeurfin = '11/10/2018 05:30';
$valeurdbt = '11/10/2018 05:22';
$scenario->setLog($valeurdbt);
$scenario->setLog(strtotime($valeurdbt));
$scenario->setLog($valeurfin);
$scenario->setLog(strtotime($valeurfin));
$delta = strtotime($valeurfin) - strtotime($valeurdbt);
$scenario->setLog($delta);
Pour l'adapter a ton besoin, il suffit de le modifier pour récupérer les valeurs de tes commandes :
Code : Tout sélectionner
$valeurfin = cmd::byString("#[Eau Chaude][Chauffe Eau][Date de fin]#")->execCmd();
$valeurdbt = cmd::byString("#[Eau Chaude][Chauffe Eau][Date de début]#")->execCmd();
$scenario->setLog($valeurdbt);
$scenario->setLog(strtotime($valeurdbt));
$scenario->setLog($valeurfin);
$scenario->setLog(strtotime($valeurfin));
$delta = strtotime($valeurfin) - strtotime($valeurdbt);
$scenario->setLog($delta);
Si tu veux des minutes, pas besoin de te faire un dessin
P.S.: Tous les setLog ne sont là que pour débuger
Version light (à tester):
Code : Tout sélectionner
$valeurfin = strtotime(cmd::byString("#[Eau Chaude][Chauffe Eau][Date de fin]#")->execCmd());
$valeurdbt = strtotime(cmd::byString("#[Eau Chaude][Chauffe Eau][Date de début]#")->execCmd());
$delta = $valeurfin - $valeurdbt;
Box : smart, mini+, pi 2 et 3, ipbx800 v4
Protocole : Z-Wave (Fibaro & Qubino), Ikea, Bluetooth
Méteo : Netatmo
Audio : Sonos (Play 1 et 5)
Protocole : Z-Wave (Fibaro & Qubino), Ikea, Bluetooth
Méteo : Netatmo
Audio : Sonos (Play 1 et 5)
Re: Heure de la dernière communication.
Hurmf, tu es sûr de ton coup ?
J'ai testé plein de trucs mais visiblement, je n'arrive pas à convertir au format
On voit que la récupération de la commande marche, mais pas la conversion...
En tout cas merci de ton aide.
EDIT : j'ai tenté strftime et là j'ai déjà du mieux, y a bien la conversion en time.
Par contre la différence ne marche pas... (0).
J'ai testé plein de trucs mais visiblement, je n'arrive pas à convertir au format
Code : Tout sélectionner
$valeurfin = cmd::byString("#[Eau Chaude][Chauffe Eau][Date de fin]#")->execCmd();
$valeurdbt = cmd::byString("#[Eau Chaude][Chauffe Eau][Date début]#")->execCmd();
$scenario->setLog($valeurfin);
$scenario->setLog($valeurdbt);
$delta = strtotime($valeurfin) - strtotime($valeurdbt);
$scenario->setLog(strtotime($valeurfin));
$scenario->setLog(strtotime($valeurdbt));
$scenario->setData("TempsChauffe",$delta/60);
En tout cas merci de ton aide.
EDIT : j'ai tenté strftime et là j'ai déjà du mieux, y a bien la conversion en time.
Par contre la différence ne marche pas... (0).
Code : Tout sélectionner
// pensez à changer la variable en variable,0 pour garder la valeur précédente !
$valeurfin = cmd::byString("#[Eau Chaude][Chauffe Eau][Date de fin]#")->execCmd();
$valeurdbt = cmd::byString("#[Eau Chaude][Chauffe Eau][Date début]#")->execCmd();
//$scenario->setLog($valeurfin);
//$scenario->setLog($valeurdbt);
$delta = strftime($valeurfin) - strftime($valeurdbt);
//$scenario->setLog(strftime($valeurfin));
//$scenario->setLog(strftime($valeurdbt));
$scenario->setLog($delta);
$scenario->setData("TempsChauffe",$delta/60);
Re: Heure de la dernière communication.
Mon test fonctionne, oui :
Je n'explique pas ton problème de différence ...
Je vais essayer de créer un virtuel et de passer par la récupération des valeurs pour être au plus prêt de ton cas et voir si c'est ça qui pose problème ... mais là, le resto chinois m'appel
Code : Tout sélectionner
$valeurfin = '11/10/2018 05:30';
$valeurdbt = '11/10/2018 05:22';
$scenario->setLog($valeurdbt);
$scenario->setLog(strtotime($valeurdbt));
$scenario->setLog($valeurfin);
$scenario->setLog(strtotime($valeurfin));
$delta = strtotime($valeurfin) - strtotime($valeurdbt);
$scenario->setLog($delta);
Code : Tout sélectionner
[2018-10-15 11:55:30][SCENARIO] Start : Scenario lance manuellement.
[2018-10-15 11:55:30][SCENARIO] Exécution du sous-élément de type [action] : code
[2018-10-15 11:55:30][SCENARIO] Exécution d'un bloc code
[2018-10-15 11:55:30][SCENARIO] 11/10/2018 05:22
[2018-10-15 11:55:30][SCENARIO] 1541823720
[2018-10-15 11:55:30][SCENARIO] 11/10/2018 05:30
[2018-10-15 11:55:30][SCENARIO] 1541824200
[2018-10-15 11:55:30][SCENARIO] 480
[2018-10-15 11:55:30][SCENARIO] Fin correcte du scénario
Je n'explique pas ton problème de différence ...
Je vais essayer de créer un virtuel et de passer par la récupération des valeurs pour être au plus prêt de ton cas et voir si c'est ça qui pose problème ... mais là, le resto chinois m'appel
Box : smart, mini+, pi 2 et 3, ipbx800 v4
Protocole : Z-Wave (Fibaro & Qubino), Ikea, Bluetooth
Méteo : Netatmo
Audio : Sonos (Play 1 et 5)
Protocole : Z-Wave (Fibaro & Qubino), Ikea, Bluetooth
Méteo : Netatmo
Audio : Sonos (Play 1 et 5)
Re: Heure de la dernière communication.
Bon app !
Envoyé de mon Moto G (5S) Plus en utilisant Tapatalk
Envoyé de mon Moto G (5S) Plus en utilisant Tapatalk
Re: Heure de la dernière communication.
Merci
Bon, je ne comprends pas ton problème car moi ça fonctionne :
Me donne :
Et le virtuel :
Comment sont alimentées tes infos date de début et date de fin ?
Bon, je ne comprends pas ton problème car moi ça fonctionne :
Code : Tout sélectionner
$scenario->setLog("------ Test avec dates inscrites dans le code ------");
$scenario->setLog("");
$valeurfin = '11/10/2018 05:30';
$valeurdbt = '11/10/2018 05:22';
$scenario->setLog("valeurdbt : ".$valeurdbt);
$scenario->setLog("strtotime : ".strtotime($valeurdbt));
$scenario->setLog("valeurfin : ".$valeurfin);
$scenario->setLog("strtotime :".strtotime($valeurfin));
$delta = strtotime($valeurfin) - strtotime($valeurdbt);
$scenario->setLog("delta : ".$delta);
$scenario->setLog("");
$scenario->setLog("------ Fin du 1er test ------");
$scenario->setLog("");
$scenario->setLog("");
$scenario->setLog("------ Test avec dates récupérés dans un virtuel ------");
$scenario->setLog("");
$valeurfin = cmd::byString("#[Maison][Test][Date fin]#")->execCmd();
$valeurdbt = cmd::byString("#[Maison][Test][Date début]#")->execCmd();
$scenario->setLog("valeurdbt : ".$valeurdbt);
$scenario->setLog("strtotime : ".strtotime($valeurdbt));
$scenario->setLog("valeurfin : ".$valeurfin);
$scenario->setLog("strtotime : ".strtotime($valeurfin));
$delta = strtotime($valeurfin) - strtotime($valeurdbt);
$scenario->setLog("delta : ".$delta);
$scenario->setLog("");
$scenario->setLog("------ Fin du 2nd test ------");
Code : Tout sélectionner
[2018-10-15 15:36:22][SCENARIO] Start : Scenario lance manuellement.
[2018-10-15 15:36:22][SCENARIO] Exécution du sous-élément de type [action] : code
[2018-10-15 15:36:22][SCENARIO] Exécution d'un bloc code
[2018-10-15 15:36:22][SCENARIO] ------ Test avec dates inscrites dans le code ------
[2018-10-15 15:36:22][SCENARIO]
[2018-10-15 15:36:22][SCENARIO] valeurdbt : 11/10/2018 05:22
[2018-10-15 15:36:22][SCENARIO] strtotime : 1541823720
[2018-10-15 15:36:22][SCENARIO] valeurfin : 11/10/2018 05:30
[2018-10-15 15:36:22][SCENARIO] strtotime :1541824200
[2018-10-15 15:36:22][SCENARIO] delta : 480
[2018-10-15 15:36:22][SCENARIO]
[2018-10-15 15:36:22][SCENARIO] ------ Fin du 1er test ------
[2018-10-15 15:36:22][SCENARIO]
[2018-10-15 15:36:22][SCENARIO]
[2018-10-15 15:36:22][SCENARIO] ------ Test avec dates récupérés dans un virtuel ------
[2018-10-15 15:36:22][SCENARIO]
[2018-10-15 15:36:22][SCENARIO] valeurdbt : 11/10/2018 05:22
[2018-10-15 15:36:22][SCENARIO] strtotime : 1541823720
[2018-10-15 15:36:22][SCENARIO] valeurfin : 11/10/2018 05:30
[2018-10-15 15:36:22][SCENARIO] strtotime : 1541824200
[2018-10-15 15:36:22][SCENARIO] delta : 480
[2018-10-15 15:36:22][SCENARIO]
[2018-10-15 15:36:22][SCENARIO] ------ Fin du 2nd test ------
[2018-10-15 15:36:22][SCENARIO] Fin correcte du scénario
Box : smart, mini+, pi 2 et 3, ipbx800 v4
Protocole : Z-Wave (Fibaro & Qubino), Ikea, Bluetooth
Méteo : Netatmo
Audio : Sonos (Play 1 et 5)
Protocole : Z-Wave (Fibaro & Qubino), Ikea, Bluetooth
Méteo : Netatmo
Audio : Sonos (Play 1 et 5)
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités