Sketch erweitern:
Zunächst muss ich weitere Bedienmöglichkeiten schaffen. Ich möchte möglichst alle Tasten meiner Fernbedienung auch mit meinem Handy über das Netz schalten können. Ich kopiere mit Strg+C die Stelle ab -„ if (strPayload == “zdf“) ……..bis…..(0xE0E0A05F); } “ und kopiere den Text darunter, hinter der „}“ mit Strg+V. Dies mache ich so oft wie ich Schaltmöglichkeiten haben will.
Im nächsten Schritt vergebe ich eine frei gewählte Bezeichnung für den zu senden Code. Z.B. 1 (für Taste1) und weise dieser den Code für Taste1 zu. Beim nächsten Eintrag verfahre ich entsprechend, jetzt natürlich mit 2. Usw., usw.
Sketch hochladen:
Den geänderten Sketch muss ich natürlich erst auf meine NodeMCU hochladen. Also die NodeMCU wieder an die COM-Schnittstelle des Rechners anschließen und einfach aus der Arduino Software hochladen. Der alte Sketch wird dann überschrieben.
Jetzt kann ich im ioBroker, unter meinem Objekt “TV-Wohnzimmer“, einfach mal die 5 eingeben und mein Code für Taste 5 (E0E0906F) wird gesendet.
Ich stelle hier mal den Skript für meinen Samsung TV ein damit ihr seht wie lang die Liste meiner Befehle ist.
VIS:
Doch besonders komfortabel ist meine Bedienung der IR-Fernsteuerung noch nicht. Dies soll sich jetzt ändern. Ich will in VIS eine Bedienoberfläche erstellen die mir den Zugriff vereinfacht.
Also den VIS-Editor öffnen, wie bereits bekannt und einen neuen View anlegen. Diesen werde ich jetzt wie folgt füllen:
Zunächst ziehe ich mir einen Rahmen (BORDER) in die Arbeitsfläche, vergrößere ihn und gestallte ihn farbig. Danach hole ich mir eine Taste (Button) in den Rahmen. Hier muss ich rechts meine Objekt ID für mein MQTT-Objekt auswählen. Darunter noch eine Bezeichnung für die Taste (T1) sowie die Adresse im MQTT-Sketch für den Code der Taste1 (also1).
Weiter mache ich, in dem ich die so erstellte Taste einfach über “Widget kopieren“ kopiere. Diese richte ich wie die erste ein. Die Objekt ID bleibt unverändert, lediglich die Tastenbezeichnung und die Adresse ändert sich. So verfahre ich bis ich alle bisher angelegten Schaltmöglichkeiten erstellt habe.
Unter “VIS RUNTIME“ kann ich mir nun meine Schaltoberfläche ansehen und die Tasten bedienen. Und siehe da, mit der entsprechenden taste wird der entsprechende Code ausgegeben. So kann ich nun weiter verfahren bis meine Fernbedienung das gewünschte Ergebnis zeigt, dass z.B. so aussehen könnte.
Was hat es mit der RES-Taste auf sich?
Sollte diese betätigt werden, wird in mein TV-Wohnzimmer-Objekt ein x eingetragen. Im Sketch gibt es kein x-Objekt und damit auch keinen Code. So bleibt der Eintrag unbeachtet.
Der Hintergrund besteht darin, dass eine Doppeleingabe keine Veränderung im Objekt ergibt. Somit wird der Sketch auch nicht erneut abgearbeitet.
Will ich z.B. das Programm auf Programmspeicher 11 aufrufen, muss ich kurz hintereinander Taste 1 zweimal betätigen. Der zweite Tastendruck bleibt unbeachtet, somit wird nur Platz 1 aufgerufen. Gebe ich nun schnell genug: “Taste1 – RES – Taste1“, so wird Programmplatz 11 eingestellt.
Bei den Programmplätzen könnte man sich zwar leicht behelfen aber bei der Lautstärke z.B. wäre ein mehrmaliges hintereinander Betätigen nicht möglich. Ich müsste zwischen dem erneuten Drücken eine andere Funktion wählen, wodurch mein TV-Gerät sich ständig verstellt. Mit der RES-Taste dazwischen ergibt sich keine Funktionsänderung am TV-Gerät und die Lautstärke kann kontinuierlich verändert werden.
Geheimnis gelüftet!
So, Ich hoffe Ihr seid auf den Geschmack gekommen und bastelt euch jetzt eine eigene Fernbedienung. Auf die Möglichkeit einer Automation über ein kleines Blockly-Programm will ich nicht weiter eingehen. Auch fällt mir da im Moment so wirklich nichts ein. Aber Ihr habt so die Möglichkeit alle eure IR-Kästchen auf eine Bedienoberfläche zu bringen und erspart euch so das lästige suchen. Hier ist die Kreativität des einzelnen gefragt.