Max2Play Home › Forums › General Questions on Hardware and Max2Play Versions › Squeezebox fernsteuern mit ESP8266 über API
- This topic has 0 replies, 1 voice, and was last updated 4 years, 9 months ago by mkaleu.
-
29. März 2020 at 16:43 #48317
Hallo,
eigentlich wollte ich im Forum fragen wie man unbeliebte oder schlechte Songs mit einfachen Mitteln entfernen kann. Dann habe ich mich selbst dran gemacht und bin zu einem funktionierenden Ergebnis gekommen. Wer also so etwas sucht, kann es ja sicher verwenden.Ein ESP8266 mit zwei AA Zellen und einem Button der den ESP aus dem Schlaf holt und einen SendToHttp Befehl abschickt um auf meinem Webserver ein PHP Script zu starten, mit dem mittels curl auf den Logitch Server der Status abgefragt wird. Im Ergebnis wird die Id des aktuellen Songs, Titel, Interpret und Player MAC herausgefiltert. Mit der ID wird der Song aus der Playliste entfernt. Aus Interpret und Titel wird der Songname gebildet und in einer Datei gespeichert. (man könnte auch den Song gleich in ein anderes Veriechnis verschieben)
<?php
Echo „Squeezeserver aktuelle Datei aus Playliste entfernen.“;
echo „<br />“;
$ch = curl_init();
$url = „http://192.168.0.114:9000/status.html?“;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
if(strpos($response,“p1=delete&p2=“)!==false) {
$pos = strpos($response,“p1=delete&p2=“);
$pos = $pos + 17;
$p2 = substr($response,$pos,3);$titel = strstr($response,’target=“browser“>‘);
$ende = strpos($titel,“„);
$ende = $ende – 17;
$titel = substr($titel,17,$ende);$name = strstr($response,’display:inline“>‘);
$ende = strpos($name,“</span>“);
$ende = $ende – 16;
$name = substr($name,16,$ende);
$titel = $name.“ – „.$titel.“.mp3″;
echo $titel;
echo „<br />“;
$player = strstr($response,’selected value=“‚);
$player = substr($player,16,17);
$player = str_replace(„:“,“%3A“,$player);
echo $player;
echo „<br />“;
$filestatus = file_put_contents(„schlechte mp3.txt“,$titel,FILE_APPEND);
$url = „http://192.168.0.114:9000/status.html?p0=playlist&p1=delete&p2=“.$p2.“&player=“.$player.“&start=0″;
echo $url;
echo „<br />“;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
//echo $response;
}
?> -
You must be logged in to reply to this topic.