NEWS
Sonos-HTTP-API Installation für Newbies, Dummies und mich
-
@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."}
-
Hast Du mal unter dem Link nachgelesen ?
Was für eine Installation hast Du ?
Sieht aus als stimmt was mit Deiner Installation nicht. -
@skokarl
ioBroker läuft bei mir auf einem RPI4. Als Lautsprecher verwende ich den Ikea Symfonisk.Den Link hatte ich mir angesehen. Der Fehler scheint aber nicht vergleichbar zu sein. Ich kann nach wie vor die IP 192...:5005 aufrufen. Wenn ich allerdings versuche über Blockly oder über eine URL eine Sprachausgabe zu machen, kommt die Fehlermeldung.
Hast du irgendeine Idee, wie ich den Fehler eingrenzen könnte?
-
@Markus84 sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
über Blockly oder über eine URL eine Sprachausgabe zu machen,
wie sieht das Blockly aus?
-
@Homoran
das interessiert mich jetzt aber auch. -
@Homoran said in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
@Markus84 sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
über Blockly oder über eine URL eine Sprachausgabe zu machen,
wie sieht das Blockly aus?
Das Blockly sieht wie folgt aus:
Zusammengesetzt sieht der Aufruf dann wie folgt aus: http://192.168.xxx.xxx:5005/sayall/bla bla bla/en-us/50
Ich habe bis auf den Text alles in Datenpunkte gelegt, damit ich es einfach global ändern kann und nicht jedes Skript durchgehen muss.
Es funktioniert solange einwandfrei, solange auch der URL-Aufruf funktioniert. Am Blockly-Skript kann es daher eigentlich nicht liegen.
-
@Markus84 sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
Am Blockly-Skript kann es daher eigentlich nicht liegen.
und womit triggerst du das Skript?
-
@Homoran said in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
und womit triggerst du das Skript?
Das kommt ganz darauf an. Zum Beispiel verwende ich es für die Warnung bei zu lange geöffneten Fenstern. Ich habe aber auch zeitgesteuerte Trigger. Ich habe noch eine Box über den Sayit Adapter und Klinkenstecker direkt am RPI angebunden. Da die direkt angeschlossene Box funktioniert und die Blöcke im Skript direkt untereinander stehen, kann es am Trigger nicht liegen. Ich gehe davon aus, dass deine Frage darauf abzielt?
-
https://github.com/Homoran/iobroker.sonos_api#beispiel-fenster-offen-meldung
So einen Trigger vermisse ich bei dir
-
@Homoran said in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
https://github.com/Homoran/iobroker.sonos_api#beispiel-fenster-offen-meldung
Danke, aber mein Skript funktioniert ja perfekt. Zumindest solange bis es auf einmal aufhört nicht mehr zu funktionieren... Und das ohne ersichtlichen Grund. Und dann geht auch der Aufruf über die URL nicht mehr. Es kann also nicht am Skript liegen.
-
@Markus84 sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
Es kann also nicht am Skript liegen.
Solange nicht die Ursache gefunden ist kann es überall dran liegen.
Also nochmal:
womit startet (oder eben nicht) dein Blockly?
hast du mal mit debug-Bausteinen gearbeitet um es einzugrenzen? -
Erst einmal vielen Dank für deine Hilfe.
Das Skript funktioniert nach einem Neustart des RPI oder auch nur nach einem Neustart des Services mit
sudo systemctl restart sonosapi.service
einwandfrei. Ebenso funktioniert die Sprachausgabe, wenn ich im Browser die URL http://192.168.100.10:5005/sayall/test/en-us/30 aufrufe.
Nach einigen Stunden funktioniert dann weder das Skript, noch der direkt Aufruf der URL. Von daher würde ich den Fehler nicht im Skript suchen. Bitte sei so gut und erklär mir, wenn hier meine Logik schon falsch sein sollte.
Die Fehlermeldung bei Aufruf der URL im Browser lautet:
{"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."}
-
@Markus84 sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
erklär mir, wenn hier meine Logik schon falsch sein sollte.
weil auf dem Weg zum Lautsprecher jeder Teilnehmer in der Kette ein Problem haben könnte, ODER irgendetwas zu dem notwendigen restart des services führt, weil es den Service ggf. blockiert
Daher wäre es sinnvoll nicht nach der Symptombekämpfung sondern nach einer Ursache zu suchen.