Contrôle d'accès connecté
Table des matières
- Architecture du système d'accès
- Types d'actions disponibles
- Configurer les commandes MQTT
- Historique des accès
- Logs et traçabilité
- Gestion des codes d'accès clients
- Cas d'usage
- FAQ
Architecture du système d'accès
Boxanet s'appuie sur une architecture IoT moderne pour piloter les accès physiques de votre centre de self-stockage :
Application web Boxanet
│
▼ (commande MQTT via WebSocket sécurisé)
Broker MQTT (cloud)
│
▼ (topic spécifique au site)
Dispositifs Shelly (Shelly Pro 1, Shelly Plus 1, etc.)
│
▼
Portails / Portes / Barrières
Composants impliqués :
- Application web Boxanet : l'interface d'administration et l'application client envoient des commandes d'action (entrée, sortie, ouverture de bâtiment).
- Broker MQTT : messagerie temps réel hébergée dans l'infrastructure Boxanet. Chaque site dispose de topics MQTT dédiés et isolés.
- Dispositifs Shelly : relais intelligents connectés en WiFi. Ils reçoivent les commandes MQTT et actionnent les relais physiques (portails, serrures, barrières).
- Codes PIN : chaque client dispose d'un code PIN unique généré automatiquement à la création du contrat. Ce code peut être utilisé sur un clavier externe ou via l'application mobile.
Types d'actions disponibles
Boxanet supporte quatre types d'actions d'accès physique, configurables indépendamment pour chaque site :
1. Entrée site (entry)
Ouvre le portail ou la barrière d'entrée principale du site. L'action est loggée avec horodatage, identifiant client, et données de localisation si disponibles.
2. Ouverture bâtiment (building_open)
Déverrouille la porte d'accès à un bâtiment ou à une zone spécifique. Utile pour les sites multi-bâtiments où chaque bâtiment nécessite une authentification distincte.
3. Fermeture bâtiment (building_close)
Verrouille la porte d'accès d'un bâtiment. Cette action peut être déclenchée par le client (pour sécuriser la zone après son passage) ou automatiquement après un délai configurable.
4. Sortie site (exit)
Ouvre le portail ou la barrière de sortie. L'action clôt la session d'accès et est loggée séparément de l'entrée.
Configurer les commandes MQTT
Accéder à la configuration
- Allez dans Paramètres → Site → Contrôle d'accès.
- Sélectionnez l'onglet "Commandes MQTT".
Structure JSON des commandes
Chaque action est définie par un objet JSON envoyé sur un topic MQTT spécifique. Voici la structure complète :
{
"actions": {
"entry": {
"topic": "shellies/site-paris-01/portail-entree/relay/0/command",
"payload": "on",
"duration_ms": 800,
"confirm_topic": "shellies/site-paris-01/portail-entree/relay/0"
},
"building_open": {
"topic": "shellies/site-paris-01/porte-bat-a/relay/0/command",
"payload": "on",
"duration_ms": 500,
"confirm_topic": "shellies/site-paris-01/porte-bat-a/relay/0"
},
"building_close": {
"topic": "shellies/site-paris-01/porte-bat-a/relay/0/command",
"payload": "off",
"duration_ms": 0,
"confirm_topic": null
},
"exit": {
"topic": "shellies/site-paris-01/portail-sortie/relay/0/command",
"payload": "on",
"duration_ms": 800,
"confirm_topic": "shellies/site-paris-01/portail-sortie/relay/0"
}
},
"broker": {
"host": "mqtt.boxanet.fr",
"port": 8883,
"tls": true
}
}
Description des champs :
| Champ | Type | Description |
|---|---|---|
topic | string | Topic MQTT sur lequel envoyer la commande |
payload | string | Valeur à envoyer (on, off, ou commande JSON Shelly) |
duration_ms | integer | Durée d'impulsion en ms (0 = bistable) |
confirm_topic | string ou null | Topic pour vérifier l'état du relais après commande |
Tester une commande MQTT
Après avoir enregistré la configuration :
- Cliquez sur "Tester" à côté de chaque action.
- Un appui envoie la commande en temps réel.
- Le résultat (succès / timeout / erreur) s'affiche dans les 3 secondes.
Historique des accès
Consulter l'historique
- Allez dans Accès → Historique.
- La liste affiche par défaut les 100 derniers événements du site courant.
Filtres disponibles
- Client : recherche par nom, prénom ou numéro de contrat
- Action : entrée, sortie, ouverture bâtiment, fermeture bâtiment
- Date : sélecteur de plage de dates
- Statut : succès, échec, timeout
- Box : filtrer les accès liés à une box spécifique
Exporter l'historique
Cliquez sur "Exporter → CSV" pour télécharger l'historique filtré. Le fichier inclut : date/heure, client, action, statut, IP, durée d'exécution.
Logs et traçabilité
Chaque événement d'accès génère un log complet incluant :
| Donnée | Description |
|---|---|
| Horodatage | Date et heure précises à la milliseconde (UTC) |
| Identifiant client | ID interne et numéro de contrat |
| Action | Type d'action déclenchée |
| Adresse IP | IP publique de l'appareil utilisé |
| Coordonnées GPS | Si l'application mobile a l'autorisation de localisation |
| User-agent | Navigateur ou version de l'application mobile |
| Heure d'exécution | Temps de traitement côté serveur (ms) |
| Statut MQTT | Confirmation de réception par le dispositif Shelly |
| Code retour | 200 = succès, 408 = timeout, 500 = erreur interne |
Consulter les logs techniques
Les logs techniques détaillés sont accessibles dans Accès → Logs techniques (rôle manager uniquement). Ils permettent de diagnostiquer les problèmes de connectivité MQTT ou de timeout réseau.
Gestion des codes d'accès clients
Génération automatique
Un code PIN à 6 chiffres est généré automatiquement lors de la création d'un contrat. Il est envoyé au client par SMS et email, et consultable dans l'espace client.
Consulter le code PIN d'un client
- Ouvrez le contrat du client.
- Dans la section "Accès", cliquez sur l'icône œil pour afficher le code PIN.
Régénérer un code PIN
- Ouvrez le contrat.
- Dans la section "Accès", cliquez sur "Régénérer le code".
- Confirmez l'action — l'ancien code est immédiatement invalidé.
- Le nouveau code est envoyé au client par SMS automatiquement.
Suspension temporaire d'accès
Pour suspendre l'accès d'un client sans résilier le contrat (ex. : loyers impayés) :
- Ouvrez le contrat.
- Section "Accès" → "Suspendre l'accès".
- Le client reçoit une notification et son code PIN est désactivé jusqu'à la levée de suspension.
Cas d'usage
Accès client depuis smartphone
Scénario : Marie Dupont, cliente box C-07, souhaite accéder à son box depuis son smartphone.- Marie se connecte à son espace client sur
client.boxanet.frou via l'application mobile. - Sur l'écran d'accueil, elle voit les boutons d'accès : "Entrer sur le site", "Ouvrir le bâtiment", "Sortir du site".
- En appuyant sur "Entrer sur le site", l'application envoie la commande MQTT via le serveur Boxanet.
- Le Shelly Pro 1 connecté au portail reçoit la commande et ouvre le portail pendant 800 ms.
- L'accès est loggé avec l'heure, l'IP et (si autorisé) les coordonnées GPS de Marie.
- Le contrat de Marie est actif (non résilié, non suspendu)
- L'heure d'accès est dans les plages horaires autorisées (configurables par site)
- Le dispositif Shelly est connecté et répond sur le broker MQTT
Débogage d'une porte bloquée
Scénario : Un client signale que le portail ne s'ouvre pas.- Allez dans Accès → Historique et filtrez sur le client et les 30 dernières minutes.
- Cherchez un événement d'accès avec statut "Échec" ou "Timeout".
- Cliquez sur l'événement pour voir le log détaillé.
- Si "Timeout MQTT" : le dispositif Shelly n'a pas répondu. Vérifiez la connexion WiFi du Shelly (LED orange = déconnecté).
- Si "Accès refusé" : le contrat est peut-être suspendu. Vérifiez dans Contrats → [Client].
- Si "Hors horaires" : l'accès a été tenté hors des plages autorisées.
- Pour tester manuellement : Paramètres → Contrôle d'accès → Tester → Ouverture portail.