
Most MQTT dla czujników roślin
BetaPrzekazuj pomiary czujników roślin z własnego brokera MQTT do aplikacji.

- Obraz
- ghcr.io/koktaildotcom/urbanjungle-mqtt-bridge
- Działa na
- Docker z Docker Compose, obok Twojego brokera MQTT
- Bramki
- OpenMQTTGateway, Theengs Gateway lub dowolny wydawca pomiarów w JSON
- Domyślny topic
- urbanjungle/+/state lub home/+/BTtoMQTT/+ dla bramek
- Pomiary
- Wilgotność, światło, temperatura, nawożenie, bateria
- Kontrola stanu
- GET /health na porcie 8090
- Konto
- Połączone kodem urządzenia przez OAuth 2.0, dostęp tylko do czujników
Most MQTT Urban Jungle Care to mały kontener Docker, który przekazuje pomiary czujników roślin z Twojego brokera MQTT na Twoje konto Urban Jungle Care. Rośliny pozostają aktualne, gdy telefonu nie ma w pobliżu, bez Homey czy Home Assistant.
Co robi most
- Subskrybuje topic na Twoim brokerze i odczytuje z każdej wiadomości wilgotność, światło, temperaturę, nawożenie i baterię.
- Wysyła te pomiary na Twoje konto, więc aplikacja pokazuje je razem z resztą historii.
- Sam rejestruje czujnik, którego Twoje konto jeszcze nie zna. Potem przypisujesz go do rośliny w aplikacji.
- Ignoruje wszystko inne, co publikuje bramka, na przykład termometry, beacony i komunikaty o stanie.
Czego potrzebujesz
- Brokera MQTT, na przykład Mosquitto.
- Bramki, która odczytuje Twoje czujniki roślin przez bluetooth i publikuje je na brokerze, takiej jak OpenMQTTGateway lub Theengs Gateway.
- Dockera z Docker Compose na komputerze, który ma dostęp do brokera.
- Konta Urban Jungle Care, tego samego co w aplikacji mobilnej.
Jak to ustawić
-
Utwórz plik
docker-compose.ymlz mostem: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: -
Uruchom go poleceniem
docker compose up -d. -
Odczytaj kod urządzenia poleceniem
docker compose logs mqtt-bridge. -
Otwórz adres z logu, zaloguj się kontem Urban Jungle Care i wpisz kod.
Log pokaże potem, że autoryzacja się powiodła, a pomiary zaczną trafiać do aplikacji. Dodaj MQTT_USERNAME i MQTT_PASSWORD, jeśli Twój broker wymaga logowania.
Własny wydawca
Most nie jest przywiązany do żadnej bramki. Opublikuj obiekt JSON, taki jak {"moisture": 45, "temperature": 23}, na urbanjungle/<adres czujnika>/state, a trafi on na Twoje konto. Wiadomość może zawierać tylko część wartości.
Cofanie połączenia
W aplikacji otwórz Integracje, znajdź MQTT Bridge w sekcji Connected apps i wybierz Revoke access. Most od razu traci dostęp i zapisuje w logu nowy kod, który wpisujesz tylko wtedy, gdy chcesz połączyć go ponownie.
Pytania o tę integrację
Brokera MQTT, takiego jak Mosquitto, bramki, która publikuje na nim Twoje czujniki roślin, Dockera z Docker Compose i konta Urban Jungle Care.
OpenMQTTGateway i Theengs Gateway na ESP32 lub Raspberry Pi. Ustaw MQTT_TOPIC na home/+/BTtoMQTT/+, a most odbierze czujniki Mi Flora i inne czujniki roślin.
Przy pierwszym uruchomieniu zapisuje kod urządzenia w swoim logu. Otwórz adres z logu na dowolnym urządzeniu, zaloguj się kontem Urban Jungle Care i wpisz kod. Most nigdy nie widzi Twojego hasła.
Tylko do Twoich czujników. Odczytuje i rejestruje urządzenia oraz wysyła pomiary. Nie widzi Twoich roślin, zadań ani profilu.
Most trzyma swój token w /data. Zamontuj /data jako wolumen, jak w przykładzie na tej stronie, a połączenie przetrwa restarty i aktualizacje.
Mi Flora wysyła poziom baterii tylko przy bezpośrednim połączeniu, a nie w rozgłoszeniach, które odczytuje bramka. Pozostałe pomiary przychodzą pojedynczo, rozłożone na kilka wiadomości.
Most działa, ale jest nowy i ma mniej użytkowników niż aplikacja i integracja z Homey. Zgłaszane przez Ciebie problemy pomagają mu szybciej wyjść z bety.
