Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme mit Dateinamen bei Playlist Plugin für mpd

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] Probleme mit Dateinamen bei Playlist Plugin für mpd

    Hallo Experten,

    ich nutze dieses Plugin, um die Playlist vom mpd zu ändern. Erstellt wurde dieses Plugin mal von Makki und ich nutze dies schon lange Zeit.

    Ich habe nur ein Problem: Das Plugin funktioniert bei Dateinamen von pl1 bis pl8!
    Ab pl9 und darüber funktioniert es nicht.
    Ich habe jeweils ein mp3 Radiostream in den jeweiligen Dateinamen. Wenn ich nun den nicht funktionierenden Radiostream von z.B. pl10 auf pl3 umbenenne, funktioniert es!

    Hat irgendwer eine Idee, woran dies liegen könnte? Rein prinzipiell würde ich denken, dass es nichts mit dem Plugin zu tun hat. Wenn ich mich per ssh einlogge und die Befehle auf der Konsole von Hand aufrufe, wird der entsprechende Stream abgespielt!

    Die Gruppenadresse 6/0/16 ist beim eibd im Wiregate als DTP 5.001 eingetragen!

    Gruss Norbert
    Code:
       
    
    #return;
    # minimal-plugin zur steuerung des MPD
    # v 0.01 - nur ein Beispiel
    # ginge natürlich genauso sich auf den TCP-Port zu haengen, mpc ist hier aber einfacher
    
    $plugin_info{$plugname.'_cycle'} = 0; # nur bei Telegramm/einmalig bei Aufruf
    
    my $badlicht_ga = "10/1/10";
    my $playlist_ga = "6/0/16";
    
    
    my $MPD_HOST = "127.0.0.1";
    my $MPD_PORT = "6600";
    # kann man sich bei localhost:6600 natuerlich komplett sparen
    my $dummy;
    
    if (%msg) { # Telegramm von KNX an subscribte GA
      if ($msg{'apci'} eq "A_GroupValue_Write" and $msg{'dst'} eq $badlicht_ga) {
        # mpd play - praeventiv falls der stream abgebrochen ist
        $dummy = `mpc -h $MPD_HOST -p $MPD_PORT play`;
        # bei localhost/port 6600 ist MPD_HOST/PORT natuerlich ueberfluessig
      }
      elsif ($msg{'apci'} eq "A_GroupValue_Write" and $msg{'dst'} eq $playlist_ga) {
        # mal angenommen die playlisten wurden als "pl0 .. pl255" gespeichert
        my $playlistid = int($msg{'data'}); #Egal ob importiert/in eibga.conf angelegt oder nicht
        $dummy = `mpc -h $MPD_HOST -p $MPD_PORT clear`;
        $dummy = `mpc -h $MPD_HOST -p $MPD_PORT load pl$playlistid`;
        $dummy = `mpc -h $MPD_HOST -p $MPD_PORT play`;
      }
    
    } else { # init
        $plugin_subscribe{$badlicht_ga}{$plugname} = 1;
        $plugin_subscribe{$playlist_ga}{$plugname} = 1;
    } 
    return; #keine logausgabe
    I

    #2
    Hallo Zusammen,

    ich habe die Lösung nun selbst gefunden. Vielleicht hilft es dem einen oder anderen, wenn ich die Lösung hier poste!

    Anstatt

    Code:
        my $playlistid = int($msg{'data'}); #Egal ob importiert/in eibga.conf angelegt oder nicht
    muss es

    Code:
        my $playlistid = int($msg{'value'}); #Egal ob importiert/in eibga.conf angelegt oder nicht
    heißen. Also value anstatt data!

    Außerdem muss für den Datenpunkttyp DPT 5.004 eingetragen werden!
    Zumindest klappt es so nun bei mir!

    Gruss Norbert

    Kommentar

    Lädt...
    X