# Graphique binaire : ajout des présences?

**URL:** <https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135>\
**Category:** Demandes livrées\
**Created:** [Octobre 24, 2024, 10:55 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135 "2024-10-24T10:55:44Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![zedyxer](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/zedyxer/32/13458_2.png) [@zedyxer](https://community.gladysassistant.com/u/zedyxer)\
**Post date:** [Octobre 24, 2024, 10:55 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/1 "2024-10-24T10:55:44Z")

</div>

Bonjour

la derniere version de Glasys integre la possibilité d’afficher des graphiques binaires, cela dit il n’est pas possible d’afficher une présence (donc a priori binaire) issue de lan manager.  
Est il possible de faire en sorte que ces présences s’affichent ? j’imagine que cela est liée au fait que l’historique n’est pas géré pour les objets lan manager ?

Merci a vous 😉

Z.

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Octobre 28, 2024, 2:35 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/2 "2024-10-28T14:35:35Z")

</div>

Salut @zedyxer,

J’ai essayé de mon côté, et j’arrive bien à ajouter la présence sur un graphique :

 ![Screenshot 2024-10-28 at 15.29.59](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/f/5/f55c7a49426fb815ca9a1a54375db33325e93a27.png)

Tu es sûr que ça ne fonctionne pas chez toi ?

---

<div class="post-metadata">

**Author:** ![zedyxer](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/zedyxer/32/13458_2.png) [@zedyxer](https://community.gladysassistant.com/u/zedyxer)\
**Post date:** [Octobre 31, 2024, 7:54 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/3 "2024-10-31T07:54:54Z")

</div>

Bonjour Pierre-Gilles,

Merci déja pour ta réponse 🙂 , je me suis sans doutes mal exprimé. En fait il est possible d’associer uen présence lan manager a un graphique binaire, mais celui-ci ne s’affiche pas :  
 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/4/3/433509786bd13615265fcb4ad367d48b172f4cd3.png)  
C’est pourquoi je pensais qu’il s’agit de données non historisées.

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Octobre 31, 2024, 8:13 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/4 "2024-10-31T08:13:29Z")

</div>

J’ai regardé le code et il est bien historisé :

 ![Screenshot 2024-10-31 at 09.12.19](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/c/5/c59f4bb3e2c4a5d80a8be9764350398f2dc01f00.jpeg)

Tu es sûr que tu as des valeurs sur la dernière heure ?

Ce service envoie une valeur «&nbsp;1&nbsp;» à chaque fois qu’un appareil est vu, si il n’est pas vu, il n’y a pas de «&nbsp;0&nbsp;» qui est envoyé

---

<div class="post-metadata">

**Author:** ![zedyxer](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/zedyxer/32/13458_2.png) [@zedyxer](https://community.gladysassistant.com/u/zedyxer)\
**Post date:** [Octobre 31, 2024, 10:58 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/5 "2024-10-31T10:58:33Z")

</div>

il s’agit d’un smartphone en wifi gerant ma présence, j’ai bien allumé puis coupé le wifi plusieurs fois dans la matinée mais rien ne change au niveau du graphique. Je n’ai pas compris ta derniere phase concernant le fait qu’il n’y ai pas de 0 envoyé, cela signifie qu’il me faut envoyer 0 par un autre moyen ?

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Octobre 31, 2024, 11:02 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/6 "2024-10-31T11:02:45Z")

</div>

Non rien à faire de spécial, c’est juste que je précise que l’intégration n’envoie qu’une valeur quand l’appareil est détecté, il n’y a pas actuellement de «&nbsp;retour à 0&nbsp;» quand l’appareil n’est pas détecté.

Donc même si on arrive à faire fonctionner le graphique chez toi, tu ne verras qu’une seule bande de couleur, pas d’alternance entre présence/absence.

Tu es bien dans la dernière version de Gladys ? (4.47?)

---

<div class="post-metadata">

**Author:** ![zedyxer](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/zedyxer/32/13458_2.png) [@zedyxer](https://community.gladysassistant.com/u/zedyxer)\
**Post date:** [Octobre 31, 2024, 11:16 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/7 "2024-10-31T11:16:27Z")

</div>

je suis bien en 4.47, le fait que l’intégration n’envoi pas 0 si non detecté n’empeche pas d’afficher le graphique ? car du coup je n’ai que des 1 malgré la coupure manuelle du wifi sur le smartphone ?

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Octobre 31, 2024, 12:49 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/8 "2024-10-31T12:49:53Z")

</div>

Effectivement, j’arrive à reproduire.

@Terdious il y a un souci avec la requête SQL pour les appareils binaires, quand c’est un appareil de type «&nbsp;push&nbsp;» qui n’envoie que des 1, ça ne marche pas, ça ne renvoie rien

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Octobre 31, 2024, 1:03 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/9 "2024-10-31T13:03:26Z")

</div>

@Terdious le «&nbsp;change\_marker&nbsp;» dans la query est toujours null vu que ça change pas:

 ![Screenshot 2024-10-31 at 13.58.43](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/f/4/f41fa06a6a4a0c12bd3bbb5b71f4ef6bf5b5d1a6.jpeg)

Je pense que du coup la query ne renvoie rien à cause de ça

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Octobre 31, 2024, 1:14 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/10 "2024-10-31T13:14:24Z")

</div>

Je pense qu’il y a un bug avec la query actuelle même pour les appareils binaires, la première valeur n’est jamais renvoyée, car la query pense que l’état n’a pas changé.

Que penses-tu d’une query de ce style:

```sql
WITH value_changes AS (
    SELECT
        created_at,
        value,
        LAG(value) OVER (ORDER BY created_at) AS prev_value
    FROM
        t_device_feature_state
    WHERE
        device_feature_id = ?
        AND created_at > ?
),
state_transitions AS (
    SELECT
        created_at,
        value
    FROM
        value_changes
    WHERE
        prev_value IS NULL OR value != prev_value
)
SELECT
    value,
    created_at
FROM
    state_transitions
ORDER BY
    created_at ASC
LIMIT ?

```

Sur ce dataset:

 ![Screenshot 2024-10-31 at 14.12.02](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/e/f/ef595e4cf1c40c13492357b513525e8f95a86a0d.jpeg)

je compte 21 valeurs distincts

La query actuelle me renvoie seulement 20 valeurs (tout, sauf la première)

 ![Screenshot 2024-10-31 at 14.13.26](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/a/6/a6184718799dcd4fdcb91d50d6dcbb9aa3990cfa.jpeg)

La query que je propose renvoie bien 21 valeurs, en alternance :

 ![Screenshot 2024-10-31 at 14.13.59](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/e/7/e7157eab2c960a7ebce2de1a7842fc15792e9639.png)

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Octobre 31, 2024, 8:07 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/11 "2024-10-31T20:07:17Z")

</div>

Hello,  
Désolé je viens seulement de voir la conversation !!

En effet je suis d’accord (en meme temps comment pourrais-je en juger autrement 😀) que la 1ere valeur n’est pas prise en compte. Loose de ne pas avoir vu cela et surtout désolé.

En effet en ce qui concerne tout ce qui ne change jamais d’état à part envoyer des 1 … ca ne peut pas fonctionner.

Comme ça je ne vois pas trop comment resoudre ce point pour la présence (je n’ai jamais apprécié ce fonctionnement d’ailleurs… il devrait y avoir associé un timer pour retomber à 0) ou pour tout détecteur a envoi unique d’état.

Que fait-on du coup ? Tu as une idée en tete ?

Dis moi si tu veux que je m’occupe d’un PR.

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Novembre 1, 2024, 8:23 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/12 "2024-11-01T08:23:53Z")

</div>

> [@Terdious](#):
>
> Que fait-on du coup ? Tu as une idée en tete ?

Oui ! La requête que je propose plus haut 😄  
Elle corrige le fonctionnement pour les binaires et les push

Edit : ah je comprend ce que tu veux dire. Pour le retour à zéro, pas le choix c’est l’intégration LAN Manager qui doit être modifiée pour coder un retour à zéro quand l’appareil n’est plus vu

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Novembre 1, 2024, 8:47 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/13 "2024-11-01T08:47:12Z")

</div>

La requête complète avec le `end_time`:

```auto
WITH value_changes AS (
    SELECT
        created_at,
        value,
        LAG(value) OVER (ORDER BY created_at) AS prev_value
    FROM
        t_device_feature_state
    WHERE
        device_feature_id = ?
        AND created_at > ?
),
state_transitions AS (
    SELECT
        created_at,
        value,
        LEAD(created_at) OVER (ORDER BY created_at) AS end_time
    FROM
        value_changes
    WHERE
        prev_value IS NULL OR value != prev_value
)
SELECT
    value,
    created_at,
    end_time
FROM
    state_transitions
ORDER BY
    created_at ASC
LIMIT ?

```

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Novembre 1, 2024, 8:52 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/14 "2024-11-01T08:52:30Z")

</div>

La PR :

> <https://github.com/GladysAssistant/Gladys/pull/2153>
>
> \### Pull Request check-list
> 
> To ensure your Pull Request can be accepted as fa…st as possible, make sure to review and check all of these items:
> 
> \- \[x\] If your changes affects code, did your write the tests?
> \- \[x\] Are tests passing? (\`npm test\` on both front/server)
> \- \[x\] Is the linter passing? (\`npm run eslint\` on both front/server)
> \- \[x\] Did you run prettier? (\`npm run prettier\` on both front/server)
> \- \[x\] If you are adding a new features/services, did you run integration comparator? (\`npm run compare-translations\` on front)
> \- \[x\] Did you test this pull request in real life? With real devices? If this development is a big feature or a new service, we recommend that you provide a Docker image to the community (\[french forum\](https://community.gladysassistant.com/)/\[english forum\](https://en-community.gladysassistant.com/)) for testing before merging.
> 
> \### Description of change
> 
> Binary query was not returning the first value because it was not different from the previous value, fixing that

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Novembre 1, 2024, 4:48 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/15 "2024-11-01T16:48:51Z")

</div>

La PR est partie dans Gladys Assistant 4.48 :

> [@Gladys Assistant 4.48 : L'IA Proactive débarque dans Gladys Assistant!](https://community.gladysassistant.com/t/gladys-assistant-4-48-lia-proactive-debarque-dans-gladys-assistant/9153):
>
> Salut à tous ! C’est une mise à jour qui va vous plaire !! smiley Je vous en dis plus sur le blog : N’hésitez pas si vous avez des retours sur ces nouvelles fonctionnalités, je suis vraiment preneur de vos retours. Le CHANGELOG est disponible [ici](https://github.com/GladysAssistant/Gladys/releases/tag/v4.48.0). Si vous avez des questions, n’hésitez pas slight_smile

Avec cette PR, @zedyxer tu devrais voir une barre continue, il y aura juste les fois où ton appareil est détecté, mais sans les fois où ton appareil n’est pas détecté (le fameux retour à zéro), donc pas très utile pour l’instant

Je vais essayer de regarder pour rajouter ça à l’intégration LAN Manager.

---

<div class="post-metadata">

**Author:** ![zedyxer](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/zedyxer/32/13458_2.png) [@zedyxer](https://community.gladysassistant.com/u/zedyxer)\
**Post date:** [Novembre 1, 2024, 10:27 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/16 "2024-11-01T22:27:57Z")

</div>

merci pour cette release, effectivement le graphique s’affiche mais aucun 0 ne s’affiche, uniquement les 1, je reste connecté, merci pour le taf 😉

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Novembre 8, 2024, 2:47 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/17 "2024-11-08T14:47:29Z")

</div>

Je viens de proposer une PR pour ajouter le retour à zéro à l’intégration LAN Manager 🙂

Preneur de retours !

La PR :

> <https://github.com/GladysAssistant/Gladys/pull/2164>
>
> \### Pull Request check-list
> 
> To ensure your Pull Request can be accepted as fa…st as possible, make sure to review and check all of these items:
> 
> \- \[\] If your changes affects code, did your write the tests?
> \- \[\] Are tests passing? (\`npm test\` on both front/server)
> \- \[\] Is the linter passing? (\`npm run eslint\` on both front/server)
> \- \[\] Did you run prettier? (\`npm run prettier\` on both front/server)
> \- \[\] If you are adding a new features/services, did you run integration comparator? (\`npm run compare-translations\` on front)
> \- \[\] Did you test this pull request in real life? With real devices? If this development is a big feature or a new service, we recommend that you provide a Docker image to the community (\[french forum\](https://community.gladysassistant.com/)/\[english forum\](https://en-community.gladysassistant.com/)) for testing before merging.
> 
> \### Description of change
> 
> When a device is not seen, should save a 0 but only once to avoid saving too much useless 0.

Image Docker:

```auto
gladysassistant/gladys:lan-manager-add-value-zero

```

---

<div class="post-metadata">

**Author:** ![guim31](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/guim31/32/4840_2.png) [@guim31](https://community.gladysassistant.com/u/guim31)\
**Post date:** [Novembre 8, 2024, 6:52 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/18 "2024-11-08T18:52:50Z")

</div>

Trop bien ça, je pense que ça va simplifier la vie niveau présence !

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Novembre 11, 2024, 2:53 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/19 "2024-11-11T14:53:06Z")

</div>

Petit up, je suis preneur de retours sur cette image 🙂

---

<div class="post-metadata">

**Author:** ![zedyxer](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/zedyxer/32/13458_2.png) [@zedyxer](https://community.gladysassistant.com/u/zedyxer)\
**Post date:** [Novembre 11, 2024, 4:40 UTC](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135/20 "2024-11-11T16:40:23Z")

</div>

installé et en cours de test, un grand merci !! 😉

[Page suivante](https://community.gladysassistant.com/t/graphique-binaire-ajout-des-presences/9135.md?page=2)
