NEWS
Alexa spielt den falschen Sender
-
Hallo alle
Kann mir jemand vom Schlauch helfen?
Ich habe ein IOBroker-Script geschrieben das, wenn ich in' Bad komme (also das Licht einschalte), SWR3 auf der Alexa spielen soll.
Das funktioniert im Prinzip auch, aber leider spielt Alexa immer "SWR3 Rock", obwohl ich schon zigmal die richtige TuneIn ID überprüft habe.
Das Script sieht so aus:on(idBad_licht, function(obj){ if (obj.newState.val === true) { log ("Radio im Bad an"); setState('alexa2.0.Echo-Devices.G090LF1174620PFT.Music-Provider.TuneIn', 'Spiele Radiosender SWR3' ); setState('alexa2.0.Echo-Devices.G090LF1174620PFT.Player.volume', 40 ); } else { log ("Radio im Bad aus"); setState("alexa2.0.Echo-Devices.G090LF1174620PFT.Commands.deviceStop", true); } });
Die Einstellungen im Alexa2 Addon sind so:
Ich habe also unter TuneIn-Station die Id s24896 eingegeben; aber in den anderen Feldern (die nicht editierbar sind) steht die von SWR Rock. Ich verstehe die einzelne Felder eh nicht. Da ist doch vieles redundant. Wo muss denn jetzt die Id wirklich hin?
Die Id müsste doch auch passen:
Gruss Ralf
Mod-Edit: Thema ins passende Forum verschoben!
-
Wenn du Alexa sagst spiele Swr3 , guck dir dann die Felder an , wenn sie es spielt und füge die Daten in dein Script ein.
-
Hi
Hab's mal im Wohnzimmer probiert:
Da passiert genau das
Wie man sieht ist die Tunein Station die Gleiche wie die, die ich für's Bad vorgegeben habe.
Unnd in "radioStationId" steht die gleiche ID und in "currentArtist" auch richtigerweise "SWR3".In der Alexa vom Bad steht hier aber die ID von SWR3 Rock und auch als currentArtitst "SWR3 Rock"
Nur: Diese Felder kann ich nicht editieren. Wo kommen die her? Bzw. wie kann ich die änderm?
Was ist der Unterschied zwischen "radioStationId" und "Tunein Station"?
Liegt es an der "falschen" radioStationId, dass ich SWR3 Rock statt SWR3 höre?Gruss Ralf
-
Ich habe jetzt den Code wie vorgeschlage geändert und die Id vorgegeben. Nun geht es.
Aber eigentlich wollte ich das nicht machen. Ich dachte es wäre flexibler, wenn ich die ID direkt unter den Objekteigenschften einstellen könnte:on(idBad_licht, function(obj){ if (obj.newState.val === true) { log ("Radio im Bad an"); //setState('alexa2.0.Echo-Devices.G090LF1174620PFT.Music-Provider.TuneIn', 'Spiele radiosender SWR3' ); setState('alexa2.0.Echo-Devices.G090LF1174620PFT.Player.TuneIn-Station', 's24896' ); setState('alexa2.0.Echo-Devices.G090LF1174620PFT.Player.radioStationId', 's24896' ); setState('alexa2.0.Echo-Devices.G090LF1174620PFT.Player.volume', 30 ); } else { log ("Radio im Bad aus"); setState("alexa2.0.Echo-Devices.G090LF1174620PFT.Commands.deviceStop", true); } });
Gruss Ralf
-
@derrapf eines der nachfolgenden sollte funktionieren. Bin mir nicht ganz sicher ob das mit direkt folgenden bzw. Zahlen direkt klapp. Habe ich ähnlich gemacht (1Live) kann ich nur gerade leider nicht nachschauen. Werde ich ansonsten nachher noch einmal nachschauen.
setState('alexa2.0.Echo-Devices.G090LF1174620PFT.Music-Provider.TuneIn', 'SWR3'); setState('alexa2.0.Echo-Devices.G090LF1174620PFT.Music-Provider.TuneIn', 'SWR 3'); setState('alexa2.0.Echo-Devices.G090LF1174620PFT.Music-Provider.TuneIn', 'SWR drei');
J.A.R.V.I.S.
-
Weiss hier vielleicht jemand, wie ich ermitteln kann ob die TuneIn-Wiedergabe gestoppt wurde?
Ich schalte mit einem eigenen DP via Yahka Alexa ein... und will den Status nun auch nimmer richtig haben, da ich das Radio mit Knopf einschalte und mit Stimme aus.
Ich habe festgestellt, dass der Timer für Medienwiedergabe stoppt, aber leider nicht auf "0" geht.
Ideen?
-
@oberfragger den DP den du suchst, ist Folgender: alexa2.0.Echo-Devices.<DEVICE>.Player.controlPlay
-
@J-A-R-V-I-S said in Alexa spielt den falschen Sender:
@oberfragger den DP den du suchst, ist Folgender: alexa2.0.Echo-Devices.<DEVICE>.Player.controlPlay
Jupp. Danke. Ungefähr 1ne Minute nach meinem Post entdeckt, dass current.sate auch geht. War ungünstig in meiner Anzeige auf dem Rechner - lag genau im Umbruch.
Für alle die es interessiert oder es brauchen können. Mit dem Codeschnipsel kann man den eigenen DP triggern. Also entweder STimme oder Knopfdruck und entsprechende Aktualisierung bei Veränderung.
on({id: '0_userdata.0.Delta_Radio_Echo_weiss', change: "any"}, function(obj) { if ((obj.state ? obj.state.from : "") != 'system.adapter.javascript.0'){ if(obj.state.val) { setState('alexa2.0.Echo-Devices.G090U61091362EU5.Player.TuneIn-Station', 's24973'); } else { setState('alexa2.0.Echo-Devices.G090U61091362EU5.Player.controlPause', true); } } }) on({id: 'alexa2.0.Echo-Devices.G090U61091362EU5.Player.currentState', change: "any"}, function (obj) { setState('0_userdata.0.Delta_Radio_Echo_weiss', obj.state.val); } );
-
@J-A-R-V-I-S sagte in Alexa spielt den falschen Sender:
@derrapf eines der nachfolgenden sollte funktionieren. Bin mir nicht ganz sicher ob das mit direkt folgenden bzw. Zahlen direkt klapp. Habe ich ähnlich gemacht (1Live) kann ich nur gerade leider nicht nachschauen. Werde ich ansonsten nachher noch einmal nachschauen.
Hallo Jarvis (geiler Alias)
Danke für ie Info. Das ist interessant. D.h. ich muss die ID gar nicht rmttel? Es reicht wenn ich den Sendername im Klartext eingebe?
Das probiere ich mal bei Gelegenheit aus
Danke.Ich hab nur immer noch nicht den Unterschied zwischen den Datepunkten
Music-Provider.TuneIn,Player.TuneIn-Station',Player.radioStationId verstanden. Wann wird denn nun welcher wie verwendet?Gruss Ralf