# OpenRemote MQTT Agent - Configuration

## Date : 04 Mai 2026

## 🎯 Objectif
Configurer un agent MQTT dans OpenRemote pour recevoir les données IoT depuis les brokers (EMQX, Mosquitto, BunkerM) et peupler le realm Smart City.

## 🔧 Procédure (via Manager UI)

### Prérequis
- OpenRemote accessible : https://openremote.digitribe.fr/manager/
- Realm : `smartcity`
- Login : `admin` / `Digitribe972`
- Keycloak configuré avec `KC_HOSTNAME: openremote.digitribe.fr`
- `KC_COOKIE_SAME_SITE: "None"` (requis pour same-domain)

### Étapes de création de l'agent MQTT

1. **Accéder à l'interface Manager**
   - Ouvrir https://openremote.digitribe.fr/manager/
   - Sélectionner le realm `Smart City` (si pas déjà sélectionné)

2. **Créer un nouvel Asset de type Agent**
   - Cliquer sur **Assets** dans le menu gauche
   - Bouton **+ Add Asset**
   - Choisir **Agent** → **MQTT Agent**

3. **Configuration pour EMQX (Broker principal)**
   ```
   Name: EMQX MQTT Agent
   Broker URL: tcp://mqtt.digitribe.fr:1900
   (ou interne: tcp://docker-emqx-1:1883)
   Username: bunker
   Password: bunker
   Client ID: openremote-emqx-agent
   Clean Session: true
   Topics: smartcity/# (subscribe)
   QoS: 0 ou 1
   ```

4. **Configuration pour Mosquitto (Traefik)**
   ```
   Name: Mosquitto MQTT Agent
   Broker URL: tcp://mosquitto.digitribe.fr:1883
   Username: (si configuré)
   Password: (si configuré)
   Topics: smartcity/#
   ```

5. **Mapping des données (après connexion)**
   - L'agent va recevoir les messages MQTT
   - Créer des **Attributes** sur les Assets IoT existants (33 assets)
   - Lier les topics MQTT aux attributs (ex: `smartcity/airquality/temperature` → `Attribute: temperature`)

## ⚠️ Notes importantes

1. **API Service Account bloquée** : L'API OpenRemote donne 403 (Service Account non configuré correctement)
2. **Contournement** : Utiliser uniquement l'interface Manager UI
3. **Keycloak** : Client `openremote` avec secret `QVTnyObwXdpQ0Vuc60kFSonidK49FiXb`
4. **Cookies** : Après modification Keycloak, faire logout + clear cookies + reconnect

## 🔗 Références
- OpenRemote MQTT Agent docs : https://docs.openremote.io/docs/connect-to-things/mqtt
- Realm Smart City : 33 assets IoT déjà configurés
- Simulateur : Envoie sur EMQX (port 11883) et Mosquitto (port 1883)

## 📋 TODO
- [ ] Créer EMQX MQTT Agent (via UI)
- [ ] Créer Mosquitto MQTT Agent (via UI)
- [ ] Tester réception données (simulateur → broker → OpenRemote)
- [ ] Configurer mapping des attributs sur les 33 assets

---
**Statut** : 📋 À faire (via Manager UI)
**Dernière mise à jour** : 04 Mai 2026
