Dans ce billet, nous allons allons ajouter un nouveau périphérique compteur à notre box préférée: un compteur de temps capable d’afficher un cumul de temps.
Le principe est simple, une fois le compteur déclenché, le temps affiché s’incrémente tant que le compteur n’est pas arrêté ou reseté. Ceux qui ont lu le précédent billet sur les compteurs simple verront une grande similarité entre les deux articles.
Etape 1, le script
il est ici:
[wpdm_file id=30]
vous l’uploadez comme d’habitude dans votre eedomus en utilisant l’url http://@ip_eedomus/script, vous n’avez aucune configuration spécifique à faire.
Etape 2, la création du périphérique compteur
Créez un périphérique “capteur HTTP”.
dans les paramètres, choisissez “Nombre décimal”
spécifiez “min” comme Unité.
Récupérez tout de suite dans la partie “Paramètres Experts”, le code API du périphérique. On va en avoir besoin tout de suite. Puis entrez l’adresse suivante pour rafraîchir ce compteur.
[alert style=”success” title=”url Refresh Compteur”]
http://localhost/script/?exec=compteurTemps.php&action=read&id=<CodeAPI>&type=<TypeCompteur>
[/alert]les type de compteur disponibles sont: quotidien/mensuel/annuel
le chemin Xpath à saisir (pour avoir une valeur en minutes) est le suivant: ceiling(/root/value div 60). Mettez un autorefresh de l’ordre de 5 minutes.
Etape 3, la création du périphérique de commande du compteur
créez une nouvel actionneur http, cet actionneur nous servira comme module de commande pour notre compteur
Passez ensuite dans la partie valeurs et configurez deux valeurs comme ci-dessous
il suffit de remplacer id=… par le code API que vous avez récupéré au début de l’article et de choisir le type de compteur que vous voulez quotidien/mensuel/annuel. Bien sûr, il faudra être cohérent et spécifier le même type de compteur dans toutes les Urls que vous utilisez, vous aurez des comportements bizarres sinon !
pour initialiser le compteur exécuter une fois l’Url suivante:
[alert style=”success” title=”url Refresh Compteur”]
http://<@IP_eedomus>/?exec=compteurTemps.php&action=reset&id=<CodeApi>&type=mensuel
[/alert]
Récapitulons, nous avons un périphérique compteur, ainsi que le périphérique de commande, nous sommes prêts !
le reset du compteur se fait automatiquement lors d’un changement de période (Jour/Mois/Année).
Etape 4, l’intégration dans les règles
Toute la “tringlerie” est en place, vous êtes prêts à utiliser vos compteurs. J’ai fait ce script suite aux demandes sur le forum eedomus de ce type de périphérique pour compter le temps d’utilisation d’un chauffage ou d’une chaudière. Comme toujours, je suis curieux d’avoir vos retours sur le forum pour savoir vers quoi votre imagination débridée vous a emmené !
Conclusion
Cette solution n’est pas idéale, entre autres parce qu’elle utilise les capteurs/actionneurs HTTP, le temps que le capteur s’exécute, il peut y avoir quelques secondes de délai. J’ai essayé de pallier au problème en jouant sur les arrondis, mais ne cherchez pas à mesurer des valeurs inférieures à la minute, il y a des risques que cela ne fonctionne pas très bien. Je vous tiendrai au courant de l’évolution sur le forum eedomus sur ce fil. Et pour terminer, merci à Anne-Marie,Marcus-67, ASECADOMOTIQUE54 qui ont bien voulu jouer les beta-testeurs et qui m’ont remonté les bugs.
je ne sais pas si j’ai bien compris
perso ce qui m’interresse c’est de savoir combien de temps les pc/nas sont allumés. Je dispose d’une fonction d’allumage/ extinction des pc (pour le nas merci aurel), d’un etat on/off pour chacun. est ce qu’a parti de cela, je peux avoir de façon automatique la durée de fonction ?
oui c’est ça!! il faut juste créer une règle à partir du périphérique ping de ton nas/pc sur eedomus pour démarrer et arrêter le compteur, si tu n’en à pas créer le tu as juste à renseigner l’ip de ton nas/pc.
règle 1 si ping devient ok alors démarre compteur
règle 2 si ping devient injoignable alors arrêt compteur
Merci pour cette nonne initiative, mais malgré ça, autant j’ai réussi a faire fonctionne le compteur simple que le compteur de temps, je n’y arrive pas, malgré le RESET, ça m’affiche dans la barre ne notification du haut :
Le 26 juil. à 07:24 : Compteur Salon en erreur: [Valeur non numérique [NAN]].
Aperçu du contenu :
0707
donc si je comprend bien, pas de valeur de temps dans les balises
un petite aide serait appréciée…merci
Je viens de mettre en oeuvre le tuto est ça a marché nickel.
@Tony : revérifie tout, tu as du te rater dans un paramètre.
Hello, je viens de tester le compteur et il fonctionne mais je ne parviens pas à l’arrêter (le compteur continue après avoir lancé la commande stop) ! Une idée ?