
Ponte MQTT para sensores de plantas
BetaReencaminha as medições dos sensores de plantas do teu próprio broker MQTT para a app.

- Imagem
- ghcr.io/koktaildotcom/urbanjungle-mqtt-bridge
- Corre em
- Docker com Docker Compose, ao lado do teu broker MQTT
- Gateways
- OpenMQTTGateway, Theengs Gateway ou qualquer publicador de medições em JSON
- Tópico padrão
- urbanjungle/+/state, ou home/+/BTtoMQTT/+ para os gateways
- Medições
- Humidade, luz, temperatura, nutrientes, bateria
- Verificação de estado
- GET /health na porta 8090
- Conta
- Ligada com um código de dispositivo através de OAuth 2.0, acesso apenas a sensores
A ponte MQTT da Urban Jungle Care é um pequeno contentor Docker que reencaminha as medições dos sensores de plantas do teu broker MQTT para a tua conta Urban Jungle Care. As tuas plantas ficam atualizadas enquanto o telemóvel está longe, sem Homey nem Home Assistant.
O que a ponte faz
- Subscreve um tópico no teu broker e lê humidade, luz, temperatura, nutrientes e bateria de cada mensagem.
- Envia essas medições para a tua conta, para que a app as mostre com o resto do histórico.
- Regista sozinha um sensor que a tua conta ainda não conhece. Depois associas-o a uma planta na app.
- Ignora tudo o resto que um gateway publica, como termómetros, beacons e mensagens de estado.
O que precisas
- Um broker MQTT, por exemplo o Mosquitto.
- Um gateway que leia os teus sensores de plantas por bluetooth e os publique no broker, como o OpenMQTTGateway ou o Theengs Gateway.
- Docker com Docker Compose numa máquina que chegue ao broker.
- Uma conta Urban Jungle Care, a mesma que usas na app do telemóvel.
Como configurar
-
Cria um
docker-compose.ymlcom a ponte: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: -
Arranca-a com
docker compose up -d. -
Lê o código de dispositivo com
docker compose logs mqtt-bridge. -
Abre o endereço do registo, inicia sessão com a tua conta Urban Jungle Care e introduz o código.
Depois o registo indica que a autorização foi bem-sucedida, e as medições começam a chegar à app. Adiciona MQTT_USERNAME e MQTT_PASSWORD se o teu broker pedir um login.
O teu próprio publicador
A ponte não está presa a nenhum gateway. Publica um objeto JSON como {"moisture": 45, "temperature": 23} em urbanjungle/<endereço do sensor>/state e chega à tua conta. Uma mensagem pode trazer só uma parte dos valores.
Revogar a ligação
Na app, abre Integrações, encontra MQTT Bridge em Connected apps e escolhe Revoke access. A ponte perde o acesso de imediato e escreve um código novo no registo, que só introduzes se quiseres ligá-la de novo.
Perguntas sobre esta integração
Um broker MQTT como o Mosquitto, um gateway que publique nele os teus sensores de plantas, Docker com Docker Compose e uma conta Urban Jungle Care.
OpenMQTTGateway e Theengs Gateway num ESP32 ou num Raspberry Pi. Define MQTT_TOPIC como home/+/BTtoMQTT/+ e a ponte apanha os sensores Mi Flora e outros sensores de plantas.
No primeiro arranque escreve um código de dispositivo no seu registo. Abre o endereço do registo em qualquer dispositivo, inicia sessão com a tua conta Urban Jungle Care e introduz o código. A ponte nunca vê a tua palavra-passe.
Apenas aos teus sensores. Lê e regista dispositivos e envia medições. Não vê as tuas plantas, tarefas nem o teu perfil.
A ponte guarda o seu token em /data. Monta /data como volume, como no exemplo desta página, e a ligação sobrevive a reinícios e atualizações.
Um Mi Flora só envia o nível de bateria numa ligação direta, não nas transmissões que um gateway lê. As outras medições chegam uma de cada vez, repartidas por várias mensagens.
A ponte funciona, mas é nova e tem menos utilizadores do que a app e a integração Homey. Os problemas que comunicares ajudam-na a sair mais cedo da beta.
