NEWS
Tasmota ESPHome Presence Sensor LD2410
-
die hier - bei ebay SH 5Pin https://www.ebay.de/itm/193808755437?var=495503397861
-
ich nutze ihn noch nicht als bwm erstatz - bisher habe ich nur presence sachen wie z.b. unterm bett, am schreibtisch, auf der couch - daher reicht das gehäuse erstmal
-
Ein richtig guter Bewegungs- und Präsenz Sensor der LD2410 und mein langer Weg zum Erfolg.
Für alle, die keinen langen Weg gehen wollen und schnell sein möchten, nicht löten können oder wollen ist hier die Lösung.
Eine ESP32 NodeMCU Development Board zum Beispiel
https://www.berrybase.de/esp32-nodemcu-development-boardEinen HLK-LD2410B Sensor. Das Set aus Kabel und Sensor bestellen (8,63 €).
https://de.aliexpress.com/item/1005004703863216.html?spm=a2g0o.order_list.order_list_main.17.18725c5fYT5PBB&gatewayAdapt=glo2deuWer den Sensor mit der neusten Firmware versorgen möchte, der sollte ich das Startkit mit einem Sensor für 14,65 € bestellen. Zusätzlich braucht man dann aber noch das Verbindungskabel zum ESP32. Das dann mitbestellen. Kostet 2,84 €
Für Android gibt es aber nur eine Chinesische App. Das macht aber nichts, wenn man die Sprache im Smartphone auf Englisch stellt. Dann ist die App auf Englisch und man kann die Firmware updaten. Updaten ist aber nicht zwingend erforderlich.
Auf dem Windows PC ein Verzeichnis z.B. esphome anlegen und in diesem Verzeichnis meine YAML Datei und die h Datei kopieren.
Anschließend die YAML Datei mit einem Editor öffnen und alles, was die Überschrift # ACHTUNG hat lesen und die notwendigen Anpassung (alle mit XXX gekennzeichnet) machen.
Im IoBroker den MQTT Adapter installieren,
ESPHome für die Kommandozeile installieren wird hier super erklärt.
https://smarthomeyourself.de/wiki/esphome/esphome-mit-python-ueber-die-kommandozeile-flashen/Die Kommandozeile aus dem Arbeitsplatz heraus starten. In der Kommandozeile dann noch die 4 Befehle ausführen.
Jetzt noch mit dem letzten Befehl esphome run DEIN_DATEINAME.yaml und die YAML Datei wird kompiliert und ab damit auf den ESP32
Anschließend kann man noch in einem Browser in der Web Oberfläche (die IP ist die, die ihr unter use_address: XXX.XXX.XXX.XXX in der YAML Datei vergeben habt) des ESP32 die einzelnen Parameter einstellen und diese werden auch übernommen.
Alle Werte findet ihr dann im IoBroker unter Objekte mqtt/ den ihr und YAML Datei unter topic_prefix: XXX/XXX angegeben habt.
Ich habe mein Blocky Script geändert und jetzt läuft der Sensor so wie er soll.
Der Datenpunkt moving_target_energy liefert bei Bewegungserkennung einen Wert größer 0 und als zweiten Wert eine 0 und dann wieder größer 0
Das muss man wissen, wenn etwas über diesen Datenpunkt geschaltet werden soll. Das gleiche gilt auch für den Datenpunkt static_target_energyIch füge das Script einmal an. Man muss nur 3 neue Datenpunkte anlegen.
0_userdata.0.RadarNacht als boolean
0_userdata.0.Radarsensortimer als number
0_userdata.0.Radarsensortimer_Steuerung als boolen
Baustein steuere Switch mit wahr/falsch durch deinen Baustein ändern.Das Blockly Script ist so angelegt, dass ich bei Erkennung drei Möglichkeiten habe wie meine Küchenlampen (Baustein steuere Switch mit wahr/falsch) eingeschaltet werden.
Möglichkeit 1 ist, bei jeder Tages- und Nachtzeit wird bei Bewegung eingeschaltet und wenn keine Bewegung mehr festgestellt wird ausgeschaltet. Dafür muss ich den 0_userdata.0.RadarNacht einfach auf True setzten, die Zeitplanbausteine und die Astro Trigger deaktivieren.
Möglichkeit 2 ist, nach Zeitplan wird bei Bewegung eingeschaltet und wenn keine Bewegung mehr festgestellt wird ausgeschaltet. Dafür muss ich den Baustein steuere RadarNacht und die Astro Trigger einfach deaktivieren und die Bausteine Zeitplan aktivieren.
Möglichkeit 3 ist, nach Astro Trigger wird bei Bewegung eingeschaltet und wenn keine Bewegung mehr festgestellt wird ausgeschaltet. Dafür muss ich den Baustein steuere RadarNacht und die Bausteine Zeitplan einfach deaktivieren und die Astro Trigger aktivieren.
Geht bestimmt einfacher und besser aber funktioniert bei mir.
Radarsensor Blockly Script.txt
Ich habe noch nicht ganz die Türklinke in der Hand und das Licht geht an und bleibt auch solange an bis ich den Raum verlasse. Habe noch eine Verzögerung von 4 Sekunden eingebaut mit der Variable setze timer auf 4.
Wenn jemand fragt, wo ich die YAML und die h Datei gefunden habe dem muss ich sagen, dass ich es vergessen habe. Habe tagelang gesucht und probiert bis ich die passende für mich gefunden habe.
Man könnte das auch über den ESPHome Adapter machen aber ich habe es nicht geschafft und deshalb dieser Lösungsweg.
-
Hast du irgendwo einen Schaltplan für den Sensor, im diesen an den ESP32 anzuschließen ?
-
@smarthome2020 findest du normalerweise im yaml file
-
@smarthome2020 sagte in Tasmota ESPHome Presence Sensor LD2410:
Hast du irgendwo einen Schaltplan für den Sensor, im diesen an den ESP32 anzuschließen ?
Das rote Kabel an 5V (ganz unten links)
Das schwarze Kabel an GND (6. von unten links)
Das gelbe Kabel an TX (4. von oben rechts)
Das blaue Kabel an RX (5. von oben rechts) -
Danke dir , dann löte ich mir das später mal zusammen. Grün wird nicht gebraucht ?
-
Das grüne Kabel kommt am RX. Das blaue Kabel wird nicht gebraucht.
Sorry, war wohl etwas farbenblind.
-
Also, hab den Sensor angeklemmt, er "rastet" nur im wahrsten Sinne des Wortes aus.
mmwave_presence_ld2410 springt auf ON/OFF im Milisekundentakt. Die Weboberfläche sieht so aus:Der Sensor ist 10 cm vor meinem Körper liegend. ich konnte auch per USB Kabel mein Board und Sensor nicht gleichzeitig betreiben. Hab nun ein Netzteil direkt am VIN angeschlossen und zapfe da auch die 5V für den Sensor an.
-
Sorry, da kann ich dir leider nicht helfen.
Den Sensor habe ich mit dem 5 adrigen Kabel verbunden und dann die vier Stecker auf die ESP32 Nodemcu gesteckt weil ich nicht löten kann und auch von Elektronik keine Ahnung habe.
-
@smarthome2020 sagte in Tasmota ESPHome Presence Sensor LD2410:
konnte auch per USB Kabel mein Board und Sensor nicht gleichzeitig betreiben. Hab nun ein Netzteil direkt am VIN angeschlossen und zapfe da auch die 5V für den Sensor an.
das geht nicht - usb betrieb braucht rx,tx - das ist aber schon besetzt
nutze mal mein yaml - da gibt es on und off als datenpunnkt - also anwesend abwesend - dafür aber weniger andere werte - dann siehst du auch, ob sich der sensor normal verhält
-
@smarthome2020 sagte in Tasmota ESPHome Presence Sensor LD2410:
Also, hab den Sensor angeklemmt, er "rastet" nur im wahrsten Sinne des Wortes aus.
mmwave_presence_ld2410 springt auf ON/OFF im Milisekundentakt. Die Weboberfläche sieht so aus:In den Daten des Sensors sieht man, dass er eindeutig Bewegung erkennt: Beide Target Energy Werte sind auf 100% und die Entfernungen sind deutlich unter der eingestellten Maximalentfernung.
Den Datenpunkt "mwave_presence_ld2410" sieht man auf der linken Seite nicht. Es ist ein binary Sensor. Ist der evtl. im yaml eingetragen als binary sensor auf einem bestimmten Eingang des ESP aber der Eingang ist gar nicht belegt?
Dann müsste doch noch eine Verbindung vom blauen Kabel zu diesem Eingang gemacht werden.
Zeig mal das yaml, das Du dafür benutzt hattest, dann kann ich dazu evtl. mehr sagen. -
Damit ging es. Die anfängliche Info, dass das blaue Kabel nicht angeschlossen werden muss, hat mich dann dazu verleitet, es nicht zu hinterfragen. Ich werden den Sensor nun mal ein paar Tage nutzen und probieren.
Hat mittlerweile jemand ein passables Case dafür gebaut? -
@liv-in-sky Ich habe es nach einiger Zeit geschafft den Sensor in Tasmota anzubinden.
Zunächst habe ich anstelle der GPIOs 1 und 3 die GPIOs 4 und 5 verwendet, da ich früher auch schon öfter Probleme mit den beiden GPIOs hatte. Dann ist mir beim Umstecken der Kabel etwas aufgefallen.
Seltsamerweise wurde das Teil das mir geliefert wurde außergewöhnlich warm.
Daraufhin habe ich den Probehalber an 3,3 V angeschlossen und plötzlich waren alle Entfernungswerte da.
Das hektische Zittern der Entfernungswerte habe ich wegbekommen durch eine Aktualisierung der Firmware. Danach kamen die Werte etwas gedämpft an.
Firmware Update:
https://www.youtube.com/watch?v=t8-JdVVVH34
-
@chaot muss ich bei gelegenheit testen - es gibt aber keinen dp für presence on oder off ?
ich nutze die teile jetzt schon eine weile in all meinen räumen für presence - funktionieren sehr stabil - besser wie z.b rf433 sensoren (die ich vorher hatte)
-
@liv-in-sky Nein, es gibt keinen echten Datenpunkt dafür. Der muss über ein Skript kommen.
Ich will den bei mir einsetzen um mein Büro vom Wohnzimmer abzugrenzen. Wenn ich im Wohnzimmer am Büro vorbeigehe geht der analog Ausgang hoch. Durch die Entfernung kann ich (hoffentlich) genauer differenzieren wo ich mich bewege. -
Datasheet, Wiring und Uart Protokoll ist ja bekannt, damit wäre ein umschreiben des Tasmota Script ja möglich.
Tasmota scheint ja auch mit define Use LD2410 zu laufen.
@Wal
Interesse an Scripting ? -
@ralla66 Ja, Tasmota läuft mit
#define USE_LD2410
ohne Probleme.
Was den Schalter Presence angeht denke ich darüber nach ein virtuelles Relais zu nehmen und das per Rule anzusteuern.on LD2410#Distance[1] do var1 %value% endon
Bin aber da noch am experimentieren wenn ich nächste Woche etwas Zeit finde.
-
Habe mal einen bestellt, Out am Board sollte ja High / Low sein also Presence sein.
Datasheet sagt:
Human presence detected: output high level
No human presence: output low level -
@ralla66 Wenn du den letzten Pin meinst, dann ist da bei mir ein analoger Ausgang. Der geht je nach Distanz auf verschiedene Werte.
Aber da scheint sowieso einiges seltsam zu sein. Mit den angegebenen 5V läuft das Teil von mir nicht. Da kommt nur über den analogen Ausgang 0 und 1024 als Wert. Mit 3,3 V habe ich die Entfernungswerte und das Teil bleibt so kühl, dass man es berühren kann. Bei 5V verbrennt man sich die Pfoten.