
Pont MQTT pour capteurs de plantes
BetaTransmettez les mesures de vos capteurs de plantes depuis votre propre broker MQTT vers l'application.

- Image
- ghcr.io/koktaildotcom/urbanjungle-mqtt-bridge
- Tourne sur
- Docker avec Docker Compose, à côté de votre broker MQTT
- Passerelles
- OpenMQTTGateway, Theengs Gateway ou tout éditeur de mesures en JSON
- Topic par défaut
- urbanjungle/+/state, ou home/+/BTtoMQTT/+ pour les passerelles
- Mesures
- Humidité, lumière, température, nutriments, batterie
- Contrôle de santé
- GET /health sur le port 8090
- Compte
- Relié avec un code d'appareil via OAuth 2.0, accès aux capteurs uniquement
Le pont MQTT d’Urban Jungle Care est un petit conteneur Docker qui transmet les mesures de vos capteurs de plantes depuis votre broker MQTT vers votre compte Urban Jungle Care. Vos plantes restent à jour pendant que votre téléphone est ailleurs, sans Homey ni Home Assistant.
Ce que fait le pont
- S’abonne à un topic sur votre broker et lit l’humidité, la lumière, la température, les nutriments et la batterie dans chaque message.
- Envoie ces mesures vers votre compte, pour que l’application les affiche avec le reste de l’historique.
- Enregistre de lui-même un capteur que votre compte ne connaît pas encore. Vous l’associez ensuite à une plante dans l’application.
- Ignore tout le reste de ce qu’une passerelle publie, comme les thermomètres, les balises et les messages d’état.
Ce qu’il vous faut
- Un broker MQTT, par exemple Mosquitto.
- Une passerelle qui lit vos capteurs de plantes en bluetooth et les publie sur le broker, comme OpenMQTTGateway ou Theengs Gateway.
- Docker avec Docker Compose sur une machine qui atteint le broker.
- Un compte Urban Jungle Care, le même que dans l’application mobile.
La mise en place
-
Créez un
docker-compose.ymlavec le pont :services: mqtt-bridge: image: ghcr.io/koktaildotcom/urbanjungle-mqtt-bridge:latest restart: unless-stopped environment: MQTT_URL: mqtt://192.168.1.10:1883 MQTT_TOPIC: home/+/BTtoMQTT/+ volumes: - bridge-data:/data volumes: bridge-data: -
Démarrez-le avec
docker compose up -d. -
Lisez le code d’appareil avec
docker compose logs mqtt-bridge. -
Ouvrez l’adresse du journal, connectez-vous avec votre compte Urban Jungle Care et saisissez le code.
Le journal indique ensuite que l’autorisation a réussi, et les mesures commencent à arriver dans l’application. Ajoutez MQTT_USERNAME et MQTT_PASSWORD si votre broker demande un identifiant.
Votre propre éditeur
Le pont n’est lié à aucune passerelle. Publiez un objet JSON comme {"moisture": 45, "temperature": 23} sur urbanjungle/<adresse du capteur>/state et il arrive dans votre compte. Un message peut ne contenir qu’une partie des valeurs.
Révoquer la liaison
Dans l’application, ouvrez Intégrations, trouvez MQTT Bridge sous Connected apps et choisissez Revoke access. Le pont perd aussitôt son accès et écrit un nouveau code dans son journal, que vous ne saisissez que si vous voulez le relier à nouveau.
Questions sur cette intégration
Un broker MQTT comme Mosquitto, une passerelle qui y publie vos capteurs de plantes, Docker avec Docker Compose et un compte Urban Jungle Care.
OpenMQTTGateway et Theengs Gateway sur un ESP32 ou un Raspberry Pi. Réglez MQTT_TOPIC sur home/+/BTtoMQTT/+ et le pont récupère les capteurs Mi Flora et les autres capteurs de plantes.
Au premier démarrage, il écrit un code d'appareil dans son journal. Ouvrez l'adresse du journal sur n'importe quel appareil, connectez-vous avec votre compte Urban Jungle Care et saisissez le code. Le pont ne voit jamais votre mot de passe.
Uniquement à vos capteurs. Il lit et enregistre des appareils et envoie des mesures. Il ne voit ni vos plantes, ni vos tâches, ni votre profil.
Le pont garde son jeton dans /data. Montez /data comme volume, comme dans l'exemple de cette page, et la liaison survit aux redémarrages et aux mises à jour.
Un Mi Flora n'envoie son niveau de batterie que lors d'une connexion directe, pas dans les diffusions qu'une passerelle lit. Les autres mesures arrivent une par une, réparties sur plusieurs messages.
Le pont fonctionne, mais il est nouveau et compte moins d'utilisateurs que l'application et l'intégration Homey. Les problèmes que vous signalez l'aident à sortir de la bêta plus vite.
