NEWS
[Neuer Adapter] Undok FSAPI
-
Habe mal das SIRD 14C4 und zwei SMRS 30A1 über drei Adapterinstallationen eingebunden.
Soweit ich sehen kann, funktioniert die Erkennung der Geräte, ihrer Einstellungen, das manuelle Auslesen der Favoriten und auch der Wechsel der Modi. Da ich hier aber nur mit Internetradio gearbeitet habe und nicht über die anderen angebotenen Dienste verfüge, kann ich nichts zu deren Funktionsweise sagen.
Wie man das Abspielen einer mp3-Datei über URL erledigt, entzieht sich derzeit noch meiner Kenntnis. Es gibt jedoch über das Windowsprogramm "FS-Radio-Remote" oder die Android-APP "SilverCrest Smart Audio" die Möglichkeit über die Quelle "Music Player" und der Auswahl eines Speicherortes z.B. auf der Freigabe der Fritzbox eine dort als abgelegte mp3-Datei wiederzugeben. Wahrscheinlich geht es sogar noch einfacher über eine URL-Auswahl, aber das habe ich bisher auch noch nicht durchschaut.
Was mir noch aufgefallen ist: Zumindest die Android-APP hat auch eine Pause- und somit auch Play-Taste, mit der man die Widergabe anhalten und wieder abspielen kann. An den Geräten sind die Tasten hierfür ja auch vorhanden.
Und. Das scheint aber ein grundsätzliches Problem zu sein. Wenn ich mit einer der beiden o.g. Programme aus Windows oder Android auf ein übder den Adapter angebundenes Gerät gehe, dann übernimmt dieses scheinbar vollkommen die Kontrolle und der Adapter geht in den Modus
"status":["FS_TIMEOUT"]} Connection error
und muss erneut gestartet werden, nachdem die Apps keinen Zugriff mehr auf das jeweilige Gerät haben.
Und die Krönung irgendwann ganz am Ende der Entwicklung wäre natürlich, wenn man den Adapter an den SayIt-Adapter angliedern und in dieser Kombination Ausgaben auch über diese Geräte tätigen kann (wie bisher auch über die SONOS-Lautsprecher) . Aber dafür muss man auch noch an den SayIt-Adapter ran. Also momentan eher Zukunftsmusik
Nochmals: Danke für Deine Arbeit
-
Ach ja... Nur Eines war mir noch aufgefallen, scheint aber kein BUG oder so zu sein.
Bei der Ersteinrichtung des Gerätes erkennt der Adapter den Zustand des Gerätes unter Device/Power mit TRUE, auch wenn das Gerät in diesem Moment manuell ausgeschaltet ist. Nach der Einrichtung wird jedoch das Drücken der EIN/AUS-Tatse am Gerät bisher zuverlässig erkannt.
Jetzt stelle ich mal die Adapter-Logausgabe wieder auf Info und warte darauf, was sich hier noch so tut
-
@hallo-amt
Power steht im Datenpunkt auf "false" wenn das Gerät durch eine andere App eingeschaltet wurde. Hier wäre es sinnvoll wenn der Datenpunkt auf "true" gesetzt wird, sowie Datenpunkte wie Titel, Interpret, etc. auch aktualisiert werden.@Berchemer
anbei mal ein paar Datenpunkte zur Steuerung;Power - auf true oder false setzen
Mode schalten - in Modes > die jeweilige Nummer des Modes (0-8 bei mir) > switch to auf true setzen.
Favoriten schalten - in Modes > die jeweilige Nummer des Modes (0-8 bei mir) > presets > die jeweilige Nummer des Modes (0-5 bei mir) > switch to auf true setzen. -
@hallo-amt Ich habe die neue Version nun getestet. Google Cast klappt nun einwandfrei.
Zu der Sache mit den Artistinfos noch ergänzend: Bei jedem Titelwechsel werden die Datenpunkte media/graphic (Albumart) und media/name (Titelname) erfolgreich aktualisiert. Der Punkt media/artist scheint bei mir nur nach einem Adapterneustart oder Powerswitchs des Geräts zu aktualisieren.
Könntest du den Artist Status Refresh möglicherweise zu dem gleichen Trigger legen, wo du graphic & name auslösen lässt.Dankeschön!
-
@claus1993 said in [Neuer Adapter] Undok FSAPI:
....wer hört den Heute noch Radio über Antenne
Ich Aber nach dem Umzug nach Berlin war ich überrascht, daß dort SWR3 über DAB läuft.
@Berchemer said in [Neuer Adapter] Undok FSAPI:
Auch Luxus im Moment, aber wenn man in der Config neben der URL auch noch einen individuellen Namen zur Nutzung in der Objekteliste einbauen könnte, würde es bei mehr als einer Installation die Übersicht in der Liste steigern
Gern, ich hab dafür einen Issue aufgemacht, die helfen mir für den Überblick.
@Berchemer said in [Neuer Adapter] Undok FSAPI:
Wie man das Abspielen einer mp3-Datei über URL erledigt, entzieht sich derzeit noch meiner Kenntnis. Es gibt jedoch über das Windowsprogramm "FS-Radio-Remote" oder die Android-APP "SilverCrest Smart Audio" die Möglichkeit über die Quelle "Music Player" und der Auswahl eines Speicherortes z.B. auf der Freigabe der Fritzbox eine dort als abgelegte mp3-Datei wiederzugeben. Wahrscheinlich geht es sogar noch einfacher über eine URL-Auswahl, aber das habe ich bisher auch noch nicht durchschaut.
Irgendwie sollte das gehen. Das ist auf jeden Fall ein cooles Feature
@Berchemer said in [Neuer Adapter] Undok FSAPI:
Bei der Ersteinrichtung des Gerätes erkennt der Adapter den Zustand des Gerätes unter Device/Power mit TRUE, auch wenn das Gerät in diesem Moment manuell ausgeschaltet ist. Nach der Einrichtung wird jedoch das Drücken der EIN/AUS-Tatse am Gerät bisher zuverlässig erkannt.
Das ist merkwürdig, schaue ich mir an.
@claus1993 said in [Neuer Adapter] Undok FSAPI:
Power steht im Datenpunkt auf "false" wenn das Gerät durch eine andere App eingeschaltet wurde. Hier wäre es sinnvoll wenn der Datenpunkt auf "true" gesetzt wird, sowie Datenpunkte wie Titel, Interpret, etc. auch aktualisiert werden.
Ja, das ist ein Problem mit der API. Wenn über sie eine Aktion ausgeführt wird, gibt es keine Rückmeldung über die Notifies. Die melden alles, was sich per Tasten geändert wird und bestimmte Informationen auf dem Display.
@claus1993 said in [Neuer Adapter] Undok FSAPI:
Mode schalten - in Modes > die jeweilige Nummer des Modes (0-8 bei mir) > switch to auf true setzen.
Favoriten schalten - in Modes > die jeweilige Nummer des Modes (0-8 bei mir) > presets > die jeweilige Nummer des Modes (0-5 bei mir) > switch to auf true setzen.@Berchemer Modus und Favoriten einstellen geht auch mit modes.selected und danach modes.SelectedPreset, da kann man die Nummer des Modus bzw. des Presets reinschreiben. Ist einfacher als immer die Buttons rauszusuchen. Aber je nachdem, wie die Oberfläche aussieht, können auch die Buttons einfacher zu nutzen sein. Der Code für beide Wege wird geteilt, ich lasse beide drin.
@Steff75 said in [Neuer Adapter] Undok FSAPI:
Könntest du den Artist Status Refresh möglicherweise zu dem gleichen Trigger legen, wo du graphic & name auslösen lässt.
Dazu muss ich das Radio aktiv abfragen, wenn die anderen Ereignisse eintreffen, ist aber kein Problem und einfach umzusetzen.
Danke für die Rückmeldungen, ich bin erstaunt und erfreut, daß es schon so viele sind. Um den Überblick einfacher behalten zu können, habe ich die, die ich nicht vergessen habe, als Issue im GitHub angelegt.
DMR hat übrigens nichts mit dem DMR zu tun, das ist einfach Digital Media Receiver oder auch DLNA. Das kann nur vom Controller aktiviert werden, deshalb, wie auch Google Cast, nicht auswählbar. Es macht aber Sinn, das in den Objekten anzulegen. Stören tut es auf keinen Fall.
Für Multiroom habe ich mir noch ein zweites MR fähiges Radio von Philips geholt, das kommt aber frühestens für das Wochenende. Die Post und das Internet sind in Berlin langsamer als im Schwarzwald. Gefühlt brauchen Pakete einen Tag länger und das Internet ist bei mir 8MBit/s statt 100 MBit/s.
-
@Berchemer said in [Neuer Adapter] Undok FSAPI:
Und. Das scheint aber ein grundsätzliches Problem zu sein. Wenn ich mit einer der beiden o.g. Programme aus Windows oder Android auf ein übder den Adapter angebundenes Gerät gehe, dann übernimmt dieses scheinbar vollkommen die Kontrolle und der Adapter geht in den Modus
Das ist ein grundsätzliches Problem. Die API kann nur mit einem Gerät gleichzeitig reden. Das könnt ihr ausprobieren, indem ihr Undok auf dem Handy startet und danach die Instanz neustartet. Undok meldet euch dann ziemlich sofort, daß es die Verbindung verloren hat.
Man kann die API direkt mit PIN aufrufen und das Radio ohne Session steuern. Dann funktionieren die Notifies nicht, dafür braucht man zwingend eine Session, beim erstellen einer Session werden alle anderen beendet. Das kann man maximal durch einen Proxy beheben, den auch andere Apps nutzen. Ob das mit Undok funktioniert ist fraglich und für mich im Moment absolut nicht umsetzbar.
Die andere Möglichkeit wäre eine Einstellung zum aktiven pollen, dann müsste man aber mit teilweise alten Werten leben. -
@hallo-amt sagte in [Neuer Adapter] Undok FSAPI:
@Berchemer said in [Neuer Adapter] Undok FSAPI:
Und. Das scheint aber ein grundsätzliches Problem zu sein. Wenn ich mit einer der beiden o.g. Programme aus Windows oder Android auf ein übder den Adapter angebundenes Gerät gehe, dann übernimmt dieses scheinbar vollkommen die Kontrolle und der Adapter geht in den Modus
Das ist ein grundsätzliches Problem. Die API kann nur mit einem Gerät gleichzeitig reden. Das könnt ihr ausprobieren, indem ihr Undok auf dem Handy startet und danach die Instanz neustartet. Undok meldet euch dann ziemlich sofort, daß es die Verbindung verloren hat.
Man kann die API direkt mit PIN aufrufen und das Radio ohne Session steuern. Dann funktionieren die Notifies nicht, dafür braucht man zwingend eine Session, beim erstellen einer Session werden alle anderen beendet. Das kann man maximal durch einen Proxy beheben, den auch andere Apps nutzen. Ob das mit Undok funktioniert ist fraglich und für mich im Moment absolut nicht umsetzbar.
Die andere Möglichkeit wäre eine Einstellung zum aktiven pollen, dann müsste man aber mit teilweise alten Werten leben.Oder man könnte den Status der Fehlermeldung im Adapter abfragen (wenn das geht) oder eine Möglichkeit suchen, im LOG von ioBroker nach Fehlern bezüglich des Adapters zu suchen (siehe auch den Adapter LogParser, welcher das LOG nach Fehlern scannt) und dann in einem Abstand von festgelegter/konfigurierbarer Zeit (1-5 Sek) einen ReConnect/Restart des Adapters (WatchDog) zu versuchen. Den Versuch des Wiederverbindens könnte man mit dem konfigurierbaren Versand einer Mail/WhatsApp (über den jeweiligen Adapter) verbinden, welche versandt wird, wenn ein anderes Programm die Lautsprecher/Radios blockiert (und somit die Fehlermeldung im ioBroker erzeugt wird) , sodass man die zugehörige App nach erfolgreich zugestellter Benachrichtigung manuell beenden könnte. Nach Beendigung der FremdApp kann der automatische ReStart des Adapters nur noch von Erfolg gekrönt sein.
Sollte das alles etwas wirr und ggf. nicht nachvollziehbar gewesen sein , bitte nachfragen
Und solltest Du ggf. ein weiteres Gerät von SilverCrest benötigen, für 5 EU von mir ist es versichert versendet und Du kannst testen. Und 5 EU von mir zurück über PayPal-Freunde sind es dann auch nur noch für den Rückversand
-
@Berchemer said in [Neuer Adapter] Undok FSAPI:
Oder man könnte den Status der Fehlermeldung im Adapter abfragen (wenn das geht)
Die API gibt direkt eine Meldung aus, i Moment schaue ich nur nach, ob der Status
FS_OK
ist, alles andere wäre ein Fehler. Doof nur, daß im Zusammenhang mit den Notifies dauernd ein Fehler kommt, nämlich dann, wenn sich 30 Sekunden nichts geändert hat. Da müsste ich schauen, ob es eine genauere Meldung zu gibt. Oder hin- und wieder versuchen, mit der Session ID vom Adapter auf das Radio zuzugreifen. Allerdings läuft die auch nach einer Weile ab, man munkelt von ca. 1 Stunde. Im Moment wird alle 15 Minuten eine neue erstellt.
Eine spezielle Meldung für "Ein anderes Programm möchte auf das Radio zugreifen" gibt es vielleicht, ich habe sie aber noch nicht gefunden. Falls es eine gäbe, würde ich die gerne für sowas nutzen. Vielleicht gibt es eine Möglichkeit abzufragen, ob gerade eine aktuelle Session mit einer anderen ID besteht. Da ist das große Problem dieser API: Sie ist nirgendwo dokumentiert. Alles was das Internet drüber weiss wurde mit Wireshark mitgeschnitten. Die Doku bekommt man nur, wenn man ein Devkit kauft. Ob da ein NDA dabei ist kann ich nicht sagen.
Kurz: Wenn man irgendwie feststellen kann, on eine andere App verbunden ist, kann man das regelmäßig abfragen, die Idee halte ich für sinnvoll. Mal schauen, ob es da eine Möglichkeit gibt.
Der Rest wäre einfach, ein Timer und den regelmäßig abfeuern. So werden auch die Notifies abgefragt, der feuert 1s nachdem die letzte Antwort kam.Die API istklasse, menn man Undok benutzt. Für das sind die Radios optimiert. Bedeutet leider auch, daß sie nichts implementieren, was Undok nicht nutzt. Danke FS
Und danke für das Angebot mit dem Silvercrest. Im Moment reichen drei Geräte,zwei können Multiroom, ich hoffe, das reicht mir zum testen.
-
@hallo-amt
Das die api merkwürdig ist hatte ich damals auch schon mal festgestellt.
Habe ein technisat Radio, hatte zuerst die technisat app drauf und dann später die undok.
Dabei haben die apps sich auch gegenseitig gestört.
Es sollte also immer nur eine App genutzt werden.
Wenn alle Funktionen im Adapter sind, dann braucht man auch keine undok app mehr.Mach weiter so
-
@Berchemer said in [Neuer Adapter] Undok FSAPI:
Auch Luxus im Moment, aber wenn man in der Config neben der URL auch noch einen individuellen Namen zur Nutzung in der Objekteliste einbauen könnte, würde es bei mehr als einer Installation die Übersicht in der Liste steigern
Das geht schon, allerdings über den Workaround, daß du das Radio in der Weboberfläche vom Radio umbenennen musst. Das zeigt dann auch Undok an. Standardmäßig ist da die Modellbezeichnung drin. Den Namen mach ich noch editierbar, dann kannst du dem Radio einen eigenen Namen geben, ohne auf die Weboberfläche zu gehen.
-
Bin mal wieder zum testen gekommen
Was mir aufgefallen ist das die "media" Daten nicht immer upgedated werden. Selbst wenn ich das Radio über den Datenpunkt "Power" ein und ausschalte. Erst wenn ich den Adapter neu starte bekomme ich aktuelle "media" Daten.
Soweit ich mit meinen Versuchen gesehen habe benötigen die HTML Befehle nicht immer eine Session ID, meines Wissens nicht bei den Daten die du unter "media" angesetzt hat. Könnte man hier den Befehl nicht ohne Session ID absetzen und das immer wenn das Radio bei "Info" > "Connection" auf true steht? Das Ganze dann alle paar Minuten getriggert und die Daten sollten doch da sein, oder irre ich mich?Freue mich schon auf die nächste Version. Danke fürs Umsetzen!
-
@claus1993 said in [Neuer Adapter] Undok FSAPI:
Soweit ich mit meinen Versuchen gesehen habe benötigen die HTML Befehle nicht immer eine Session ID, meines Wissens nicht bei den Daten die du unter "media" angesetzt hat. Könnte man hier den Befehl nicht ohne Session ID absetzen und das immer wenn das Radio bei "Info" > "Connection" auf true steht? Das Ganze dann alle paar Minuten getriggert und die Daten sollten doch da sein, oder irre ich mich?
Guter Plan, das mach ich mal. Dann darf man damit leben, daß es nur alle X (einstellbar) Sekunden neue Werte gibt, wenn jemand die Session geklaut hat.
-
Zur Zeit bin ich gerade etwas im Stress, daher kann ich erst gegen Ende der Woche mal wieder was machen. Bis dahin danke, daß ihr mir immer gute Rückmeldungen gegeben habt.
-
Hallo,
erst einmal Danke für den Adpater ist wirklich sehr hilfreich. Ich verwende ein schon mehrere Jahre altes ALDI System und es lässt sich in der Tat anbinden. Es stehen zwar nicht alle Informationen zur Verfügung, bleibt aber natürlich die Frage ob das überhaupt übergeben wird. Ist aber erst mal nicht so wichtig (zumindest für mich).
Schwierig ist das On/Off Verhalten. Unter device/power/ wird immer true angezeigt (unabhängig ob das Radio an oder aus ist). Beim Ausschalten (mache ich erst mal über Admin/Objekte kann man den State zwar kurz umstellen auf false (dann schaltet das Gerät auch ab), einige ms später wird dann aber wieder auf true umgestellt.
Da die Information an oder aus auch sonst nicht abgreifbar ist, ist der Status des Radios nur schwer anzuzeigen.
Natürlich kann ich nun mit eigenen Objekten arbeiten, da ja für einige wenig ms die Information zur Verfügung steht, aber das ist eigentlich nicht sehr schön und auch nicht 100% sicher. Und wie sich das Power Objekt verhält, wenn das Radio manuell bediene muss ich noch testen.Kann man das lösen ?
Danke
Andreas
-
@Steff75 said in [Neuer Adapter] Undok FSAPI:
Der Artist wird beim Liedwechsel (Spotify oder Google Cast) nicht aktualisiert.
Ist behoben, wird aber erst noch hochgeladen. Warum das Radio da kein Event sendet ist mir ein Rätsel. Jetzt frag ich das halt von Hand ab...
Der Moduswechsel auf Spotify wrid auch nicht per Event gemeldet, da muss ich dann wohl auch per Hand abfragen. Auch wenn ich mein Superconnect total genial finde, die API ist so lala. Da kann Revo aber nichts für. Zum Multiroom testen hatte ich ein Philips bestellt, das hat mich aber immer beim Einschalten gefragt, welchen Sender es aus der in Berlin recht langen Liste spielen soll. Das ist jetzt wieder verpackt auf dem Weg zurück, schade, sonst fand ich es ganz nett. Zumindest für die Küche...
Hochladen werde ich die Tage, dann melde ich mich nochmal. -
@RandyAndy said in [Neuer Adapter] Undok FSAPI:
Schwierig ist das On/Off Verhalten. Unter device/power/ wird immer true angezeigt (unabhängig ob das Radio an oder aus ist). Beim Ausschalten (mache ich erst mal über Admin/Objekte kann man den State zwar kurz umstellen auf false (dann schaltet das Gerät auch ab), einige ms später wird dann aber wieder auf true umgestellt.
Interessant, das muss ich mal beobachten. Beim Sangean funktioniert das, auch wenn das Radio manchmal vom Adapter eingeschaltet wird. Ich habe das Einlesen der Favoriten beim ersten Verbinden des Adapters im Verdacht.
-
@Berchemer said in [Neuer Adapter] Undok FSAPI:
Auch Luxus im Moment, aber wenn man in der Config neben der URL auch noch einen individuellen Namen zur Nutzung in der Objekteliste einbauen könnte, würde es bei mehr als einer Installation die Übersicht in der Liste steigern
device.name
kann jetzt geändert werden. Würde das für die Übersichtlichkeit schon reichen?
DerArtist
wird jetzt bei Soptify auch aktualisiert, die Änderung ist auch hochgeladen. Alles aber ohne neue Version. -
das mit dem Adpater einschalten hatte ich auch am Anfang. Ich habe urspünglich das hqwidget on/off verwendet, da hat sich das Radio immer an und ausgeschaltet wenn man die Lautstärke verändert hat (warum ?!?
Inzwischen verwende ich basic bulb on/off. Dmit geht es. Das Widget hat zwar weniger facy features aber was hilft fancy wenn es nicht funzt.
Die hqwidgets habe ich in der Summe in Verdacht das die nichts so ganz das machen was ich möchte.Andreas
-
@RandyAndy said in [Neuer Adapter] Undok FSAPI:
das mit dem Adpater einschalten hatte ich auch am Anfang. Ich habe urspünglich das hqwidget on/off verwendet, da hat sich das Radio immer an und ausgeschaltet wenn man die Lautstärke verändert hat (warum ?!?
Da war bei mir auch ein Fehler drin, ich habe teilweise den falschen Wert zurückgegeben. Kannst du es mit dem Fancy Wodget nochmal versuchen?
-
@hallo-amt Danke, habe es gerade getestet und es funktioniert wunderbar.