NEWS
[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. -
@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.
-
das mit true und false ist unabhängig vom Widget. Das beobachte ich wenn ich mir über Admin das verhalten ansehe. Sobald ich das Radio ausschalte, dann müsste der Objekt-Wert eigentlich bei false bleiben. Einige ms später wird er aber wieder true. Somit is der on/off status eigentlich immer true (wenn man von den wenigen ms absieht). Das ist nicht wirklich gut, denn den genauen Status sollte man eigentlich schon kennen und abfragen können.
ANdreas
-
@RandyAndy said in [Neuer Adapter] Undok FSAPI:
das mit true und false ist unabhängig vom Widget. Das beobachte ich wenn ich mir über Admin das verhalten ansehe. Sobald ich das Radio ausschalte, dann müsste der Objekt-Wert eigentlich bei false bleiben. Einige ms später wird er aber wieder true. Somit is der on/off status eigentlich immer true (wenn man von den wenigen ms absieht). Das ist nicht wirklich gut, denn den genauen Status sollte man eigentlich schon kennen und abfragen können.
Hallo Andreas,
das war ein Fehler im Adapter, den habe ich gestern behoben, da habe ich immer den falschen Wert zurückgegeben. Kannst du von GitHub die aktuelle Version installieren? Da sollte es behoben sein.Er sollte jetzt auch die Session behalten, da habe ich ehrlichgesagt die Zeit nie gespeichert und es hat sich keine neue Session ID gezogen. Sollte behoben sein, muss ich aber erst noch testen, das habe ich erst vor ein paar Minuten hochgeladen...
Wenn die Instanz als
Debug
oderSilly
gestartet wird, werden jetzt zusätzlich noch Debugobjekte angelegt. Die werden in den anderen Stufen wieder gelöscht, helfen mir aber, Fehler nachzuvollziehen, die erst nach einiger Zeit auftreten.Viele Grüße aus Moabit
-
-
-