Haustürklingel mit NodeMCU

Begonnen von Pati_Alpha, 19 August 2018, 14:54:18

Vorheriges Thema - Nächstes Thema

Pati_Alpha

Hey,

ich möchte mit einem NodeMCU Board (Habe das hier gekauft: https://www.amazon.de/gp/product/B06Y1ZPNMS/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1) in meiner Türklingel (alte Anlage von Siedle) das Klingelsignal abgreifen und an FHEM weitergeben.

Ich habe in der Anlage schon ein Relais verbaut, was zuverlässig schließt wenn geklingelt wird, könnte damit also zB einen GPIO-Pin hochziehen. So weit so gut. :)

Für den NodeMCU habe ich mit entschieden, weil ich etwas benötige, was per Funk arbeitet, aus Zuverlässigkeitsgründen (und wegen Neugierde :P) keinen 433 MHz Billigfunk einsetzen wollte und das Teil mir als eine geeignete Lösung schien, Dinge die sonst zB ein Arduino macht per WLAN verfügbar zu machen.
Kleiner Background zu der Entscheidung: Mit einem Arduino Nano habe ich über USB über das FRM Protokoll z.B. bereits erfolgreich den Empfänger einer Funk-Alarmanlage eingebunden und kann dort per aufgespieltem Sketch zuverlässig überwachen, welche Ausgänge (gemalt auf Rauch-/Bewegungsmelder) auf high gehen.

Nun habe ich schon viel im Netz herumgesucht und bin schon soweit, dass ich es wohl lieber per Arduino IDE machen wollen würde, weil es als einfacher angepriesen wird.
Wenn ich allerdings nach Guides/Tutorials suche (ich muss ja letztendlich nur einen GPIO Pin überwachen und das über WLAN an FHEM senden), finde ich jedes mal eine andere Herangehensweise. Manche loggen dinge in einem Message Broker auf dem ESP, manche setzen set-requests per http an FHEM ab um den Status eines Devices zu manipulieren.... Ich dachte man könnte das Ding vielleicht auch per FRM Protokoll ansteuern wie die Arduinos, nur über WLAN? Das Protokoll funktioniert zumindest bei meinem Arduino über USB sehr sehr zuverlässig und schnell.

Daher meine Frage nun:
Könnt ihr mir aus Erfahrung eine gute Vorgehensweise empfehlen (um gleich eventuelle Stolpersteine bei meinem Start mit dem NodeMCU zu umgehen) um einfach, sicher und stabil und in Echtzeit (nicht mit 5s Versatz oder sowas, wäre bei Klingel blöd) die GPIOs des NodeMCU über WLAN aus FHEM auszulesen (und evtl auch zu steuern?).


Viele Grüße :)

TomLee

Hallo,

ob nun Reed-Kontakt, Schalter oder wie bei dir Relais die Schaltung denke ich könnte so aussehen.

Auf das Nodemcu könntest du Tasmota flashen, den GPIO als switch definieren und in FHEM abonnierst du das entsprechende Event um mit einem notify/DOIF darauf  zu reagieren.

Gruß

Thomas

RaspiLED

Hi,
Ich hätte auch spontan an Tasmota Firmware ala Sonoff Steckdose gedacht ;-) Zustände on=klingelt, off=Ruhe und der lokale GPIO der physischen Klingel über Relais ist der lokale ein/aus Schalter.

Alternativ ginge auch ESPEASY mit Rules ganz gut ;-)

Gruß Arnd


Gesendet von iPhone mit Tapatalk
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

Pati_Alpha

Hey,

danke für eure Tipps! :) Das hatte ich zB garnicht auf dem Schirm, klingt aber interessant! Da lese ich direkt mal zu nach.

Was ich in der Zwischenzeit noch entdeckt hab: Man kann ja scheinbar eine Firmata-Firmware, die WLAN unterstützt auf den NodeMCU flashen? Quelle: https://github.com/firmata/arduino/issues/338.
Das wäre natürlich auch total genial, dann könnte man den NodeMCU über WLAN wie einen Arduino nutzen!
Hat das jemand schon mal getestet?

Bis dann :)

TomLee

Bei der Hardware hatte ich zuerst an meine vor wenigen Wochen nach langer Testzeit umgesetzte Lösung mit einem Sonoff-Basic-Umbau gedacht. Die hat nämlich auch mit der Türe zu tun um beim Thema zubleiben
Das Klingelsignal greif ich mir allerdings über das 2TSM Modul einer alten Auerswald-Basic über FHEM (FB_CALLMONITOR) ab.
Sonoff-Relais als Türöffner, PIR fürs Tablet, Reed als Türkontakt und ein GPIO wäre noch fürs Klingelsignal frei  ;)




carl-christoph


waage

Hallo Pati_Alpha
Ich hatte das selbe Vorhaben und habe es folgendermaßen gelöst.
Auf den NodeMCU habe ich ESPeasy geflasht und einen Kontakt vom
Klingelrelais auf GPIO-2 gelegt. In Fhem habe ich die ganze Sache
mit dem Modul ESPEasy eingebunden. Damit wenn jemand klingelt bei mir
die Telefone klingeln verwende ich noch das Modul SIP und ein Doif.
Vielleicht hilft dir der Ansatz weiter.
mfg Waage

Pati_Alpha

Hey,

danke nochmal für all eure Antworten! :) Wirklich cool, dass wir hier so eine aktive Community und kein "Nutz die Suche"-Forum haben!

Die Lösung mit ESPEasy hört sich genau nach etwas an, was ich gesucht habe! :O
Funktioniert damit das Klingeln/Senden denn auch in Echtzeit, oder ist das eine Lösung bei welcher FHEM die Daten vom ESP nur in Intervallen pollt? Denn dann wäre es evtl. etwas ungünstig, da man ja bei zB 1s polling sehr viel WLAN Aktivität verursacht wobei sowas wie 5s schon relativ zeitversetzt für eine Klingel wäre.

Viele Grüße :)

RaspiLED

#8
Hi,
Echtzeit: im input beim switch delay auf 0 und FHEM kennt sofort den Status. Espeasy benutzt intern wie
FHEM auch einen event ;-)

Hi, hier hatte ich mal alles für einen Garagentor mit ESPEASY beschrieben:
https://forum.fhem.de/index.php/topic,72502.msg773658.html#msg773658

Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

Pati_Alpha

Hey,

boah, ich hab mich grade noch etwas in ESPEasy eingelesen.
Das klingt ja traumhaft! Sogar OTA Updates sind möglich! :O
Genial! Das probiere ich aus und melde euch hier zurück sobald ich etwas damit erreicht habe! :)

Vielen Dank euch allen schon mal! :)

Bis dann

Pati_Alpha

Wow, die Firmware ist genial.

Ich habe die eben geflasht (über Windows mega einfach mit dem beiliegenden Tool), dann über WLAN konfiguriert, mal einen Schalter angelegt, dann FHEM als Service angelegt, in FHEM das device (alles laut CommandRef) und schon seh ich - tatsächlich in Echtzeit!! - ob der Pin geschaltet wird! Genial! Damit kann ich nun mein Relais in der Klingel verbinden und gut ists! Nutze dann einfach den internen Pull-Up und ziehe mit dem Relais auf Ground. :)

Super klasse!! Danke euch vielmals!! :)

Patrick