# Integration externe - Unify network

**URL:** <https://community.gladysassistant.com/t/integration-externe-unify-network/10426>\
**Category:** Développement\
**Tags:** integration-externe\
**Created:** [Août 1, 2026, 4:21 UTC](https://community.gladysassistant.com/t/integration-externe-unify-network/10426 "2026-08-01T16:21:58Z")\
**Posts on this page:** 11\
**Page:** 4

<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:** [Octobre 18, 2026, 9:26 UTC](https://community.gladysassistant.com/t/integration-externe-unify-network/10426/61 "2026-10-18T09:26:40Z")

</div>

Merci @mutmut pour les captures, ça m’aide beaucoup !

Les **clients connectés** du widget, ce sont les clients WireGuard du serveur : chez toi, l’UX de Nantes et l’UDR de Liège, connectés en clients WireGuard à l’UDR7. Ce ne sont pas les clients Wi-Fi ou Ethernet des bornes. Tes deux serveurs « WireGuard Nantes » et « WireGuard Liege » sont bien vus ; c’est le comptage de leurs clients qui ne marche pas.

- **Premier widget** : dans ses réglages, c’est l’appareil de la passerelle UDR7 qui est choisi, pas un des deux appareils « VPN WireGuard ». Le widget montrait alors le premier serveur trouvé, Nantes. Avec la **1.8.1** , il dit clairement que l’appareil choisi n’est pas un serveur VPN. Choisis « VPN WireGuard : WireGuard Nantes » ou « … Liege » et ce sera bon.
- **0 client connecté** : je cherchais les clients WireGuard dans la liste des clients de la console, et ta console ne les y met pas. La documentation d’Ubiquiti ne dit pas où elle les range. La 1.8.1 ajoute donc une action **Diagnostic VPN** sur la page de l’intégration. Elle interroge les quelques endroits possibles et ne renvoie que des noms de champs, des nombres et des codes HTTP : aucune adresse, aucune clé, rien de personnel. Tu peux la lancer pendant que Nantes est connecté et coller le résultat ici ? Je saurai alors où lire tes clients.

Mets à jour depuis Gladys 🙂

---

<div class="post-metadata">

**Author:** ![mutmut](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/mutmut/32/14064_2.png) [@mutmut](https://community.gladysassistant.com/u/mutmut)\
**Post date:** [Octobre 18, 2026, 12:14 UTC](https://community.gladysassistant.com/t/integration-externe-unify-network/10426/62 "2026-10-18T12:14:30Z")

</div>

Mise à jour en 1.8.1.  
Il se passe tout l’inverse : UDR7 est le serveur, UX et UDR sont les clients, or les widget montrent le contraire :

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/3/b/3b316673565942cdf8f3167d7b073bb633d6974e.png)  
Pour UDR et UX, ce sont exactement les mêmes captures qu’avant.

Pour le diagnostic VPN :

```auto
WireGuard servers: 2; active clients (stat/sta): 41
stat/sta keys about VPN: last_uplink_remote_port
#1 enabled, subnet set; in subnet: 0, same network_id: 0
  networkconf keys: _id, dhcpd_dns_enabled, dhcpd_start, dhcpd_stop, dhcpd_wins_enabled, enabled, external_id, firewall_zone_id, interface_mtu_enabled, ip_subnet, ipv6_subnet, local_port, mss_clamp, mss_clamp_ipv6, name, purpose, setting_preference, site_id, vpn_binding_mode, vpn_client_configuration_remote_ip_override_enabled, vpn_type, wireguard_id, wireguard_interface, wireguard_interface_binding_mode_ip_version, wireguard_local_wan_ip, x_wireguard_private_key
  /api/s/{site}/stat/remoteuservpn: 1 item(s): assoc_time, id, interface, last_seen, network_id, peer_id, remote_ip, rx_bytes, rx_packets, rx_rate, site_id, tunnel_ip, tx_bytes, tx_packets, tx_rate, up, uptime, user, vpn_type
  /v2/api/site/{site}/wireguard/<id>/users: 1 item(s): _id, allowed_ips, interface_ip, interface_ipv6, name, network_id, public_key
  /v2/api/site/{site}/wireguard/<id>/clients: string
  /v2/api/site/{site}/vpn/connections: object: connections
  /v2/api/site/{site}/clients/active: 41 item(s): anomalies, assoc_time, authorized, blocked, display_name, fingerprint, first_seen, fixed_ip, gw_mac, hostname, id, ip, ipv6_address, is_allowed_in_visual_programming, is_guest, is_wired, last_seen, last_uplink_mac, last_uplink_name, last_uplink_remote_port, latest_assoc_time, local_dns_record, local_dns_record_enabled, mac, model_name, name, network_id, network_members_group_ids, network_name, noted, oui, rx_bytes, rx_bytes-r, rx_packets, site_id, status, sw_port, tags, tx_bytes, tx_bytes-r, tx_packets, type, unifi_device, uplink_mac, uptime, use_fixedip, user_id, usergroup_id, virtual_network_override_enabled, virtual_network_override_id, wired_rate_mbps
  /integration/v1/sites/<site>/clients?limit=200: 41 item(s): access, connectedAt, id, ipAddress, macAddress, name, type, uplinkDeviceId
#2 enabled, subnet set; in subnet: 0, same network_id: 0
  networkconf keys: _id, dhcpd_dns_enabled, dhcpd_start, dhcpd_stop, dhcpd_wins_enabled, enabled, external_id, firewall_zone_id, interface_mtu_enabled, ip_subnet, ipv6_subnet, local_port, mss_clamp, mss_clamp_ipv6, name, purpose, setting_preference, site_id, vpn_binding_mode, vpn_client_configuration_remote_ip_override_enabled, vpn_type, wireguard_id, wireguard_interface, wireguard_interface_binding_mode_ip_version, wireguard_local_wan_ip, x_wireguard_private_key
  /api/s/{site}/stat/remoteuservpn: 1 item(s): assoc_time, id, interface, last_seen, network_id, peer_id, remote_ip, rx_bytes, rx_packets, rx_rate, site_id, tunnel_ip, tx_bytes, tx_packets, tx_rate, up, uptime, user, vpn_type
  /v2/api/site/{site}/wireguard/<id>/users: 1 item(s): _id, allowed_ips, interface_ip, interface_ipv6, name, network_id, public_key
  /v2/api/site/{site}/wireguard/<id>/clients: string
  /v2/api/site/{site}/vpn/connections: object: connections
  /v2/api/site/{site}/clients/active: 41 item(s): anomalies, assoc_time, authorized, blocked, display_name, fingerprint, first_seen, fixed_ip, gw_mac, hostname, id, ip, ipv6_address, is_allowed_in_visual_programming, is_guest, is_wired, last_seen, last_uplink_mac, last_uplink_name, last_uplink_remote_port, latest_assoc_time, local_dns_record, local_dns_record_enabled, mac, model_name, name, network_id, network_members_group_ids, network_name, noted, oui, rx_bytes, rx_bytes-r, rx_packets, site_id, status, sw_port, tags, tx_bytes, tx_bytes-r, tx_packets, type, unifi_device, uplink_mac, uptime, use_fixedip, user_id, usergroup_id, virtual_network_override_enabled, virtual_network_override_id, wired_rate_mbps
  /integration/v1/sites/<site>/clients?limit=200: 41 item(s): access, connectedAt, id, ipAddress, macAddress, name, type, uplinkDeviceId

```

---

<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:** [Octobre 18, 2026, 12:29 UTC](https://community.gladysassistant.com/t/integration-externe-unify-network/10426/63 "2026-10-18T12:29:58Z")

</div>

Merci beaucoup @mutmut, ton diagnostic était exactement ce qu’il fallait !

Il montre que ta console range les connexions WireGuard dans une liste à part, et non avec les autres clients. C’est corrigé dans la **1.8.2** : les clients connectés sont lus dans les connexions VPN actives de l’UDR7, et nommés comme dans UniFi. Dans ton cas, le serveur « WireGuard Nantes » devrait afficher 1 client connecté (l’UX), avec les données échangées, et « WireGuard Liege » 0 tant que l’UDR est éteint. Les déclencheurs « Client VPN connecté / déconnecté » partent aussi pour eux.

Pour les widgets, je comprends la confusion : les deux appareils « VPN WireGuard » sont tous les deux sur ton **UDR7**. Ce sont les deux serveurs WireGuard que tu y as créés, un par site. Ils ne représentent pas l’UX ni l’UDR. L’appareil « udr7 » de la liste est la passerelle elle-même, pas un serveur VPN, d’où le message du premier widget. Donc :

- widget « VPN WireGuard : WireGuard Nantes » → est-ce que Nantes est connecté ;
- widget « VPN WireGuard : WireGuard Liege » → est-ce que Liège est connecté.

Mets à jour depuis Gladys, et dis-moi si Nantes apparaît bien 🙂

---

<div class="post-metadata">

**Author:** ![mutmut](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/mutmut/32/14064_2.png) [@mutmut](https://community.gladysassistant.com/u/mutmut)\
**Post date:** [Octobre 18, 2026, 12:54 UTC](https://community.gladysassistant.com/t/integration-externe-unify-network/10426/64 "2026-10-18T12:54:19Z")

</div>

> [@guim31](#):
>
> Ce sont les deux serveurs WireGuard que tu y as créés,

Bingo, j’ai compris la différence, merci !

C’est nickel :

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/7/3/73e8567c9065d611bf1945991ea3d3ac68850189.png)  
Allez si j’osais je te demanderais aussi le débit en direct (ou presque) en plus du trafic (si c’est possible) 😉  
Je pense aussi qu’on peut passer au Go quand ça dépasse 1000Mo et To quand ça dépasse 1000Go.  
D’ailleurs c’est un compteur journalier ou cumulatif ?

---

<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:** [Octobre 18, 2026, 1:15 UTC](https://community.gladysassistant.com/t/integration-externe-unify-network/10426/65 "2026-10-18T13:15:56Z")

</div>

@mutmut Top, merci pour le retour ^^

C’est fait en 1.8.3 : au-delà de 1000 Mo le trafic passe en Go, et au-delà de 1000 Go en To. Mettez à jour depuis Gladys.

Pour ta question : ce n’est pas journalier, c’est le cumul de la connexion en cours du client, tel que la console le donne.

Le débit en direct, je note : la console ne le donne pas tel quel pour le VPN, il faudrait le calculer entre deux relevés. Je regarde ça.

---

<div class="post-metadata">

**Author:** ![mutmut](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/mutmut/32/14064_2.png) [@mutmut](https://community.gladysassistant.com/u/mutmut)\
**Post date:** [Octobre 18, 2026, 1:33 UTC](https://community.gladysassistant.com/t/integration-externe-unify-network/10426/66 "2026-10-18T13:33:54Z")

</div>

1.8.3 au top !  
 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/2/b/2b77637716f8901263e56b65d15ab20e84a8b23d.png)

---

<div class="post-metadata">

**Author:** ![stefanbauer](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/stefanbauer/32/23593_2.png) [@stefanbauer](https://community.gladysassistant.com/u/stefanbauer)\
**Post date:** [Octobre 18, 2026, 10:39 UTC](https://community.gladysassistant.com/t/integration-externe-unify-network/10426/67 "2026-10-18T22:39:07Z")

</div>

J’ai découvert un petit problème… voir ma capture d’écran. Dans les activités, l’intégration signale chaque minute pour tous mes appareils concernés la présence. C’est correct en soi, mais c’est complètement inutile, car cela surcharge mon journal d’activités. (Ce n’est pas un journal système, mais quelque chose d’utile). Il serait donc judicieux que cela ne soit enregistré dans le journal d’activités que s’il n’y avait pas eu de présence détectée auparavant. Sinon, j’ai au moins autant de logs dans le journal d’activités que le nombre d’appareils à surveiller par minute. Pas idéal 🙂

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/c/6/c661eb0727a14ea92ec7386ead3e3d2b83dce3c3.jpeg)

---

<div class="post-metadata">

**Author:** ![stefanbauer](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/stefanbauer/32/23593_2.png) [@stefanbauer](https://community.gladysassistant.com/u/stefanbauer)\
**Post date:** [Octobre 19, 2026, 5:25 UTC](https://community.gladysassistant.com/t/integration-externe-unify-network/10426/68 "2026-10-19T05:25:22Z")

</div>

J’ai remarqué un petit problème : si j’utilise une scène pour définir le statut de présence d’une personne en fonction de l’état du périphérique, il y a un délai, et pas un délai documenté.

Pourquoi ? Parce que la présence de cette intégration semble avoir une valeur fixe de 5 minutes avant de marquer un appareil comme absent. Cela signifie que ma scène ne doit pas vérifier si un appareil est marqué comme absent depuis 5 minutes, sinon cela se termine en 10 minutes. 5 minutes de retard de détection de l’intégration du réseau Unifi jusqu’à ce qu’il soit marqué comme absent, puis 5 minutes de retard avant que la scène ne dise que cet appareil avait maintenant le statut absent.

Ma suggestion : rendre la durée avant qu’un appareil soit marqué comme absent (par exemple, lors de la sortie du WiFi) configurable. 🙂

---

<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:** [Octobre 19, 2026, 5:55 UTC](https://community.gladysassistant.com/t/integration-externe-unify-network/10426/69 "2026-10-19T05:55:55Z")

</div>

@stefanbauer Merci pour les deux retours !

**Délai jusqu’à „absent“** : Il est déjà configurable, dans la configuration sous **„Délai d’absence (s)“** (par défaut 120 s). Avec **1.8.4** (mise à jour via Gladys) fonctionne maintenant aussi **0** : avant, 0 était pris silencieusement comme 120 s. Un reste subsiste cependant côté UniFi : la console signale un téléphone comme déconnecté seulement quand elle ne le voit plus elle-même (inactivité WLAN), cela peut prendre quelques minutes, je n’ai pas d’influence là-dessus.

**Journal des activités** : La présence est volontairement renvoyée chaque minute, car l’action de scène de Gladys, qui vérifie la présence d’un utilisateur, ne regarde que l’heure de la dernière valeur. Le scanner réseau intégré de Gladys fait de même. Je regarde comment on peut résoudre cela plus proprement, et je vous tiens au courant.

---

<div class="post-metadata">

**Author:** ![stefanbauer](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/stefanbauer/32/23593_2.png) [@stefanbauer](https://community.gladysassistant.com/u/stefanbauer)\
**Post date:** [Octobre 19, 2026, 6:02 UTC](https://community.gladysassistant.com/t/integration-externe-unify-network/10426/70 "2026-10-19T06:02:36Z")

</div>

Merci à toi @guim31

Pour le premier point. Ah, nous avons un problème similaire dans les scènes pour l’action «&nbsp;Vérifier la présence des utilisateurs&nbsp;». Si on y met 0 pour le délai, il n’y a pas d’erreur, c’est enregistré silencieusement, mais comme 10 min. C’est probablement un bug dans le core, je pense.

---

<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:** [Octobre 21, 2026, 8:00 UTC](https://community.gladysassistant.com/t/integration-externe-unify-network/10426/71 "2026-10-21T08:00:41Z")

</div>

Merci @stefanbauer !

**Journal des activités** : Avec **1.9.0** (mise à jour via Gladys), il y a dans la configuration l’option **„Envoyer la présence toutes les minutes“** (activée par défaut, comme avant). Si tu la désactives, l’intégration n’envoie que les changements : le journal des activités reste propre, mais l’action de scène **„Vérifier la présence des utilisateurs“** ne fonctionnera plus pour ces appareils.

**0 → 10 min.** : Tu as raison, c’est un bug dans le Core, et plus précisément dans l’éditeur de scènes : le serveur accepte 0, mais quand tu rouvres la scène, l’éditeur remplace 0 par 10 en silence, et lors de la sauvegarde suivante, 10 est conservé. Je transmets cela à l’équipe Gladys, avec l’endroit dans le code.

[Page précédente](https://community.gladysassistant.com/t/integration-externe-unify-network/10426.md?page=3)
