Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS(Sammlung) Squeeze

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • wintermute
    antwortet
    Zitat von rdeckard Beitrag anzeigen
    Was meinst du damit? (Und ich habe im Moment glaub nur noch ein Problem...mit dem absoluten Volume setzen.)
    Das taet ich gern als erstes klaeren

    Zitat von rdeckard Beitrag anzeigen
    Ach nein, einen habe ich noch
    Bei einem Radiosender steht im CoverURL ein doppelter URL-Pfad drin. Also z.B. http://lms_ip:9000/http://externer_Pfad_zum_Sender_Logo
    Typisch, die Leute nehmen gleich die ganze Hand

    Wenn du mir die Stream-URL sagst kann ich versuchen das nachzuvollziehen. Sonst wuesst ich grad nicht, welcher Baustein das versemmelt :/

    Einen Kommentar schreiben:


  • rdeckard
    antwortet
    Zitat von wintermute Beitrag anzeigen
    Bzgl der anderen Probleme: bei den Status und Kommando KOs bitte auf keinen Fall irgendwelche Beschraenkungen verteilen!
    Was meinst du damit? (Und ich habe im Moment glaub nur noch ein Problem...mit dem absoluten Volume setzen.)

    Ach nein, einen habe ich noch

    Bei einem Radiosender steht im CoverURL ein doppelter URL-Pfad drin. Also z.B. http://lms_ip:9000/http://externer_Pfad_zum_Sender_Logo

    Ich möchte eigentlich das Sender-Logo in der Visu anzeigen. Man müsste also den CoverURL KO noch auf doppelte HTTP prüfen und nur den letzten Teil verwenden.
    Wenn ich die Stelle im Code finde, werd ichs selber versuchen...

    Einen Kommentar schreiben:


  • rdeckard
    antwortet
    gaert
    Ok, es war der Status KO als Variant. Hab ihn jetzt auf DPT5 gesetzt und es klappt!

    Ist es aber normal, dass der End-Wert recht lange blinkt? Wenn man mit dem Slider bisschen rumspielt, dann ist diese Zwangspause am Ende sehr störend. Kann man dies deaktivieren? Es ist ja scheinbar nicht die gleiche Indikator-Sequenz wie beim Drücken eines Buttons (dort gehts gefühlt viel schneller).
    Mir gehts jetzt nicht um die grüne Farbe, sondern um das (10x ?) Geblinke.

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von rdeckard Beitrag anzeigen
    Meine alten HTTP-Befehle in der Visu gingen noch auf einen anderen Player...
    Hmja, kenn ich

    Bzgl der anderen Probleme: bei den Status und Kommando KOs bitte auf keinen Fall irgendwelche Beschraenkungen verteilen!
    Um auszuprobieren ob das Problem darin liegt, kann man am besten die "direkte Verkabelung" wie in einem meiner frueheren Postings gezeigt verwenden.

    Wenn das nicht hilft, muessen wir debuggen :/

    Einen Kommentar schreiben:


  • rdeckard
    antwortet
    Michael, kleine Entwarnung bezüglich externen Zugriffen.
    Habs vorhin nochmals mit iPeng und der LMS-Webseite getestet. Der LBS zeigt dann den aktuellen Zustand an!

    Meine alten HTTP-Befehle in der Visu gingen noch auf einen anderen Player, deshalb hat der LBS diesen Zustand nicht angezeigt. (Was ja korrekt ist)
    (Ist mir bis jetzt nicht aufgefallen, da ich meine beiden Player bis heute Abend noch synchronisiert habe. Dann bekommen beide MAC-Adressen den gleichen Zustand. Zumindest falls so im LMS konfiguriert.)

    Einen Kommentar schreiben:


  • rdeckard
    antwortet
    Hab ich ja getan (entsprechend deiner Antwort bezüglich meiner anderen Slider-Frage). Ich nehme an, das ist nur beim KO, welcher steuert wichtig und nicht beim KO-Status, der ja nur für die aktuelle Anzeige wichtig ist. Oder muss man bei beiden KOs ein Max/Min definieren?
    Könnte es auch daran liegen, dass der Status KO vom Typ variant ist? (Wert wird zwar im Slider-Knopf angezeigt)

    Einen Kommentar schreiben:


  • gaert
    antwortet
    Zum Slider kurz:
    Du musst(!) einen Min/Max-Wert in der KO-Konfiguration angeben - sonst würde der Slider keine "Anschläge" haben und kann somit auch nicht funktionieren... Oder Du nimmst stattdessen den "Drehregler" - der hat keine Anschläge und braucht somit auch kein Min/Max.

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von jonofe Beitrag anzeigen
    Derzeit wird bei der Initialisierung der Verbindung nur "username password" gesendet. Es muss jedoch "login username password" sein.
    Huch, danke
    Ist in der naechsten Version gefixt!

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Hi Michael,

    Habe gerade etwas mit den Squeezebox LBS gespielt und festgestellt, dass die Verwendung von Credential noch nicht funktioniert. Ursache ist ein Fehler im php Code.
    Es fehlt der Befehl "login". Derzeit wird bei der Initialisierung der Verbindung nur "username password" gesendet. Es muss jedoch "login username password" sein.

    In der funktion init_connection müsste also

    PHP-Code:
    if ($credentials) { parseResponse(send($credentials)); } 
    in

    PHP-Code:
    if ($credentials) { parseResponse(send("login ".$credentials)); } 
    geändert werden. Danach funktioniert die Authentisierung am Squeezeboxserver problemlos.

    Viele Grüße
    André

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Erstmal danke fuer das umfangreiche Feedback!

    Zitat von rdeckard Beitrag anzeigen
    Volume Slider
    Ich wollte mal einen Volume-Slider testen, aber scheinbar mache ich noch was falsch.
    Ich hab noch immer keine Visu
    Aber bitte bedenken, dass der LMS den Status etwas zeitversetzt zurueckliefert...

    Zitat von rdeckard Beitrag anzeigen
    Absoluter Volume-Wert
    Ich habs noch nicht hinbekommen, einen absoluten Volume-Wert (z.B. fix 20) mitzugeben. Zurzeit sieht beim LBS so aus:
    Das sieht alles gut aus, ich hab das grad bei mir auch nochmal getestet, prinzipiell funktioniert es.
    Da hilft vermutlich nur, das debugging im Client (oder im Server) zu aktivieren und zu schauen was genau als LMS Kommando rausfaellt.

    Zitat von rdeckard Beitrag anzeigen
    Status-Werte
    Eine Frage noch generell zu den Status-Werten (also Ausgänge vom Squeeze-Client). Sind das rein intern gehaltene Variablen oder kannst du diese vom LMS abrufen?
    Mir ist nämlich aufgefallen, dass wenn ich die Lautstärke mit meinen alten HTTP-Befehlen verändere, dann wird dies von deinem LBS nicht erkannt.
    Mir scheint, da ist noch irgendwo ein tieferliegendes Problem o\
    Selbstredend sollte da aktualisiert werden, wenn irgendwelche Werte von aussen geaendert werden - das passiert ja zB auch bei nem Track-Wechsel.
    Ich hab hier momentan nen SqueezePlay unter Windows zum Testen, parallel ne Android-App, wenn ich da die Lautstaerke aendere, kommt das auch im Baustein an.

    Technisch: der LBS meldet sich am LMS fuer bestimmte Ereignisse an (das ist diese "subscription"). Sobald der LMS fuer einen betreffenden Player eine Aenderung feststellt, teilt er das also dem LBS mit. Egal, wer diese Aenderung angeschubst hat.

    Natuerlich ist das so geplant, dass mehrere Clients parallel arbeiten koennen/muessen/sollen/duerfen, das hat aber mit dem LBS erstmal nix zu tun, das liegt im Prinzip des LMS

    Kann es sein, dass irgendwas mit Deinem StatusKO nicht so ist wie es sein sollte? Das wuerde das Verhalten vllt erklaeren...

    Zitat von rdeckard Beitrag anzeigen
    Squeeze Command Eingänge
    ...
    Zudem können widersprüchliche Werte definiert werden (Play=1 UND Stop=1), was ich generell als Entwickler ungern sehe.
    Ja, ne... das ist bei so event-gesteuerten Systemen etwas anders. Es geht ja um den Ereigniswechsel, nicht um den aktuellen Status eine Objektes (der wird sofort wieder vergessen). Und da etwas nie gleichzeitig passieren kann, kann es da auch (technisch) nie Probleme geben.
    EDIT: gibt es sowas wie Quantum::Entanglement eigentlich auch fuer PHP?

    Zitat von rdeckard Beitrag anzeigen
    Du hast weiter oben mal geschrieben, dass diese Befehle im E3 des Squeeze Client hintereinander abgearbeitet werden. Welche Reihenfolge wird denn da verwendet?
    First come, first serve

    Zitat von rdeckard Beitrag anzeigen
    Hängt also sicher auch davon ab, wie gross irgendwann mal dieser Squeeze Command LBS mal wird.
    Weiss ich auch noch nicht
    Der Kommando LBS war auch eher ein POC-Dingen, ich setze die Befehle bisher immer direkt ab... ich muss da nochmal in mich gehen o\

    Zitat von rdeckard Beitrag anzeigen
    Kann man dein Debugging ein/ausschalten oder sind deine TraceToLog-Befehle fix? (Habe gesehen, dass du das Trace-Log beschreibst).
    Im (in jedem) LBS sollte es (irgendwo am Ende) eine debug Routine geben, da drin steht das writeToLog, einfach auskommentieren.

    dank & gruss :: Michael
    Zuletzt geändert von wintermute; 03.03.2016, 21:57. Grund: LMS/LBS typo, Quantum::Entanglement

    Einen Kommentar schreiben:


  • rdeckard
    antwortet
    Volume Slider
    Ich wollte mal einen Volume-Slider testen, aber scheinbar mache ich noch was falsch.
    Habe beim Slider als Status KO den KO genommen, der vom Squeeze Client LBS als Ausgang kommt, also den aktuellen Wert zeigt.
    Als zweiten KO dann den Befehls-KO, der als Eingang im Squeeze Command LBS kommt.
    squeeze4.png

    In der Visu sieht es aber dann so aus:
    squeeze3.png
    D.h. der aktuelle Wert wird angezeigt, aber der Knopf ist auf der 0-Position. Komischerweise kann ich den Knopf auch gar nicht bewegen. Er ist wie festgenagelt und dabei blinken in der Mitte dann 2 Fragezeichen.
    Ich muss dazu sagen, dass ich noch nicht mit den Slidern gearbeitet habe. Denke nicht, dass es mit dem LBS zu tun hat.

    Absoluter Volume-Wert
    Ich habs noch nicht hinbekommen, einen absoluten Volume-Wert (z.B. fix 20) mitzugeben. Zurzeit sieht beim LBS so aus:
    squeeze5.png

    Habe auch schon mal im E3 "mixer volume=20" eingegeben. Der Volume-Ausgang wurde dabei aktualisiert, aber der Player hat den Befehl nicht angenommen.
    Funktioniert das denn bei dir? Kannst du z.B. im E10 beim Squeeze Command einen Wert eingeben und wird der auch so gespielt?

    Status-Werte
    Eine Frage noch generell zu den Status-Werten (also Ausgänge vom Squeeze-Client). Sind das rein intern gehaltene Variablen oder kannst du diese vom LMS abrufen?
    Mir ist nämlich aufgefallen, dass wenn ich die Lautstärke mit meinen alten HTTP-Befehlen verändere, dann wird dies von deinem LBS nicht erkannt. Zu Testzwecken habe ich im Moment nicht meine alte Steuerung auf der Visu, deshalb ist mir das aufgefallen. Klar werde ich diese bald entfernen und alles läuft über dein LBS. ABER...ich habe auf dem Handy noch einen Squeeze-Client (iPeng) installiert. D.h. es ist durchaus möglich (und teilweise auch sinnvoll), dass ich den LMS darüber steuere. Oder auch über die LMS-Webseite. Somit kann es passieren, dass die Squeeze-Player ausserhalb vom LBS gesteuert werden. Dies sollte der LBS natürlich erkennen.

    Squeeze Command Eingänge
    Bezüglich deiner letzten Frage bin ich auch noch etwas am Zweifeln. Die aktuelle Variante mit jeweils einem Eingang/KO pro Befehl ist sicher im LBS übersichtlich, aber "verbraucht" halt viele interne KO's. Zudem können widersprüchliche Werte definiert werden (Play=1 UND Stop=1), was ich generell als Entwickler ungern sehe. Auch wenn es später sequentiell verarbeitet wird und somit nichts "passieren" kann. Irgendwie ist es bisschen unschön.
    Zuviele Befehle in ein KO zu packen, ist aber auch etwas doof.
    Du hast weiter oben mal geschrieben, dass diese Befehle im E3 des Squeeze Client hintereinander abgearbeitet werden. Welche Reihenfolge wird denn da verwendet?
    Evtl. wärs wirklich nicht so schlecht, zusammengehörende Befehle in ein KO gruppieren (z.B. Stop/Play/Pause) und diese dann mittels eine Zahl zu definieren. Nachteil ist, dass es nicht mehr selbstsprechende KOs sind, d.h. man muss in der Visu wissen, dass ein 1 ein Stop ist und 3=Pause.
    Wieviele Befehle gibt es eigentlich noch? Hängt also sicher auch davon ab, wie gross irgendwann mal dieser Squeeze Command LBS mal wird. (Es fehlen ja noch Befehle für die Synchronisierung/Gruppierung von Playern)

    Kann man dein Debugging ein/ausschalten oder sind deine TraceToLog-Befehle fix? (Habe gesehen, dass du das Trace-Log beschreibst).

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von fisch3009 Beitrag anzeigen
    So, nachdem ich den Baustein jetzt ein paar Tage im Einsatz habe ist mir aufgefallen, dass nach einem Neustart der Ausgang eines Clients keine Werte enthält.
    Danke, das ist ein Bug...

    Da ich bald auch mal den Command-LBS fixen wollte: wie ist das jetzt gewuenscht?
    Soll es einzelne Eingaenge fuer (zB) Play/Pause/Stop geben?
    Oder nur einen?
    Oder so wie es jetzt ist (also quasi eine Mischform)?
    Oder soll ich einfach zwei LBS machen?

    Ich weiss naemlich selber nicht wie ich das am liebsten haette

    Einen Kommentar schreiben:


  • fisch3009
    antwortet
    So, nachdem ich den Baustein jetzt ein paar Tage im Einsatz habe ist mir aufgefallen, dass nach einem Neustart der Ausgang eines Clients keine Werte enthält.
    Die Ausgänge der Clients werden erst gefüllt, wenn irgendein Kommando gesendet wird oder wenn der Squeezebox Status sich ändert (Position reicht aber anscheinend nicht).
    Das führt dann z.B. auch dazu, dass wenn ich auf den Eingang eines Commando Bausteines auf Pause eine 1 schreibe, was ja sonst Pause macht, der entsprechende Client auf Play geht.
    Im Normalbetrieb also ohne Neustart habe ich sonst keine Probleme feststellen können und bin immer noch sehr zufrieden!

    Einen Kommentar schreiben:


  • gaert
    antwortet
    Übrigens: Wenn der Oszi/Telegrammgenerator ohnehin im Sekundentakt triggert, kann man auch gleich das System-KO "Uhrzeit" (oder so ähnlich) nehmen - denn dieses könnte den LBS ganz einfach im Sekundentakt triggern... Bei Bedarf (Ein/Aus) kann man ja noch eine Sperre dazwischen schalten.

    Einen Kommentar schreiben:


  • gaert
    antwortet
    Zitat von rdeckard Beitrag anzeigen
    Die Regler sind ja glaub intern zwischen 0-255.
    Sind se nicht Du bestimmst den Wertebereich selbst, indem Du in der Konfiguration des entsprechenden KOs einen Min/Max-Wert angibst. Bei DPT-Typen bestimmen ggf. die Wertebereiche des DPTs den Min/Max-Wert (wenn keine Angaben gemacht wurden), aber bei "Variant" funktioniert dies natürlich nicht - der Wertebereich ist ja nicht bekannt bzw. "unendlich".

    Kurz gesagt: Die "Schieberegler" brauchen Min/Max-Werte, denn sonst haben die Burschen keine Anschläge und können naturgemäß nicht funktionieren. Der "Drehregler" braucht nicht unbedingt Min/Max-Werte, da dieser quasi ein Endlosregler ist (ohne Anschläge) - aber natürlich kann man bei Bedarf auch hier Min/Max angeben.

    Einen Kommentar schreiben:

Lädt...
X