LoxBerry Plugin SqueezeLite

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Prof.Mobilux
    Supermoderator
    • 25.08.2015
    • 4590

    Christian Fenzl Super Tipp! Hatte gestern schon in den Quellcode geschaut und lauter Debug-Meldungen gesehen - wusste nur nicht wie ich an die herankomme :-) Bei mir betrifft es im Übrigen auch nicht-gesyncte Zonen! Und jeglichen Content - Radiostream, Spotify, lokale MP3s. Und ausschließlich die Texteingänge. Die UDP-Eingänge funktionieren wunderbar und ohne jegliche Ausfälle.

    Ich debugge das mal - vielleicht werde ich daraus schlauer.
    🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


    LoxBerry - Beyond the Limits

    Kommentar

    • Prof.Mobilux
      Supermoderator
      • 25.08.2015
      • 4590

      Zwischenstand:

      Ich habe das Gateway deaktiviert und gespeichert. Es wurde aber nicht automatisch beendet. Also habe ich mit "kill" nachgeholfen. Danach manuell gestartet und alle Texteingänge wurden sofort aktualisiert!

      Wenn sich das so bestätigt (ich lasse das mal so manuell laufen) muss es irgendetwas mit dem Starten des Gateways bei mir zu tun haben. Ich hatte vorher jedoch mehrmals den LoxBerry, den Miniserver und den LMS neu gestartet - ein alter Gateways-Prozess kann es also auch nicht gewesen sein.

      Ich melde mich.
      🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


      LoxBerry - Beyond the Limits

      Kommentar

      • Prof.Mobilux
        Supermoderator
        • 25.08.2015
        • 4590

        Jetzt geht es wieder nicht mehr Beim ersten manuellen Starten auf der Konsole habe ich sofort einen Haufen Debug-Meldungen bekommen, obwohl alle Zonen ausgeschaltet gewesen sein dürften:

        Code:
        loxberry@loxberry:~/webfrontend/cgi/plugins/squeezelite/bin $ ./lms2udp.pl --activate
        MSIP 192.168.3.210 MSPORT 80 LMS 192.168.3.200
        WARNING: Socket to 192.168.3.200 on port 9090 seems to be offline - will retry
        server waiting for tcp client connection on port 9092
        Created udp out socket to 192.168.3.210 on port 9093
        Loop delay: 150000 microseconds
        Process line listen 1
        
        Process line players 0  count%3A5 playerindex%3A0 playerid%3Aaa%3Aaa%3Aa7%3Ac8%3A1c%3A33 uuid%3A ip%3A192.168.3.200%3A33832 name%3AApple-TV model%3Asqueezelite isplayer%3A1 displaytype%3Anone canpoweroff%3A1 connected%3A1 playerindex%3A1 playerid%3Ab8%3A27%3Aeb%3A15%3A9f%3A38 uuid%3A ip%3A192.168.3.34%3A36986 name%3ATerasse model%3Asqueezelite isplayer%3A1 displaytype%3Anone canpoweroff%3A1 connected%3A1 playerindex%3A2 playerid%3A74%3Ada%3A38%3A05%3A07%3A66 uuid%3A ip%3A192.168.3.55%3A49384 name%3AHannes model%3Asqueezelite isplayer%3A1 displaytype%3Anone canpoweroff%3A1 connected%3A1 playerindex%3A3 playerid%3Aaa%3Aaa%3A4b%3A10%3A30%3Aea uuid%3A ip%3A192.168.3.200%3A33957 name%3AK%C3%BCche model%3Asqueezelite isplayer%3A1 displaytype%3Anone canpoweroff%3A1 connected%3A1 playerindex%3A4 playerid%3Aaa%3Aaa%3A85%3A38%3Abe%3A18 uuid%3A ip%3A192.168.3.200%3A33841 name%3ABadOG model%3Asqueezelite isplayer%3A1 displaytype%3Anone canpoweroff%3A1 connected%3A1
        
        Process line syncgroups
        
        DEBUG: #b8:27:eb:15:9f:38# #name# #Terasse#
        DEBUG: -->URL http://****:*****@192.168.3.210:80/dev/sps/io/LMS%20b8%3A27%3Aeb%3A15%3A9f%3A38%20name/Terasse
        DEBUG: #aa:aa:4b:10:30:ea# #name# #Küche#
        DEBUG: -->URL http://****:*****@192.168.3.210:80/dev/sps/io/LMS%20aa%3Aaa%3A4b%3A10%3A30%3Aea%20name/K%C3%BCche
        DEBUG: #aa:aa:85:38:be:18# #name# #BadOG#
        DEBUG: -->URL http://****:*****@192.168.3.210:80/dev/sps/io/LMS%20aa%3Aaa%3A85%3A38%3Abe%3A18%20name/BadOG
        ##  START SEND ######################################################
        b8:27:eb:15:9f:38 connected 1
        b8:27:eb:15:9f:38 name Terasse
        aa:aa:4b:10:30:ea name Küche
        aa:aa:4b:10:30:ea connected 1
        aa:aa:85:38:be:18 connected 1
        aa:aa:85:38:be:18 name BadOG
        74:da:38:05:07:66 connected 1
        ## FINISHED SEND 210Bytes ###########################
        Fast response mode
        
        [...]
        Dann hatte ich den lms2udp per <Strg+C> beendet um mein obiges Posting zu schreiben. Dann nochmal gestartet und ich bekomme keine weiteren meldungen mehr, egal was ich am LMS mache:

        Code:
        loxberry@loxberry:~/webfrontend/cgi/plugins/squeezelite/bin $ ./lms2udp.pl --activate
        MSIP 192.168.3.210 MSPORT 80 LMS 192.168.3.200
        WARNING: Socket to 192.168.3.200 on port 9090 seems to be offline - will retry
        server waiting for tcp client connection on port 9092
        Created udp out socket to 192.168.3.210 on port 9093
        Loop delay: 150000 microseconds
        DEBUG: Ping-Pong
        DEBUG: Ping-Pong
        DEBUG: Ping-Pong
        ^C
        Vor dem Ping Pong habe ich mehrmals ein Lied (Spotify Stream) auf einer der Zonen gestartet und gestoppt. Sieht mir irgendwie danach aus, als ob der LMS nicht mehr antwortet oder sendet?

        Update: Mir fällt gerade auf, dass immer die Meldung "WARNING: Socket to 192.168.3.200 on port 9090 seems to be offline - will retry" kommt. 192.168.3.200 ist der LMS... Dann ist auch klar warum er keine Updates mehr bekommt. Nur: Was habe ich gemacht?!?
        Zuletzt geändert von Prof.Mobilux; 09.03.2017, 06:21.
        🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


        LoxBerry - Beyond the Limits

        Kommentar

        • Peter B
          MS Profi
          • 29.08.2015
          • 537

          Servus

          wollte heute das neue Plugin auf einem anderen Loxberry Installieren da kommt zum Schluss folgende Fehlermeldung
          INFO: Starte Plugin-Installation
          OK: Plugin-Archiv erfolgreich hochgeladen
          INFO: Extrahiere Plugin-Archiv
          INFO: Command: /usr/bin/unzip -d /tmp/uploads/WNIUJYH8YT /tmp/uploads/WNIUJYH8YT/WNIUJYH8YT.zip
          Archive: /tmp/uploads/WNIUJYH8YT/WNIUJYH8YT.zip
          inflating: /tmp/uploads/WNIUJYH8YT/postupgrade.sh
          inflating: /tmp/uploads/WNIUJYH8YT/preinstall.sh
          inflating: /tmp/uploads/WNIUJYH8YT/preupgrade.sh
          inflating: /tmp/uploads/WNIUJYH8YT/README.md
          creating: /tmp/uploads/WNIUJYH8YT/config/
          inflating: /tmp/uploads/WNIUJYH8YT/config/example.cfg
          creating: /tmp/uploads/WNIUJYH8YT/cron/
          inflating: /tmp/uploads/WNIUJYH8YT/cron/cron.15min
          inflating: /tmp/uploads/WNIUJYH8YT/cron/cron.hourly
          creating: /tmp/uploads/WNIUJYH8YT/daemon/
          inflating: /tmp/uploads/WNIUJYH8YT/daemon/daemon
          creating: /tmp/uploads/WNIUJYH8YT/data/
          inflating: /tmp/uploads/WNIUJYH8YT/data/info.txt
          extracting: /tmp/uploads/WNIUJYH8YT/data/squeezelite
          inflating: /tmp/uploads/WNIUJYH8YT/data/squeezelite-armv6hf
          inflating: /tmp/uploads/WNIUJYH8YT/data/squeezelite-x86
          creating: /tmp/uploads/WNIUJYH8YT/icons/
          inflating: /tmp/uploads/WNIUJYH8YT/icons/icon_128.png
          inflating: /tmp/uploads/WNIUJYH8YT/icons/icon_256.png
          inflating: /tmp/uploads/WNIUJYH8YT/icons/icon_512.png
          extracting: /tmp/uploads/WNIUJYH8YT/icons/icon_64.png
          creating: /tmp/uploads/WNIUJYH8YT/log/
          inflating: /tmp/uploads/WNIUJYH8YT/log/ABOUT
          creating: /tmp/uploads/WNIUJYH8YT/templates/
          creating: /tmp/uploads/WNIUJYH8YT/templates/de/
          inflating: /tmp/uploads/WNIUJYH8YT/templates/de/help.txt
          inflating: /tmp/uploads/WNIUJYH8YT/templates/de/language.txt
          creating: /tmp/uploads/WNIUJYH8YT/templates/en/
          inflating: /tmp/uploads/WNIUJYH8YT/templates/en/help.txt
          inflating: /tmp/uploads/WNIUJYH8YT/templates/en/language.txt
          creating: /tmp/uploads/WNIUJYH8YT/templates/multi/
          inflating: /tmp/uploads/WNIUJYH8YT/templates/multi/help.html
          inflating: /tmp/uploads/WNIUJYH8YT/templates/multi/help_lms2udp.html
          inflating: /tmp/uploads/WNIUJYH8YT/templates/multi/lms2udp.html
          inflating: /tmp/uploads/WNIUJYH8YT/templates/multi/settings.html
          inflating: /tmp/uploads/WNIUJYH8YT/templates/multi/templatebuilder.html
          inflating: /tmp/uploads/WNIUJYH8YT/templates/multi/topmenu.html
          inflating: /tmp/uploads/WNIUJYH8YT/templates/multi/virtualout.xml
          creating: /tmp/uploads/WNIUJYH8YT/uninstall/
          inflating: /tmp/uploads/WNIUJYH8YT/uninstall/uninstall
          creating: /tmp/uploads/WNIUJYH8YT/webfrontend/
          creating: /tmp/uploads/WNIUJYH8YT/webfrontend/cgi/
          creating: /tmp/uploads/WNIUJYH8YT/webfrontend/cgi/bin/
          inflating: /tmp/uploads/WNIUJYH8YT/webfrontend/cgi/bin/lms2udp.pl
          inflating: /tmp/uploads/WNIUJYH8YT/webfrontend/cgi/bin/udpreceiver.pl
          inflating: /tmp/uploads/WNIUJYH8YT/webfrontend/cgi/index.cgi
          inflating: /tmp/uploads/WNIUJYH8YT/webfrontend/cgi/kill_squeezelite.sh
          creating: /tmp/uploads/WNIUJYH8YT/webfrontend/cgi/lib/
          inflating: /tmp/uploads/WNIUJYH8YT/webfrontend/cgi/lib/Basics.pm
          inflating: /tmp/uploads/WNIUJYH8YT/webfrontend/cgi/lms2udp.cgi
          inflating: /tmp/uploads/WNIUJYH8YT/webfrontend/cgi/restart_lms2udp.sh
          inflating: /tmp/uploads/WNIUJYH8YT/webfrontend/cgi/sq2lox.php
          inflating: /tmp/uploads/WNIUJYH8YT/webfrontend/cgi/start_instances.cgi
          inflating: /tmp/uploads/WNIUJYH8YT/webfrontend/cgi/templatebuilder.cgi
          creating: /tmp/uploads/WNIUJYH8YT/webfrontend/html/
          creating: /tmp/uploads/WNIUJYH8YT/webfrontend/html/images/
          inflating: /tmp/uploads/WNIUJYH8YT/webfrontend/html/images/dice.png
          extracting: /tmp/uploads/WNIUJYH8YT/webfrontend/html/images/dice_30_30.png
          extracting: /tmp/uploads/WNIUJYH8YT/webfrontend/html/images/dice_50_50.png
          inflating: /tmp/uploads/WNIUJYH8YT/webfrontend/html/images/icon_128.png
          inflating: /tmp/uploads/WNIUJYH8YT/webfrontend/html/images/icon_256.png
          inflating: /tmp/uploads/WNIUJYH8YT/webfrontend/html/images/icon_512.png
          extracting: /tmp/uploads/WNIUJYH8YT/webfrontend/html/images/icon_64.png
          inflating: /tmp/uploads/WNIUJYH8YT/webfrontend/html/images/VTI.png
          inflating: /tmp/uploads/WNIUJYH8YT/webfrontend/html/style.css
          inflating: /tmp/uploads/WNIUJYH8YT/apt
          inflating: /tmp/uploads/WNIUJYH8YT/plugin.cfg
          inflating: /tmp/uploads/WNIUJYH8YT/postinstall.sh
          OK: Plugin-Archiv erfolgreich entpackt
          INFO: Author: Christian Fenzl
          INFO: Email: christiantf@gmx.at
          INFO: Version: 0.4.0
          INFO: Name: squeezelite
          INFO: Folder: squeezelite
          INFO: Title: Squeezelite Player
          INFO: Interface: 1.0
          OK: Alle Konfigurationsparameter vorhanden
          INFO: Plugin ist bereits installiert -> Upgrade wird durchgeführt
          INFO: Starte Skript PREUPGRADE
          INFO: Command: /bin/sh "/tmp/uploads/WNIUJYH8YT/preupgrade.sh" "WNIUJYH8YT" "squeezelite" "squeezelite" "0.4.0" "/opt/loxberry"
          INFO: Creating temporary folders for upgrading
          INFO: Backing up existing config files
          '/opt/loxberry/config/plugins/squeezelite/' -> '/tmp/WNIUJYH8YT_upgrade/config/squeezelite'
          '/opt/loxberry/config/plugins/squeezelite/example.cfg' -> '/tmp/WNIUJYH8YT_upgrade/config/squeezelite/example.cfg'
          INFO: Backing up existing log files
          cp: cannot stat '/opt/loxberry/log/plugins/squeezelite/': No such file or directory
          OK: Skript ohne Fehler ausgeführt
          INFO: Deinstalliere alte Installation
          INFO: Starte Skript PREINSTALL
          INFO: Command: /bin/sh "/tmp/uploads/WNIUJYH8YT/preinstall.sh" "WNIUJYH8YT" "squeezelite" "squeezelite" "0.4.0" "/opt/loxberry"
          INFO: Squeezelite Plugin makes sure everything is encoded in Unix style (running dos2unix)...
          INFO: dos2unix has finished
          OK: Skript ohne Fehler ausgeführt
          INFO: Installiere Konfigurationsdateien
          '/tmp/uploads/WNIUJYH8YT/config/example.cfg' -> '/opt/loxberry/config/plugins/squeezelite/example.cfg'
          OK: Alle Dateien erfolgreich installiert
          INFO: Installiere Templatedateien
          '/tmp/uploads/WNIUJYH8YT/templates/de/language.txt' -> '/opt/loxberry/templates/plugins/squeezelite/de/language.txt'
          '/tmp/uploads/WNIUJYH8YT/templates/de/help.txt' -> '/opt/loxberry/templates/plugins/squeezelite/de/help.txt'
          '/tmp/uploads/WNIUJYH8YT/templates/en/language.txt' -> '/opt/loxberry/templates/plugins/squeezelite/en/language.txt'
          '/tmp/uploads/WNIUJYH8YT/templates/en/help.txt' -> '/opt/loxberry/templates/plugins/squeezelite/en/help.txt'
          '/tmp/uploads/WNIUJYH8YT/templates/multi/settings.html' -> '/opt/loxberry/templates/plugins/squeezelite/multi/settings.html'
          '/tmp/uploads/WNIUJYH8YT/templates/multi/topmenu.html' -> '/opt/loxberry/templates/plugins/squeezelite/multi/topmenu.html'
          '/tmp/uploads/WNIUJYH8YT/templates/multi/templatebuilder.html' -> '/opt/loxberry/templates/plugins/squeezelite/multi/templatebuilder.html'
          '/tmp/uploads/WNIUJYH8YT/templates/multi/help.html' -> '/opt/loxberry/templates/plugins/squeezelite/multi/help.html'
          '/tmp/uploads/WNIUJYH8YT/templates/multi/virtualout.xml' -> '/opt/loxberry/templates/plugins/squeezelite/multi/virtualout.xml'
          '/tmp/uploads/WNIUJYH8YT/templates/multi/lms2udp.html' -> '/opt/loxberry/templates/plugins/squeezelite/multi/lms2udp.html'
          '/tmp/uploads/WNIUJYH8YT/templates/multi/help_lms2udp.html' -> '/opt/loxberry/templates/plugins/squeezelite/multi/help_lms2udp.html'
          OK: Alle Dateien erfolgreich installiert
          INFO: Installiere DAEMON
          '/tmp/uploads/WNIUJYH8YT/daemon/daemon' -> '/opt/loxberry/system/daemons/plugins/squeezelite'
          OK: Alle Dateien erfolgreich installiert
          INFO: Setze Berechtigungen: /bin/chmod 755 /opt/loxberry/system/daemons/plugins/squeezelite
          OK: Berechtigungen erfolgreich gesetzt
          INFO: Installiere Cron-Job-Dateien
          '/tmp/uploads/WNIUJYH8YT/cron/cron.15min' -> '/opt/loxberry/system/cron/cron.15min/squeezelite'
          '/tmp/uploads/WNIUJYH8YT/cron/cron.hourly' -> '/opt/loxberry/system/cron/cron.hourly/squeezelite'
          OK: Alle Cronjob-Dateien erfolgreich installiert
          INFO: Setze Berechtigungen: /bin/chmod -R 755 /opt/loxberry/system/cron/
          OK: Berechtigungen erfolgreich gesetzt
          INFO: Installiere Daten-Dateien
          '/tmp/uploads/WNIUJYH8YT/data/info.txt' -> '/opt/loxberry/data/plugins/squeezelite/info.txt'
          '/tmp/uploads/WNIUJYH8YT/data/squeezelite' -> '/opt/loxberry/data/plugins/squeezelite/squeezelite'
          '/tmp/uploads/WNIUJYH8YT/data/squeezelite-armv6hf' -> '/opt/loxberry/data/plugins/squeezelite/squeezelite-armv6hf'
          '/tmp/uploads/WNIUJYH8YT/data/squeezelite-x86' -> '/opt/loxberry/data/plugins/squeezelite/squeezelite-x86'
          OK: Alle Dateien erfolgreich installiert Software error:

          mkdir /opt/loxberry/log/plugins: Permission denied at /opt/loxberry/webfrontend/cgi/system/plugininstall.cgi line 999.

          Kommentar


          • Christian Fenzl
            Christian Fenzl kommentierte
            Kommentar bearbeiten
            Hi Peter,
            das kommt NACH den plugineigenen Setup-Scripts. Bist du sicher, dass du beim Testen deines Alexa-Plugins (Ramdisk) hier nicht irgendwas zerbröselt hast?
            lg, Christian

          • Prof.Mobilux
            Prof.Mobilux kommentierte
            Kommentar bearbeiten
            Kann jetzt grad nicht im Detail gucken, sieht aber so aus als ob er keine Berechtigung für das Verzeichnis /opt/loxberry/log/plugins hat. Da hast Du irgendetwas kaputt gespielt...

          • Peter B
            Peter B kommentierte
            Kommentar bearbeiten
            Nein das ist ein anderer Loxberry, aber nach 2x neustart hat es dann funktioniert mit dem Installieren....
        • Christian Fenzl
          Lebende Foren Legende
          • 31.08.2015
          • 11200

          Fehler Nr. 1 (Restart-Problem) ist gefunden - Der cron.hourly/squeezelite Job läuft mit sh (statt bash) - offenbar ist kill in dash anders als in bash (kill -n 0 geht nicht)
          Somit löscht das Script immer die PID-Files, und das Stoppen/Starten funktioniert nicht mehr richtig.
          Wenn man auf #!/bin/bash ändert, funktioniert's.
          Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

          Kommentar

          • Christian Fenzl
            Lebende Foren Legende
            • 31.08.2015
            • 11200

            Fehler Nr. 2 (Warning beim Start) Gelöst. Die Abfrage, ob die Verbindung steht, kommt zu schnell (beim Pi1 war das kein Problem, beim Pi3 schon). Eine Sekunde Pause dazwischen, und schon kann auch sicher geprüft werden, ob die Verbindung funktioniert. Prof.Mobilux Das könnte implizit auch dazu geführt haben, dass in einem Fall bei dir die Verbindung zum LMS nicht sauber aufgebaut wurde.
            Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

            Kommentar

            • Christian Fenzl
              Lebende Foren Legende
              • 31.08.2015
              • 11200

              hismastersvoice
              Verloren geht bei mir auch nichts, wenn, dann nur durch einen Logikfehler.
              Ich habe den gesamten Status aller Zonen immer in einem Hash. Ich frage beim LMS nur dann beim LMS nach, wenn eine Meldung vom LMS impliziert, dass sich damit auch was anderes geändert hat. Wenn also von einer Zone ein sync kommt, frage ich ab, wer aller nun Bestandteil dieser Gruppe ist.

              Dass "Zone ausgeschaltet - <Interpret>" an dem MS hinausgeht, kann nur damit zusammenhängen, dass beim Skippen der LMS kurz ein playlist stop sendet, bevor der nächste Titel mit playlist play ... kommt. Deswegen muss ist den mode abfragen. Vermutlich passiert das zu früh. Es überschneidet sich blöd, deswegen geht's manchmal nicht.

              Ich hab zusätzlich zum Status aller Zonen einen zweiten Hash mit den Deltas. Jede Änderung schreibe ich in den Status-Hash und in den Delta-Hash. Das Delta ist kein Stack, sondern ein Wert pro möglichem Status (z.B. {Zone}{Volume}). Nach jedem Zyklus wird das Delta gesendet.
              Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

              Kommentar


              • hismastersvoice
                hismastersvoice kommentierte
                Kommentar bearbeiten
                Ich frage beim LMS nicht nochmal nach (außer bei sync), ich nutze direkt die Werte die in der Meldung mitgeliefert werden.
                Dazu musste ich etwas an Regeln aufbauen aber so habe ich nicht die Arbeit des vergleichens.
                Ich teile die Meldungen in 5 Teile auf MAC Wert 1...4 und lasse so die Regeln arbeiten.
                Der LMS sendet im CLI ja selber nur wenn Änderungen statt finden, deswegen habe ich mir das erspart.

                Was ich noch einbauen musst ist das bei einem reboot des MS alle Daten kurz abgeglichen werden, da ja sonst evtl. der Wert so lange auf zB "aus" steht bis eine Änderung vorgenommen wird.
                Ansonsten läuft das ganze sehr schnell und vor allem CPU schonend.
                Manchmal braucht man(n) halt einen guten Ansatz wie er von dir gekommen ist, war gar nicht so schwer wie gedacht.

              • Christian Fenzl
                Christian Fenzl kommentierte
                Kommentar bearbeiten
                Du hast es deiner Beschreibung nach eh sehr ähnlich aufgebaut (die Message zerteilen, und die Message-Teile hierarchisch verzweigen).
                Aber es braucht Rückfragen beim LMS.
                Z.B. playlist play gibt dir nur den Titel, aber nicht den Artist. Da muss ich den Artist abfragen. Jetzt will ich aber nicht den Titel mit altem Artist aussenden, somit kann ich erst die "Titel - Artist" Info senden, wenn auch der Artist da ist. Das ganze läuft bei mir aber asynchron, d.h. ich warte nicht speziell auf den Artist, sondern der kommt vielleicht mit der nächsten Message herein, und dann erst sende ich.
                Es ist jedenfalls komplexer als ich anfangs dachte, weil die Messages von listen oft nur Teilinfos senden. :-)
                Zuletzt geändert von Christian Fenzl; 09.03.2017, 13:25.

              • hismastersvoice
                hismastersvoice kommentierte
                Kommentar bearbeiten
                Stimmt hatte ich vergessen Titel-Artist muss aktiv gefragt werden.
                Bash kann leider keine async Abarbeitung somit muss ich in meinem Fall warten, aber da dauert ja nur Millisekunden für die Antwort.
            • Prof.Mobilux
              Supermoderator
              • 25.08.2015
              • 4590

              Christian Fenzl Super, vielen Dank! Wird gleich heute Abend getestet.

              Mir ist derweil noch etwas ganz anderes blödes eingefallen: Ich habe das Plugin glaube ich auch auf einem meiner Test-LoxBerrys installiert. Könnte sein, dass nun 2 LoxBerrys gleichzeitig beim LMS eine Verbindung aufbauen wollen... GGRRRGH, das wäre natürlich ein selten dämlicher Fehler meinerseits... Mal sehen - heute Abend weiß ich mehr ;-)
              🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


              LoxBerry - Beyond the Limits

              Kommentar

              • Christian Fenzl
                Lebende Foren Legende
                • 31.08.2015
                • 11200

                Der zweite Start von #183 ist jedenfalls sehr eigenartig. Der LMS hat an sich keine Probleme mit mehreren Verbindungen.
                Derzeit schicke ich im Minutentakt das "listen 1" hinaus, und prüfe nach 0,7 Sekunden, ob wir noch verbunden sind. Wenn nicht, wird ein Reconnect durchgeführt.
                Was ich allerdings derzeit nicht prüfe, ist, ob ich auf das "listen 1" an den LMS eine Antwort bekomme (bzw. sowas wie einen Healthcheck - wenn z.B. seit 65 Sekunden überhaupt nichts mehr gekommen ist - auch keine Antwort auf das "listen 1", dann die Verbindung reconnecten).

                Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                Kommentar

                • Prof.Mobilux
                  Supermoderator
                  • 25.08.2015
                  • 4590

                  Ich habe jetzt in lms2udp.pl in Zeile 887 ein "sleep 1;" eingefügt und es funktioniert! (Du hattest Deine letzten Änderungen glaube ich noch nicht committed).
                  🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


                  LoxBerry - Beyond the Limits

                  Kommentar

                  • Christian Fenzl
                    Lebende Foren Legende
                    • 31.08.2015
                    • 11200

                    Prof.Mobilux Nein, ich habe nur unterwegs (remote) schnell probiert.
                    Ich habe gerade ein paar Sachen in den 0.4.x-STABLE eingecheckt (https://github.com/christianTF/LoxBe...e/0.4.x-STABLE)
                    bzw. die Commits: https://github.com/christianTF/LoxBe...s/0.4.x-STABLE

                    Definitiv ist noch ein Fehler bei gesyncten Zonen. Zumindest einen Cornercase gibt es, wenn zwei Zonen gesynct sind, aber eine davon ausgeschaltet. Das ist ein Konfliktsituation (eigentlich hat die ausgeschaltete Zone trotzdem einen Titel). Das muss ich mir bei Gelegenheit ansehen, aber jetzt habe ich befohlenes Fernsehen, und ich bin dann eine Woche nicht da.

                    lg, Christian
                    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                    Kommentar


                    • hismastersvoice
                      hismastersvoice kommentierte
                      Kommentar bearbeiten
                      Muss ja auch zwischendurch noch anderes geben aus Lox
                  • Peter B
                    MS Profi
                    • 29.08.2015
                    • 537

                    Könnte man dieses Udp2Lox Modul nicht generell im Loxberry integrieren mit einer offenen Schnittstelle, damit nicht jedes Plugin da selber etwas basteln muss? würde wahrscheinlich auch den Miniserver entlasten wenn die Daten geordnet von einer Stelle daherkommen.

                    Kommentar


                    • Christian Fenzl
                      Christian Fenzl kommentierte
                      Kommentar bearbeiten
                      Ich habe vor, meinen im Squeezelite Plugin verwendeten Verbindungsaufbau für TCP und UDP, blocking und non-blocking, in LoxBerry::System zu integrieren.
                      Das ist aber kein eigener Netzwerkstack, sondern eine Unterstützung für einen Plugin-Entwickler beim Verbindungsaufbau und Fehlerhandling.
                      Ein zusätzlicher Netzwerkstack dazwischen ist nicht erforderlich. Dem MS muss es egal sein, woher die Daten kommen. Jedes zusätzliches Gateway zwischen einem Plugin und der Netzwerkschnittstelle ist nur eine zusätzliche Fehlerquelle und Bremse. Und die Daten werden deswegen auch nicht weniger.
                  • okenny
                    LoxBus Spammer
                    • 09.08.2016
                    • 306

                    Hallo,

                    Ich habe das Plugin jetzt installiert (ohne Fehlermeldungen). Wenn ich jetzt auf "Squeezelite Player" klicke, bekomme ich (wie im Bild) "Error Loading Page"....was kann ich damit machen?
                    Ich habe mehrmals neu installiert, ich habe sogar ein neues firsches Image probiert....habe auch naturlich neugestartet. Muss ich mit einem Raspi probieren?
                    Dank sehr!

                    p.s.
                    mein Loxberry lauft auf einem QNAP x86 NAS as VM - bisher hatte ich keine Probleme....

                    Angehängte Dateien

                    Kommentar


                    • Prof.Mobilux
                      Prof.Mobilux kommentierte
                      Kommentar bearbeiten
                      Klicke mal mit der rechten Maustaste auf das Icon und wähle In neuem Tab öffnen. Dann poste mal bitte die Fehlermeldung, died or angezeigt wird.

                      Vermutlich fehlt ein Perlmodul oder ähnliches.

                    • okenny
                      okenny kommentierte
                      Kommentar bearbeiten
                      Danke, has hat mich weiter gebracht
                      IO::Interface hat gefehlt, ich habe jetzt mit cpan das installiert.

                      Jetzt bekomme ich aber.....:
                      "Error 500 :-(
                      Internal Server Error "

                      hmm... hast du eine Liste der benötigten Modulen?

                    • okenny
                      okenny kommentierte
                      Kommentar bearbeiten
                      Keine weitere Ideen??
                  • Christian Fenzl
                    Lebende Foren Legende
                    • 31.08.2015
                    • 11200

                    okenny
                    Ich weiß nicht, wie Apache bei der QNAP funktioniert, jedenfalls steht der Fehler im Apache Error-Log.
                    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                    Kommentar


                    • okenny
                      okenny kommentierte
                      Kommentar bearbeiten
                      danke Christian, die Datei /var/log/httpd-error.log ist leer, werden die logs woanders gespeichert?
                  • Christian Fenzl
                    Lebende Foren Legende
                    • 31.08.2015
                    • 11200

                    Dieses Update lag nun länger in der "Kiste", jetzt wird es Zeit, das auch zu veröffentlichen.

                    Squeezelite Player Plugin Version 0.4.1-STABLE

                    Infos und Download unter http://www.loxwiki.eu:80/x/_4Cm bzw. http://plugins.loxberry.de/plugin/squeezelite-player/

                    Hier ein Überblick der Änderungen von 0.4.0-STABLE auf 0.4.1-STABLE:

                    0.4.1 STABLE
                    • Korrektur in der Neustartroutine und im Watchdog. Neustart über die Weboberfläche hat manchmal/öfters/immer? nicht funktioniert.
                    • Bei Erstinstallation waren die (frei definierbaren) Labels von PLAY und PAUSE vertauscht
                    • Verbesserung des Healthchecks (LMS↔Plugin)
                    • WiringPi-Installation auf x86/x64 (VM) führte dazu, dass keine sonstigen Voraussetzungen installiert wurden (jetzt liefert nur WiringPi einen Fehler, das andere funktioniert)
                    KNOWN ISSUES
                    • Nachwievor sendet das LMS-Gateway bei synchronisierten Zonen manchmal falsche Informationen an den Miniserver. Ich hatte leider noch keine Zeit, das tiefer zu analysieren.

                    lg, Christian
                    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

                    Kommentar

                    Lädt...