NEWS
LG Smart TV - Kanal ändern
-
Hallo,ich beschäftige mich zwar erst seit 10 Tagen mit dem iobroker und blockly, dennoch habe ich nun schon alleine 10 Stunden dafür (erfolglos) aufgebracht ein bestimmtes Script zu erstellen.
Ich möchte mit Alexa meinen LG Fernseher auf ARD (Kanal 1) schalten und habe folgendes gemacht:
1.) Unter Objekte -> Javascript -> ein Objekt mit dem Namen ARD erzeugt. Dieses ist vom Typ ein
SWITCH.
2.) Dieses Objekt in der Cloud als Smartgerät hochgeladen, als Switch eingestellt und Alexa danach
suchen lassen. In der App habe ich nun den Schalter ARD (An/Aus)
3.) Mit blockly folgendes Script erstellt: s.o.
Nun sage ich: „Alexa, ARD anschalten“. In der Alexa-App springt der Schalter auf ein. Im iobroker tut sich zwar “irgendwas“, aber der Kanal ändert sich nicht.
Was mache ich falsch?
-
Du musst auf Deinen Datenpunkt triggern, sonst wird Dein Script nicht ausgeführt.
-
Hi, ist zwar kein blocky script, aber theoretisch eine Möglichkeit das ganze umzusetzen (in der Theorie, konnte leider nicht testen ob es funtkioniert, weil ich keine TV Sender an meinem LGTV hab).
In der Senderliste müssen die Namen eingetragen werden, in der Reihenfolge, wie sie eingespeichert sind. Da Alexa ARD als a. r. d. versteht, muss es 1:1 übernommen werden. Das scirpt prüft dann, ob die Schlagworte gefallen sind in der Alexa Summery. Ist das der Fall, prüft das Script, ob in der Summery auch der Sendername vorkam und sollte dann auf den richten Sender schalten. Die Liste kann man beliebig erweitern. Da Alexa Zahlen nur ausgeschrieben versteht, tippe ich drauf, dass sie RTL2 beispielweise als "r. t. l. zwei" verstehen wird. Kannst mir gerne schreiben, ob es läuft. Evtl hab ich das falsche State rausgesucht, aber wie gesagt, leider kann ichs nicht testen.
`var Senderliste = ["a. r. d.", "z. d. f.", "s. w. r.", "r. t. l."]; on({id: 'alexa2.0.History.summary', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("alexa2.0.History.summary").val.includes('fernseher') && getState("alexa2.0.History.summary").val.includes('schalt') && getState("alexa2.0.History.summary").val.includes('auf')) { for(i = 0; i < Senderliste.length; i++) { if (getState("alexa2.0.History.summary").val.includes(Senderliste[i])) { setState("lgtv.0.channel"/*Select Channel*/, (parseInt(i) + 1)); console.log('Benutzer sagt, schalte auf ' + Senderliste[i] + ' (' + (parseInt(i) + 1) + ')'); } } } });`[/i][/i]
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden