NEWS
Raumbezogene Anwesendheits Erkennung & Darstellung (VIS)
-
Hallo zusammen,
Ich habe mich in den letzten Tagen etwas intensiver mit Anwesendheitsprüfung beschäftigt und festgestellt das es mittlerweile fortschritte gibt.
Es ist sogar soweit, das nicht nur zuverlässig festgestellt werden kann, ob jemand sich in der Wohnung aufhält, sondern man kann sogar feststellen in welchem Raum sich welche Person befindet.
Benötigt werden dafür ein paar EPS32 oder auch RPI die in den Räumen verteilt werden müssen und BLE Tags.
Ich habe dafür die Familienmitglieder mit Mi Band 5 ausgestattet und 4 ESP32 mit BLE Software (OpenMQTTGateway) in den Eckpunkten der Wohnung verteilt.Der Empfang funktioniert super und theoretisch könnte man jetzt berechnen wer sich wo aufhält.
Ich sehe da sehr gute Möglichkeiten für iobroker auf an oder Abwesende Personen zu reagieren.
Beispielsweise das Licht und den Fernseher im Wohnzimmer auszuschalten, wenn die Holde mal wieder seit 10 Minuten in der Küche hockt.https://github.com/1technophile/OpenMQTTGateway -> Firmware for the ESP32&BLE
https://github.com/mKeRix/room-assistant
https://www.room-assistant.io/und ein Video, ab 14 Minuten ist auch eine kleine Demo zu sehen, wie es sich auswirkt.
https://www.youtube.com/watch?v=F_CfnplkEzUIch habe jetzt unter
https://github.com/ioBroker/AdapterRequests/issues/646
eine Adapter Anfrage gestartet und möchte diejenigen bitten, die das ebenfalls für sinnvoll halten, bei Github dafür zu stimmen. -
Kannst Du dein vorgehen etwas näher beschreiben ? Ich habe das identische vor, komme aber mit OpenMQTTGateway und deren MQTT Messages nicht ganz klar. OpenMQTTGateway sammelt alle gefundenen BT Devices unterhalb von "BTtoMQTT". Die gefundenen Geräte sind ja nicht immer im Payload enthalten, somit stelle ich mir die Frage, wie es zu einem True/False für eine BT MAC kommen kann. Bisher sehe ich nur die MAC und einen Zeitstempel.
Danke für deine Hilfe!
-
Hallo @benedelux,
soweit bin ich noch nicht, ich habe noch andere Baustellen, die vorrang haben.
Aber gerne teile ich mit dir die Informationen die ich bereits habe:-
OpenMQTTGateway weis nichts von Anwesendheit, sondern gibt Stumpf die gefundenen MAC Adressen raus.
-
Ist es unbedingt notwendig, das du Whitelisten einträgst, da du sonst dein IoBroker mit fremden MAC Adressen überflutest.
-
Für eine Auswertung müsste man den Zeit Stempel des Datenpunktes prüfen, da es kein True / False gibt dazu unten mehr.
-
ist OpenMQTTGateway noch nicht ganz sattelfest, da bei Stromausfall die Whitelist nicht überlebt, und noch mal gesetzt werden muss.
-
Solltest du bei der Einrichtung der Sensoren, also ESP32 oder was du dafür nimmst, schon vernünftige Namen vergeben.
Bei mir sind vier Geräte im Einsatz und haben die Namen BLE_AZ, BLE_WZ, BLE_SZ und BLE_Kueche (Arbeitszimmer, Wohnzimmer, Schlafzimmer und Küche).
Wie habe ich es bisher Umgesetzt:
Ich habe vier ESP32 mit OpenMQTTGateway geflasht und in den vier ecken der Wohnung verteilt.
Da ich den Sonoff Adapter im Einsatz habe, habe ich den MQTT installiert und den Port geändert.
Außerdem habe ich das Windows Programm MQTT Explorer runtergeladen (muss man nicht unbedingt, aber für mich war das einfacher.
An den Bändern hatte ich die aktuelle Firmware installiert und musste die Bänder danach nochmal auf Werkseinstellungen zurücksetzen (Achtung die MAC Adressen ändern sich durch das Zurücksetzen!!).
In der Mi-Fit App habe ich den Bändern erlaubt das Sie "Erkennbar" sein sollen, da sonnst Bluetooth am Handy ausgeschaltet werden muss, was den WAF natürlich gleich auf null setzt.
Whiteliste setzen:
So sieht es aktuell bei mir in IoBroker aus:
Was das auswerten der Daten angeht:
- es gibt einen Zeitstempel, wann die MAC Adresse zum letzten Mal gesichtet wurde.
- es gibt einen RSSI Wert, der besagt wie die Empfangsstärke aussieht
- es gibt mehrere Sensoren, die genau diese MAC Adresse mit den dazugehörigen RSSI Werten anzeigen.
Die Idee ist also, je Raum Messungen durchzuführen und so zu bestimmen, welcher Empfänger welche RSSI Werte liefert, und zwar je nachdem wo das Band gerade sich befindet. (Ähnlich einer Kreuzpeilung)
Das müsste also in jedem Raum mit jedem Band gemacht werden.
Das ganze dann in einem Grundriss eintragen und so berechnen, welcher Wert in welchem Raum bei welcher Position zustande kommt.
Da bin ich noch lange nicht soweit, mir fehlt aktuell leider die Zeit dafür.Für das Extrahieren der Json Daten kann ich dir folgende Links empfehlen:
Erklärung wie du an die Daten, die dich interessieren in dem Json Block kommst (Danke an @paul53 und @Homoran):
https://forum.iobroker.net/topic/46410/blockly-für-wert-aus-json-zu-extrahieren/Um dir die Json daten mal anzuschauen:
http://jsonviewer.stack.hu/
Bei HASS ist das als "Adapter" gelöst, weil man sich damit sehr viele Messungen sparen kann.
Leider alles in Englisch und damit nicht meins, aber interessant zu lesen (auch wenn es nur mit dem Google Übersetzer ist)
https://www.room-assistant.io/guide/#how-it-works
Wäre super wenn ein Entwickler so etwas benötigt und daher die Motivation findet einen Adapter für uns zu programmierenMeine Bisherigen Erfahrungen:
Die Bänder (3Stück) werden sehr gut gefunden,
OpenMQTTGateway braucht noch etwas zeit zum Ausreifen, aber das kommt bestimmt auch noch bald.
Ich habe nichts auf deutsch gefunden um die "Messungen" zur Positionsbestimmung zu vereinfachen.Für eine Simple "Ist zuhause, oder nicht" Abfrage ist das sehr zuverlässig und kann ich bedingungslos empfehlen.
Für die Raumbezogene Prüfung ist aber noch Fleißarbeit nötig. -
-
Die Bestimmung des Aufenthaltsraums sollte deutlich einfacher gehen als Du das da beschrieben hast:
- Platzieren der openMQTT Gateways so im Raum das es keine Sichtlinie in einen anderen Raum gibt, z.Bsp. über der Tür.
- Die "Wand" Seite durch einen "Funkblocker" erweitern, um die Signalstärke in den Nachbarraum zu verringern.
In diesem Fall sollte jeweils der Raum in dem sich die Person befindet die höchste Signalstärke liefern.
A.
-
@asgothian
Hört sich gut an.
Wie müsste ein funkblocker gestaltet sein?
Würde ein Aluhut in der gewünschten Richtung schon reichen?
Die Wohnung hat 100qm, die Abstände zwischen den Sensoren sind auch relativ groß.
Ich habe die Esp32 in kleine Gehäuse gepackt, direkt mit einem Hi-link Netzteil auf einer Platine, da könnte ich die Gehäuse ja noch von innen verkleiden.Werde mir den Hinweis merken für später, wenn ich das wieder in Angriff nehme.
Danke dafür. -
@muchul Eine Alu-Schicht zwischen ESP und Wand, ggf. etwas grösser als der ESP selber sollte reichen.
A.
-
@asgothian
Super, Dankeschön. -
Aus meiner Sicht wäre das Ganze erst dann wirklich zuverlässig, wenn sich alle Familienmitglieder einen entsprechenden Chip unter die Haut transplantieren ließen.
Und selbst dann sehe ich eher wenige sinnvolle Szenarien, die von der Anwesenheit einer bestimmten Person in einem Raum abhängen könnten, zumal sich bei mehreren Personen auch die Frage stellt, welche Priorität hat. Diejenige, die neu in den Raum kommt, diejenige, die am längsten im Raum war, oder wird das zufällig ausgewählt? Meine Frau würde mir sowas von auf's Dach steigen, wenn ich da irgendwelche Automatismen umsetzen würde.
-
@dtp sagte in Raumbezogene Anwesendheits Erkennung & Darstellung (VIS):
Meine Frau würde mir sowas von auf's Dach steigen, wenn ich da irgendwelche Automatismen umsetzen würde.
Das hängt denke ich von den Automatismen ab. Es gibt meiner Meinung nach durchaus Varianten bei denen ein Automatismus basierend auf der Frage der Anzahl der im Raum befindlichen Personen umsetzbar sind.
Und wenn es nur das Beispiel ist: Niemand mehr im Raum => in x Minuten alle Lichter aus. Oder für die Leute bei denen Smart-Speaker ein Ding sind: Nachrichten der Smart Speaker immer nur an Räume schicken in denen auch jemand ist, bzw. in denen der Empfänger ist ("Muchul, du hast eine neue Mail, lies die endlich )
A.
-
@dtp
zuverlässig ist das mit dem Xiaomi Mi Band schon.
Der WAF ist ebenfalls gegeben, da es um "Gesundheit" geht, ich merke in den letzten zwei Wochen, das Sie ich deutlich mehr bewegt.
Was die Automation angeht: Die ist zweitrangig, aber ein Willkommenes Plus.
Genau so wie @Asgothian es beschrieben hat, fangen wir an.
Wenn niemand seit 10 Minuten im Wohnzimmer ist, muss weder der Fernseher laufen noch die Beleuchtung an bleiben, da gibt es auch keinen Wiederstand.Ich weiß zwar nicht wie es bei anderen ist, aber meine Weiber kommen mit Ihren Automatisierungswünschen zu mir und möchten Ihre Ideen umgesetzt haben, da wird nix kritisiert, wir unterhalten uns darüber, was geht und wie es umgesetzt werden kann.
Da wird auch nicht hintenrum etwas gemacht und vor Tatsachen gestellt, immer schön vorher und gemeinsam.
Dann gibt es kein Gemecker, sondern konstruktive Mitarbeit.Muss halt nur funktionieren.
Du darfst die Leute nicht im Dunkeln lassen, weil irgend ein Linux Update nicht funktioniert hatPS: Meine Frau war damals entzückt, als Alexa Sie mit, "Willkommen meine Königin" begrüßt hat.
Damit kannst auch du dir Pluspunkte holen -
@muchul
Danke für deine Ausführliche Erklärung zur Konfiguration des OpenMQTTGateway.
In meinem Fall geht es um einen Bluetooth Schlüsselfinder (Musegear Finder 2). Ich selber nutze ein Xiaomi Band - würde aber die Raumerkennung für mich erstmals hinten anstellen. Prüfe dann erstmal ob mein Schlüssel noch am Schlüsselbrett hängt und kombiniere es mit den vorhandenen Anwesenheitsprüfungen. Dank deiner Anleitung ist mir das Thema mit dem Timestamp nun klar geworden.Was den Strom angeht - ich nutze den ESP32 mit einer 18650 Battery auf dem Board. Gibt es schon fix und fertig.
Hängt an einem normalen USB-Charger und würde damit einen Stromausfall locker überleben. -
@benedelux
Hast du schon Langzeiterfahrungen mit dem Akku?
Wäre die nächste Stufe für mich, andererseits, wenn kein Strom da ist, brauche ich auch nichts auszuschalten.Das mit Schlüsselanhänger oder über Handy ist leider nichts für mich, wenn die Frauen außer Haus sind, ist nicht sichergestellt dass beide ihr Schlüssel auch mitnehmen.
Das einzige was bei mir hilft ist das Band weil es immer am Körper ist. -
@muchul So genau kann ich noch nichts zu dem Akku sagen. Hab den ESP32 mal über Nacht abgesteckt und als ich am nächsten Tag von der Arbeit kam, war der immer noch Online. Ich muss es mal in mein Monitoring aufnehmen um genau zu sagen wie lange der Akku hält.
Wenn die Whitelist nur temporär ist, könntest Du ja ein Blocky erstellen, dass z.B. jede Stunde den MQTT Befehl für das whitelisten der MAC's sendet. Sind ja immer die gleichen MAC's, da sollte dann nix passieren. Oder z.B. nur beim Systemstart von ioBroker oder sowas in der Art.
-
@benedelux
Die White Liste ist immer bis zum Neustart des ESP gültig, ich denke aber das es in enem der nächsten Updates behoben werden wird.
Ohne die liste habe ich hier in 3 Stunden ca 1500 Geräte erfasst, das muss schon sein.
Am Wochende werde ich erst mal alle Updaten.
Mit der neuen Version geht dann schon mal OTA Updates, ist schon mal ein Schritt in die richtige Richtung. -
Hat schon jemand versucht die Firmware auf einen ESP32-Cam-Modul zu spielen? Dieses steht ja nicht unter den unterstützten Modulen dabei.
-
@lobomau nein, habe ich nicht probiert, aber sollte eigentlich problemlos gehen.
Es sei denn du willst noch irgendwelche pins auf den ESP benutzen. -
So wie ich den Thread hier jetzt verstanden habe, reicht es nicht aus die -MQTT in den Integrations der local.yaml zu "aktivieren" und ne MQTT Broker adresse zu hinterlegen, die dann die States erstellt usw. oder?
Hab nen Pi Zero W mit room-assistant hier und alles soweit eingerichtet, nur die Kommunikation mit meinem ioBroker MQTT Broker läuft nicht.
Kann mir jemand erklären warum ? Hätte erwartet, da der room-assistant MQTT anbietet, dass auch der Broker im ioBroker damit "arbeiten" kann.
Ich bekomme nur MqttService: undefined
kann mir mal jemand ne local.yaml vom room-assistant schicken mit der Integration im iobroker ?global: integrations: - mqtt - bluetoothLowEnergy mqtt: mqttUrl: mqtt://iobrokerip:1883 bluetoothLowEnergy: timeout: 60 allowlist: - meineapplewatch
Und mal ne ganz blöde Frage.
Der Sonoff Adapter funktioniert im Grunde doch auch wie nen MQTT Broker oder nicht ? -
@sayandre
Ich hatte testweise in HA einen MQTT Klienten eingerichtet, allerdings über die Web Oberfläche.
Die Verbindung zum MQTT Server von Iobroker war kein Problem. Ich musste nur einen anderen Port für den Server nehmen, da ich auch den Sonoff adapter habe, der übrigens auf Sonoff ausgerichtet ist und soweit ich weiß nicht für allgemeine MQTT genutzt werden kann.Da ich keinen deutschen Support für HA gefunden habe, habe ich das aber erstmal zurückgestellt.
-
@muchul
Hmm, dann verstehe ich nicht was ich falsch mache.
Hast du noch die local.yaml mit der du die Verbindung zum ioBroker hinbekommen hast ?Was genau ist das Problem mit dem englischen Support ? Wenn es nur um die sprachliche Barriere geht stelle ich mich gerne zur Verfügung. Mein Englisch ist ganz ok, denke ich.
-
@sayandre
ich habe das add-on installiert und mit dem iobroker mqtt verbundenhier stand müll.
Vergiss es, ich habe offensichtlich nicht verstanden wie HA funktioniert und daher den Internen Broker benutzt.Ich glaube du suchst so etwas hier:
https://community.home-assistant.io/t/use-an-external-mqtt/139963/3Was dein Angebot angeht, vielen Dank dafür, aber willst du dir das wirklich antun?
Du müsstest das alles wie einem Kind beibringen.
Reizen würde mich das schon irgendwie.