In dem Artikel NodeRed/Tasmota – Eine WhatsApp(*)-Icon-Lampe bauen ist erklärt wie man sich eine eigene WhatsApp(*)-Lampe bauen kann. Ziel ist es diese später mit Eurem SmartHome zu verknüpfen und beispielsweise leuchten zu lassen sobald neue Benachrichtigungen für Euch verfügbar sind.
Mit folgendem NodeCode könnt Ihr Eure selbstgebaute WhatsApp(*)-Lampe nun testen.
(*)HINWEIS: WhatsApp® und das WhatsApp-Logo sind in den USA und anderen Ländern eingetragene Marken von WhatsApp, Inc.
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/
Affiliatelinks/Werbelinks
Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂
Voraussetzungen
Hilfreiche Artikel:
Damit Ihr diese Konfiguration übernehmen könnt sollte NodeRed natürlich schon installiert sein.
Wie ihr 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
Benötigtes Werkzeug:
-keins-
Benötigtes Material:
In der folgenden Liste findet Ihr alle Teile die Ihr zur Umsetzung dieses Artikels benötigt.
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.
Node-Code importieren
Mit dem folgendem NodeCode könnt Ihr Eure WhatsApp(*)-Lampe steuern. Dazu müsst Ihr ggf. noch den Namen Eurer Lampe (falls dieser nicht „whatsAppLampe“ lautet) anpassen.
Um diesen Code zu testen könnt Ihr ihn einfach in Eure NodeRed-Installation importieren. Tipps dazu findet Ihr im Artikel NodeRed – Node-Code importieren und exportieren.
Hier der eigentliche NodeCode:
[{"id":"d2257647.527f38","type":"comment","z":"73482476.7e376c","name":"whatsAppLampe","info":"","x":180,"y":80,"wires":[]},{"id":"43faa0fa.f5215","type":"function","z":"73482476.7e376c","name":"","func":"if(msg.payload=="on") msg.payload=true; else msg.payload=false; return msg;","outputs":1,"noerr":0,"x":390,"y":160,"wires":[["cea5363d.3ac848"]]},{"id":"8da7a0d5.d8df1","type":"link in","z":"73482476.7e376c","name":"","links":["1c0fd2a8.9119ad"],"x":415,"y":120,"wires":[["cea5363d.3ac848"]]},{"id":"1d6f002c.17d81","type":"function","z":"73482476.7e376c","name":"","func":"msg.payload="#"+msg.payload; return msg;","outputs":1,"noerr":0,"x":410,"y":280,"wires":[["36b79394.d5f8dc"]]},{"id":"986fc0d1.bb7a7","type":"inject","z":"73482476.7e376c","name":"","topic":"","payload":"#ff9900","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":410,"y":320,"wires":[["36b79394.d5f8dc"]]},{"id":"36b79394.d5f8dc","type":"mqtt out","z":"73482476.7e376c","name":"","topic":"cmnd/whatsAppLampe/Color","qos":"","retain":"","broker":"c94e86db.dfcde8","x":640,"y":280,"wires":[]},{"id":"bd4379c0.b53908","type":"link in","z":"73482476.7e376c","name":"","links":[],"x":435,"y":360,"wires":[["36b79394.d5f8dc"]]},{"id":"95cfffe0.781bb","type":"ui_colour_picker","z":"73482476.7e376c","name":"","label":"whatsAppLampe","group":"9efc6f05.1b9a2","format":"hex","outformat":"string","showSwatch":true,"showPicker":true,"showValue":true,"showHue":false,"showAlpha":true,"showLightness":true,"dynOutput":"false","order":27,"width":0,"height":0,"passthru":true,"topic":"","x":210,"y":280,"wires":[["1d6f002c.17d81"]]},{"id":"897fb059.a7a5c","type":"ui_switch","z":"73482476.7e376c","name":"","label":"whatsAppLampe","group":"5303eeb6.d88a3","order":22,"width":0,"height":0,"passthru":false,"decouple":"true","topic":"","style":"","onvalue":"true","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"false","offvalueType":"bool","officon":"","offcolor":"","x":650,"y":220,"wires":[["cea5363d.3ac848"]]},{"id":"cea5363d.3ac848","type":"Sonoff device","z":"73482476.7e376c","mode":"0","broker":"c94e86db.dfcde8","device":"whatsAppLampe","name":"","onValue":"ON","offValue":"OFF","cmdPrefix":"cmnd","statPrefix":"stat","telePrefix":"tele","x":630,"y":160,"wires":[["897fb059.a7a5c"]]},{"id":"7f0d7652.2d8a18","type":"alexa-local","z":"73482476.7e376c","devicename":"whatsAppLampe","inputtrigger":false,"x":210,"y":160,"wires":[["43faa0fa.f5215"]]},{"id":"33dc6f08.e3c04","type":"link in","z":"73482476.7e376c","name":"","links":["26a5b5ea.e3b65a"],"x":295,"y":200,"wires":[["7907aaef.b7a234"]]},{"id":"1ff908e8.669237","type":"link in","z":"73482476.7e376c","name":"","links":["d54aad83.530c2"],"x":295,"y":240,"wires":[["9353016f.ee0f8"]]},{"id":"7907aaef.b7a234","type":"change","z":"73482476.7e376c","name":"true","rules":[{"t":"set","p":"payload","pt":"msg","to":"true","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":200,"wires":[["cea5363d.3ac848"]]},{"id":"9353016f.ee0f8","type":"change","z":"73482476.7e376c","name":"false","rules":[{"t":"set","p":"payload","pt":"msg","to":"false","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":240,"wires":[["cea5363d.3ac848"]]},{"id":"c94e86db.dfcde8","type":"mqtt-broker","z":"","name":"Server-Mqtt","broker":"server.fritz.box","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"9efc6f05.1b9a2","type":"ui_group","z":"","name":"Licht-Farbe","tab":"b29a978f.019318","disp":true,"width":"6","collapse":false},{"id":"5303eeb6.d88a3","type":"ui_group","z":"","name":"Licht","tab":"b29a978f.019318","disp":true,"width":"6","collapse":false},{"id":"b29a978f.019318","type":"ui_tab","z":"","name":"Home","icon":"dashboard"}]
Viel Spaß mit dem Projekt
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. 🙂
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. 🙂
Feedback: Schade, ich hatte mir von dem Artikel mehr versprochen. Aber der Reihe nach.
Gesucht hatte ich nach einer Möglichkeit Nachrichten an WhatsApp zu senden (z.B. wenn meine Waschmaschine fertig ist, oder das Fenster immer noch offen ist,…). Also eher die andere Richtung. Deinen Artikel habe ich trotzdem gelesen und mir auch den Code reingezogen in der Hoffnung Anhaltspunkte zu finden, wie man mit WhatsApp kommuniziert. Leider Fehlanzeige:
1) Gibt’s keinerlei Erklärungen zur Funktion des Codes
2) Beim Import fehlern 2 nodes (sonoff und alexa). Da gehören also wohl noch 2 Bibliotheksfunktionen/AddOns zu den Vorraussetzungen – inkl. der Links dazu
Sonoff liese sich ersetzen. Ich habe z.B. das Tasmota AddOn. Was vermutlich von einem anderen Entwickler ist, aber die gleiche Funktion hat!? Erläuterungen zu externen Bibliotheksfunktionen wären also sinnvoll.
Alexa habe ich nicht und will ich nicht. Auch daz wäre ein Alternativvorschlag bzw. Beschreibung sinnvoll. Ich vermute, dass Alexa mit WhatsApp verknüpft ist und die Info bei einer eintreffenden Nachricht weitergibt!?
Ansonsten schönes Blog. Und in deutsch :-). Der HW-Teil sehr gut beschrieben und bebildert. Betreibst Du den Blog allein? Wäre sicher auch ein schönes Communityprojekt um noch mehr Projekte/Beispiele zu sammeln.
Hast Du eine Idee für senden von WhatsApp- Nachrichten – ohne Alexa ;-). Ich hatte mal was gefunden, wo man sein Festnetztelefon registrieren konnte und dann von NodeRed aus Nachrichten ganz normal darüber senden konnte. Finde das aber nicht mehr. Es gibt wohl einen US-Server der das auch vermittelt. Aber was die dann wieder an Daten sammeln….
Hi Konrad,
erst mal sorry für die späte Antwort und danke für deine Tipps und Hinweise. 🙂
Du hast recht. hier fehlen noch ein paar Infos. Ist schon eine Weile her, dass ich diesen Artikel geschrieben habe und damals habe ich noch nicht immer alle Infos so ausführlich dazu gepackt. Werde ich aber nachholen, wenn ich diesen Artikel überarbeite. Ich plane diese Art Lampen bald auch mit von dem pxlBlck Plugin unterstützen zu lassen. Dann würde ich dazu nochmal einen Artikel schreiben.
Zu der whatsApp Problematik:
Leider lässt WhatsApp keine externen Clienten zu und ist auch sehr streng wenn es darum geht alle Versuche in der Richtung zu blocken. Um trotzdem über neue WhatAapp Nachrichten benachrichtig werden zu können habe ich damals mit Tasker (heute wurde ich Automate nutzen) eine Automatisierung auf meinem Handy erstellt. Diese hat dafür gesorgt, dass bei jeder eingehenden Whatsapp-Nachricht ein Signal an meinen MQTT Server gesendet wurde. Dieses Signal kann man dann nach belieben weiterverarbeiten.
Den umgekehrten Weg habe ich leider nie umgesetzt. Benutze dafür (um mir Nachrichten aufs Handy schicken zu lassen) aber seit Jahren Pushbullet. Infos dazu findest du zum Beispiel hier: https://nerdiy.de/howto-nodered-pushbullet-benachrichtigung-bei-ssh-login/
Was das auslösen von Telefongesprächen angeht:
Falls du eine FritzBox hast kannst du daran auch externe SIP clienten anmelden. Solche SIP clienten lassen sich auch auf einem RaspberryPi installieren. Dieser könnte dann an die Fritzbox angemeldet werden und auf Befehl einen Anruf tätigen und zum Beispiel eine mp3/wav abspielen. Ist aber erst mal nur theorie. Ist noch auf meiner „muss ich mal ausprobieren“ Liste. 😀
Zum Blog:
Ja, den betreibe ich alleine. Vielen Dank für das Lob. 🙂
Beste Grüße
Fabian