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?
-
Gibt es hier schon eine Lösung zu? Ich habe das gleiche Anliegen
-
Du musst auf Deinen Datenpunkt triggern, sonst wird Dein Script nicht ausgeführt.
-
Was meinst du damit er soll auf den Datenpunkt Triggern ….welchen Datenpunkt ? Channel Select ?
-
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]