HowTo: NodeRed – 433Mhz Funk-Wandtaster einbinden

Ein weiterer praktischer Fund während meiner Streifzügen durch die elektronische Produktwelt ist der 433Mhz Funk-Wandtaster. Dieser lässt sich mithilfe der RF-Bridge leicht in NodeRed oder jedes andere SmartHome-System integrieren.

Wie dies geht und was Ihr dabei beachten müsst ist im folgenden Artikel erklärt.


Sicherheitshinweise

Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/


Voraussetzungen

Hilfreiche Artikel:
Damit Ihr diese Konfiguration übernehmen  könnt sollte NodeRed natürlich schon installiert sein. Außerdem sollte die Sonoff RF Bridge bereits vorbereitet sein.
Wie ihr diese und einen RaspberryPi dazu vorbereitet und dann NodeRed darauf installiert ist in den folgenden Artikeln beschrieben.

Die folgenden Artikel beschreiben was zu tun ist um den RaspberryPi soweit vorzubereiten:
RaspberryPi – Einrichten für Nerdiys!
RaspberryPi – Die Erste Konfiguration!
RaspberryPi – Den RaspberryPi über SSH steuern

NodeRed – Installation von NodeRed auf dem RaspberryPi
NodeRed – Neue Nodes installieren
Sonoff 433Mhz RF Bridge mit Tasmota Firmware flashen

Benötigtes Material:

In der folgenden Liste findet Ihr alle Teile die Ihr zur Umsetzung dieses Artikels benötigt.


Der Wandtaster

Der Funkwandtaster besteht im wesentlichen aus einem flachen Gehäuse inkl. drei leicht zugänglichen Tastflächen.

Draufsicht auf den Wandtaster inklusive der mitgelieferten Klebestreifen.
Rückseitige Ansicht des Wandtasters. Der Wandtaster kann durch die Langlöcher auf der Rückseite auch mit Schrauben befestigt werden.
Ansicht des Wandtasters mit geöffnetem Gehäuse. Das öffnen des Gehäuses ist unter anderem notwendig um die Batterie zu wechseln. Dies funktioniert aber auch im montierten Zustand wenn der Wandtaster bereits an einer Wand befestigt ist.
Zum Betrieb der Wandtaster wird eine L828 12V Batterie benötigt. Dieser Batterietyp ist auch unter den Namen MN27, A27, V27GA, L828 und GP27A bekannt.
Nahaufnahme der Platine.
Nahaufnahme der elektronischen Bauteile.
Montagebeispiel für den Wandtaster. Ich habe die Wandtaster auf die Innenseiten der Türrahmen geklebt, weil ich sie nicht auf die Tapete kleben wollte. So lassen sich die Taster auch bei einem Auszug wieder entfernen ohne die komplette Tapete mit zu entfernen. 🙂

In die NodeRed Konfigurationsoberfläche einloggen

Bevor Ihr eure NodeRed Konfiguration bearbeiten könnt müsst Ihr Euch - falls aktiviert - zunächst in die NodeRed Konfigurationsoberfläche einloggen.

Ansicht des Loginbildschirms. Hier müsst Ihr die Logindaten eingeben die Ihr während der Konfiguration des Logins angegeben habt. Infos dazu findet Ihr im Artikel NodeRed - Benutzerlogin einrichten.

Node-Code importieren

Der folgende Node-Code ähnelt dem Code der auch für den Fensterkontakt, Mini-Taster oder SOS-Taster verwendet wird. Er löst eine Aktion aus sobald über die mit der Tasmota Firmware geflashte Sonoff RF Bridge eine Funknachricht mit dem passenden Datenfeld empfangen wird. Ihr könnt den Code so übernehmen müsst allerdings noch die RF-Codes der Tastflächen Eures Wandtasters einstellen. Dies ist im nächsten Schritt beschrieben.

Außerdem müsst Ihr natürlich noch die Konfiguration für Euren MQTT-Server und ggf. das Topic unter dem Ihr die RESULTS Eurer RF-Bridge empfangt aktualisieren.

Übersicht des Node-Codes
[{"id":"31d6699d.0dce56","type":"function","z":"169c0bb.fea38f4","name":"Button-Press left detected","func":"if (msg.payload.RfReceived!==undefined)\n{\n    if (msg.payload.RfReceived.Data===\"RfData\")\n    {\n        msg.payload=1;\n        return msg;\n    } \n}","outputs":1,"noerr":0,"x":850,"y":3460,"wires":[["257f3901.e15e46"]]},{"id":"257f3901.e15e46","type":"debug","z":"169c0bb.fea38f4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":1090,"y":3460,"wires":[]},{"id":"bb0242e1.88c8c","type":"comment","z":"169c0bb.fea38f4","name":"Wall Switch","info":"","x":390,"y":3420,"wires":[]},{"id":"57e050ec.b8da4","type":"function","z":"169c0bb.fea38f4","name":"Button-Press middle detected","func":"if (msg.payload.RfReceived!==undefined)\n{\n    if (msg.payload.RfReceived.Data===\"RfData\")\n    {\n        msg.payload=1;\n        return msg;\n    } \n}","outputs":1,"noerr":0,"x":860,"y":3540,"wires":[["80d70cd8.e9fa5"]]},{"id":"80d70cd8.e9fa5","type":"debug","z":"169c0bb.fea38f4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":1090,"y":3540,"wires":[]},{"id":"dbc8c01a.24266","type":"function","z":"169c0bb.fea38f4","name":"Button-Press left detected","func":"if (msg.payload.RfReceived!==undefined)\n{\n    if (msg.payload.RfReceived.Data===\"RfData\")\n    {\n        msg.payload=1;\n        return msg;\n    } \n}","outputs":1,"noerr":0,"x":850,"y":3620,"wires":[["67d1b87a.34e048"]]},{"id":"67d1b87a.34e048","type":"debug","z":"169c0bb.fea38f4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":1090,"y":3620,"wires":[]},{"id":"34c8a696.75339a","type":"mqtt in","z":"169c0bb.fea38f4","name":"","topic":"tele/RfBridge/RESULT","qos":"2","broker":"c94e86db.dfcde8","x":440,"y":3540,"wires":[["cf0b5a42.f4e4e8"]]},{"id":"cf0b5a42.f4e4e8","type":"json","z":"169c0bb.fea38f4","name":"","property":"payload","action":"","pretty":false,"x":640,"y":3540,"wires":[["57e050ec.b8da4","31d6699d.0dce56","dbc8c01a.24266"]]},{"id":"c94e86db.dfcde8","type":"mqtt-broker","z":"","name":"Server-Mqtt","broker":"server","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

Auslesen und Einstellen des korrekten RF-Codes

Damit der oben genannte Node-Code funktioniert müsst Ihr in diesem noch den RF-Code Eures Funktasters einstellen. Dieser RF-Code ist eine eindeutige ID für jeden Taster und auch bei jedem Taster unterschiedlich.

Öffnet dazu die Konsole Eurer RF-Bridge. In dieser werdet Ihr über aktuelle Ereignisse auf Eurer RF-Bridge informiert. Unter anderem werden dort auch eingegangene RF-Codes angezeigt.
Sobald Ihr nun auf einen der Taster auf Eurem Wandtaster drückt wird die von diesem gesendete Funknachricht inklusive RF-Code in der Konsole Eurer RF-Bridge angezeigt. Diesen RF-Code(im Screenshot durch die Blau markierte Stelle gekennzeichnet) müsst Ihr Euch nun kopieren/merken, denn Ihr müsst Ihn nun in eine der importierten Nodes eintragen.
Wechselt dazu in die NodeRed Konfigurationsansicht und öffnet das Menü der Funktion-Node „Button-Press detected“. Dort Ersetzt Ihr den Teil RfCode durch Euren zuvor gemerkten RF-Code.

Danach klickt Ihr auf Done, sendet die Änderungen an den NodeRed-Server und ab sofort solltet Ihr über die Debug-Node bie jedem Tastendruck des Funktasters eine Benachrichtigung erhalten.

Falls Ihr keine erhaltet prüft bitte ob Ihr ggf. das Topic unter dem Ihr die RESULTS Eurer RF-Bridge empfangt aktualisieren müsst.


Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂

Fab

P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂

Buy Me a Coffee at ko-fi.com

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.