Nouveau plugin magictrigger

OK. Merci pour le feedback.

Pour la documentation, tu es en version « espagnol », et il me semble que pour l’instant, avec la nouvelle documentation JEEDOM, il n’y a plus de traduction automatique.
J’ai ouvert l’issue #1 (https://github.com/benoit5672/plugin-magictrigger/issues/1)

Pour le « rien ne se passe », je vais devoir investiguer car il est vrai que cela ne fonctionne pas quand on clique sur le lien en dehors de la page de configuration du plugin. Les liens dans la fenetre de configuration de l’equipement ou sur la page d’acceuil ne fonctionne pas.
J’ai ouvert l’issue #2 (https://github.com/benoit5672/plugin-magictrigger/issues/2)

Benoit

C’est un lien que j’avais rajouté moi dans mes plugins mais qui n’est pas dans le template standard, je suppose que tu as pris un des mes plugins comme base?

je viens de vérifier et dans ton desktop js il manque:

$('.pluginAction[data-action=openLocation]').on('click',function(){
    window.open($(this).attr("data-location"), "_blank", null);
});

qui va être utilisé par:
ceci qui se trouve bien dans ton desktop/php:

        <div class="cursor pluginAction logoSecondary" data-action="openLocation" data-location="<?=$plugin->getDocumentation()?>">
            <i class="fas fa-book"></i>
            <br>
            <span>{{Documentation}}</span>
        </div>
1 « J'aime »

Hello @Mips,
Merci d’avoir regardé mon code et trouvé la partie manquante. Je suis effectivement parti de plusieurs plugins (dont les tiens) pour faire ma partie graphique. C’est mon premier plugin et je n’étais pas familier du framework bootstrap.
Je vais intégrer ces deux modifications et repousser sur le market après des tests
Benoit

1 « J'aime »

pas de soucis, flatté que tu aies pu t’inspirer (partiellement) d’un de mes plugins pour le tien

Il va falloir ajouter les périodes de confinement, je vais avoir un bon bazar dans ma période d’apprentissage :grin:

C’est un plugin base sur les habitudes, il ne faudrait pas que le confinement rentre dans les habitudes :slight_smile:

Ou utiliser dans le plugin la notion d’exclusion « vacances » ou dans les conditions avec le plugin agenda pour les périodes confinements.

Plus ou moins HS, même si confinement ne rime pas forcément avec vacance mais plus avec télétravail ou chômage partiel :wink::sweat_smile:

Bonjour,

Je viens de publier une mise a jour (v1.0.1) qui contient des fixes lies a la documentation (beta et stable).
Si vous trouver des problemes sur le plugin, la meilleure facon de proceder est de creer un nouveau sujet dans la community, avec le tag ‹ plugin-magictrigger ›. S’il s’agit effectivement d’un probleme, alors je creerai une « issue » dans github, et je fixerai le probleme.
Gardons ce « fil » pour les idees d’utilisations du plugin, et des infos sur les releases.
benoit

1 « J'aime »

Bonjour,

Je n’ai aucun graphique dans le widget.
Peut être est ce lié à la période d’apprentissage de 4semaines?
Comment savoir si cela fonctionne ?

Bonsoir @SWR
Tu devrais avoir des points visible en fonction des journées que tu as sélectionnées.

  1. Si tu te mets en debug pour le plugin et tu fais un refresh ou que tu regardes un graphe d une journée, tu devrais voir dans les logs le nombre d d’occurrence d’événements pour la journée sélectionnée.

  2. Autre solution, tu mets le plugin en ‹ info ›. Un log sera généré pour chaque événement inséré dans la base de données

  3. En passant par le menu système tu peux accéder à la base de données. Tu peux regarder facilement le nombre d’éléments de la table magictrigger.

Je crois que j’ai fait le tour.
Benoit

Bonjour @benoit5672,

Il y sûrement quelque chose qui m’échappe, voici le résultat de la méthode 1

[2020-10-31 09:20:03] magictrigger.INFO: [Monitoring][Test] la periode d'apprentissage n'est pas terminee [] []
[2020-10-31 09:22:33] magictrigger.INFO: AJAX : getStatistics [] []
[2020-10-31 09:22:33] magictrigger.INFO: AJAX : getStatistics 2 [] []
[2020-10-31 09:22:33] magictrigger.INFO: AJAX : getStatistics 3 [] []
[2020-10-31 09:22:33] magictrigger.INFO: getStatistics on command total Sunday (today=0, period=5, interval=15) [] []
[2020-10-31 09:22:34] magictrigger.INFO: AJAX : getStatistics [] []
[2020-10-31 09:22:34] magictrigger.INFO: AJAX : getStatistics 2 [] []
[2020-10-31 09:22:34] magictrigger.INFO: AJAX : getStatistics 3 [] []
[2020-10-31 09:22:34] magictrigger.INFO: getStatistics on command total Monday (today=1, period=5, interval=15) [] []
[2020-10-31 09:22:34] magictrigger.INFO: AJAX : getStatistics [] []
[2020-10-31 09:22:34] magictrigger.INFO: AJAX : getStatistics 2 [] []
[2020-10-31 09:22:34] magictrigger.INFO: AJAX : getStatistics 3 [] []
[2020-10-31 09:22:34] magictrigger.INFO: getStatistics on command total Tuesday (today=2, period=5, interval=15) [] []
[2020-10-31 09:22:35] magictrigger.INFO: AJAX : getStatistics [] []
[2020-10-31 09:22:35] magictrigger.INFO: AJAX : getStatistics 2 [] []
[2020-10-31 09:22:35] magictrigger.INFO: AJAX : getStatistics 3 [] []
[2020-10-31 09:22:35] magictrigger.INFO: getStatistics on command total Wednesday (today=3, period=5, interval=15) [] []
[2020-10-31 09:22:36] magictrigger.INFO: AJAX : getStatistics [] []
[2020-10-31 09:22:36] magictrigger.INFO: AJAX : getStatistics 2 [] []
[2020-10-31 09:22:36] magictrigger.INFO: AJAX : getStatistics 3 [] []
[2020-10-31 09:22:36] magictrigger.INFO: getStatistics on command total Thursday (today=4, period=5, interval=15) [] []
[2020-10-31 09:22:37] magictrigger.INFO: AJAX : getStatistics [] []
[2020-10-31 09:22:37] magictrigger.INFO: AJAX : getStatistics 2 [] []
[2020-10-31 09:22:37] magictrigger.INFO: AJAX : getStatistics 3 [] []
[2020-10-31 09:22:37] magictrigger.INFO: getStatistics on command total Friday (today=5, period=5, interval=15) [] []
[2020-10-31 09:22:38] magictrigger.INFO: AJAX : getStatistics [] []
[2020-10-31 09:22:38] magictrigger.INFO: AJAX : getStatistics 2 [] []
[2020-10-31 09:22:38] magictrigger.INFO: AJAX : getStatistics 3 [] []
[2020-10-31 09:22:38] magictrigger.INFO: getStatistics on command total Saturday (today=6, period=5, interval=15) [] []
[2020-10-31 09:25:04] magictrigger.DEBUG: [Monitoring][Test] isDue(*/5 * * * 0,1,2,3,4,5,6) = true [] []
[2020-10-31 09:25:04] magictrigger.INFO: [Monitoring][Test] la periode d'apprentissage n'est pas terminee [] []

J’ai relu la doc et la config semble trivial, mais sûrement cela m’échappe

Je suis sur un tablette difficile de faire une copie d’écran, mais voici ma config
déclencheur « #[Itag][Amazfit BIP Olivier][Present]# »
Condition « #[Itag][Amazfit BIP Olivier][Present]#==1 »

Merci de ton éclairage

Bonjour @SWR,

le declencheur et la condition semble bonne. As-tu bien coche les jours dans la section monitoring de configuration de l’equipement ? Tu peux cocher tous les jours et toute la journee. Une fois l’apprentissage termine, tu pourras ajuster les jours et les heures et travailler uniquement sur les echantillons qui t’interesse.

Peux tu s’il te plait refaire la meme commande mais en debug, pas en info.
Je voudrais voir si getStats() est bien appelle.

Chez moi:

[2020-10-31 19:32:44][INFO] : AJAX : getStatistics
[2020-10-31 19:32:44][INFO] : AJAX : getStatistics 2
[2020-10-31 19:32:44][INFO] : AJAX : getStatistics 3
[2020-10-31 19:32:44][INFO] : getStatistics on command total Sunday (today=0, period=5, interval=15)
[2020-10-31 19:32:44][DEBUG] : Entering getStats(magicId=327, today=0, todayStart=0, todayEnd=0, tomorrow=1, tomorrowStart=0, tomorrowEnd=2359, period=5, interval=15)
[2020-10-31 19:32:44][DEBUG] : getEvents will return an array of 288 elements.
[2020-10-31 19:32:44][DEBUG] : getEvents will return an array of 288 elements.

Apres, comme tu peux le voir, je n’ai pas de crochets ([]) dans l’appel AJAX. Quel version ‹ OS ›, et de jeedom utilises-tu?

Pour verifier le nombre total d’evenements dans la journee, tu peux aller dans l’equipement, et modifier le format d’affichage de « default » a « tile » par exemple, en
Selection_00172
En faisant cette operation, tu devrais avoir le nombre total d’evenements de la journee.
Selection_00171

Cela permettra d’isoler si c’est un probleme avec le widget, ou un probleme d’insertion dans la base de donnees.

Avec ca, on devrait pouvoir avancer.
Bonne soiree
Benoit

Bonjour @benoit5672,

J’ai bien des crochets vides
Voici les log en mode debug après un refresh


[2020-11-01 10:24:32] magictrigger.DEBUG: [Monitoring][Test] Entering getInformation [] []
[2020-11-01 10:24:32] magictrigger.INFO: holiday=1, vacation=1 [] []
[2020-11-01 10:24:32] magictrigger.DEBUG: Entering getStats(magicId=6550, today=1, todayStart=0, todayEnd=2359, tomorrow=2, tomorrowStart=0, tomorrowEnd=2359, period=5, interval=15) [] []
[2020-11-01 10:24:32] magictrigger.DEBUG: getEvents will return an array of 288 elements. [] []
[2020-11-01 10:24:32] magictrigger.DEBUG: getEvents will return an array of 288 elements. [] []
[2020-11-01 10:24:32] magictrigger.DEBUG: [Monitoring][Test] stats array size=294 [] []
[2020-11-01 10:24:34] magictrigger.INFO: AJAX : getStatistics [] []
[2020-11-01 10:24:34] magictrigger.INFO: AJAX : getStatistics 2 [] []
[2020-11-01 10:24:34] magictrigger.INFO: AJAX : getStatistics 3 [] []
[2020-11-01 10:24:34] magictrigger.INFO: getStatistics on command total Sunday (today=0, period=5, interval=15) [] []
[2020-11-01 10:24:34] magictrigger.DEBUG: Entering getStats(magicId=6550, today=0, todayStart=0, todayEnd=2359, tomorrow=1, tomorrowStart=0, tomorrowEnd=2359, period=5, interval=15) [] []
[2020-11-01 10:24:34] magictrigger.DEBUG: getEvents will return an array of 288 elements. [] []
[2020-11-01 10:24:34] magictrigger.DEBUG: getEvents will return an array of 288 elements. [] []
[2020-11-01 10:24:34] magictrigger.INFO: AJAX : getStatistics [] []
[2020-11-01 10:24:34] magictrigger.INFO: AJAX : getStatistics 2 [] []
[2020-11-01 10:24:34] magictrigger.INFO: AJAX : getStatistics 3 [] []
[2020-11-01 10:24:34] magictrigger.INFO: getStatistics on command total Monday (today=1, period=5, interval=15) [] []
[2020-11-01 10:24:34] magictrigger.DEBUG: Entering getStats(magicId=6550, today=1, todayStart=0, todayEnd=2359, tomorrow=2, tomorrowStart=0, tomorrowEnd=2359, period=5, interval=15) [] []
[2020-11-01 10:24:34] magictrigger.DEBUG: getEvents will return an array of 288 elements. [] []
[2020-11-01 10:24:34] magictrigger.DEBUG: getEvents will return an array of 288 elements. [] []
[2020-11-01 10:24:34] magictrigger.INFO: AJAX : getStatistics [] []
[2020-11-01 10:24:34] magictrigger.INFO: AJAX : getStatistics 2 [] []
[2020-11-01 10:24:34] magictrigger.INFO: AJAX : getStatistics 3 [] []
[2020-11-01 10:24:34] magictrigger.INFO: getStatistics on command total Tuesday (today=2, period=5, interval=15) [] []
[2020-11-01 10:24:34] magictrigger.DEBUG: Entering getStats(magicId=6550, today=2, todayStart=0, todayEnd=2359, tomorrow=3, tomorrowStart=0, tomorrowEnd=2359, period=5, interval=15) [] []
[2020-11-01 10:24:34] magictrigger.DEBUG: getEvents will return an array of 288 elements. [] []
[2020-11-01 10:24:34] magictrigger.DEBUG: getEvents will return an array of 288 elements. [] []
[2020-11-01 10:24:34] magictrigger.INFO: AJAX : getStatistics [] []
[2020-11-01 10:24:34] magictrigger.INFO: AJAX : getStatistics 2 [] []
[2020-11-01 10:24:34] magictrigger.INFO: AJAX : getStatistics 3 [] []
[2020-11-01 10:24:34] magictrigger.INFO: getStatistics on command total Wednesday (today=3, period=5, interval=15) [] []
[2020-11-01 10:24:34] magictrigger.DEBUG: Entering getStats(magicId=6550, today=3, todayStart=0, todayEnd=2359, tomorrow=4, tomorrowStart=0, tomorrowEnd=2359, period=5, interval=15) [] []
[2020-11-01 10:24:34] magictrigger.DEBUG: getEvents will return an array of 288 elements. [] []
[2020-11-01 10:24:34] magictrigger.DEBUG: getEvents will return an array of 288 elements. [] []
[2020-11-01 10:24:35] magictrigger.INFO: AJAX : getStatistics [] []
[2020-11-01 10:24:35] magictrigger.INFO: AJAX : getStatistics 2 [] []
[2020-11-01 10:24:35] magictrigger.INFO: AJAX : getStatistics 3 [] []
[2020-11-01 10:24:35] magictrigger.INFO: getStatistics on command total Thursday (today=4, period=5, interval=15) [] []
[2020-11-01 10:24:35] magictrigger.DEBUG: Entering getStats(magicId=6550, today=4, todayStart=0, todayEnd=2359, tomorrow=5, tomorrowStart=0, tomorrowEnd=2359, period=5, interval=15) [] []
[2020-11-01 10:24:35] magictrigger.DEBUG: getEvents will return an array of 288 elements. [] []
[2020-11-01 10:24:35] magictrigger.DEBUG: getEvents will return an array of 288 elements. [] []
[2020-11-01 10:24:35] magictrigger.INFO: AJAX : getStatistics [] []
[2020-11-01 10:24:35] magictrigger.INFO: AJAX : getStatistics 2 [] []
[2020-11-01 10:24:35] magictrigger.INFO: AJAX : getStatistics 3 [] []
[2020-11-01 10:24:35] magictrigger.INFO: getStatistics on command total Friday (today=5, period=5, interval=15) [] []
[2020-11-01 10:24:35] magictrigger.DEBUG: Entering getStats(magicId=6550, today=5, todayStart=0, todayEnd=2359, tomorrow=6, tomorrowStart=0, tomorrowEnd=2359, period=5, interval=15) [] []
[2020-11-01 10:24:35] magictrigger.DEBUG: getEvents will return an array of 288 elements. [] []
[2020-11-01 10:24:35] magictrigger.DEBUG: getEvents will return an array of 288 elements. [] []
[2020-11-01 10:24:35] magictrigger.INFO: AJAX : getStatistics [] []
[2020-11-01 10:24:35] magictrigger.INFO: AJAX : getStatistics 3 [] []
[2020-11-01 10:24:35] magictrigger.INFO: getStatistics on command total Saturday (today=6, period=5, interval=15) [] []
[2020-11-01 10:24:35] magictrigger.DEBUG: Entering getStats(magicId=6550, today=6, todayStart=0, todayEnd=2359, tomorrow=0, tomorrowStart=0, tomorrowEnd=2359, period=5, interval=15) [] []
[2020-11-01 10:24:35] magictrigger.DEBUG: getEvents will return an array of 288 elements. [] []
[2020-11-01 10:24:35] magictrigger.DEBUG: getEvents will return an array of 288 elements. [] []
[2020-11-01 10:25:03] magictrigger.DEBUG: [Monitoring][Test] isDue(*/5 * * * 0,1,2,3,4,5,6) = true [] []
[2020-11-01 10:25:03] magictrigger.INFO: [Monitoring][Test] la periode d'apprentissage n'est pas terminee [] []
[2020-11-01 10:28:22] magictrigger.DEBUG: [Monitoring][Test] triggerNotification = (#2938# == 0) && (#6805# == 0) && ((#njour# == 0) || (#njour# == 1) || (#njour# == 2) || (#njour# == 3) || (#njour# == 4) || (#njour# == 5) || (#njour# == 6)) && (#5447#==1) returns false [] []

Ma config un pi4 sous buster :
Linux raspberrypi 5.4.51-v7l+ #1333 SMP Mon Aug 10 16:51:40 BST 2020 armv7l GNU/Linux [10.6]
Version datbase 10.3.23-MariaDB-0+deb10u1
Php 7.3.19-1~deb10u1

Jeedom
Version : 4.0.61
Source : default
Branche : V4-stable
Système : RPI 4 B

Tous les jours sont cochés

Aucune donnée est collectée en mode tile

Bonjour, ce plugin est plus que prometteur, bravo !

Petite question, peut il comprendre des habitudes sur deux semaines (garde alternée d’enfants) ou autre cycle…

1 « J'aime »

Bonjour @nebz,
non, pour l’instant, la periodicite est basee sur la semaine, et pas d’autres cycles.
Je note l’idee qui me parait pertinente, il faut que je regarde dans le code la faisabilite.
benoit

1 « J'aime »

Bonjour @SWR,
d’apres le dernier widget, il n’y a aucune donnees enregistrees dans la base de donnees (toutes les valeurs sont a 0). Tu as active l’exclusion pendant les vacances scolaires, et du coup, la collecte commencera apres les vacances de la toussaint. Encore un peu de patiente :slight_smile:
benoit

Bonjour @benoit5672,

OK bien vu, comme l’apprentissage est exclus pendant la périodes de vacances, ça fait sens.
Puis je suggérer de mettre un statut, sur la page du plug-in, parceque je risque de ne pas être le seul à poser la question.

Bon confinement

@SWR:C’est une bonne idée ce statut. Je pourrais rajouter ça soit dans l’équipement (une commande) ou dans la configuration de l’équipement (ma solution préférée)

Pour @nebz, j’ai regardé et ça va être compliqué de modifié la gestion des cycles. Peut-être que tu pourrais activer / désactiver l equipement en fonction de l’alternance via un scenario basé sur un agenda. Quand l equipement est inactif, il ne collecte pas d information et ne génére pas non plus d actions .
Benoit

Ok mais ça veut dire qu’une semaine sur deux c’est juste inactif.

Ça presse pas, garde ça dans un coin :wink: c’était juste une proposition .

1 « J'aime »

@benoit5672,
Peut être gérer une ou 2 exclusions binaire, chacun pourra y mettre la valeur de son choix :
Confinement, garde alternée, congés,…

Ma tile est toujours à 0,je surveille dans la journée