Samsung TV mit iobroker und Alexa ein und ausschalten

Samsung TV mit iobroker und Alexa ein und ausschalten

Ich habe zum Geburtstag kurz vor Weihnachten einen Echo Plus bekommen und obwohl ich ihn auch wollte wusste ich natürlich gar nicht worauf ich mich einlasse.

Die erste Erfahrung die ich dann mit Smarthome gemacht habe, war die beiliegende Glühbirne (in meinem Echo Plus ist der Smart Home Hub integriert).

Ich konnte nun also per Sprachbefehl, dass Licht im Schlafzimmer (die einzig passende Lampe für eine E 27 ) aus und einschalten und dimmen.

Toll! Aber man will natürlich mehr. Und ich denk mir natürlich mein Fernseher ist smart, da kann man sicher was machen, aber Fehlanzeige. Ein Smart TV ist kein Smarthome Gerät.

Ich will das aber trotzdem und suche weiter.

Ich fand den Skill Smart TV Remote, der mehr schlecht als recht funktionierte. Allen voran konnte man den TV damit nicht einschalten. Den Samsung benötigt zur Bedienung eine Netzwerkverbindung und diese ist nicht gegeben, wenn der TV im Standby ist.

Das ist einerseits beruhigend, denn man kann daher auch davon ausgehen, dass der Fernseher nur bei laufendem Programm nach Hause telefoniert, aber es ist natürlich auch sinnlos. Wenn ich zum Einschalten die Fernbedienung zur Hand nehmen muss, dann brauche ich keine Sprachsteuerung.zu

Ich suche also weiter und höre immer wieder, dass es eben nicht möglich sei.

Ich habe dann immer wieder aus den Smarthome Foren den Begriff iobroker gehört und wollte dieses Programm mal ausprobieren.

Und hier fängt unser Tutorial an.

Iobroker auf Linux Mint installieren

Aus praktischen Gründen wird iobroker immer im Zusammenhang mit dem Minicomputer Raspberry Pi genannt. Da ich ein solches Gerät aber nicht mein eigen nenne und mein Ziel war, die Steuerung des TV ohne zusätzliche Ausgaben zu realisieren musste ich erst die korrekte Anleitung finden um iobroker auf meinem ExperimentierPC zu installieren. Dieser braucht wenig Strom und kann ggf. auch dauerhaft laufen (ich schalte ihn aber ab wenn ich das Haus verlasse, dazu später mehr).

Nach einigen erfolglosen Versuchen die Anleitung für den Raspberry Pi zu adaptieren oder es über Windows zu versuchen (das lief gleich mal gar nicht), hatte ich es bereits mit Virtual Box geschafft. Da diese aber mangels Virtualisierung am ExperimentierPC auf meinem Spielerrechner lief, war es natürlich keine Dauerlösung aber ich konnte es schon mal testen.

Lange Rede kurzer Sinn:

Hier findet ihr die Anleitung um iobroker auf Debian basierten Systemen zu installieren.

http://www.iobroker.net/docu/?page_id=5634&lang=de

Damit lief die Installation reibungslos, allerdings bin ich vorher noch von Linux Mint auf xubuntu umgestiegen, da der Rechner nur als Server fungieren soll. Ich habe die grafische Oberfläche drauf gelassen, man kann sie aber auch deinstallieren.

Iobroker erster Start

Wenn iobroker erfolgreich installiert wurde könnt ihr ihn am ServerPC unter localhost:8081 aufrufen oder wie in meinem Fall über die lokale IP am SpielePC.

Hier gleich ein Tipp. Es ist mir nicht gelungen eine fixe IP in xubuntu einzurichten, ich habe stattdessen einfach in der Modemsoftware die Einstellung gemacht, ändert sich die IP sind eure Geräte für Alexa unerreichbar.

Auf der Startseite erschlagen einen die Adapter.

Daher die wichtigsten für euch als erstes.

Ihr braucht:

  1. admin (ist bereits installiert)
  2. cloud (für die Verbindung zu Alexa)
  3. discovery (um eure Geräte zu suchen)
  4. ping (für den Onlinestatus eurer Geräte)
  5. javascript (zum Einschalten des TV)
  6. scenes (um den Schalter zu erstellen)
  7. samsung (für die eigentliche Steuerung des TV)

Discovery

Als erstes installiert ihr den Discovery Adapter, die Instanz wird auch gleich gestartet und ihr findet folgendes Bild vor.

Änderungen müsst ihr keine vornehmen, einfach auf suchen klicken und auf das Ergebnis warten.

Es werden euch gleich Services zur Installation vorgeschlagen.

Um RAM zu sparen installiert nichts was nicht oben gelistet ist.

Wichtig ist das während der Suche der TV bereits läuft damit er gefunden wird. Dann wird der Samsung Adapter mit installiert. Aber keine Sorge, wenn ihr den TV erst jetzt eingeschalten habt könnt ihr den Adapter manuell auswählen und durch Klick auf das Plus rechts installieren.

Nun müsst ihr noch die IP eures TV eingeben (findet ihr beim Netzwerkstatus am TV) und dann am TV zulassen bestätigen wenn es aufpoppt.

Um den Adapter zu testen wechselt er auf den Reiter Objekte.

Hier den Reiter Samsung aufklappen und unter Volume bei Volume Down oder Up die Buttons testen (rechts die Symbole mit dem Pfeil nach unten)

Reagiert der TV habt ihr das wichtiges bereits geschafft.

Ihr könnt nun alle Buttons testen und die, die bei eurem TV keine Funktion haben löschen um den Baum zu entschlacken.

Tipp: Bei meinem TV hat der vorhandene Standby Button keine Funktion stattdessen musste ich bei Power den Punkt auf bei der Spalte Rolle von State auf button ändern. Damit war das Ausschalten möglich.

Szenen

Den Szenen Adapter könnt ihr manuell installieren ohne weitere Einstellungen vornehmen zu müssen. Ihr erhaltet eine neue Registerkarte Szenen oben im Interface.

Cloud

Um den Cloud Adapter zu installieren und mit Alexa zu verbinden braucht ihr einen App-Key. Folgt dem Link zu iobroker.net und erstellt euch ein Konto um euren Key zu erhalten. Danach könnt ihr gleich in Alexa den iobroker Skill aktivieren und mit dem Konto verknüpfen.

Damit ist der Alexa Part vorerst erledigt, den Cloud Adapter brauchen wir später wieder.

Javascript

So nun haben wir bereits festgestellt das wir den TV bedienen und ausschalten können.

Nun kommt das einschalten.

Daher brauchen wir den Javascript Adapter.

Nach der Installation haben wir den Reiter Scripte erhalten und begeben uns dort hin.

Als erstes erstellen wir einen neuen Ordner Skripte für unser Vorhaben. Das Skript funktioniert nämlich nicht wenn es in common oder global installiert wird.

Markiert den Ordner Skripte und geht rechts oben auf neues Skript. Mein Skript heißt ganz banal TV.

Und hier folgt nun euer Skript um den Fernseher mit Wake on Lan einzuschalten.

createState(“javascript.0.TVstarten”, 0); // Generiert beim starten den Datenpunkt, wenn nicht vorhanden
var wol = require(‘wake_on_lan’); // Lädt von ioBroker die das nötige Paket
var myTV = “xx:xx:xx:xx:xx:xx”; // MAC definieren

// Ab hier automatisch
on({id: “javascript.0.TVstarten”, change: ‘any’}, function (obj) {
wol.wake(myTV);
log(“Script WOL – TV aufgeweckt”, “info”);
}

);

Die MAC Adresse eures TV findet ihr bei Unterstützung Samsung kontaktieren. Je nachdem wie euer Fernseher ans Internet angeschlossen ist, nehmt ihr die Lan oder Wlan MAC Adresse und fügt sie. Schaltet euren Fernseher jetzt aus. Speichert das Skript und werdet Zeuge der Magie. Führt das Script aus und tadaaaa. Der Fernseher springt an.

Die Szene

So nun wollten wir natürlich nicht umständliche Scripte ausführen oder komische Buttons im Webinterface drücken. Wir wollen sagen: Alexa, mach den Fernseher an bzw. Alexa mach den Fernseher aus.

Dafür brauchen wir eine Szene.

Daher erstellen wir ein virtuelles Gerät Samsung im Reiter Objekte im Ordner Javascript durch Klick auf das Plus.

Dann markiert ihr euer Gerät und erstellt mit einem Klick auf das Plus einen Datenpunkt „on“

Ist der Punkt erstellt könnt ihr ihn in der Spalte Wert auf true stellen (Häkchen setzen)

Nun wechseln wir zu den Szenen.

Mit Klick auf das Plus erstellen wir eine neue Szene und klicken rechts auf Szenenkonfiguration.

Wir verknüpfen den zuvor erstellten Datenpunkt unter Trigger ID und fühlen alles wie im Bild aus.

Unsere Szene ist erstellt und wird nun gefüttert.

Wir klicken rechts auf das Plus und wählen aus dem Javascript Ordner den Wert Tvstarten und aus dem Samsung Ordner den Wert off.

Nun soll der Start Befehl TVStarten ausgelöst werden wenn der Fernseher aus ist, also wenn der Status „false“ ist, dafür geben wir bei Sollwert bei Falsch den Wert „null“ (ausgeschrieben) ein und löschen ihn bei Wahr heraus.

Der Ausschaltbefehl off soll bei laufendem Fernseher gesendet werden.

Wir setzen das Häkchen auf Sollwert bei Wahr.

Wir können die Szene testen in dem wir bei Sollwert bei Wahr oder Sollwert bei falsch das Playsymbol drücken.

Eure Szene sollte funktionieren und den TV aus bzw. einschalten.

Jetzt wollen wir das noch Alexa beibringen.

Also zurück zu den Instanzen und in den Cloud Adapter auf Smartgeräte.

Mit Klick auf das Plus links oben können wir uns nun scene.samsung holen.

Natürlich könnt ihr den TV auch Fernseher nennen. Von TV als Bezeichnung ist abzuraten, das Alexa das nicht richtig versteht, ihr könnt das Gerät aber auch in der Alexa App jederzeit umbennen.

Wir drücken also auf Okay und starten die Gerätesuche bei Alexa.

Und geschafft. Ihr könnt nun euren Fernseher mit Sprachbefehl ein und ausschalten.

Für die Lautstärkeregelung habe ich leider noch keine Lösung gefunden, bzw arbeite ich noch daran, dafür muss man den TV nämlich per Upnp ansteuern.

Da meine Programmierkenntnisse sehr begrenzt sind, wird das noch ein bisschen dauern.

Echo Plus kaufen

iobroker installieren

Alexa App

5 Kommentare zu „Samsung TV mit iobroker und Alexa ein und ausschalten

  1. schöne Anleitung, und eine gute Idee. Beim JavaScript kommen bei mir leider zwei rote Kreuze. In der ersten und dritten Zeile . was kann das sein?

    1. Das liegt daran, dass die Anführungszeichen nicht richtig interpretiert werden. Der Code sollte funktionieren.

      createState(‘javascript.0.TVstarten’, 0); // Generiert beim starten den Datenpunkt, wenn nicht vorhanden
      var wol = require(‘wake_on_lan’); // Lädt von ioBroker die das nötige Paket
      var myTV = ‘xx:xx:xx:xx:xx:xx’; // MAC definieren

      // Ab hier automatisch
      on({id: ‘javascript.0.TVstarten’, change: ‘any’}, function (obj) {
      wol.wake(myTV);
      log(‘Script WOL – TV aufgeweckt’, ‘info’);
      }

      );

    1. Danke. Ich hoffe nur die Anleitung war verständlich. Denn ich musste mangels Anleitung echt kämpfen um mein Vorhaben umzusetzen.

Schreibe einen Kommentar

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