NEWS
Adapter für Internetradios (Silvercrest, Grundig SONO, Aldi, Lidl etc.)
-
entfernt….
-
Hallo zusammen,
ja, nachdem ich die ersten Geh- (oder besser Krabbel-) Versuche in javascript/blockly gemeistert habe, bin ich tatsächlich ein kleines Stück vorangekommen.
Erfolgreich umgesetzt:
-
Session-ID anfordern
-
Radio einschalten
-
Radio ausschalten
Ich habe es in Blockly erstellt, der Code sieht wie folgt aus, die Blockly sind am Ende des Beitrags
! ````
var Radio_ON_OFF, Radio_Session_ID_RAW, result, Radio_Session_ID;
! // Variable um EIN und AUS zu testen
Radio_ON_OFF = false;
// Session-ID des Radios anfordern
try {
require("request")('http://192.168.178.49:80/fsapi/CREATE_SESSION?pin=1234', function (error, response, result) {
console.log(Radio_ON_OFF);
// Die Session_ID aus URL-Request parsen
Radio_Session_ID_RAW = result;
Radio_Session_ID = Radio_Session_ID_RAW.slice(((Radio_Session_ID_RAW.indexOf('<sessionid>') + 1) - 1), Radio_Session_ID_RAW.indexOf('</sessionid>') + 1 + 1);
console.log(result);
console.log(Radio_Session_ID_RAW);
console.log(Radio_Session_ID);
if (Radio_ON_OFF == true) {
// Radio einschalten
try {
require("request")((['http://192.168.178.49/fsapi/SET/netRemote.sys.power?pin=1234&',Radio_Session_ID,'=Ergebnis&value=1'].join(''))).on("error", function () {console.error(e);});
} catch (e) { console.error(e); }
console.log((['http://192.168.178.49/fsapi/SET/netRemote.sys.power?pin=1234&',Radio_Session_ID,'=Ergebnis&value=1'].join('')));
} else if (Radio_ON_OFF == false) {
// Radion ausschalten
try {
require("request")((['http://192.168.178.49/fsapi/SET/netRemote.sys.power?pin=1234&',Radio_Session_ID,'=Ergebnis&value=0'].join(''))).on("error", function () {console.error(e);});
} catch (e) { console.error(e); }
console.log((['http://192.168.178.49/fsapi/SET/netRemote.sys.power?pin=1234&',Radio_Session_ID,'=Ergebnis&value=0'].join('')));
}
}).on("error", function () {console.error(e);});
} catch (e) { console.error(e); }
console.log("request: " + 'http://192.168.178.49:80/fsapi/CREATE_SESSION?pin=1234');Ich habe das ganze auch noch (schnell) an GoogleHome "angebunden". Damit kann man also nahezu jedes beliebige Internet-Radio (Aldi, Lidl, Silvercrest.. you name it) mittels GoogleHome ein- und ausschalten. Der Code für Google-Home sieht wie folgt aus, das Blockly ist wieder am Ende des Beitrags. >! ```` var Input_IFTTT_GH_Test, Radio_ON_OFF, Radio_Session_ID_RAW, result, Radio_Session_ID; >! on({id: 'cloud.0.services.ifttt', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.log(getState("cloud.0.services.ifttt").val); Input_IFTTT_GH_Test = ('' + getState("cloud.0.services.ifttt").val).toLowerCase(); // Trigger sobald IFTTT-Kommando ankommt => Änderung console.log(Input_IFTTT_GH_Test); if (Input_IFTTT_GH_Test.indexOf('küchenradio') + 1 > 0) { // prüft ob im Kommando "Küchenradio" vorkommt if (Input_IFTTT_GH_Test.indexOf('an') + 1 > 0 || Input_IFTTT_GH_Test.indexOf('ein') + 1 > 0) { // dann prüfe, ob an oder ein vorkommt try { require("request")('http://192.168.178.49:80/fsapi/CREATE_SESSION?pin=1234', function (error, response, result) { console.log(Radio_ON_OFF); // Die Session_ID aus URL-Request parsen Radio_Session_ID_RAW = result; Radio_Session_ID = Radio_Session_ID_RAW.slice(((Radio_Session_ID_RAW.indexOf('<sessionid>') + 1) - 1), Radio_Session_ID_RAW.indexOf('</sessionid>') + 1 + 1); console.log(result); console.log(Radio_Session_ID_RAW); console.log(Radio_Session_ID); try { require("request")((['http://192.168.178.49/fsapi/SET/netRemote.sys.power?pin=1234&',Radio_Session_ID,'=Ergebnis&value=1'].join(''))).on("error", function () {console.error(e);}); } catch (e) { console.error(e); } console.log((['http://192.168.178.49/fsapi/SET/netRemote.sys.power?pin=1234&',Radio_Session_ID,'=Ergebnis&value=1'].join(''))); }).on("error", function () {console.error(e);}); } catch (e) { console.error(e); } console.log("request: " + 'http://192.168.178.49:80/fsapi/CREATE_SESSION?pin=1234'); } else if (Input_IFTTT_GH_Test.indexOf('aus') + 1 > 0 || Input_IFTTT_GH_Test.indexOf('ab') + 1 > 0) { // ansonsten prüfe, ob aus oder ab vorkommt try { require("request")('http://192.168.178.49:80/fsapi/CREATE_SESSION?pin=1234', function (error, response, result) { console.log(Radio_ON_OFF); // Die Session_ID aus URL-Request parsen Radio_Session_ID_RAW = result; Radio_Session_ID = Radio_Session_ID_RAW.slice(((Radio_Session_ID_RAW.indexOf('<sessionid>') + 1) - 1), Radio_Session_ID_RAW.indexOf('</sessionid>') + 1 + 1); console.log(result); console.log(Radio_Session_ID_RAW); console.log(Radio_Session_ID); try { require("request")((['http://192.168.178.49/fsapi/SET/netRemote.sys.power?pin=1234&',Radio_Session_ID,'=Ergebnis&value=0'].join(''))).on("error", function () {console.error(e);}); } catch (e) { console.error(e); } console.log((['http://192.168.178.49/fsapi/SET/netRemote.sys.power?pin=1234&',Radio_Session_ID,'=Ergebnis&value=0'].join(''))); }).on("error", function () {console.error(e);}); } catch (e) { console.error(e); } console.log("request: " + 'http://192.168.178.49:80/fsapi/CREATE_SESSION?pin=1234'); }
Spätestens jetzt bereue ich den Umstieg von FHEM zu ioBroker nicht mehr. In Perl hätte ich das niemals hinbekommen.
Dennoch - die Jungs im FHEM-Forum sind schon um einiges weiter und können Sender wechseln, Input wechseln, Lautstärke ändern, Radio-Logos einblenden usw. Mal sehen ob ich zumindest noch ein Stück weiter komme…
Kurz ein paar Worte zur "Umsetzung"
-
Zunächst muss eine Session-ID "http://192.168xxxx:80/fsapi/CREATE_SESSION?pin=1234" angefordert werden. Ob und wie oft sich diese ID ändert weiß ich noch nicht. Ich fordere einfach bei jedem Befehl eine an.
-
Die Session-ID parse ich dann aus der Antwort des URL-Requests. Das war tricky, da scheinbar der debug-log in der Script-Oberfläche mit Zeilenumbrüchen oder Tags in der URL-Antwort nicht zurecht kommt. Im Log sah ich immer nur "FS_OK 133441"; Als ich nach Zeichen suchte, spukte mir das Ergebnis immer unterschiedliche Werte aus…. Wie gesagt - ist aber nur eine Vermutung. In jedem Fall funktioniert das Parsen so
-
mittels einer Variable "Radio ON/OFF" teste ich die FOR-Bedingung
-
diese ist dann wahr => Küchenradio einschalten
-
Der URL-Request zum Einschalten ist "http://192.168.178.49/fsapi/SET/netRemo … is&value=1", welchen ich mir mittels der Text-Funktionen zusammenbaue
-
diese ist false => Küchenradio ausschalten
-
Der URL-Request zum Einschalten ist "http://192.168.178.49/fsapi/SET/netRemo … is&value=0"
3428_blockly_kuechenradio.jpg
3428_blockly_kuechenradio_googlehome.jpg
-
-
So, ich habe wieder ein wenig rumgebastelt:
-
ich musste den URL-Aufruf ändern. Ich hatte im Aufruf einen Fehler und das parsen der ID funktionierte noch nicht sauber. Problem war, die "Text"-Funktion den Teistring "<sessionid>" vor die ID stellte. console.log(Radio_Session_ID) zeigte aber den Teil "<sessionid>" nicht mit an. Nachdem ich dies bemerkte änderte ich die Parser-Funktion damit tatsächlich nur noch die ID ausgegeben wird
-
ich kann den Radio nun Einschalten, Ausschalten, Muten, Lautstärke ändern und gespielten Titel anzeigen. Letzteres sieht dann z.B. so aus````
javascript.0 script.js.test.Kuechenradio_TEST: Alan Walker & Noah Cyrus: All Falls Down
Anbei der Code als txt-Datei.</sessionid></sessionid> [3428_blockly.txt](/assets/uploads/files/3428_blockly.txt)
-
-
wieder ein paar nette Funktionen versucht:
-
Favoriten des Modes "Internetradio" auslesen und
-
Steuerung des Radios via GoogleHome
Letzteres ist ziemlich lustig, da ich somit das Küchenradio mit Sprachbefehlen steuern kann.
Z.B.
"Ok Google - schalte Küchenradio auf Weihnachtslieder" => schaltet auf "Weihnachtslieder Sender"
"Ok Google - schalte Küchenradio auf Klaviermusik" schaltet auf "Whispering Piano Solo - Sender"
"schalte" ist das generelle hotword für mein Applet in IFTTT. Damit reagiere ich in einem Blockly und verzweige dann in das jeweilige Wort.
Z.B. "Weihnachtslieder" => schaltet auf Favorit Nr. 2
Anbei die Blockly um die Favoriten auszulesen und die Steuerung via GoogleHome
3428_mode_readings.txt
3428_steuerung_googlehome.txt -
-
Hallo bin neu hier im iobroker. Gibt es schon mehr und weitere Einzelheiten zum Skript? Benutze zur Zeit eine andere smarthome Steuerung.
-
@Wasserwerk33 sagte in Adapter für Internetradios (Silvercrest, Grundig SONO, Aldi, Lidl etc.):
Hallo bin neu hier im iobroker. Gibt es schon mehr und weitere Einzelheiten zum Skript? Benutze zur Zeit eine andere smarthome Steuerung.
Ich habe ehrlich gesagt nichts mehr erweitert. Mir reicht was das Skript bisher macht. Aber da die REST-API ja sehr gut dokumentiert ist, kann man es nach belieben erweitern.
Von welcher anderen smarthome Steuerung kommst du?
-
@George_Best
versuche gerade deinen Blockly bei mir zu installieren.
Was ich noch nicht ganz verstehe sind die Trigger die ich zum Schalten benötige. Soweit ich verstanden habe reagiert dein Blockly auf deine Datenpunkte im ioBroker.
Welche Datenpunkte hast du den hierfür im ioBroker angelegt? -
@claus1993 sagte in Adapter für Internetradios (Silvercrest, Grundig SONO, Aldi, Lidl etc.):
@George_Best
versuche gerade deinen Blockly bei mir zu installieren.
Was ich noch nicht ganz verstehe sind die Trigger die ich zum Schalten benötige. Soweit ich verstanden habe reagiert dein Blockly auf deine Datenpunkte im ioBroker.
Welche Datenpunkte hast du den hierfür im ioBroker angelegt?Meinst du das Blockly mit dem ich den Radio via GoogleHome steuere? Der Trigger ist eine Änderung des IFTTT-Objekts.
-
Habe mir den Blockly vom 30. Dezember bei mir importiert und möchte den auf meine Bedürfnisse anpassen und in der VIS integrieren.
Da ich kein GoogleHome nutze habe ich diese Blöcke bereits deaktiviert und werde sie später ganz entfernen. Muss jetzt die passenden Schalter setzen und benötige hierzu die Datenpunkte im ioBroker.
-
@George_Best
Komme von Fhem. -
Ich habe dies seit längerem ohne Probleme laufen. Ich hab schon gesehen, dass dieses Topic schon etwas älter ist, aber ich hab da noch ca. 10 Lautsprecher, die nach und nach ihren Weg ins Smarthome finden sollen.
Hat wer schon weiter etwas entwickeln können, wie z.B. die Auswahl einzelner Radiosender oder Playlists?Hier wäre ja interessant, dass man hier das ganze variabel steuern kann. Das eigentliche Auslesen ist ja nicht das Problem.
Und ein Screenshot aus der Vis
-
Hallo zusammen
Gibt es denn schon weitere Fortschritte hier. Ich habe 2 Medion Boxen P61084 die ich gern über Alexa steuern würde.
An /Aus und Favoriten umschalten mit Alexa wäre toll . Das Auslesen der Favoriten mit dem Script ,hat schon mal funktioniert aber wie geht es mit Alexa weiter ?javascript.0 2020-06-06 16:26:55.483 info </fsapiResponse> javascript.0 2020-06-06 16:26:55.483 info </item> javascript.0 2020-06-06 16:26:55.483 info (3658) script.js.Alexa.Test_Radio: </c8_array></field> javascript.0 2020-06-06 16:26:55.483 info <field name="name"> javascript.0 2020-06-06 16:26:55.483 info <item key="9"> javascript.0 2020-06-06 16:26:55.483 info </item> javascript.0 2020-06-06 16:26:55.483 info (3658) script.js.Alexa.Test_Radio: </c8_array></field> javascript.0 2020-06-06 16:26:55.483 info <field name="name"> javascript.0 2020-06-06 16:26:55.483 info <item key="8"> javascript.0 2020-06-06 16:26:55.483 info </item> javascript.0 2020-06-06 16:26:55.483 info (3658) script.js.Alexa.Test_Radio: </c8_array></field> javascript.0 2020-06-06 16:26:55.483 info <field name="name"> javascript.0 2020-06-06 16:26:55.483 info <item key="7"> javascript.0 2020-06-06 16:26:55.483 info </item> javascript.0 2020-06-06 16:26:55.483 info (3658) script.js.Alexa.Test_Radio: </c8_array></field> javascript.0 2020-06-06 16:26:55.483 info <field name="name"> javascript.0 2020-06-06 16:26:55.483 info <item key="6"> javascript.0 2020-06-06 16:26:55.483 info </item> javascript.0 2020-06-06 16:26:55.483 info (3658) script.js.Alexa.Test_Radio: </c8_array></field> javascript.0 2020-06-06 16:26:55.482 info <field name="name"> javascript.0 2020-06-06 16:26:55.482 info <item key="5"> javascript.0 2020-06-06 16:26:55.482 info </item> javascript.0 2020-06-06 16:26:55.482 info (3658) script.js.Alexa.Test_Radio: </c8_array></field> javascript.0 2020-06-06 16:26:55.482 info <field name="name"> javascript.0 2020-06-06 16:26:55.482 info <item key="4"> javascript.0 2020-06-06 16:26:55.482 info </item> javascript.0 2020-06-06 16:26:55.482 info (3658) script.js.Alexa.Test_Radio: hr4</c8_array></field> javascript.0 2020-06-06 16:26:55.482 info <field name="name"> javascript.0 2020-06-06 16:26:55.482 info <item key="3"> javascript.0 2020-06-06 16:26:55.482 info </item> javascript.0 2020-06-06 16:26:55.482 info (3658) script.js.Alexa.Test_Radio: hr3</c8_array></field> javascript.0 2020-06-06 16:26:55.482 info <field name="name"> javascript.0 2020-06-06 16:26:55.482 info <item key="2"> javascript.0 2020-06-06 16:26:55.482 info </item> javascript.0 2020-06-06 16:26:55.482 info (3658) script.js.Alexa.Test_Radio: harmony.fm</c8_array></field> javascript.0 2020-06-06 16:26:55.482 info <field name="name"> javascript.0 2020-06-06 16:26:55.482 info <item key="1"> javascript.0 2020-06-06 16:26:55.482 info </item> javascript.0 2020-06-06 16:26:55.482 info (3658) script.js.Alexa.Test_Radio: NDR 1 Niedersachsen Hannover</c8_array></field> javascript.0 2020-06-06 16:26:55.482 info <field name="name"> javascript.0 2020-06-06 16:26:55.482 info <item key="0"> javascript.0 2020-06-06 16:26:55.482 info <status>FS_OK</status> javascript.0 2020-06-06 16:26:55.482 info (3658) script.js.Alexa.Test_Radio: <fsapiResponse> javascript.0 2020-06-06 16:26:55.481 info (3658) script.js.Alexa.Test_Radio: ['<fsapiResponse>\n<status>FS_OK</status>\n<item key=\'0\'>\n<field name=\'name\'>','NDR 1 Niedersachsen Hannover</c8_array></field>\n\n</item>\n<item key=\'1\'>\n< javascript.0 2020-06-06 16:26:55.481 info (3658) script.js.Alexa.Test_Radio: 0 javascript.0 2020-06-06 16:26:55.481 info (3658) script.js.Alexa.Test_Radio: 830 javascript.0 2020-06-06 16:26:55.481 info </fsapiResponse> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="9"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="8"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="7"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="6"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="5"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="4"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array>hr4</c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="3"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array>hr3</c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="2"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array>harmony.fm</c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="1"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array>NDR 1 Niedersachsen Hannover</c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="0"> javascript.0 2020-06-06 16:26:55.481 info <status>FS_OK</status> javascript.0 2020-06-06 16:26:55.481 info (3658) script.js.Alexa.Test_Radio: <fsapiResponse> javascript.0 2020-06-06 16:26:55.480 info </fsapiResponse> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="9"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="8"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="7"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="6"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="5"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="4"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array>hr4</c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="3"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array>hr3</c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="2"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array>harmony.fm</c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="1"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array>NDR 1 Niedersachsen Hannover</c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="0"> javascript.0 2020-06-06 16:26:55.480 info <status>FS_OK</status> javascript.0 2020-06-06 16:26:55.480 info (3658) script.js.Alexa.Test_Radio: <fsapiResponse> javascript.0 2020-06-06 16:26:55.436 info </fsapiResponse> javascript.0 2020-06-06 16:26:55.436 info <status>FS_OK</status> javascript.0 2020-06-06 16:26:55.436 info (3658) script.js.Alexa.Test_Radio: <fsapiResponse> javascript.0 2020-06-06 16:26:55.367 info (3658) script.js.Alexa.Test_Radio: 1564097304 javascript.0 2020-06-06 16:26:55.366 info </fsapiResponse> javascript.0 2020-06-06 16:26:55.366 info <sessionId>1564097304</sessionId> javascript.0 2020-06-06 16:26:55.366 info <status>FS_OK</status> javascript.0 2020-06-06 16:26:55.366 info (3658) script.js.Alexa.Test_Radio: <fsapiResponse> javascript.0 2020-06-06 16:26:55.366 info </fsapiResponse> javascript.0 2020-06-06 16:26:55.366 info <sessionId>1564097304</sessionId> javascript.0 2020-06-06 16:26:55.366 info <status>FS_OK</status> javascript.0 2020-06-06 16:26:55.366 info (3658) script.js.Alexa.Test_Radio: <fsapiResponse> javascript.0 2020-06-06 16:26:55.326 info (3658) script.js.Alexa.Test_Radio: registered 0 subscriptions and 0 schedules javascript.0 2020-06-06 16:26:55.326 info (3658) script.js.Alexa.Test_Radio: request: http://192.168.178.21:80/fsapi/CREATE_SESSION?pin=1234 javascript.0 2020-06-06 16:26:55.316 info (3658) Start javascript script.js.Alexa.Test_Radio
Volker
-
Wäre auch an einem Adapter interessiert. Leider funktionier bei uns die Lidl & Undok App nicht mehr und ich kann die Geräte nicht mehr übers Handy steuern. Nutze zurzeit FSRadio-Remote am PC und meine Liebste findet das gar nicht gut
Falls jemand einen Adapter erstellen würde stelle ich mch gerne zum testen zur Verfügung.
-
@George_Best
Hallo
Gibt es die Möglichkeit über die IP Adresse vom Radio einen Favorit direkt anzusprechen?
Könntest Du mir bitte diese Adresse mitteilen, mit Deinen IP Adressen das Radio ein und ausschalten geht schon mal, jetzt wäre es noch schön die Favoriten direkt auswählen zu können, geht das ?
Volker -
@Knusterus sagte in Adapter für Internetradios (Silvercrest, Grundig SONO, Aldi, Lidl etc.):
Hallo zusammen
Gibt es denn schon weitere Fortschritte hier. Ich habe 2 Medion Boxen P61084 die ich gern über Alexa steuern würde.
An /Aus und Favoriten umschalten mit Alexa wäre toll . Das Auslesen der Favoriten mit dem Script ,hat schon mal funktioniert aber wie geht es mit Alexa weiter ?javascript.0 2020-06-06 16:26:55.483 info </fsapiResponse> javascript.0 2020-06-06 16:26:55.483 info </item> javascript.0 2020-06-06 16:26:55.483 info (3658) script.js.Alexa.Test_Radio: </c8_array></field> javascript.0 2020-06-06 16:26:55.483 info <field name="name"> javascript.0 2020-06-06 16:26:55.483 info <item key="9"> javascript.0 2020-06-06 16:26:55.483 info </item> javascript.0 2020-06-06 16:26:55.483 info (3658) script.js.Alexa.Test_Radio: </c8_array></field> javascript.0 2020-06-06 16:26:55.483 info <field name="name"> javascript.0 2020-06-06 16:26:55.483 info <item key="8"> javascript.0 2020-06-06 16:26:55.483 info </item> javascript.0 2020-06-06 16:26:55.483 info (3658) script.js.Alexa.Test_Radio: </c8_array></field> javascript.0 2020-06-06 16:26:55.483 info <field name="name"> javascript.0 2020-06-06 16:26:55.483 info <item key="7"> javascript.0 2020-06-06 16:26:55.483 info </item> javascript.0 2020-06-06 16:26:55.483 info (3658) script.js.Alexa.Test_Radio: </c8_array></field> javascript.0 2020-06-06 16:26:55.483 info <field name="name"> javascript.0 2020-06-06 16:26:55.483 info <item key="6"> javascript.0 2020-06-06 16:26:55.483 info </item> javascript.0 2020-06-06 16:26:55.483 info (3658) script.js.Alexa.Test_Radio: </c8_array></field> javascript.0 2020-06-06 16:26:55.482 info <field name="name"> javascript.0 2020-06-06 16:26:55.482 info <item key="5"> javascript.0 2020-06-06 16:26:55.482 info </item> javascript.0 2020-06-06 16:26:55.482 info (3658) script.js.Alexa.Test_Radio: </c8_array></field> javascript.0 2020-06-06 16:26:55.482 info <field name="name"> javascript.0 2020-06-06 16:26:55.482 info <item key="4"> javascript.0 2020-06-06 16:26:55.482 info </item> javascript.0 2020-06-06 16:26:55.482 info (3658) script.js.Alexa.Test_Radio: hr4</c8_array></field> javascript.0 2020-06-06 16:26:55.482 info <field name="name"> javascript.0 2020-06-06 16:26:55.482 info <item key="3"> javascript.0 2020-06-06 16:26:55.482 info </item> javascript.0 2020-06-06 16:26:55.482 info (3658) script.js.Alexa.Test_Radio: hr3</c8_array></field> javascript.0 2020-06-06 16:26:55.482 info <field name="name"> javascript.0 2020-06-06 16:26:55.482 info <item key="2"> javascript.0 2020-06-06 16:26:55.482 info </item> javascript.0 2020-06-06 16:26:55.482 info (3658) script.js.Alexa.Test_Radio: harmony.fm</c8_array></field> javascript.0 2020-06-06 16:26:55.482 info <field name="name"> javascript.0 2020-06-06 16:26:55.482 info <item key="1"> javascript.0 2020-06-06 16:26:55.482 info </item> javascript.0 2020-06-06 16:26:55.482 info (3658) script.js.Alexa.Test_Radio: NDR 1 Niedersachsen Hannover</c8_array></field> javascript.0 2020-06-06 16:26:55.482 info <field name="name"> javascript.0 2020-06-06 16:26:55.482 info <item key="0"> javascript.0 2020-06-06 16:26:55.482 info <status>FS_OK</status> javascript.0 2020-06-06 16:26:55.482 info (3658) script.js.Alexa.Test_Radio: <fsapiResponse> javascript.0 2020-06-06 16:26:55.481 info (3658) script.js.Alexa.Test_Radio: ['<fsapiResponse>\n<status>FS_OK</status>\n<item key=\'0\'>\n<field name=\'name\'>','NDR 1 Niedersachsen Hannover</c8_array></field>\n\n</item>\n<item key=\'1\'>\n< javascript.0 2020-06-06 16:26:55.481 info (3658) script.js.Alexa.Test_Radio: 0 javascript.0 2020-06-06 16:26:55.481 info (3658) script.js.Alexa.Test_Radio: 830 javascript.0 2020-06-06 16:26:55.481 info </fsapiResponse> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="9"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="8"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="7"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="6"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="5"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="4"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array>hr4</c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="3"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array>hr3</c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="2"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array>harmony.fm</c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="1"> javascript.0 2020-06-06 16:26:55.481 info </item> javascript.0 2020-06-06 16:26:55.481 info <field name="name"><c8_array>NDR 1 Niedersachsen Hannover</c8_array></field> javascript.0 2020-06-06 16:26:55.481 info <item key="0"> javascript.0 2020-06-06 16:26:55.481 info <status>FS_OK</status> javascript.0 2020-06-06 16:26:55.481 info (3658) script.js.Alexa.Test_Radio: <fsapiResponse> javascript.0 2020-06-06 16:26:55.480 info </fsapiResponse> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="9"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="8"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="7"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="6"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="5"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array></c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="4"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array>hr4</c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="3"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array>hr3</c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="2"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array>harmony.fm</c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="1"> javascript.0 2020-06-06 16:26:55.480 info </item> javascript.0 2020-06-06 16:26:55.480 info <field name="name"><c8_array>NDR 1 Niedersachsen Hannover</c8_array></field> javascript.0 2020-06-06 16:26:55.480 info <item key="0"> javascript.0 2020-06-06 16:26:55.480 info <status>FS_OK</status> javascript.0 2020-06-06 16:26:55.480 info (3658) script.js.Alexa.Test_Radio: <fsapiResponse> javascript.0 2020-06-06 16:26:55.436 info </fsapiResponse> javascript.0 2020-06-06 16:26:55.436 info <status>FS_OK</status> javascript.0 2020-06-06 16:26:55.436 info (3658) script.js.Alexa.Test_Radio: <fsapiResponse> javascript.0 2020-06-06 16:26:55.367 info (3658) script.js.Alexa.Test_Radio: 1564097304 javascript.0 2020-06-06 16:26:55.366 info </fsapiResponse> javascript.0 2020-06-06 16:26:55.366 info <sessionId>1564097304</sessionId> javascript.0 2020-06-06 16:26:55.366 info <status>FS_OK</status> javascript.0 2020-06-06 16:26:55.366 info (3658) script.js.Alexa.Test_Radio: <fsapiResponse> javascript.0 2020-06-06 16:26:55.366 info </fsapiResponse> javascript.0 2020-06-06 16:26:55.366 info <sessionId>1564097304</sessionId> javascript.0 2020-06-06 16:26:55.366 info <status>FS_OK</status> javascript.0 2020-06-06 16:26:55.366 info (3658) script.js.Alexa.Test_Radio: <fsapiResponse> javascript.0 2020-06-06 16:26:55.326 info (3658) script.js.Alexa.Test_Radio: registered 0 subscriptions and 0 schedules javascript.0 2020-06-06 16:26:55.326 info (3658) script.js.Alexa.Test_Radio: request: http://192.168.178.21:80/fsapi/CREATE_SESSION?pin=1234 javascript.0 2020-06-06 16:26:55.316 info (3658) Start javascript script.js.Alexa.Test_Radio
Volker
Habe keine Alexa.
Mit Google Home hole ich mir einfach den erkannten Sprachbefehl per IFTTT und Webook als Datenpunkt rein und steuere damit - unter anderem - das Küchenradio.
Kann Alexa IFTTT und Webooks? -
@George_Best
Ich denke schon ,habe es aber bis jetzt noch nicht verwendet. Mache alles über NodeRed und den Amazon Echo Hub.
Dafür wäre es schön wenn man jeden Favoriten vom Radio (sind ja nur 4 ) direkt über die IP Adresse auswählen könnte.
Geht das ?
Volker -
@Knusterus sagte in Adapter für Internetradios (Silvercrest, Grundig SONO, Aldi, Lidl etc.):
@George_Best
Hallo
Gibt es die Möglichkeit über die IP Adresse vom Radio einen Favorit direkt anzusprechen?
Könntest Du mir bitte diese Adresse mitteilen, mit Deinen IP Adressen das Radio ein und ausschalten geht schon mal, jetzt wäre es noch schön die Favoriten direkt auswählen zu können, geht das ?
VolkerKlar - das ist hier eigentlich schön dokumentiert: https://github.com/flammy/fsapi/blob/master/FSAPI.md#netremotenavactionselectpreset
Die IP-Adresse meines Radios? Das ist die 192.168.178.49 (was auch immer du damit willst...)
-
@George_Best said in Adapter für Internetradios (Silvercrest, Grundig SONO, Aldi, Lidl etc.):
@Knusterus sagte in Adapter für Internetradios (Silvercrest, Grundig SONO, Aldi, Lidl etc.):
@George_Best
Hallo
Gibt es die Möglichkeit über die IP Adresse vom Radio einen Favorit direkt anzusprechen?
Könntest Du mir bitte diese Adresse mitteilen, mit Deinen IP Adressen das Radio ein und ausschalten geht schon mal, jetzt wäre es noch schön die Favoriten direkt auswählen zu können, geht das ?
VolkerKlar - das ist hier eigentlich schön dokumentiert: https://github.com/flammy/fsapi/blob/master/FSAPI.md#netremotenavactionselectpreset
Prima danke ,das funktioniert, da kann ich mir mit Blocky ein passendes Script basteln.
Vielen Dank für deine Hilfe.
Volker -
@George_Best
Danke für deine Hilfe bei Alexa funktioniert das etwas einfacher. Im Alexa Adapter kann man unter summary
den zuletzt gesprochen Alexa Befehl auslesen und im BlockyScript zum steuern der IP Adresse nutzen.
Funktioniert prima.
Auch das Umschalten der Favoriten ,geht damit prima. Es dauert nur eine Weile bis man eindeutige Befehle für Alexa gefunden hat...
Nach so einer Lösung habe ich schon lange gesucht.@claus1993
Was hast Du denn für Boxen? Kannnst Du sie auch über die IP Adresse ansprechen, vielleicht kannst Du von mir was nutzen.
Oder versuch mal die App von Medion "Lifestream ll"
Volker -
Hallo, kann mir bitte jemand erklären, warum ich mein das Skript über Alexa starten kann aber das Radio nicht angeht? Füge ich bei Objekt ID wiederum eine Steckdose ein und schalte diese, dann geht das Radio an.
!
Screenshot_20200702_022243_com.android.chrome.jpg