Türklingel funktioniert nur, wenn schon Musik läuft

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • hismastersvoice
    Supermoderator
    • 25.08.2015
    • 7318

    #16
    mstools send_stat sendet einen Wert an die Statistik das ein neues System installiert wurde und wenn es unbekannt ist zählt er den Zähler um eines hoch.
    Das passiert eigentlich im Hintergrund und dürfte nicht zu einem Abbruch der Installation führen.

    Squeezelite Instanzen laufen immer! Es ist nur Power ist auf 0.
    Wenn ein Stream 5-7 Sekunden braucht ist das schon mal vollkommen unnormal.

    Wenn ein Gruppen-Event ausgelöst wird erst mal ein EventPlayer mit einer speziellen Soundkarte erstellt und die zu bespielenden Zonen auf Pause und Volume 0 gesetzt (Damit der PowerManger die richtigen Amps schaltet)
    Nun spielt der EventPlayer ab und am Ende wird alles wieder zurückgesetzt.
    Beim Auslösen über den MusikBaustein (Config) ist es anders, da wird ein Single Event gestartet auf der jeweiligen Zone. Dann geht aber kein Overlay.

    Ich glaube du hast ein anderes Problem.
    Diene Amp(s) brauchen lange bis sie aus dem Standby wieder abspielen. Dafür gibt es eine Zeit im PowerManger "Verstärker-Zeit einschalten" der das Event warten lässt bis die Amp ein ist.
    Stell diese Zeit mal höher und du wirst sehen das du dann das ganze Event hörst.

    Der Dummy-Player wird vermutlich nur eines machen, das der PowerManager nichts mehr abschaltet.
    Aber dazu müsst ich jetzt jedes einzelne Details deiner Installation mit dir durchgehen.

    Was hast du in den Zonen unter PowerManger und im PowerManger eingestellt? Was/wie steuerst du deine Amp(s).
    Kein Support per PN!

    Kommentar

    • Shogun1978
      Dumb Home'r
      • 03.01.2022
      • 27

      #17
      Das mit dem send_stat dachte ich mir schon. Wenn ich den Befehl manuell ausführe nachdem die Installation durch ist, geht es auch. Muss man nicht verstehen...

      Dass die Squeezelite Instanzen permanent laufen, habe ich mit htop gesehen. Ich hatte mal geschaut ob irgendein Prozess vielleicht die CPU stresst. Dem ist aber nicht so.

      Der AMP ist ein Selbstbau bestehend aus einem ESP8266, der 2x 4fach Relaiskarten ansteuert, die wiederum je Relais ein 100W Mono-Verstärker-Board ansteuern. In Summe also 8 Verstärkerboards, eins je Ausgang der Soundkarte. Das klappt auch alles, aber der Start des Stream dauert mal mehr, mal weniger lang. Ich hab da noch kein Muster oder reproduzierbares Verhalten feststellen können. Hier mal ein Screenshot der Zone "Wohnen":
      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Zone.jpg
Ansichten: 192
Größe: 139,7 KB
ID: 389651

      Auf dem ESP8266 läuft Tasmota, der HTTP Befehl kommt direkt und das Board ist auch direkt da.

      Wenn der Dummy läuft, ist vorher kein Verstärkerboard aktiv, das jeweilige Board wird erst angeschaltet (natürlich je Zone) mit dem HTTP Befehl (Power1-8 je Relais) wenn in der jeweiligen Zone etwas laufen soll. Sind alle Squeezelite Player gestoppt, heißt es läuft keine Musik, kommt der Klingelsound spät. Wenn zumindest eine Zone auf "play" steht, kommt der Klingelsound in allen Zonen direkt - auch wenn der AMP-Kanale erstmal eingeschaltet werden muss. Das heißt am Delay der AMPs liegt es nicht, sondern würde das Problem auch dann auftreten, wenn eine Zone auf Play ist und die andere auf Stop - dann würde das Klingeln in der vorher auf Stop gestandenen Zone nicht funktionieren. Es ist übrigens egal, ob die Zone, die läuft, per Klingelsignal angesprochen wird oder nicht. Solange in einer Zone "play" aktiv ist, funktioniert das Klingeln in jeder Zone, egal ob die auf Play oder Stop steht. Sobald alle Zonen auf Stop stehen, geht das Klingeln in allen Zonen nicht mehr richtig.

      Kann es sein, dass bei dass DietPi alle Squeezelite Prozesse irgendwie "schlafen" legt oder anderweitig in Sparbetrieb versetzt? Heißt wenn alle squeezelite Prozesse nicht auf play stehen werden alle in eine Art Power-Save versetzt und das Aufwachen dauert entsprechend lange?
      Angehängte Dateien

      Kommentar

      • hismastersvoice
        Supermoderator
        • 25.08.2015
        • 7318

        #18
        Kann es sein, dass bei dass DietPi alle Squeezelite Prozesse irgendwie "schlafen" legt oder anderweitig in Sparbetrieb versetzt? Heißt wenn alle squeezelite Prozesse nicht auf play stehen werden alle in eine Art Power-Save versetzt und das Aufwachen dauert entsprechend lange?
        Nein, laufen normal weiter.


        Sind alle Squeezelite Player gestoppt, heißt es läuft keine Musik, kommt der Klingelsound spät. Wenn zumindest eine Zone auf "play" steht, kommt der Klingelsound in allen Zonen direkt - auch wenn der AMP-Kanale erstmal eingeschaltet werden muss. Das heißt am Delay der AMPs liegt es nicht, sondern würde das Problem auch dann auftreten, wenn eine Zone auf Play ist und die andere auf Stop - dann würde das Klingeln in der vorher auf Stop gestandenen Zone nicht funktionieren. Es ist übrigens egal, ob die Zone, die läuft, per Klingelsignal angesprochen wird oder nicht. Solange in einer Zone "play" aktiv ist, funktioniert das Klingeln in jeder Zone, egal ob die auf Play oder Stop steht. Sobald alle Zonen auf Stop stehen, geht das Klingeln in allen Zonen nicht mehr richtig.
        Wenn alle Zonen auf Stop steht bzw. eher Power 0 schaltet der PM ja die Amps ab.
        Wenn eine deiner Zonen auf Play geht sollte es ja so sein das der PM diese Amp einschaltet und dann die o.g. Zeit im wartet bis die Amp an ist.

        Ich habe keine Ahnung was du machst, aber ich habe aktuell 5 reale Installationen NUC, Raspi, ODorid, RockPi, und 2 VMs zum testen hier am laufen.
        Habe gerade nochmal alle versucht, bei mir geht es.

        Schaltet das Relais erst so spät an? Hast du das schon mal versucht zu eruieren?
        Du kannst mal folgendes in einem neuen SSH-Fenster machen.

        cd /opt/music_server/
        sc wd stop
        sc pm stop
        php sqpm2 show

        Jetzt bekommst eine Übersicht was genau im PM passiert je Zone.
        Vielleicht siehst du da ob hier was zu spät ankommt.
        Kein Support per PN!

        Kommentar

        • Shogun1978
          Dumb Home'r
          • 03.01.2022
          • 27

          #19
          Ja, ich verstehe das auch nicht. Vor allem glaube ich auch, dass das in über 100 Installationen problemlos läuft. Aber sagen wir es mal so: ich werde gerne als Beta-Tester in unserer Firma eingesetzt, weil die wirklich komischen Fehler i.d.R. bei mir auftreten.

          Das Relais schaltet ohne Zeitverzug, das ist sofort da. Wie gesagt: wenn eine Zone auf Play steht, kommt das Klingelsignal auch an. Das läuft bei mir so:

          Im Home Assistant ist der Logitech Media Player für die jeweilige Zone hinterlegt. Ich schalte hier beispielsweise einen Radiosender ein. Der Befehlt geht an den LMS, als würde ich das ganze mit Squeeze Control vom Smartphone aus starten. Danach schaltet der Music-Server mit dem HTTP-Befehl das Relais ein und das Verstärkerboard ist direkt da.

          Sind ALLE Zonen auf Stop, dauert es kurz, bis die Musik spielt. Wenn mindestens eine Zone auf Play ist, startet die Musik schneller. Gleiches scheint beim Event der Fall zu sein. Das heißt, wenn eine Zone auf Play steht, klappt alles - damit liegt das Problem nicht bei den Verstärkern. Irgendwas ist anders, wenn mindestens ein Squeezelite Player auf Play steht. Dann reagieren alle anderen Instanzen von Squeezelite deutlich schneller. Das ist unabhängig vom Verstärker, die Boards reagieren immer direkt, sobald der PowerManager den Befehl zum an- oder abschalten gibt.

          Deshalb frage ich mich: was ist anders, wenn EINE Squeezelite Instanz läuft und wieso beeinflusst das offensichtlich das Reaktionsverhalten der anderen Instanzen, wenn ich etwas abspielen möchte? Ich habe jetzt mal gemessen: wenn keine Zone auf Play steht, dauert es 6-7 Sekunden, bevor Musik zu hören ist. Sobald mindestens eine Zone auf Play ist, dauert es nur 1-2 Sekunden, bis Musik zu hören ist. Deshalb hört man auch keinen Klingelton, denn der ist schon längt vorbei. In dem CLI Output habe ich auch gesehen, dass Power als auch Play direkt auf 1 springen, APC und PPC sind auch direkt auf On. Das heißt, der Stream startet eigentlich schon. Der Delay von 1-2 Sekunden kommt also vom AMP, was auch nachvollziehbar ist.

          Es liegt also daran, dass aus irgendeinem Grund mindestens eine Zone auf Play stehen muss, damit es ohne Zeitverzug bei den anderen Musik/Events gibt. Ich habe das jetzt mit dem Workaround gelöst, dass ich einen Dummy Player gebaut habe, der permanent läuft und auf einem Ausgang Musik abspielt. An diesem Ausgang hängt aber kein Lautsprecher, heißt der Stream läuft nur im Gerät. Daher "Dummy". Damit funktioniert alles. Ist aber extrem schräg.

          Der Intel Celeron J4125 ist deutlich schneller als der J1900. Und auch schneller als ein N3700. Deshalb kann es eigentlich nicht an der Performance liegen. Ich bin ratlos und einigermaßen verwirrt.

          Kommentar

          • hismastersvoice
            Supermoderator
            • 25.08.2015
            • 7318

            #20
            Ja, ich verstehe das auch nicht. Vor allem glaube ich auch, dass das in über 100 Installationen problemlos läuft. Aber sagen wir es mal so: ich werde gerne als Beta-Tester in unserer Firma eingesetzt, weil die wirklich komischen Fehler i.d.R. bei mir auftreten.
            Lass dir diese Gabe gut bezahlen :P
            Kein Support per PN!

            Kommentar

            • Shogun1978
              Dumb Home'r
              • 03.01.2022
              • 27

              #21
              Hehe, ich wünschte, das würde jemand tun ;-)

              Also ich versuche Ende der Woche noch was anderes: ich nutze mal eine komplett andere Plattform. Kein Embedded Mainboard (die Asrock die ich hab, kommen mit fest verlöteter CPU) sondern ein normales Mainboard mit einem i5-7400T, 8 GB RAM auf einem Asus Mainboard. Vielleicht liegt das wirklich an dem Embedded Kram, dass die Celeron CPUs irgendwie komisch sind. Ich werde berichten. Bis dahin lasse ich das mit dem Workaround/Dummy laufen. Das geht ja auch. Und deshalb wird nicht ein Watt mehr Strom verbraucht.

              Sorry für die ganzen Umstände, aber sowas bescheuertes hab ich bislang auch noch nicht erlebt.

              Kommentar


              • hismastersvoice
                hismastersvoice kommentierte
                Kommentar bearbeiten
                Kein Thema, ich suche gerne Fehler.
                Habe gerade mit Labmaster auch einen Fehler gefunden das die VM alle 6 Tage zum Stillstand gebracht hat.
                Das Loggen in der VM ist anders als bei den anderen System und hat das log kpl. gefüllt.
                Habe ich gerade gefixt.
                Wir wollen ja das möglichst viele Systeme laufen.

                Wenn es mit dem anderen Board auch nicht geht müsste man wirklich in die Tiefe, aber das sehen wir ja dann.

              • Shogun1978
                Shogun1978 kommentierte
                Kommentar bearbeiten
                Sehr cool! Also ganz im Ernst: größten Respekt vor deiner Arbeit! Ich versuche auch so gut es geht mitzuhelfen wenn es Probleme gibt. Bzw. die Soundkarte habe ich auch mal "auf Verdacht" gekauft, aber die kann ich tatsächlich empfehlen. Auch das blöde mit dem Auto-Mute konnte ich lösen. Aber hier stehe ich komplett auf dem Schlauch.

                Das Problem ist tatsächlich: da hängt unsere Türklingel zu 100% von ab. Geht der Music-Server nicht, geht die Klingel nicht :-D

                Jetzt schaue ich erstmal, was das neue Board Ende der Woche für einen Erfolg bringt bzw. Unterschied macht.

              • Shogun1978
                Shogun1978 kommentierte
                Kommentar bearbeiten
                Aus der Kategorie: nicht zur Strafe, nur zur Übung. Heute: Mainboard passt nicht ins Gehäuse. Bestell mir die passende HW und achte - wie so ein blutiger Anfänger - nicht darauf, dass ich für den Musikserver ein kurzes Rackgehäuse einsetze... Naja. Ich wollte eh alles mal wieder umbauen :-D

                Sobald das mal alles läuft gebe ich Feedback.
            • Shogun1978
              Dumb Home'r
              • 03.01.2022
              • 27

              #22
              Nach langer Zeit habe ich nun endlich den Kern des Problems gefunden, zumindest kann ich alles andere nun ausschließen. Ich habe mit drei Mainboards und zwei Soundkarten getestet:

              Asrock Q1900M (J1900 CPU)
              Asrock J4125M (J4125 CPU)
              Asus H710 mit i5-7400T CPU

              RAM ist Nebensache, immer 4 GB aufwärts

              Soundkarten waren einmal die Onboard-Karten und einmal die Terratec Aureon 7.1 PCIe.

              Beim Q1900M lief alles ohne Probleme. Beim Umbau auf J4125M und H710 machte die Terratec Probleme. Es liegt also eindeutig an der Soundkarte. Diese verursacht - je nach Aktualität des Mainbaords mal mehr und mal weniger Probleme. Beim Q1900M dachte ich erst, die CPU wäre zu langsam um das Klingelsignal auszulösen, tatsächlich gibt es aber auch hier scheinbar schon Probleme mit der Terratec. Bei den neueren Boards kommt es dann zu Rucklern und Haklern bei der Audioausgabe. Dies konnte ich beim J4125 noch über die Stromsparsteuerung korrigieren, nicht aber beim H710. Nachdem ich aber mit den Onboard-Soundkarten keinerlei Probleme habe auf dem jeweils identischen System, kann ich als Ursache tatsächlich die Soundkarte ausmachen.

              Daher gehe ich auf die Suche nach einer anderen Low-Profil Soundkarte für den 2HE-Server.

              Sobald ich was passendes habe, melde ich mich mit einer Erfolgsmeldung. Hoffentlich zumindest...

              Kommentar

              • Shogun1978
                Dumb Home'r
                • 03.01.2022
                • 27

                #23
                Und noch ein Update: heute kam die Creative Sound Blaster Audigy FX PCIe-Soundkarte:



                Einbauen, einschalten, läuft! Also ohne irgendwas fuhr der Rechner direkt hoch, es ging sofort alles: Musik, Klingel etc. Also lag es eindeutig an der Soundkarte. Leider ist die hier verlinkte Soundkarte nur 5.1 also 6 Kanäle bietet. Die 7.1. ist leider eine Full-Height PCIe Karte. Da ich einen 2 HE Server einsetze, kann ich die Full-Height Karte nicht einsetzen. Im Zweifelsfall brauche ich halt eine Karte mehr. Aktuell sollte ich aber mit zwei Karten hinkommen.

                Dickes Sorry an hismastersvoice für den ganzen Aufwand. Aber ich hoffe, wenigstens, dass es anderen hilft. Sollten Probleme auftreten bzw. sich das Teil im Langzeittest bewähren, gibt es natürlich ein Update. Aktuell läuft die Karte im J4125, der Aufruf der Klingel über die API dauert aber ca. 1-2 Sekunden länger als beim i5-7400T. Das stellt aber kein Problem darf, da der Klingelton trotzdem abgespielt wird. Die CPU-Geschwindigkeit spielt wohl doch eine kleine Rolle bei der Auslösung via API. Den Q1900 hab ich jetzt nicht ausprobiert, aber das sollte dann noch minimal langsamer sein als der J4125. Wenn ich nochmal Zeit und Lust habe, probiere ich das aus.

                Kommentar

                Lädt...