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

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Shogun1978
    Dumb Home'r
    • 03.01.2022
    • 27

    #1

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

    Ich habe ein interessantes Phänomen: wenn ich auf einem Player Musik laufen habe und per HTTP Befehl ein Doorbell-Event triggern möchte, wird das Event auch abgespielt. Läuft keine Musik auf dem Player, wird auch kein Event abgespielt. Der Effekt ist reproduzierbar. Der Verstärker im jeweiligen Raum wird per Power-Manager aktiviert und der Verstärkerkanal geht auf aktiv und nach dem Event wieder auf inaktiv. Aber es wird nur der Klingelsound abgespielt, wenn schon Musik läuft. Ich glaube, ich mache hier irgendwas falsch.
    • Versionen von MS4H, Lox Config etc.
      MS4H: 1.5.4.1_beta, OS: DietPi v8.7.1
    • Hardware
      Asrock Q1900M (Intel J1900 Quad-Core), 8 GB RAM, 128GB SSD, TERRATEC AUREON 7.1 PCIe PC Soundkarte intern 8-Kanal
    • Zonen intern Anzahl: derzeit 3
    • Zonen extern Anzahl: keine
    • Software Versionen MS4L / LMS / Squeezelite / Plugins: Logitech MS: 8.3.0~1664261103, Squeezelite: 1.9.9-1403
    Der HTTP-Befehl sieht wie folgt aus:
    "http://192.168.117.53/event/event.php?type=ring&file={{ringtone}}&zone={{rooms }}&zone_ext=0&vol=30&overlay_drop=30&autoplay=1"

    Getriggert wird dieser aus Home Assistant heraus, die variablen "ringtone" und "rooms" werden in Home Assistant generiert. Wie gesagt: wenn der Player schon aktiv ist und läuft, funktioniert auch das Event absolut perfekt. Wenn keine Musik läuft, wird zwar der Player gestartet und der PowerManager schaltet den Verstärkerkanal an, aber es kommt kein Klingelsound aus dem Lautsprecher.
  • hismastersvoice
    Supermoderator
    • 25.08.2015
    • 7318

    #2
    Erhöhe das Amp delay, der Event wartet vermutlich nicht lange genug bis die Amp ein ist.
    Kein Support per PN!

    Kommentar

    • Shogun1978
      Dumb Home'r
      • 03.01.2022
      • 27

      #3
      Ok, damit versuche ich es mal. Ich hatte schon von 1,5 auf 2,5 erhöht, aber ich kann das noch weiter hoch schrauben.

      Nachtrag: Habe es mit 5, 8 und 10 getestet. Mit 10 kommt das Klingeln immer durch, bei 8 und 5 nur sporadisch. Allerdings sind 10 Sekunden delay zwischen Klingel drücken und Klingeln selbst schon recht lange. Kann ich an irgendeiner Stelle etwas optimieren? Ist vielleicht mein System zu langsam? Der J1900 ist ein wenig angestaubt. Liegt es vielleicht daran?
      Zuletzt geändert von Shogun1978; 20.10.2022, 17:59.

      Kommentar

      • Shogun1978
        Dumb Home'r
        • 03.01.2022
        • 27

        #4
        Nach längerer Zeit muss ich leider sagen, dass die Türklingel nach wie vor massiv Probleme bereitet.

        Folgende Effekte kann ich beobachten:
        Wenn die Musik läuft und ich ein Overlay-Drop von sagen wir 20 einstelle und die Lautstärke der Klingel auf 30, funktioniert es meistens (auch nicht immer). Wenn die Musik aus ist und ich die gleichen Einstellungen verwende, passiert gar nichts. Nur der Verstärker wird angeschaltet, der Klingelton wird nicht gespielt. Stelle ich nun Overlay-Drop auf 0, so funktioniert die Klingel.

        Ich bin ehrlich gesagt ratlos, habe aber die Vermutung, dass ein Problem gibt zwischen Overlay-Drop und der aktuellen Lautstärke. Speziell, wenn diese 0 (also der Player aus) ist.

        Hat jemand vielleicht noch eine Idee?​

        Kommentar

        • hismastersvoice
          Supermoderator
          • 25.08.2015
          • 7318

          #5
          Ich habe jetzt deine URL in jeder erdenklichen Konstellation viele, wenig Zonen, Volume auf 0 etc durchgespielt. Wenn der Player auf "aus" ist, heißt das nicht das Volume auch = 0 ist.
          Es geht bei mir immer. Es braucht genau die 2,5 Sekunden die ich für das Amp-Delay meiner Verstärker brauche und dann läuft die Klingel.

          Getriggert wird dieser aus Home Assistant heraus, die variablen "ringtone" und "rooms" werden in Home Assistant generiert.
          Was heißt das genau?
          Da du weiter oben geschrieben hattest das zu versch. Delays bis 10 Sek. versucht hast, vermute ich das Problem eher hier.
          Warum sollte egal welches Relais oder auch die Amp 10 Sekunden für den Start brauchen?
          Die 2,5 Sek. bei mir sind dem geschuldet das ich eine ältere Amp habe die aber sehr gut klingt die nicht wie die anderen ~1 Sek. brauchen.
          Diese 2,5 Sek. finde ich schon sehr lange.

          Da du auch noch auf einer älteren Beta bist, kann ich das ganze natürlich nur an der aktuellen 1.5.5.2 vergleichen.
          Kein Support per PN!

          Kommentar

          • Shogun1978
            Dumb Home'r
            • 03.01.2022
            • 27

            #6
            So, nach längerer Pause (Krankheit, Haus fertig stellen etc.) komme ich mal wieder dazu. Ich werde vermutlich den ganzen Music-Server neu aufsetzen, ich befürchte, dass die CPU (J1900) einfach viel zu langsam ist. Der Bootvorgang dauert schon recht lange. Vielleicht löst sich damit das Problem.

            Mit dem "getriggert aus Home Assistant" ist gemeint, dass ich in Home Assistant einen Webhook von der Türklingel laufen lasse. Das heißt, wenn jemand auf die Klingel drückt, wird der Webhook in Home Assistant von der Klingel aufgerufen. Dieser Webhook löst dann einige Aktionen aus: 1. Notification auf die Smartphones und 2. API Call auf den Musikserver. Die Notification auf den Telefonen funktioniert, das heißt, die Aktion wird ausgelöst. Der Verstärker wird auch eingeschaltet (kann man hören). Aber es wird kein MP3 abgespielt. Bzw. man hört nichts. Ich versuche es einfach mit dem neueren Mainboard und CPU. Vielleicht hilft das.

            Kommentar

            • hismastersvoice
              Supermoderator
              • 25.08.2015
              • 7318

              #7
              Die CPU ist auf keinen Fall zu langsam, ein Raspi 3 kann das ohne Problem, mit 3 Zonen macht das ein Raspi 2 auch noch.


              Was passiert wenn du im Browser diese URL ausführst?

              Du schreibst du hörst das die Amp schaltet, die Frage ist dann immer noch wie lange sie nach Stromzufuhr braucht bis sie eine Signal ausgibt.
              Meine SMSL brauchen je nach Model 1,5-2,5 Sekunden dazu.

              Kein Support per PN!

              Kommentar

              • Shogun1978
                Dumb Home'r
                • 03.01.2022
                • 27

                #8
                So, nach längerer Zeit konnte ich mir das Thema nochmal anschauen. Da ich mit dem "alten" Mainboard mit Intel J1900 CPU nicht weiter kam, wollte ich ein Mainboard mit J4125 ausprobieren.

                J1900 vs J4125
                8 GB vs 4 GB RAM
                HDD identisch
                BIOS bootmode vs. UEFI bootmode
                TerraTec Aureon 7.1 PCIe identisch bei beiden Setups

                Hier ein paar Erkenntnisse, vielleicht hilft es dem ein oder anderen:

                Das Dietpi OS scheint mir etwas komisch. Ging beim J1900 noch alles einwandfrei mit Standard-Einstellungen, so hakelte/fragmentierte die Musik beim J4125. Was war der Fehler? Nach Stunden des Suchens fand ich den Übeltäter: die C-States. Beim J1900 konnte ich die Einstellung im Bios auf C7 (also Power-Safe bis recht weiter runter einstellen). Beim J4125 muss die Einstellung disabled werden, da sonst der hakelige/fragmentiere Knister-Sound entsteht. Problem gelöst. Vielleicht hilft das dem ein oder anderen ja bei dem Problem der hakeligen Wiedergabe. Der Fehler ist übrigens auf dem J4125 reproduzierbar. Kann eventuell die CPU-Generation betreffen.

                Dafür geht die Türklingel jetzt gar nicht mehr. Beim Auslösen des Events kommt zwar eine positive Rückmeldung ohne Fehler, aber es wird nichts abgespielt:

                Code:
                [B]-----------------------------------------------------------------------[/B]
                [B]Verbindung zum Server OK[/B]
                [B]-----------------------------------------------------------------------[/B]
                
                [B]-----------------------------------------------------------------------[/B]
                [B]livingroom[/B] (Mode = / Volume = / Shuffle = / Repeat = )
                [B]office_harry[/B] (Mode = / Volume = / Shuffle = / Repeat = )
                [B]-----------------------------------------------------------------------[/B]
                
                [B]-----------------------------------------------------------------------[/B]
                File = piano
                Wiedergabe-Volume = 30
                [B]-----------------------------------------------------------------------[/B]
                Zonen = 1,2
                Zonen extern = 0
                [B]-----------------------------------------------------------------------[/B]
                Signal = 0
                Repeat = 0
                Shuffle = 0
                Reset Repeat nach Event = 0
                Play nach Event = 0
                Sync nach Event = 0
                Ready-Impulse = kein VI angegeben.
                [B]-----------------------------------------------------------------------[/B]​
                Selbst der EventCreator bringt kein Klingelsignal zustande, was immerhin beim "alten" Setup mit dem J1900 funktionierte. Dafür war hier eine hohe Latenz zwischen Klingelbetätigung und Klingelsignal in den Räumen (und manchmal gar kein Klingelsignal) zu vernehmen.

                Aktuell stehe ich ohne Klingel da, nutze also nur noch das Smartphone um festzustellen ob jemand Einlass verlangt ;-)

                Irgendwelche Ideen, warum sogar der EventCreator kein Signal erzeugt? Ich habe es mit der aktuellsten Stable und der Beta getestet, bei beiden das gleiche Problem.

                Kommentar


                • hismastersvoice
                  hismastersvoice kommentierte
                  Kommentar bearbeiten
                  livingroom (Mode = / Volume = / Shuffle = / Repeat = )
                  office_harry (Mode = / Volume = / Shuffle = / Repeat = )

                  Er bekommt vom LMS keine Werte, obwohl er verbunden ist.
                  Kann von hieraus nicht sagen warum...

                  Support-Daten?

                  Du scheinst den Befehl auch nicht im Browser auszuführen.

                • Shogun1978
                  Shogun1978 kommentierte
                  Kommentar bearbeiten
                  Doch, ich habe es sowohl im Browser als auch in Postman getestet, sowohl mit GET, POST als auch PUT. Das Ergebnis ist immer identisch: diese Ausgabe und kein Sound. Welche Support Daten benötigst du? Kann ich irgendwo ein Log-File einsehen um dem mal nachzugehen?

                  Was die Soundkarte angeht kann ich übrigens sagen: die funktioniert gut. BIslang habe ich nur zwei Kanäle laufen, aber die kann bis zu 8 (7.1 Karte). Vorteil in meinem Fall: die Karte kann in in einen Low-Profil-Slot eingebaut werden. Bei mir ist das alles in einem Rack (2HE Server Gehäuse für den Music-Server). Ggfs. kann man die mit in die Liste der kompatiblen Karten (falls diese Liste gepflegt wird). Falls ich noch was testen soll in dem Zusammenhang, kann ich das gerne tun. Die anderen Karten auf der Liste sind teilweise nicht mehr verfügbar.


                • hismastersvoice
                  hismastersvoice kommentierte
                  Kommentar bearbeiten
                  WebUI -> Hilfe -> SupportDaten
              • Shogun1978
                Dumb Home'r
                • 03.01.2022
                • 27

                #9
                Manchmal sieht man den Wald vor lauter Bäumen nicht. Ich habe auch den MSG-Logger mitlaufen lassen, wenn ich sowohl per Web-Browser als auch per Event Group Creater den Befehl ausgeführt habe. Anbei die Ergebnisse.
                Angehängte Dateien

                Kommentar

                • Shogun1978
                  Dumb Home'r
                  • 03.01.2022
                  • 27

                  #10
                  Kann ich von meiner Seite aus noch was tun? Oder irgendwas ausprobieren?

                  Was ich noch anführen kann: weder Klingel über den Event Creator noch über Postman/Webbrowser Aufruf wird etwas abgespielt. Ebenso funktioniert der Power Manager nun gar nicht mehr. Getestet habe ich sowohl die letzte Stable als auch die letzte Beta Version. Wenn ich vom Music-Server aus der CLI den Power Manager Befehl mit Curl ausführe, funktioniert er. Ich weiß leider nicht, wo ich ansetzen kann um das Problem zu lösen.
                  Zuletzt geändert von Shogun1978; 28.04.2023, 10:10.

                  Kommentar

                  • Shogun1978
                    Dumb Home'r
                    • 03.01.2022
                    • 27

                    #11
                    Also ich habe noch zwei weitere Dinge festgestellt:
                    - unter Network Settings kann ich bspw. keinen Adapter eintragen. Ich kann in das Feld klicken, aber nichts eintippen.
                    - es ist in den Zonen immer Volume-Reset aktiv. Ich kann den Haken rausnehmen, auf Save klicken, aber trotzdem ist der Haken nach dem Reload wieder da.
                    So langsam glaube ich, dass es irgendein Problem mit der Web-UI gibt. Da vermute ich aber mal was auf Dietpi-Seite, denn in meiner alten Installation lief das noch alles ohne Probleme. Zumal im msg.log folgendes immer wieder auftaucht (auch wenn ich nichts anklicken:
                    Code:
                    SyntaxError: Unexpected token , in JSON at position 36
                        at JSON.parse (<anonymous>)
                        at Object.<anonymous> (/opt/music_server/msg/service/music-server/index.js:13:21)
                        at Module._compile (internal/modules/cjs/loader.js:999:30)
                        at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
                        at Module.load (internal/modules/cjs/loader.js:863:32)
                        at Function.Module._load (internal/modules/cjs/loader.js:708:14)
                        at Module.require (internal/modules/cjs/loader.js:887:19)
                        at require (internal/modules/cjs/helpers.js:74:18)
                        at Object.<anonymous> (/opt/music_server/msg/service/index.js:7:21)
                        at Module._compile (internal/modules/cjs/loader.js:999:30)
                    undefined:3
                        "zones": ,
                                 ^​

                    Kommentar

                    • hismastersvoice
                      Supermoderator
                      • 25.08.2015
                      • 7318

                      #12
                      Bin zur Zeit beruflich viel unterwegs und habe deswegen keine Zeit.

                      Aber es ist kein generelles Problem und tritt nur bei dir auf.

                      Warum ein jemand den Adapter in den Netzwerk Einstellungen ändern? Der MS4H trägt den absichtlich seiner ein.
                      Wenn du mehr als einen NIC hast, dann ließ die Anleitung!


                      Wo du ansetzen solltest kann ich dir nicht sagen, aber vielleicht nicht ganz so exotische Hardware nutzen, und nicht ganz so viel an Bios und anderen Dingen herum spielen.

                      Wenn ein System stabil läuft fängt man an zu optimieren und nicht schon von Beginn an Powersafe States etc. ändern.

                      Da der MS4 H bei mir sowohl auf x86 als auch Raspi und Odroid problemlos auf DietPi läuft ist das sicher auch nicht der Fehler.

                      Btw:
                      Aktuell laufen 120 x86 Installationen auf DietPi 64Bit.
                      Innk. Raspi etc ~218

                      Kein Support per PN!

                      Kommentar

                      • Shogun1978
                        Dumb Home'r
                        • 03.01.2022
                        • 27

                        #13
                        Das ist ja genau das Problem: als jemand, der aus der IT kommt, kenn ich die Grundregeln. Heißt: supportetes OS (DietPi), KEINE manuellen Settings in BIOS oder dem OS vornehmen (das hat mich nämlich bei der ersten Installation zurück geworfen). Was ich gemacht habe:

                        Alles auf Standard im BIOS. Nur Onboard-Audio und WiFi aus. Eine LAN Karte (Onboard) angeschaltet. DietPi installiert. OpenSSH drauf (wie in der Anleitung). Danach nur das Script. Und das komplett verrückte ist: mit dem Asrock Q1900M Mainboard (J1900 Intel CPU) klappt alles. Mit dem Asrock J4125M Mainboard (J4125 Intel CPU) hab ich die Probleme. In der /etc/network/interfaces taucht ein Wifi Eintrag auf - obwohl ich keinen WiFi Adapter aktiv habe.

                        Dann hab ich die C-State Settings ausprobiert, die scheinbar dafür sorgen, dass der Sound hakelig wird. Erst war alles auf Standard (C-States an), der Sound war hakelig. Dann C-State disabled, danach ging es. Warum auch immer! Denn der J4125 hat mal locker doppelt so viel Leistung wie der J1900, selbst wenn da Power-Safe Mechanismen der CPU greifen ist die Leistung des J4125 immer noch deutlich über der des J1900. Ansonsten: identische Grafikkarte, gleiche HDD, nur das Board wurde getauscht und es sind 4 statt 8 GB RAM - aber der wird sowieso nur zu einem Bruchteil genutzt. Nach dem Tausch vom Mainboard habe ich das DietPi neu installieren müssen, da der J1900 Probleme beim UEFI-Boot machte. Ich bin jetzt an einem Punkt, wo ich überlege ein anderes Board mit Intel i5-6600T oder sowas zu holen.

                        Deshalb versteh ich auch nicht mehr, wo das Problem läuft. Eine von den 120 x86 Installation war ja mal meine :-D Den Wechsel von J1900 auf J4125 hab ich nur versucht, weil das Webinterface extrem langsam war und ich daher glaub ich auf Probleme mit der Türklingel hatte.

                        Fazit: ich mach jetzt den Rollback auf den J1900 (damit es wieder 120 Installationen sind) und schau mich nach aktuellerer Hardware um. Ich möchte halt alles gerne im Rack haben, daher die PCIe Karte und eine möglichst stromsparende CPU. Ein Problem (das auto-mute nach einem Reboot) konnte ich mittlerweile mit einem Eintrag in die rc.local beheben. Ich mach morgen mal den Rollback und werde berichten.

                        Kommentar

                        • Shogun1978
                          Dumb Home'r
                          • 03.01.2022
                          • 27

                          #14
                          So, es hat mich jetzt den ganzen Tag gekostet, aber ich habe den Fehler gefunden! Meine Installation läuft niemals durch! Woran das liegt, konnte ich auch herausfinden. Ich habe alles versucht: UEFI Mode, BIOS Mode vom DietPi, rauf und runter. Die Lösung war dann folgende:

                          Ich habe erst die Installation remote gestartet. Irgendwann hat mein PC sich abgeschaltet (Laptop, power safe). Ich hab mir dabei nichts gedacht, der M4H Server kam hoch. Aber mit Problemen. Dann habe ich eben die Installation lokal auf der CLI gestartet. Das Script bei jedes Mal hier hängen:

                          Code:
                          sudo /opt/music_server/mstools send_stat >/dev/null 2>&1
                          Ich habe diese Zeile im Script auskommentiert und siehe da: die Installation läuft durch, ich kann alles nutzen. Leider weiß ich nicht, was diese Funktion genau macht, aber wenn ich es auskommentiere, kam alles sauber hoch. Was genau macht der Befehl?

                          Kommentar

                          • Shogun1978
                            Dumb Home'r
                            • 03.01.2022
                            • 27

                            #15
                            Nochmal ein Update: nachdem ich jetzt alles wieder am Laufen habe, ist das eigentlich Problem nicht gelöst :-/

                            Aber ich konnte das Problem denke ich final eingrenzen: wenn Musik läuft, ist ein der squeezelite Player für den jeweiligen Raum aktiv. Heißt: das Overlay greift und spielt den Sound ab. Wenn aber der Squeezelite Player nicht läuft, dauert es auch beim Einschalten des Radios manchmal bis zu 7 Sekunden, bis der Stream startet. Wenn der Squeezelite Player 5-7 Sekunden braucht um bereit zu sein etwas abzuspielen, ist der Klingelsound schon zu Ende. Wenn er aber mal schneller hoch kommt, bspw. nach 2-4 Sekunden, höre ich den letzten Rest des Klingelsounds. braucht er oben genannte 5-7 Sekunden ist der Sound schon rum bevor der Player an ist.

                            Allerdings lustiger Effekt: läuft in einer der Zonen Musik, so wird auch in den anderen Zonen der Klingelsound abgespielt. Läuft in keiner Zone die Musik, dann klappt es mit dem Klingelsound nicht. So langsam weiß ich nicht mehr, was ich machen soll.

                            Habe kurzfristig einen Workaround gefunden: ich habe einen Dummy-Player erstellt, der permanent läuft, aber an dem kein Lautsprecher angeschlossen ist. Damit ist ein squeezelite-Player aktiv und somit kommt auf den anderen Playern direkt der Klingelsound, auch wenn diese zu dem Zeitpunkt inaktiv sind.
                            Zuletzt geändert von Shogun1978; 01.05.2023, 10:14.

                            Kommentar

                            Lädt...