Twitch Streamer und das Smart Home

Veröffentlicht von Lukas am

Zweifelsfrei haben die letzten zwei Jahre dazu geführt, dass immer mehr Leute den Wunsch hegen, Twitch Streamer zu werden. Technische Pannen, die heute weltweit unter dem Namen Twitch Streamer Income List gesucht werden, haben das mit Sicherheit noch weiter bestärkt.

Doch wie komme ich nun an dieser Stelle auf das Thema Twitch? Wo liegen die Berührungspunkte zum Smart Home? Diese Frage wollen wir uns in diesem Artikel genauer ansehen. Denn ob du es glaubst oder nicht, das Smart Home kann für Twitch Streamer definitiv interessant sein. Zumal so die Zuschauerinteraktionen gefördert werden können.

Beginnen wir jedoch ganz von vorne und schauen uns Step by Step an, was Twitch mit dem Smart Home zutun hat, wie du es für deine Zwecke nutzen kannst und welche Möglichkeiten zur Verfügung stehen. Dazu bediene ich mich einer offiziellen Schnittstelle, einem Skript in JavaScript und ioBroker. Insbesondere die letzten beiden genannten Punkte müssen hierbei zusammenspielen.

Suchst du zudem noch nach einem passenden Stream für deinen Samstagabend? Dann schau doch mal auf dem Twitch-Kanal Goldstadtzocker vorbei. Kleiner Spoileralarm: Vielleicht entdeckst du mich dort ja. 😉

Goldstadtzocker Twitch

Schaust du Twitch?

Ergebnisse    Archiv

Zuschauerbindung durch Aktionen

Bevor wir in die genaue technische Umsetzung einsteigen, möchte ich die grundlegende Theorie hinter dem Vorhaben erklären. Hierbei geht es um die Zuschauerbindung durch Aktionen, die ausgelöst werden können. Viele Twitch Streamer greifen dabei auf virtuelle Güter oder virtuelle Steuerungsmöglichkeiten zurück. So ist es in manchen Streams möglich, bestimmte Lieder oder Grafiken einzublenden, wenn genug sogenannter Kanalpunkte gesammelt wurden.

Doch im Grunde geht es hierbei immer nur um virtuelle Möglichkeiten oder Güter, die nichts mit der echten Welt zutun haben. Dank Smart Home kann das schon ganz anders aussehen.

Nehmen wir an, dass deinen Zuschauern die aktuelle Beleuchtung im Raum nicht gefällt. Sie können nun ihre Kanalpunkte dafür einsetzen, das Licht umzuschalten. Hierzu wird ein virtuelles Produkt durch Kanalpunkte gekauft. Dieser Vorgang kann durch die Schnittstellen an ein eigenes Skript weitergeleitet werden, welches wiederum Aktionen auslöst.

Durch die Vermischung von virtuellen Produkten mit der physischen Welt entsteht der Eindruck, dass der Zuschauer wirklich ein Teil des Ganzen ist. An dieser Stelle sei außerdem gesagt, dass die Zuschauer natürlich auch etwas davon haben und diese Möglichkeit sicherlich interessant finden.

Das Smart Home bietet jedoch noch weitere Möglichkeiten. So kann zum Beispiel ein Sprachassistent bestimmte Nachrichten direkt vorlesen oder auch andere Geräte angesteuert werden.

Du als Twitch Streamer behältst dadurch die Oberhand und kannst jederzeit das Skript beenden. Damit endet auch die Möglichkeit zur Steuerung. Zudem möchte ich erwähnen, dass Twitch zu keinem Zeitpunkt Zugriff auf dein Smart Home erhält. Du musst auch keine Schnittstellen freigeben oder einer anderen Software den Zugriff in dein Heimnetzwerk erlauben.

Gaming Room
Hier besteht Smart Home Potenzial (Foto von Sharad kachhi auf Unsplash)

Funktionsweise der Steuerung

In diesem konkreten Beispiel greifen wir auf die Dienste von Streamlabs zurück. Hierbei handelt es sich um einen Anbieter für Streaming-Tools, der unter anderem auch eine Schnittstelle zur Verfügung stellt. Dieser Dienst wiederum integriert die Schnittstellen von Twitch, um auf deinen Stream Zugriff zu haben.

Auf deinem PC läuft ein beliebiger Webbrowser mit einem Skript, das die Verbindung zu Streamlabs herstellt. Die Verbindung wird dabei über Websockets aufgebaut. Innerhalb dieser Websocket-Verbindung können dann auch immer wieder Nachrichten ausgetauscht werden. Die Nachrichten enthalten dabei weitere Informationen über das Geschehen im Stream. Anhand dieser Informationen lässt sich beispielsweise zwischen Einlösungen und Ereignissen (z. B. Follow oder Sub) unterscheiden.

Diese Ereignisse wertet das Skript aus und löst basierend auf diesen Informationen weitere Aktionen aus. So ist es durch die Simple-API mit ioBroker möglich, direkt ein Gerät anzusteuern. Nehmen wir an, jemand folgt dir in deinem Stream. Streamlabs sendet diese Information über die Websocket-Verbindung direkt an deinen PC und dieser wertet das Ereignis aus. Das Skript auf deinem PC stellt fest, dass es sich hierbei um einen Follow handelt und sendet daraufhin an ioBroker die Anweisung, die Lampe neben dir blinken zu lassen.

Erfolgt das Blinken zum Beispiel über das Lichtsystem von Philips, so wird dieser Effekt spätestens nach 15 Sekunden wieder beendet. Beim nächsten Follow wird erneut ein Blinken ausgelöst, da das Skript auf deinem PC wieder eine Anweisung an ioBroker sendet.

Damit du außerhalb deines Streams nicht belästigt wirst durch blinkende Lampen, wird die Verbindung geschlossen, sobald du das Skript schließt. Ohne geöffnetes Skript ist also keine Steuerung möglich und die Verbindung zwischen Streamlabs und deinem Computer wird immer aus deinem Netzwerk heraus aufgebaut. Dadurch musst du keine Ports öffnen oder aufwendigen Dienste installieren beziehungsweise betreiben.

Einrichtung der Steuerung im Detail

Wir wollen uns natürlich nun nicht in den theoretischen Grundlagen verlieren. Aus diesem Grund steigen wir direkt in die technische Umsetzung ein. Dazu solltest du bereits einen eingerichteten Twitch-Kanal besitzen und bei Streamlabs registriert sein. Nur so können wir auf die Schnittstelle zugreifen.

Im Anschluss navigieren wir zur Socket API in der Dokumentation von Streamlabs. Dort finden wir ein Skript, das wir für unsere eigenen Zwecke in einen Texteditor kopieren können. Ich empfehle dafür Visual Studio Code, da es sich ziemlich leicht bedienen lässt und auch Elemente farblich hervorheben kann. Sobald du das Skript dort hineinkopiert hast, brauchen wir noch den sogenannten Token. Diesen kannst du entweder über die Schnittstelle abrufen oder alternativ in deinem Webbrowser am PC.

Ich habe mich für den Weg über den PC entschieden und klicke nun in Streamlabs links auf Settings (Einstellungen). Dort finde ich nun die Möglichkeit auf API-Settings zu klicken. Das mache ich auch. Es erscheinen nun wieder Auswahlpunkte, bei denen ich auf API Tokens klicke. Es stehen nun die Tokens API Access Token und Socket API Token zur Verfügung. Für unser Vorhaben brauchen wir den Socket API Token. Kopiere ihn bitte und füge ihn dann im Skript in Zeile 3 zwischen die Anführungszeichen ein. Ohne diesen Token kann keine Verbindung zu Streamlabs hergestellt werden und das Skript kann nicht funktionieren.

Verbindung zu ioBroker

Nun müssen wir noch entscheiden, was bei einem Ereignis passieren soll. Ich habe mich dazu entschieden, dass ein Follow eine Lampe blinken lassen soll für 15 Sekunden. Hierzu suche ich mir nun in ioBroker den Objektpfad heraus und spreche ihn über die Simple API an. Hierzu muss selbstverständlich der gleichnamige Adapter installiert sein.

Ich zeige dir nun exemplarisch meinen Aufruf an ioBroker, wie ich meine Lampe zum Blinken bekomme.

http://192.168.XXX.XXX:8087/set/hue.0.Arbeitszimmer_LED_2.alert?value=lselect

Die Adresse enthält zuerst die IP-Adresse des ioBroker-Servers sowie den zugehörigen Port. Im Falle der Simple API brauchst du den Port 8087, sofern du ihn nicht geändert hast. Danach rufen wir den Pfad /set. Dieser ist für das Setzen neuer Werte verantwortlich. Direkt im Anschluss kommt der Pfad des ioBroker Objekts, in meinem Fall hue.0.Arbeitszimmer_LED_2.alert. Zuletzt wird noch angegeben, was wir machen wollen. In diesem Fall setzen wir den Wert auf lselect, was so viel wie langes Blinken bedeutet.

Jedes Mal wenn dir nun einer deiner Zuschauer folgt, wird deine Lampe für 15 Sekunden in der aktuell eingestellten Farbe blinken. Sollte dir das zu lange sein, kannst du auch ein kurzes Aufleuchten nutzen, das select genannt wird. Weitere Möglichkeiten mit der ioBroker API findest du in der offiziellen Dokumentation. Dort wird genauer erklärt, welche Pfade du aufrufen kannst und was sich damit anstellen lässt.

Philips Hue Bridge Steuerelement für Hue Lichtsysteme, smarte Schaltzentrale...*
Philips Hue Wireless Dimming Schalter, komfortabel dimmen ohne Installation*
Philips Hue White & Color Ambiance Lightstrip Plus Basis-Set V4 (2 m), dimmbarer...*
Philips Hue Bridge Steuerelement für Hue Lichtsysteme, smarte Schaltzentrale...*
Philips Hue Wireless Dimming Schalter, komfortabel dimmen ohne Installation*
Philips Hue White & Color Ambiance Lightstrip Plus Basis-Set V4 (2 m), dimmbarer...*
39,99 EUR
17,99 EUR
52,99 EUR
Amazon Prime
Amazon Prime
Amazon Prime
Philips Hue Bridge Steuerelement für Hue Lichtsysteme, smarte Schaltzentrale...*
Philips Hue Bridge Steuerelement für Hue Lichtsysteme, smarte Schaltzentrale...*
39,99 EUR
Amazon Prime
Philips Hue Wireless Dimming Schalter, komfortabel dimmen ohne Installation*
Philips Hue Wireless Dimming Schalter, komfortabel dimmen ohne Installation*
17,99 EUR
Amazon Prime
Philips Hue White & Color Ambiance Lightstrip Plus Basis-Set V4 (2 m), dimmbarer...*
Philips Hue White & Color Ambiance Lightstrip Plus Basis-Set V4 (2 m), dimmbarer...*
52,99 EUR
Amazon Prime

Zuletzt aktualisiert 2024-11-23 / (*) Affiliate Links / (**) Affiliate Links, Preis kann abweichen (andere Plattform) / Bilder von der Amazon Product Advertising API / Der angegebene Preis kann seit der letzten Aktualisierung gestiegen sein.

Kanalpunkte gegen farbiges Licht einlösen

Ähnlich wie im beschriebenen Weg funktioniert auch die Steuerung deines Lichts. Allerdings musst du hierzu in deinem Cloudbot noch ein Produkt für jede Farbe anlegen, die der Nutzer auswählen kann. Das Vorhaben basiert dabei auf den sogenannten Loyality-Points, die jeder Zuschauer beim Zusehen deines Streams sammeln kann. Als Twitch Streamer bestimmst du dabei, wie viele Punkte das jeweilige Produkt kostet.

Damit dieses Vorhaben nun auch funktioniert, suche bitte die folgende Zeile in deinem Skript

if (eventData.for === 'twitch_account') {

Füge nun zwischen dieser Zeile und der darüberliegenden Zeile eine Leerzeile ein. An diese Stelle fügen wir nun noch ein Stück Code ein, das die Cloudbot-Einlösungen auswerten kann.

if (eventData.type === 'loyalty_store_redemption') {
      progressHandler(eventData.message[0].product);
}

Ich habe mir eine Methode namens progressHandler geschrieben, die auswertet, welches Produkt wie eingelöst wird. Das bedeutet, dass diese Methode nach dem Produktnamen und der hinterlegten Aktion schaut. Die Produkte in deinem Loyality-Store müssen dabei genauso benannt sein wie in deinem Skript. Andernfalls wird das nicht funktionieren.

Nennst du zum Beispiel dein Produkt „Rot“, so muss auch im Skript nach „Rot“ gesucht werden. Dabei ist in der Variable eventData.message[0].product der Name Rot hinterlegt. Legst du ein Produkt mit dem Namen Blau an, so muss auch diese Variable auf den Namen Blau geprüft werden.

Anhand dieser Informationen kannst du nun deiner Lampe vordefinierte Farbwerte zuschicken über die ioBroker Schnittstelle. Ein exemplarischer Aufruf hierzu sieht zum Beispiel so aus:

http://192.168.XXX.XXX:8087/set/hue.0.Arbeitszimmer_LED_2.xy?value=0.7006,0.2993

Du siehst nun auch hier wieder, dass die URL explizit die Schnittstelle zum Setzen eines Werts aufruft. Über die Variable value übergeben wir den zu setzenden Wert.

Twitch Streamlabs Produkt anlegen
Der Name „blue“ steht später in der Variable eventData.message[0].product

Probleme bei der Einlösung

Doch nun kommt auch schon die Frage auf, ob es bei der Einlösung denn zu Probleme kommen kann? Ja, kann es definitiv. Denn überlegen wir nun einmal was passiert, wenn ein Nutzer eine Farbe einlöst während ein anderer Nutzer jedoch eine andere Farbe einlöst. Dann kommt die Beleuchtung im eigenen Zuhause schnell einmal durcheinander.

Das können wir allerdings abfangen, indem wir in unserem Skript eine Warteschlange einführen. Läuft gerade eine Einlösung, werden alle weiteren Einlösungen in die Warteschlange gesetzt. Diese Warteschlange wird dann sequenziell abgearbeitet, bis sie wieder leer ist. Je nach gesetzter Zeit kann das durchaus ein paar Minuten dauern.

Problematisch ist außerdem, wenn der genutzte Rechner keine Verbindung mehr herstellen kann oder abstürzt. Dann sind sowohl die Warteschlange, als auch die Steuerungsmöglichkeiten hinüber. Wichtig ist daher, dass der Rechner während des Streams dauerhaft mit dem Internet verbunden ist und über genügend Leistung verfügt, parallel noch das Licht zu steuern. Doch keine Sorge, die Lichtsteuerung verschlingt nicht viel Leistung. Es ist eher eine Aufgabe, die der Rechner in Millisekunden abarbeiten kann.

Keine Probleme hingegen gibt es bei einem Follow. Denn hier blinken die Lampen für 15 Sekunden auf in der aktuell gesetzten Farbe. So ist es möglich, dass du als Twitch Streamer in einem bunten Raum sitzt, dessen Farbe die Zuschauer bestimmt haben, und die Lampen gleichzeitig blinken.

Die Grenzen sind verwaschen

Wo es noch vor einiger Zeit feste Grenzen zwischen echter und virtueller Welt gab, lässt das Smart Home diese verschwinden. Sie sind zwar noch da, jedoch nicht mehr ganz klar zu erkennen. Die Möglichkeit, dass Zuschauer die Kontrolle über den Streaming-Raum übernehmen können, ist ein klares Zeichen.

Doch wofür ist es ein Zeichen?

Es zeigt uns auf, dass wir in einer stark vernetzten Welt leben. Diese vernetzte Welt lässt uns näher zusammenrücken und stellt Möglichkeiten zur Verfügung, die es vor einigen Jahren so noch gar nicht gegeben hat. Das ist beeindruckend und erschreckend zugleich. Wo man noch in einigen Filmen oder Reportagen vor einer Fremdeinwirkung gewarnt hat, gehen wir heute explizit diesen Weg. Jedoch ohne die Kontrolle zu verlieren. Und das ist ganz wichtig.

Du als Twitch Streamer bist derjenige, der die Grenzen setzen und auflösen kann. Es sollte nicht so ablaufen, dass dein komplettes Zuhause fremdgesteuert wird. Mit der Nutzung eines Skripts, das nur bei Bedarf gestartet wird, können wir eine klare Trennung erreichen. Denn zum einen steht im Skript nur das, was wir explizit erlauben. Auf der anderen Seite können wir durch einen einfachen Klick auch sämtliche Steuerungsmöglichkeiten kappen. Ich persönlich würde nicht wollen, dass eine solche Steuerung rund um die Uhr möglich ist. Und auch schon gar nicht mit sämtlichen Geräten.

Welche Geräte eignen sich zur Steuerung?

Grundsätzlich obliegt dir als Twitch Streamer allein, welche Geräte du steuern lassen möchtest. Das können theoretisch auch Kaffeemaschine und Kühlschrank sein. Doch neben der Sinnhaftigkeit stellt sich auch schnell die Frage nach potenziellen Gefahren.

Aus diesem Grund ziehe ich persönlich bestimmte Grenzen und entscheide, was ich ermöglichen kann und will. Nehmen wir als Beispiel an, dass du mit dem Rücken zu einem großen Fenster sitzt. Anhand des dort sichtbaren Bereichs könnte man unter Umständen erahnen, wo sich dein Zuhause befindet. Das möchtest du aber natürlich nicht und schützt deine Privatsphäre. Doch ist es dann sinnvoll den Rollladen steuern zu lassen? Wohl kaum!

Genauso wenig eignen sich Geräte, wie zum Beispiel der Kühlschrank. Dem Zuschauer wird so kein Mehrwert bewusst und du wärst vermutlich ständig damit konfrontiert, die Steuerung zu beweisen.

Konzentriere dich bei den Steuerungsmöglichkeiten auf den sichtbaren oder hörbaren Bereich. Licht eignet sich hervorragend dazu, sofern du eine Kamera im Einsatz hast. Genauso kannst du Audio einspielen, das direkt in deinem Raum zu hören ist. Lass doch zum Beispiel die Namen von neuen Follower ansagen, so dass diese es selbst auch hören können?

Generell kann man also festhalten, dass Geräte im Bereich des Wahrnehmbaren sein müssen. Zu beachten ist dabei, dass innerhalb eines Streams nur ein Teilausschnitt wahrnehmbar ist. Bei weitem sehen und hören deine Zuschauer nicht so viel, wie du selbst live vor Ort.

Bitte keine smarten Futterautomaten

Nun könnte man als cleverer Streamer auf die Idee kommen, einen smarten Futterautomaten für das eigene Haustier aufzustellen, so dass die Zuschauer entsprechend kleine Leckereien ausgeben können. Lasst das bitte sein!

Die Idee klingt prinzipiell verlockend und hat sicherlich auch seinen ganz eigenen Charme, doch ich persönlich halte das für grundlegend falsch.

Futter ist auf der einen Seite wichtiger Bestandteil, der das Überleben sichert. Auf der anderen Seite sind kleine Leckereien zum Beispiel nützlich, wenn es um die Erziehung oder die Bindung zwischen Mensch und Tier geht. Ein Automat, der alle paar Minuten ein Leckerli ausspuckt und das Tier das aufnimmt, hat nichts mehr mit dieser Bindung zutun. Abgesehen davon halte ich es für falsch, die eigenen Haustiere derart zu kommerzialisieren. Ihr seid die Streamer, nicht euer Tier.

In meinen Augen hat es nichts mehr mit der persönlichen Bindung zutun, wenn wildfremde Leute Futter ausgeben, ohne dass sich der Streamer noch darum kümmern muss.

Und bitte schon gar keine Scherzgeräte, die das Tier auch noch ärgern. Absolutes No-Go!


Avatar-Foto

Lukas

Als Softwareentwickler und Projektmanager mit einem Master of Science in Wirtschaftsinformatik weiß ich genau, wie die Dinge in der IT zu funktionieren haben. In meinem Blog kombiniere ich seit mehr als 7 Jahren mein Wissen mit meiner Neugier im Bereich Smart Home. Transparenz und Praxisnähe stehen für mich dabei im Vordergrund. Mein Fokus liegt vor allem auf der Software ioBroker, da ich mein eigenes Smart Home damit betreibe. Meine Beiträge basieren somit nicht nur auf theoretischem Know-how, sondern auch auf praktischen Erfahrungen aus meinem vernetzten Zuhause. Mein persönliches Ziel ist es, dir Einblicke in das Smart Home zu geben, die dich wirklich voranbringen.

0 Kommentare

Schreibe einen Kommentar

Avatar-Platzhalter

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