NEWS
Tasmota ESPHome Presence Sensor LD2410
-
@liv-in-sky sagte in Tasmota ESPHome Presence Sensor LD2410:
scheint, als ob du tief in den sensor einsteigst
Ich hatte schon überlegt, ob ich bei Gelegenheit einen Vorschlag für einen überarbeiteten LD2410 in ESPHome mache. Aber da benötige ich etwas mehr meiner knappen Zeit für, da ich dann zuerst rausfinden muss, wie ich eine eigene ESPHome-Variante mit dem ESPHome-Adapter verwende.
Und vermutlich werde ich dann die ganzen unterschiedlichen Sensitivitäten eher über 1-2 Objekte über JSON steuern und in dem Fall evtl. auch als Alternative, dass man einfach nur einen Wert eintragen kann statt einer Liste und dieser dann für alle Bereiche verwendet wird. Wie gesagt: Zeit haben...habe ja 3 sensoren in einem zimmer getestet - die presence funtioniert ohne gegenseitige störungen - ob das auch für die anderen werte gilt, kann ich nicht sagen, da ich die entfernungen nicht protokoliere bzw trianguliere
wenn ich über die api, die entfernung beobachte - 2 sensoren direkt vor mir am schreibtisch, werden die werte für ... bei beiden korrekt angezeigt
Das wäre ja super. Da bin ich mal gespannt. Im Moment warte ich noch auf Anschlusskabel mit passenden Steckern, da ich beschlossen habe, dass ich nicht alle Sensoren anlöten möchte. Die Pins liegen einfach zu dicht beieinander.
kommt eher selten vor, dass ich in einen bereich (bewegungslos) hineingehe - auch versuche ich meist zu atmen - ist so eine angewohnheit von mir
Ich hatte es schon ein paar mal geschafft so ruhig auf dem Sofa zu sitzen, dass der Sensor mich nicht mehr erkannt hat. Passiert eher bei größerer Entfernung (> 3m).
Vielleicht sollte ich mir auch einfach das Atmen wieder angewöhnen
Aber wenn die sich nicht gegenseitig stören kann ich ja auch einfach einen zweiten hinstellen, der dann dichter am Sofa ist.mittlerweile ist die hardware auch in gehäuse eingebaut - habe aber die sensoren außerhalb des gehäuses angebracht - innerhalb wollte das ganze nicht mehr so richtig (obwohl es plastik ist)
Im Datenblatt des Sensors stehen dazu ganz interessante Infos: Je nach Art des Plastiks gibt es eine empfohlene Dicke (berechnet anhand der halben Wellenlänge des Mediums, meist zwischen 2-5 mm) und einen empfohlenen Abstand (einfache oder eineinhalbfache Wellenlänge in der Luft: 12,4 bzw. 18,6mm).
Das Plastik sollte allerdings möglichst homogen sein. Ein 3D-gedrucktes Teil entspricht dem mit Sicherheit nicht, da gibt es viel zu viele Lufteinschlüsse.Ich hatte bei mir einfach mal Papier als Abdeckung getestet. Das hatte gut funktioniert. Ich werde vermutlich die Gehäuse so bauen, dass ich die Seite vor dem Sensor einfach mit Papier abklebe, das sieht etwas netter aus als der blanke Sensor.
-
Ein richtig guter Bewegungs- und Präsenz Sensor der LD2410 und mein langer Weg zur wirklich guten Erkennung.
Den Adapter ESPHome 0.2.4 installiert aber ich habe es nicht geschafft, egal was ich auch probiert habe die YAML Datei über ESPHome im IoBroker zu kompilieren oder gar auf den ESP32 zu übertragen. Stundenlang im Netz gesucht aber keine Lösung dazu gefunden bis ich dann auf diesen Link
https://smarthomeyourself.de/wiki/esphome/esphome-mit-python-ueber-die-kommandozeile-flashen/
gestoßen bin.Hier wird wirklich super erklärt wie man ESPHome mit Python über die Kommandozeile flashen kann.
Bei meiner langen Suche im Netz habe ich auch eine gute id2410.yaml Datei mit dazugehöriger ld2410.h Datei gefunden.Python auf meinem Windows PC installiert, ein neues Verzeichnis esphome angelegt und dann noch Kommandozeile aus dem Arbeitsplatz heraus gestartet. In der Kommandozeile dann noch die 4 Befehle ausgeführt.
Jetzt noch mit dem letzten Befehl die YAML Datei kompiliert und ab damit auf den ESP32Anschließend kann man noch in der Web Oberfläche des ESP32 die einzelnen Parameter einstellen und diese werden auch übernommen.
Was die Werte motionGate0Sensitivity bis motionGate8Sensitivity sowie staticGate2Sensitivity bis staticGate8Sensitivity bewirken ist mir leider nicht bekannt. Vielleicht kann mich jemand aufklären. Diese Werte waren ursprünglich anders aber ich habe in der Web Oberfläche auf den Reset Button geklickt und dann waren es die Einstellungen wie auf meinem Bild und der Sensor arbeitet so wie ich mir das vorgestellt habe.
Jetzt muß ich nur noch jemand finden, der mir ein 3D Gehäuse druckt.
So ein Gehäuse wäre schon schön.
Meine YAML Datei und dazu auch die h Datei
ld2410.yamlIn der ld2410.yaml Datei unter WIFI die IP des ESP32, die SSID und das Netzwerkpasswort, unter mqtt die IP eures mqtt Broker ggf. auch den Port eintragen.
Dann noch ein kleines Blockly. Geht bestimmt einfacher und besser aber funktioniert bei mir.
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 ein Verzögerung von 4 Sekunden eingebaut mit der Variable setze timer auf 4.
-
erstmal vielen dank für deinen post - bin gerade am testen - weißt du, wie man diesen datenpunkt aktiviert - ist immer off bei mir - geht das überhaupt ?
bisher verstehe ich die anzeigen nicht richtig - es werden massig daten gesendet - also gut für entfernungsmessung und schnell !
bei meinem yaml gibt es off und on, wenn man im bereich ist - also bedeutend weniger datentransfer
hast du eine link, wo du dieses yaml her hast ?
die motionGate und sensitivityGat sachen, sollen wohl die bereiche darstellen ? -
keine Ahnung wie man diesen Datenpunkt aktiviert. Habe den Link gefunden wo ich meine YAML und h Datei her habe. https://github.com/amandel/esphome-ld2410
Ja, es werden viele Daten gesendet aber bisher war das für mein IOBroker auf dem Pi kein Problem.
Das mit motionGate und sensiivityGate habe ich noch nicht verstanden aber ich könnte mir vorstellen, das man z.B. einen Bereich von 30-150 cm angeben kann und wenn dort jemand erkannt wird geht Lampe 1 an und wenn im Bereich von 4-5 Meter jemand erkannt wird geht Lampe 2 an.
Habe gerade noch 2 Bilder für ein Gehäuse gefunden aber leider ohne 3D Druckdatei.
-
bei mir ist das setting "show stats" nach einem neustart (strom aus/ein) nicht mehr gesetzt - damit keine werte - ist das bei dir auch so ?
edit: kann aber über ein blockly wieder gestzt werden, wenn esp online geht
-
Ja, das ist bei mir auch so.
in der YAML Datei ist etwas zu deiner Frage zu dem Datenpunkt zu finden.
binary_sensor:- platform: gpio
name: mmwave_presence_ld2410
id: mmwave_presence_ld2410
pin: GPIO14
device_class: motion
Habe keine Ahnung was das bedeutet aber ich könnte mir vorstellen, dass das mit dem Out Pin auf dem ld2410 zu tun hat.
- platform: gpio
-
@stefan-wilke ja habe ich auch gefunden
ja definiert den pin - aber es reagiert nicht im mqtt - evtl muss man den ersteller in github anschreiben
in dem ls2410.h file kann mal wohl die stats immer einschalten zeile 189 - habe es aber nicht getestet
-
Habe eine Github Anfrage gestartet und auch schon eine Antwort auf meine Frage erhalten. Es funktioniert, habe es gerade getestet.
Um das Setting "Show Stats" auch nach einen Neustart auf On zu setzten muß in meiner YAML Datei folgende Zeilen eingefügt werden.
Anstatt: esphome: name: "radarsensor" includes: - ld2410.h muss das da stehen: esphome: name: "radarsensor" includes: - ld2410.h on_boot: priority: -10 # ... then: - switch.turn_on: show_stats und etwas weiter unten Anstatt: switch: - platform: custom lambda: |- auto c = static_cast<LD2410 *>(ld2410); return {c->show_stats, c->show_engineering_stats}; switches: - name: "Show Stats" - name: "Show Engineering Stats" muss das dort stehen: switch: - platform: custom lambda: |- auto c = static_cast<LD2410 *>(ld2410); return {c->show_stats, c->show_engineering_stats}; switches: - name: "Show Stats" id: show_stats - name: "Show Engineering Stats" id: show_eng_stats
-
noch eine frage - die version auf github ist anders als die version von dir -z.b. die version ist auf github neuer und die mqtt settings fehlen
hast du vor das yaml weiter zu pflegen und wenn ja, könntest du das posten?
-
Ich verstehe nicht so ganz was du meinst. Habe so gut wie keine Ahnung von ESPHome Programmen. Meine YAML Datei ist nach stundenlanger Suche aus dem Netz aber ich kann jetzt auf die Schnelle die Quelle nicht finden.
Mein Sensor lauft jetzt richtig gut und sehr schnell. Ich kann mir gerade nicht vorstellen, was man daran noch ändern sollte. So eine schnelle Reaktionszeit habe ich mit keinem Bewegungsmelder gesehen.
Eins fehlt mir doch noch. Ein Gehäuse und am Besten eins mit Kugelgelenk für den kleinen Sensor.
Was fehlt dir denn an meiner Yaml Datei, was stellst du dir denn vor?
-
dieser link - von dir gepostet https://github.com/amandel/esphome-ld2410 - enthält ein etwas anderes sample yaml als das, was du gepostest hast
-
Hallo Leute ,
habt ihr die Sensoren von AliExpress ? Falls ja, habt ihr noch einen über zum Testen? Sonst bestelle ich die Tage welche. Wollte eine Präsenzschaltung für einige Räume installieren .
-
ja aliexpress - ich hätte noch einen über - sind aber kabel angelötet - habe die stecker erst nachträglich bestellt - ist mit bluetooth - sollte aber egal sein
-
@liv-in-sky
Was für Stecker meinst du ? Bei AliExpress weiß man ja nie wie lange das so dauert -
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)