Hallo Zusammen,
ich habe hier eine kleine Herausforderung für einen WLAN Bewegungsmelder, den ich jetzt seit 2 Tagen versuche ordentlich in FHEM einzubinden, was aber nicht so klappt wie ich das haben möchte.
Zum Aufbau:
- 1 x ESP8266 mit ESPEasy
- 1 x HC-SR501 Bewegungsmelder
Der Bewegungsmelder und der ESP arbeiten schon wunderbar zusammen. Auch die Informationen werden bei einer Bewegung an FHEM geschickt.
In der Kommandozeile sieht das dann so aus:
Client mosqsub/10701-fhem received PUBLISH (d0, q0, r0, m0, '/hooks/devices/10/Switch', ... (51 bytes))
/hooks/devices/10/Switch {"idx":10,"command":"switchlight","switchcmd":"On"}
Den Status lasse ich dann per StateFormat in den Status schreiben.
Dort steht jetzt folgendes:
{"idx":10,"command":"switchlight","switchcmd":"On"}
Sobald nach ein paar Sekunden keine Bewegung mehr erkannt wird, wird der gleiche Befehl mit "Off", anstatt "On" gesendet.
Soweit alles super.
Nur bekomme ich das "On" bzw. "Off" nicht aus dem State raus.
Ich würde das gerne sauber in FHEM anzeigen lassen und in FHEM dann auch entsprechend weiter verarbeiten über Notify und einen Watchdog um z.B. Das Licht für 3 Minuten ein zuschalten oder in der Früh gleichzeitig das Licht in anderen Räumen einzuschalten, sobald dort eine Bewegung erkannt wird.
Auch habe ich bereits den erforderlichen RegExp um "On" bzw. "Off" aus dem State zu extrahieren:
([A-Z])\w+
In der FHEM.cfg sieht das derzeit so aus:
#Bewegungsmelder Testzimmer
define Testmotion MQTT_DEVICE
attr Testmotion IODev MQTT_Broker
attr Testmotion room Testzimmer
attr Testmotion stateFormat state
attr Testmotion subscribeReading_state /hooks/devices/10/Switch
Ein Bild wie es derzeit in FHEM aussieht habe ich auch mit angehängt.
Irgendwie komme ich hier nicht mehr weiter. Ich habe schon mit notify und diversen Readings herum probiert, komme aber einfach zu keiner Lösung.
Ich möchte einfach nur einen genauen Status, welchen man weiter verarbeiten kann (On oder Off), so habe ich hier derzeit einach einen ellenlangen String mit dem ich so nichts anfangen kann :-(
Vielleicht weiß einer von euch ja hier Rat.
Vielen Dank schonmal für eure Hilfe.
Hallo.
Ich sitze aktuell an selbigem Projekt. Bist du da schon weitergekommen?
Eine Alternative wäre das ESPEasy Modul, das einfacher einzurichten ist:
https://github.com/ddtlabs/ESPEasy
https://forum.fhem.de/index.php/topic,55728.0.html
Hallo sitze auch gerade vor dem ESPEasy Modul und dem HC-SR 501. Was muss ich unter Devices im ESPEasy einstellen um sinnvole Ergebnise zu bekommen ? Ich nutze es mit dem Sonoff Modul auf GPIO14.
Bitte um Hilfe LG.
Was ist denn an Deinen jetzigen Ergebnissen nicht sinnvoll?
Versuch mal Switch unter devices.
Hast du den bewegungsmelder auf 3,3 v runtergeregelt?
Zitat von: Nihilo am 27 Januar 2017, 09:26:54
Versuch mal Switch unter devices.
Hast du den bewegungsmelder auf 3,3 v runtergeregelt?
Moin,
Der Melder liefert nur 3,3 Volt als Logikpegel. Auch wenn er mit 5 Volt betrieben wird.
https://www.mpja.com/download/31227sc.pdf
Gruß Otto
@kesking
Betreffend dem HC-SR501 und Sonoff gibt es einen Wiki Artikel der die Anschaltung genau erklärt, speziell was auch die Stromversorgung des SR501 betrifft. Dort wird allerdings am Beispiel nur der Arends Sketch behandelt. https://wiki.fhem.de/wiki/Sonoff#Sonoff_Switch_mit_Bewegungsmelder_HC-SR501 (https://wiki.fhem.de/wiki/Sonoff#Sonoff_Switch_mit_Bewegungsmelder_HC-SR501)
PS: ich betreibe das Modul mit 3,3V vom Sonoff Modul mit kurz geschlossener Diode (wegen dem Spannungsabfall) am SR501 ohne Probleme!
Ob du es mit ESPEasy oder der Arends Software löst ist dir überlassen, es funktionieren beide Varianten sehr gut. Bei der Arends Software kannst den GPIO14 entkoppeln und die Steuerung an FHEM übergeben, oder wer das nicht will kann es direkt am Sonoff Modul erledigen und die internen Timer des SR501 benutzen. D.h. der Bewegunsgmelder arbeitet dann autark auch ohne Fhem. Wenn du das mit der EASPEASY Software lösen willst funktioniert das genau so, nur musst du halt die dafür vorgesehenen Rules einsetzen.
PS: hier gibt es auch einen Diskussionsthread darüber: https://forum.fhem.de/index.php/topic,63824.msg550483.html#msg550483 (https://forum.fhem.de/index.php/topic,63824.msg550483.html#msg550483)
LG
Reinhart
Hallo Alpenjohn.
Hat sich bei dir noch was getan?
Ich komme absolut nicht weiter....
warum benutzt ihr eigentlich das JSON Format und nicht LEGACY.
JSON packt ja alles in einem String was nachher wieder herausgefiltert werden muss. LEGACY würde für jeden Wert eine eigenes Reading erzeugen und ihr könnt bequem darauf zugreifen.
LG