MQTT - Externe Geräte (Smartphone) einbinden

Entschuldigung, ich glaube, ich habe mich verheddert!

Zusammenfassung und Kontext:

  • Gladys ist bei mir zu Hause auf einem Raspberry Pi installiert und ist weder im Internet exponiert noch darauf zugreifbar.
  • Ich habe noch kein Gladys Plus-Abo, daher kein Zugriff auf Gladys direkt über das Internet.
  • Bedarf: Ich möchte als „anwesend“ definiert werden, wenn mein Telefon nur über WLAN verbunden ist.

Vorgehensweise:

  • Ich verwende presence publisher für Android, das es ermöglicht, sobald ich zu Hause über WLAN verbunden bin, MQTT-Nachrichten an Gladys zu senden.
  • In Gladys, unter « MQTT », erstelle ich ein neues Gerät vom Typ « Anwesenheit » mit den Werten « 1 » und « 0 » (keine andere Wahl als Zahlen).
  • Anwesenheitserkennung: In einer Szene ermöglicht der Block « Gerätezustandsänderung » für das MQTT-Gerät, das mit dem sendet, was meine Anwendung sendet, mich als anwesend zu markieren.
  • Abwesenheitserkennung: In einer anderen Szene markiere ich mich als abwesend, wenn das Signal älter als 15 Minuten ist. Dafür ermöglicht mir der Block « Prüfen der Anwesenheit » in den letzten 15 Minuten, mich als abwesend zu markieren, wenn das Signal nicht mehr empfangen wird.

Achtung: Standardmäßig sendet die Anwendung « online » und nicht « 1 » an Gladys. Sobald ich den Parameter in der Android-Anwendung geändert habe, funktionieren die Szenen wie erwartet (zuvor dachte ich, es wäre 1 und 0).

Tipp: Ich wollte, dass die Anwendung Nachrichten sendet, ohne ihr den Zugriff auf den GPS zu gewähren und meinen GPS immer eingeschaltet zu lassen (notwendig, um ihr zu ermöglichen, den WLAN-SSID zu kennen).
Ich verwende, was die Anwendung « Abwesenheitsnachrichten » nennt, um Gladys zu benachrichtigen, dass ich zu Hause im WLAN bin (logisch :sweat_smile:). Da Gladys mich als anwesend markiert, wenn sie Nachrichten hat, und als abwesend, wenn sie keine hat, funktioniert es so, wie ich es möchte!

Dafür:

  1. GPS-Berechtigung (Standort) verweigern
  2. Unter « Bedingungen » « Send without wifi » aktivieren
  3. Im Abschnitt « None of the above matches » « Send absence message » aktivieren und den Wert « Absence message » auf « 1 » ändern.