Robins Blog – Technik und Multimedia

Fhem mit LED Statusanzeige / LED-Stripe WD2812B / MySensors

Ich hatte Euch in einem früheren Blog-Beitrag (-> Fhem mit LED Statusanzeige / LED-Stripe WD2812B / 433 MHz Übertragung) einen LED-Bilderrahmen vorgestellt, welche auch sehr oft nachgebaut wurde.
Problem bei dem LED-Rahmen mit 433 MHz war, das der 433 MHz Empfänger relativ teuer ist und es ab und an Probleme mit der Reichweite gab. Ich muss sagen, bei mir gab es wegen der Reichweite keine Probleme (2 dicke Wände).
Das MySensors-Prinzip hat den Vorteil, das die nRF-Transceiver sich untereinander die Daten austauschen können, also quasi ein eigenes Netz bilden. Obwohl das sich im 2.4 GHz (WLAN) Bereich abspielt, hat es nichts mit dem eigentlichen WLAN-Netz zu tun. Außerdem sind die nRF-Transceiver etwas preiswerter als der 433 MHz Empfänger. Wichtig ist zu wissen, das man einen nRF-MySensors Gateway als zusätzlicher Hardware an Fhem angeschlossen haben muss. Darüber hab ich damals schon einen Blog-Beitrag geschrieben (-> siehe hier). Ich empfehle jedoch anstatt die WLAN-Version eine USB-MySensors Version zu bauen. Zumindest bei mir läuft die stabiler. Wiederrum habe ich bei mir schon einige MySensors-Module in Betrieb. Auch ein MySensors-Lan Gateway habe ich damals schon gebaut (-> Blogbeitrag hier).

 

Szenarios:
Ich wurde öfter gefragt, was die Anwendungsgebiete für einen solchen Rahmen sind. Mit Fhem kann man ja so gut wie alles abfragen. So frage ich beispielsweise den aktuellen Stromverbrauch ab (-> Blogbeitrag). Wenn der höher als 500 W ist dann leuchtet bei mir eine von den 8 LED in Rot auf.
Weitere Möglichkeit: Fenster offen / geschlossen, kann man damit auch anzeigen lassen, die Zustandsänderung sieht man sofort auf dem LED-Rahmen.
Mülltonnen: Wann wird welche Mülltonne abgeholt? Gelb, Blau, Grau. Hier zeige ich einen Tag vorher in Form von einer gelben LED an das morgen eine Mülltonne geleert wird. Am selben Tag ist die LED dann rot
Temperaturen. Mit meinen LaCrosse Thermosensoren leuchtet bei mir eine LED-Blau, wenn die Tempertur unter 5 Grad fällt.
Wie gesagt, alles nur Beispiele, die ich eingebaut habe. Grundsätzlich kann man alles anzeigen lassen … Wenn Euer Hamster die 1000ste Runde in dem Hamsterrad gedreht hat, Euer Aquarium die kritische Temperatur von 30 Grad erreicht hat und, und und.

Benötigte Bauteile:
Das Prototyping Board habe ich von Itead-Studio gekauft (leider nicht mehr verfügbar, ich habe noch eins, falls Interesse, einfach melden).

Wer einen Bausatz benötigt, kann sich bei mir melden: WLAN – Gateway (NodeMCU) komplett 29,90  Euro inkl. Versand oder das USB-Serial Gateway mit Arduino Nano, NRF zum Selberlöten 19,90 inkl. Versand. Das nRF ist bei dem WLAN-Gateway und USB-Serial-Gateway mit einer 868 MHz-Antenne versehen zum besseren Senden / Empfangen. Beim Serial Gateway sind noch 3 Dioden dabei / Senden / Empfangen / Error. Auf Bausätze gebe ich keinen Installations-Support.

Die nachfolgenden Links führen zu amazon.de

Ali-Express

Wer noch das LED-Stripe, wie auf dem Video gesehen,  haben möchte, kann es für 8,90 Euro inkl. Versand bei mir bestellen. Ich werde an dem Stripe für Euch noch auf Wunsch Steckbrücken anlöten damit ihr sofort loslegen könnt. Die Stripes sind klasse, schön hell. Die können natürlich auch mit set LEDRahmenSwitch 5 011100 abgedunkelt werden. (Wertebereich 00 bis FF).

Grundsätzlich benötigt man ein MySensors – Gateway, entweder in der WLAN-Ausstattung oder in der USB-Ausstattung (also direkt am Raspi angeschlossen).

 

Quellcodehier

 

Praktische Beispiele in Fhem

Angenommen, man benutzt ESA2000 und möchte eine grüne LED leuchten haben, wenn derzeitig weniger als 500 W verbraucht wird, und die LED soll auf Rot umschalten, wenn die Leistung darüber liegt. In diesem Beispiel leuchtet dann die siebte LED:

esa2000WZ_43CB:actual.* {
if ($EVTPART1 < 0.5)
{
fhem("set LEDRahmenSwitch 7 011100");
}
else
{
fhem("set LEDRahmenSwitch 7 440000");
}
}

 

Als zweites Beispiel soll eine grüne LED leuchten, wenn das Fenster geschlossen ist (TFK-Sensor vom MySensor) und rot, wenn das Fenster geöffnet ist
In diesem Beispiel leuchtet dann die fünfte LED:

Fenster_1:tripped3.* {
if ($EVTPART1 == 0)
{
fhem("set LEDRahmenSwitch 5 011100");
}
else
{
fhem("set LEDRahmenSwitch 5 440000");
}
}

Wie man sieht, der Prozedur-Aufruf geschieht nach dem Muster: LEDRahmen, LED auf dem LED-Stripe, RGB-Wert (hex). Möchte man eine LED komplett weiß haben, übergibt man FFFFFF , ausschalten mit 000000.

Update: 30.06.2016 Lest auch den Blogbeitrag für die LED-Statusanzeige für Fhem mit 8266 – Modulen durch! Den Blog-Beitrag findet ihr hier!

Das könnte Euch auch interessieren:
WLAN – MySensors Gateway – ohne zu löten (-> Blogbeitrag)
LED-Rahmen mit LED-Stripe WD2812B und 433 MHz Datenübertragung

Fhem mit LED Statusanzeige, Übertragung per WLAN mit 8266 Modulen (NodeMCU, WeMos, ESP 8266-01)

Die mobile Version verlassen