NEWS
Sonos-HTTP-API Installation für Newbies, Dummies und mich
-
Folgende Situation:
- Auf einer Sonos läuft Radio in geringer Lautstärke
- Mit dem Befehl "say" gebe ich einen Text in Lautstärke 50 auf dieser Sonos aus
- Nach der Durchsage wird das Radio aber nicht mehr weitergespielt und die Lautstärke bleibt auf 50 wenn ich etwas Neues wiedergebe
Frage: wie bekomme ich es hin, den Zustand vor der Durchsage wiederherzustellen ?
Oder vielleicht anders herum gefragt: wie kann ich den aktuellen Zustand "auslesen". Lautstärke und Quelle wären da ja spannend.
Im Grunde benötige ich nur eine Durchsagefunktion, die die aktuelle Wiedergabe in der Zeit der Durchsage unterbricht und anschließend fortführt.
-
- ) mach die Ansage über den Alexa Adapter, dann spielt die Sonos weiter
wenn Du es direkt über Sonos machst, ist dich klar dass die Musik nicht weiterspielt, weil neue Quelle.
Dann musst Du halt danach die Musik wieder starten.
Manche Dinge sind eben als gegeben hinzunehmen.
Deshalb mach ich die Ansagen zwischendurch über den Alexa Adapter.und alte Lautstärke musst Du Dir natürlich vorher abspeichern und später zurücksetzen.
-
@skokarl said in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
und alte Lautstärke musst Du Dir natürlich vorher abspeichern und später zurücksetzen.
Und da wäre es natürlich toll, wenn man noch über die sonos http api die aktuellen Werte (Quelle, Lautstärke) auslesen könnte, aber anscheinend geht das ja nicht.
-
@IOMax
das geht ....über ein script was den state abfragt.....guck mal in dem Thread weiter oben.... -
@IOMax Hier der Behfehl als BEISPIEL zum Istzustand auslesen
http://localhost:5005/living room/state (will return a json-representation of the current state of player)
LG,mxa
-
Guten Morgen,
habe den Adapter seit einiger Zeit erfolgreich in Betrieb, soweit funktioniert alles. Einziges Manko: ich habe noch keine Möglichkeit gefunden, nach einer Durchsage wieder in den TV-Modus zu wechseln. Gibt es hierfür einen Ansatz? -
@maloross
Das hier ist kein Adapter ! -
@skokarl ja das weiß ich, entschuldige dass ich nicht dir korrekte Terminologie verwendet habe.
Mit dem Adapter wurde nach der Ausgabe über Sayit automatisch der vorherige Zustand wiederhergestellt. Diese API greift doch in ähnlicher Weise wie der jetzt nur bedingt nutzbare Adapter auf die Sonos-Endgeräte zu.
Kurz zusammengefasst: Kann diese Programmierschnittstelle den TV-Modus aktivieren?Edit: ich hatte es mit resumeall-Befehl probiert, aber das hat halt nicht funktioniert.
-
Tag zusammen,
ich hab mal versucht, die Funktionalität der Sonos REST API über ein Script wieder auf Datenpunkte im ioBroker abzubilden.
https://github.com/dwm66/iobroker-scripts/tree/master/SonosAPIKlappt bis jetzt ganz gut
-
@maloross sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
@skokarl ja das weiß ich, entschuldige dass ich nicht dir korrekte Terminologie verwendet habe.
Du brauchst Dich natürlich nicht entschuldigen, aber es führt immer wieder zu Verwirrung, weil der Adapter ( nicht mehr gepflegt und nicht mehr 100% funktionstüchtig ) eben nix mit der API zu tun hat.
Trotzdem wird das manchmal durcheinander geworfen.
Für Dein eigentliches Problem habe ich auch keine fertige Lösung, außer, Du machst die Ansagen über den Alexa Adapter,
so mache ich das jedenfalls. -
@skokarl irgendwann wird der Adapter vermutlich auch Geschichte sein.
momentan habe ich das etwas umorganisiert: Ansage nur wenn Radio läuft und danach wieder zurück auf den Sender. geht auch -
@maloross
Für das Umschalten auf TV Input ... das hat anscheinend mal jemand folgendermassen probiert:
https://github.com/jishi/node-sonos-http-api/issues/720Ich hab mir das heut mal angeschaut:
- TV gestartet
- die URI rauskopiert, aus dem uri Feld, das /state liefert
- und so, wie der r4lv das macht, wieder gesetzt, mit .../setavtransporturi - nett, komplett undokumentiert
Das scheint zu klappen, der Input get dann auf line-in vom spdif. War auch das erste Mal, dass ich im "type" des currenttrack "line-in" gesehen habe ...
Das hat aber ein paar Wermutstropfen:
- die Zone geht sofort auf "PLAYING".
- ein .../pause oder /pauseall (!!) erzeugt einen ERROR 500 auf dem SonosAPI Server, das crasht anscheinend irgendwo ...
Soweit die Erkenntnisse ...
-
@dwm erst mal vielen Dank für die Info.. Die Möglichkeit könnte also vorhanden sein, fehlt nur noch eine sichere Umsetzung.
-
Man findet auch noch zusätzliche Information ...
https://github.com/jishi/node-sonos-http-api/issues/587
https://github.com/jishi/node-sonos-http-api/issues/382
https://github.com/jishi/node-sonos-http-api/issues/709 ( Nicht uninteressant )Was der jishi momentan als Workaround empfiehlt, ist einen entsprechenden preset anzulegen.
-
@dwm dann werde ich das mal weiter beobachten und mal schauen, wie das mit so einem preset geht.
-
@dwm sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
Tag zusammen,
ich hab mal versucht, die Funktionalität der Sonos REST API über ein Script wieder auf Datenpunkte im ioBroker abzubilden.
https://github.com/dwm66/iobroker-scripts/tree/master/SonosAPIKlappt bis jetzt ganz gut
Hi. Ich wollte dein Script mal testen und bekomme folgende Fehlermeldung:
javascript.0 2020-01-16 14:12:15.348 error (21635) ReferenceError: dwmlog is not defined
Hast Du Dir da Dein eigenes Logging global definiert?
-
@eumats sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
Hast Du Dir da Dein eigenes Logging global definiert?
Genau so ist es.
Findet man entweder hier (https://github.com/dwm66/iobroker-scripts/blob/master/debug-log/global/dwmlog.js), oder wenn man das nicht global definieren will, einfach die kleine Funktion mit in das sonos script reinkopieren.
Ich benutz das halt in allen meinen Scripten, dann kann ich beim Entwickeln debug-Ausgaben reinbauen und dann einfach abschalten ... (und wieder einschalten, wenn man einen Fehler sucht ) -
Ich hänge mich an das Thema gerade einfach mal ran. Bei mir funktioniert die API nach ein paar Stunden einfach nicht mehr. Es reicht allerdings den Service neu zu starten mit
sudo systemctl restart sonosapi.service
Das würde ich jetzt gerne alle 60 Minuten automatisiert durchführen. Könnte mir jemand sagen, wie ich das mit Blockly oder wenn das nicht möglich ist mit Javascript hinbekomme?
-
@Markus84
Ich bin jetzt nicht der Linux Crack, und das was Du möchtest ist sicherlich möglich.
Aber warum suchst Du nicht den Fehler warum die API nach Stunden ausfällt ?
In meinen Augen würde das mehr Sinn machen, ich denke auch mal, dass sich hier jemand meldet der Dir helfen kann. -
@skokarl said in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
Aber warum suchst Du nicht den Fehler warum die API nach Stunden ausfällt ?
Da hast du natürlich vollkommen recht. Ich bin nur leider auch kein Linux-Experte und habe dahernach einer einfachen Lösung gesucht. Auf github und hier im Forum war leider nichts zu finden. Ich bin natürlich für jede Hilfe dankbar! Wenn mir jemand helfen könnte den Fehler zu finden wäre das klasse.
Hier die Fehlermeldung:
{"status":"error","error":"No system has yet been discovered. Please see https://github.com/jishi/node-sonos-http-api/issues/77 if it doesn't resolve itself in a few seconds."}