Repository navigation
Feedback zur Web-Fernbedienung (:8888): HDMI-Eingang ST300, Lautstärke-Bedienung, SSH-Hinweis und weitere Ideen! #385
Replies: 4 comments 5 replies
|
Hallo Jens @JRpersonal Nachtrag — Ordner-Presets mit Unterordnern, Favoriten + Album-Upload: Ich habe testweise den ganzen Musik-Stick (Wurzelordner mit vielen Album-Unterordnern) Vorschläge dazu:
Edit: Zum Album-Upload-Wunsch (Punkt 4): funktionierende Referenz-Implementierung Wichtig vorweg: Es braucht dafür keinen zusätzlichen Server — die Logik würde Ich habe genau diesen Upload in einem kleinen Python-Tool bereits umgesetzt 1. Login ( 2. Upload ( import hashlib, json, urllib.request, urllib.parse
FRITZ = "192.168.x.x"
NAS_LOGIN = f"http://{FRITZ}/nas/api/login.lua"
NAS_UPLOAD = f"http://{FRITZ}/nas/cgi-bin/nasupload_notimeout"
BASE_DIR = "/Musik_Stick"
def _post_form(url, fields):
body = urllib.parse.urlencode(fields).encode()
req = urllib.request.Request(url, data=body,
headers={"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"})
return json.loads(urllib.request.urlopen(req, timeout=15).read())
def fritz_login(user, password):
"""FRITZ!NAS-Login -> SID (PBKDF2; MD5-Fallback fuer altes FritzOS)."""
ch = _post_form(NAS_LOGIN, {"sid": ""})["session"]["challenge"]
if ch.startswith("2$"):
_, i1, s1, i2, s2 = ch.split("$")
h1 = hashlib.pbkdf2_hmac("sha256", password.encode(), bytes.fromhex(s1), int(i1))
h2 = hashlib.pbkdf2_hmac("sha256", h1, bytes.fromhex(s2), int(i2))
response = s2 + "$" + h2.hex()
else: # Fallback: altes Challenge-Response (MD5, UTF-16-LE)
response = ch + "-" + hashlib.md5((ch + "-" + password).encode("utf-16-le")).hexdigest()
sid = _post_form(NAS_LOGIN, {"sid": "", "username": user, "response": response})["session"]["sid"]
if not sid or sid == "0000000000000000":
raise Exception("Login fehlgeschlagen")
return sid
def nas_upload(sid, album, filename, data: bytes):
"""Datei nach BASE_DIR[/album] hochladen; Album-Ordner entsteht automatisch."""
fname = (album.strip("/") + "/" + filename) if album else filename
b = "----Boundary7MA4YWxkTrZu0gW"; bb = b.encode()
def field(name, value):
return (b"--" + bb + b'\r\nContent-Disposition: form-data; name="' +
name.encode() + b'"\r\n\r\n' + str(value).encode() + b"\r\n")
body = field("sid", sid) + field("mtime", "0") + field("dir", BASE_DIR) + field("ResultScript", "")
body += (b"--" + bb + b'\r\nContent-Disposition: form-data; name="UploadFile"; filename="' +
fname.encode() + b'"\r\nContent-Type: application/octet-stream\r\n\r\n' +
data + b"\r\n--" + bb + b"--\r\n")
req = urllib.request.Request(NAS_UPLOAD, data=body,
headers={"Content-Type": "multipart/form-data; boundary=" + b})
res = json.loads(urllib.request.urlopen(req, timeout=180).read())
if str(res.get("ResultCode")) != "0":
raise Exception("Upload-Fehler: %s" % res)
return resHinweise aus der Praxis: Voraussetzungen auf der FRITZ!Box (einmalig, ~2 Minuten):
Zur Umsetzung:
Damit wäre der Upload für die häufigste Konstellation (Musik am FRITZ!Box-USB-Stick) |
|
Hallo, klasse Vorschläge, danke, besonders die fertige FRITZ!NAS-Upload-Referenz. Ich habe die Punkte in den Feature-Backlog #390 aufgenommen: ST300 TV/HDMI-Button, Ordner-Presets mit Unterordner-Auswahl, lokale Favoriten/Playlists, Lautstärke per Mausrad und ±-Tasten, Album-Upload über die Box (Agent als Proxy) sowie deine Amazon-Music-Stimme. Der SSH-Hinweis ist mit PR #391 schon erledigt (differenziert und wegklickbar). Ich priorisiere das in #390. Der Album-Upload ist dank deiner Vorlage besonders greifbar. Auf dein Angebot zum Gegentest an der 7590 komme ich gern zurück. In English: great suggestions, added to the #390 backlog: ST300 TV/HDMI button, folder presets with subfolder picker, local favourites/playlists, volume wheel and step buttons, in-box album upload (agent as proxy), and your Amazon Music vote. Thanks especially for the working FRITZ!NAS upload reference, that makes the upload feature very concrete. The SSH note is already handled in PR #391. |
|
Hallo Jens @JRpersonal Nach dem Update auf v0.9.9 — erstmal danke, dass Lautstärke-Tasten/Mausrad und die 1. Lautsprecher-Symbol als Mute-Taste (App): Das 🔊-Symbol neben dem 2. Die Lautsprecher-Webseite ( 3. Frage zu „Lautsprecher einrichten → USB-Stick": Dort taucht der USB-Stick Ergänzung ST20:Das abspielen vom Musik über den USB (A) Anschluss an der ST20 USB Stick mit exFAT formatiert funktioniert nicht Wir haben es gerade auf der ST20 (USB-A hinten) live durchgespielt — die Box kann
Der STR-Agent bräuchte also vermutlich nur Ergänzung ST300:Zur Vollständigkeit haben wir das Gleiche an der ST300 probiert (die hat nur den
Fazit für das USB-Musik-Feature: realistisch nur für die Modelle mit echtem meierchen006 |
|
Wow, danke fuer das ausfuehrliche Feedback und vor allem die durchgetestete USB-Analyse!
Klasse Vorarbeit, das spart mir viel Zeit. Melde mich, wenn es dazu was zu testen gibt! |

Uh oh!
There was an error while loading. Please reload this page.
Erstmal danke für v0.9.6 und die schnellen Fixes! Beim täglichen Nutzen der
Web-Fernbedienung (Port 8888) sind mir ein paar Dinge aufgefallen — plus ein Herzenswunsch (v0.9.4, ST20 + ST300):
Ich bin noch auf v0.94! Wegen den Problem mit den Versionen >v0.94
1. SoundTouch 300: Eingang „HDMI/TV" fehlt
Auf der Webseite der ST300 gibt es unter „Eingang" nur Bluetooth und AUX.
Die ST300 ist aber eine Soundbar — ihr Haupteingang ist HDMI/TV (die Box zeigt
ihn als Quelle „PRODUCT", wenn der Fernseher läuft). Ein dritter Button
„TV/HDMI" wäre super, dann kann man von Musik wieder zurück zum TV-Ton wechseln,
ohne zur Bose-Fernbedienung greifen zu müssen.
2. Lautstärke: Mausrad + Plus/Minus-Tasten
Den Lautstärke-Schieberegler gezielt auf einen Wert zu ziehen ist fummelig —
besonders am Smartphone/Tablet. Zwei Wünsche:
schrittweises, präzises Einstellen
3. SSH-Empfehlung dauerhaft ausblendbar machen
Die Empfehlung „Der SSH-Zugang zu diesem Lautsprecher ist offen …" erscheint
bei jedem App-Start erneut. Wer SSH bewusst offen lässt (Diagnose/Backups,
remote_services), sieht den Banner dauerhaft. Eine Checkbox„Nicht mehr anzeigen (ich weiß, was ich tue)" pro Lautsprecher wäre klasse.
(Ein Neustart schließt SSH bei gesetztem
remote_servicesübrigens nicht —der Hinweis „Starte den Lautsprecher einmal neu" trifft dann nicht zu.)
4. Rollback: auf eine ältere Version zurück können
Wie in #381 schon angeregt: Wenn eine neue Version Probleme macht (so wie bei
mir v0.9.5 auf der ST20), wäre es sehr hilfreich, in der Desktop-App gezielt
eine ältere Version auswählen und installieren zu können — z. B. ein Dropdown
mit den letzten 2–3 Releases oder ein „Zurück zur vorherigen Version"-Knopf.
Dann müsste man sich im Problemfall nicht per SSH behelfen.
5. Größter Wunsch: Amazon Music wieder auf der Box
Auf eurer Roadmap steht „TIDAL und Amazon Music Connect" unter „Vielleicht
später" — dafür möchte ich ausdrücklich eine Stimme abgeben! Vor der
Cloud-Abschaltung lagen bei mir Amazon-Playlists auf den Tasten 4–6, das war
die meistgenutzte Funktion der Boxen. Ich weiß, dass Amazon (DRM) ein hartes
Brett ist — aber falls es je eine Chance gibt: Das wäre für mich das
Killer-Feature.
Nochmals danke für das Projekt — die beiden Boxen laufen hier seit der
Umstellung komplett lokal und stabil mit v0.94!
All reactions