Squeezebox Modul - erste Version

Begonnen von bugster_de, 17 Dezember 2013, 22:12:10

Vorheriges Thema - Nächstes Thema

grossmaggul

Hallo,

danke, jetzt herrscht Ruhe.:-)

VG

Marc-Antón
FHEM auf Debian Buster Server, 2 x nanoCUL868, 1xnanoCUL465; Homematic, MAX, MiLight, HUE,  2 x Gosund SP1

grossmaggul

Zu früh gefreut, ich bekomme immer noch jede Menge Logausgaben, hauptsächlich aber das:


....
2017-02-16_23:27:58 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=63498
2017-02-16_23:27:58 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=20757
2017-02-16_23:27:58 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=10188
2017-02-16_23:27:58 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=9702
2017-02-16_23:27:58 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=52608
2017-02-16_23:27:59 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=25066
2017-02-16_23:27:59 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=9010
2017-02-16_23:27:59 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=60880
2017-02-16_23:27:59 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=81394
2017-02-16_23:27:59 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=77570
2017-02-16_23:28:00 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=96623
2017-02-16_23:28:00 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=15496
2017-02-16_23:28:00 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=11979
2017-02-16_23:28:00 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=85985
2017-02-16_23:28:01 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=30156
2017-02-16_23:28:01 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=84404
2017-02-16_23:28:01 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=2576
2017-02-16_23:28:02 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=82293
2017-02-16_23:28:02 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=50543
2017-02-16_23:28:02 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=91733
2017-02-16_23:28:02 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=91279
2017-02-16_23:28:02 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=16892
2017-02-16_23:28:02 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=55560
2017-02-16_23:28:03 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=82063
2017-02-16_23:28:03 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=97436
2017-02-16_23:28:03 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=84224
2017-02-16_23:28:03 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=10054
2017-02-16_23:28:03 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=51071
2017-02-16_23:28:03 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=88354
2017-02-16_23:28:04 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=88169
2017-02-16_23:28:04 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=35687
2017-02-16_23:28:04 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=13354
2017-02-16_23:28:04 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=85638
2017-02-16_23:28:04 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=3478
2017-02-16_23:28:05 bz.yamaha_dlna coverarturl: http://192.168.1.77:9002/music/current/cover_200x200.jpg?player=bb:bb:0b:09:32:98&x=81672
...
FHEM auf Debian Buster Server, 2 x nanoCUL868, 1xnanoCUL465; Homematic, MAX, MiLight, HUE,  2 x Gosund SP1

grossmaggul

Ich habe jetzt mal alle SBPlayer neu angelegt, im Moment herrscht noch Ruhe.
FHEM auf Debian Buster Server, 2 x nanoCUL868, 1xnanoCUL465; Homematic, MAX, MiLight, HUE,  2 x Gosund SP1

Pampersjoe

Hallo zusammen,

ich hoffe Ihr seid mir nicht böse, wenn ich keine 93 Seiten lese, aber ich hätte eine Frage und hoffe, dass die hier noch nicht beantwortet wurde.

Gleich vorweg... bin super begeistert und funktioniert soweit auch top!

Meine Ausgangssituation:

Ich habe eine Lizenz für Max2Play da ich zugegeben "faul" war am Anfang, falls jemanden das nichts sagt

Kurzform: Max2Play bietet eine recht einfache Anwendung per Webseite, worüber man bequem Kodi, Squeeboxserver, Squeezelite etc. steuern kann und bietet on top noch die Möglichkeit weitere Addons zu installieren wie FHEM etc.

FHEM kannte ich vorher schon und dachte mir, da das Pi mit dem Squeezeboxserver eh permanent online ist, so kann ich auch dort gleich den FHEM mitlaufen lassen.

FHEM läuft soweit (ursprünglich nur für Homematic-Geräte) und dann habe ich diese Module für Squeezebox gefunden, was mein Vorhaben per Smartvisu so ziemlich mein komplettes Haus steuern zu können inkl. Musik abrundetet. Bin super begeistert nur zwei Sachen...

a) mich stört es "etwas", dass man bei der Anlegung von "GADs" zwar "Hilfe" bekommen in Form von einem Dropdown Menü, aber das was dort eingetragen ist nicht immer funktioniert und man selbst probieren muss so z.B. bekommt man für "Track zurück" als Hilfe "prev:noArg" ... letzendlich für einen Laien top, dass einem Hilfe angeboten wird... aber damit funktionierts eben nicht, man muss nur "prev" nehmen, dann gehts... und das ist das gleich mit so vielen Sachen wie z.B. Playlists wobei mir alle auf einmal angezeigt werden ... k.A. wie ich das anders beschreiben soll... ist "nur" ein Verbesserungsvorschlag... bei mir läuft soweit alles was ich bisher gebraucht habe...

Musste aber auch teils suchen... z.B. für "Favoriten" steht favoriten:-,favorite1,favorite2 etc. klar.. dann würde ich natürlich nur favorite:gewünschterFavorite auswählen aber das wäre auch falsch da der Doppelpunkt eben nicht sein darf! sprich als Command würde es ja so lauten, set Playername favorite gewünschterFavorite... aber wenn natürlich ein Doppelpunkt mitgegeben wird funktionierts nicht...

K.A. ob das jetzt direkt vom Modul kommt oder woher auch immer... wäre halt nur ein Anreiz das vllt. anders zu gestalten... oder ich war am Anfang auch nur zu doof

ABER jetzt zu meinem Thema:

Ich habe zum spielen eine VM bei mir mit Debian laufen worauf der LogitechMediaServer läuft, Squeezelite, Smartvisu und eben FHEM mit den Modulen für Squeezebox/-lite...

Nachdem ich mich immer mehr mit dem Modul beschäftige und auch gerne begrüßt werden müsste oder what ever... sprich Klingel wird betätigt, etc. fände ich es top, wenn dann eben was "gesprochen" wird... natürlich kann ich auch einen beliebigen Track abspielen lassen als "Gong" für die Klingel etc. aber da es die Funtion Text2Speech eben gibt, so wäre es natürlich absolut top, wenn man eben was "gesagt" bekommt, was im Haus gerade abgeht...

Auf der Debian Maschine habe ich das Ganze getestet und hat top funktioniert...

z.B. "set Playername talk Wie Ihr wünscht Chef"... und tada... er spricht zu mir :D fand ich einfach super... besser gehts nicht und das GEILSTE daran, dass er mein während dessen laufenden Radiosender kurz unterbrochen hat, mit mir redet und dann wieder den Radiosender weiterspielt... das fand ich echt spitze!!!

Auf meinem Haussystem getestet und funktioniert nicht :(

Was was habe ich versucht und was ist passiert:

- Command abgesetzt nach obigen Prinzip
- im LMS geschaut, was er macht
- Link im LMS wird angezeigt zu google (das Gerät erreicht das Internet!)

- der Link bleibt, er tut so, wie wenn er was abspielt... kommt aber kein Ton und bleibt in dem Modus, sprich er springt nicht, wie bei meinem Testsystem zurück auf den Titel, der vorher lief.

Wo kann ich ansetzen zu meiner Suche nach dem Problem? Oder hat jemand schon einmal das Problem gehabt und kann mir helfen? Fände es echt super, wenn das hier auch funktionieren würde... dann könnte ich als Notify alle Player im Haus gleichzeitig ansprechen, dass es z.B. klingelt oder what ever... dann wäre es auch egal, welcher Player gerade an ist... wenn ich eh alle anspreche.

Ich danke euch schon einmal... und nochmals Super Sache!!!

ChrisD

Hallo,

ZitatK.A. ob das jetzt direkt vom Modul kommt oder woher auch immer... wäre halt nur ein Anreiz das vllt. anders zu gestalten...

Das Modul ist auf das UI von FHEM ausgelegt und lässt sich auch mit geringem Aufwand in FTUI integrieren. SmartVisu ist leider eine völlig andere Welt. Ich habe, bevor ich FTUI verwendet habe, versucht SmartVisu einzusetzen. Aufgrund der Komplexität und begrenzten Dokumentation habe ich es aber aufgegeben. Ich weiß nicht ob sich in der Zwischenzeit etwas Punkto Dokumentation geändert hat. Wenn dem so wäre könnte ich mir ansehen was ich hinzufügen müsste um die Integration in SmartVisu zu erleichtern.

ZitatAuf meinem Haussystem getestet und funktioniert nicht

Der beschriebene Fehler deutet darauf hin dass du als Player squeezelite in einer Version >1.5 verwendest die leider einen Bug hat was das Abspielen von kurzen Streams anbelangt (insbesondere auf Raspberrys). Hier findest du Beiträge zum Problem. Du kannst versuchen squeezelite mit dem Patch von mhilbush zu kompilieren oder die Version 1.5 zu verwenden.

Grüße,

ChrisD

RoBra81

Hallo,

Zitat von: ChrisD am 18 Februar 2017, 18:36:35
Wenn dem so wäre könnte ich mir ansehen was ich hinzufügen müsste um die Integration in SmartVisu zu erleichtern.

das wäre super!

Ich nutze Smartvisu und habe mir ein Squeeplayer-Modul gebaut (siehe Anhang). Hierfür musste ich mir allerdings reichlich "Krücken" in Form von Userreading und Dummys bauen. So habe ich zur Zeit folgende UserReadings, welche das ganze System natürlich ziemlich ausbremsen:

Für die Buttons brauche ich folgende Readings:

iconFWD:playlistTracks {if (ReadingsVal($name,'playlistTracks',0) <= 1) {return 'none'} else {return 'FWD'}},
iconBWD:playlistTracks {if (ReadingsVal($name,'playlistTracks',0) <= 1) {return 'none'} else {return 'BWD'}},
iconPlay {return iconPlay($name)},
playPause:playStatus {if (ReadingsVal($name, 'playStatus', '') eq 'paused') {return 1} else {return 0}},


mit

sub iconPlay($)
{
  my ($name) = @_;
  if (ReadingsVal($name,'playlistTracks',0) == 0)
  {
    return 'none';
  }
  else
  {
    if (ReadingsVal($name,'playStatus','') eq 'stopped' or ReadingsVal($name,'playStatus','') eq 'paused')
    {
      return 'PLAY';
    }
    else
    {
      return 'PAUSE';
    }
  }
}


Die coverarturl hat bei mir nicht richtig funktioniert, also muss ich es auf eine lokale Adresse umrechnen:

coverarturl_remote:coverarturl.* {return coverarturl_remote($name)},


mit

sub coverarturl_remote($)
{
  my ($name) = @_;
  my $temp = ReadingsVal($name,'coverarturl','');
  $temp =~ s/127.0.0.1/192.168.18.10/g;
  $temp =~ s/imageproxy\?u=html/imageproxy\?u=http%3A%2F%2F192.168.18.10%3A9000%2Fhtml/g;
  $temp =~ s/%20//g;
  $temp =~ s/http:\/\/www.mysqueezebox.com\/public\/imageproxy\?u=//g;
  $temp = uri_unescape($temp);
  $temp =~ s/&h=200&w=200//g;
  return $temp;
}


Und da Smartvisu nicht mit Internals umgehen kann, brauche ich noch UserReadings hierfür:

playlists_list {return InternalVal($name, 'SERVERPLAYLISTS', '')},
favorites_list {return InternalVal($name, 'FAVSTR', '')}


Die MultiRoom-Geschichte ist etwas umfangreicher: da brauche ich pro Player im System ein Reading, ob der synchronisiert ist:

OG.ez.RA.Player:synced.* {if (index(ReadingsVal($name,'synced',''), 'OG.ez.RA.Player') != -1) {return 'synced'} else {return 'not synced'}},
OG.ku.RA.Player:synced.* {if (index(ReadingsVal($name,'synced',''), 'OG.ku.RA.Player') != -1) {return 'synced'} else {return 'not synced'}},
OG.ba.RA.Player:synced.* {if (index(ReadingsVal($name,'synced',''), 'OG.ba.RA.Player') != -1) {return 'synced'} else {return 'not synced'}},
DG.sz.RA.Player:synced.* {if (index(ReadingsVal($name,'synced',''), 'DG.sz.RA.Player') != -1) {return 'synced'} else {return 'not synced'}},
DG.wz.RA.Player.Mediacenter:synced.* {if (index(ReadingsVal($name,'synced',''), 'DG.wz.RA.Player.Mediacenter') != -1) {return 'synced'} else {return 'not synced'}}


und dazu noch pro Player ein Sync-Dummy:

define OG.ez.RA.Player.Sync dummy
attr OG.ez.RA.Player.Sync readingList DG.sz.RA.Player DG.wz.RA.Player.Mediacenter OG.ba.RA.Player OG.ez.RA.Player OG.ku.RA.Player
attr OG.ez.RA.Player.Sync setList DG.sz.RA.Player DG.wz.RA.Player.Mediacenter OG.ba.RA.Player OG.ez.RA.Player OG.ku.RA.Player


Den Dummy nutze ich für die Anzeige (er erhält pro Player den Status synced, unsynced, sync und unsync) sowie den sync- bzw. unsync-Befehl pro Player.

Dazu brauche ich dann noch ein Notify zum durchführen der Aktion nach setzen des Befehls im Dummy:


define XX.xx.RA.Player.Sync.not.action notify ..\...\.RA\.Player(\.(Verstaerker|Couch|Mediacenter))?\.Sync...\...\.RA\.Player(\.(Verstaerker|Couch|Mediacenter))?:.(un)?sync {my $player1 = "$NAME";; $player1 =~ s/.Sync//g;; my $player2 = "$EVTPART0";; $player2 =~ s/://g;; if ("$EVTPART1" eq 'sync') {fhem("set $player1 sync $player2")} else {fhem("set $player2 unsync $player1")}}


sowie eines für für die Aktualisierung des Dummys, wenn ein Player synchronisiert bzw. entfernt wurde:

define XX.xx.RA.Player.Sync.not.state notify ..\...\.RA\.Player(\.(Verstaerker|Couch|Mediacenter))?:..\...\.RA\.Player.*synced {my $read = "$EVTPART0";; $read =~ s/://g;; my $evt = "$EVTPART1";; $evt =~ s/not/unsynced/g;; fhem("setreading $NAME.Sync $read $evt")}


Hintergrund dieser ganzen Geschichte ist, dass fronthem (Smartvisu) ein Reading für die Anzeige und für das Kommando braucht.

Ronny

tomne

Hallo,

@ChrisD #1370:
Leider bekomme ich das mit dem "talk" bei mir nicht zum laufen, ich benutze derzeit Squeezelite v1.8.5-823, die Version 1.5 kann ich nicht mehr finden, um dies damit nochmal zu testen. Hättes du noch einen Link zu dieser Version?

Meine Konfig:
1 x BeagleBone Black als FHEM Server
3 x Rasbpi V2 + HiFiBerry AMP+ (PiCorePlayer v3.02)
  - hw:CARD=sndrpihifiberry
1 x LMS auf meiner Synology

fg tomne

ChrisD

Hallo,

@tomne: Anbei findest du die Version 1.5. squeezelite-armv6hf ist die ausführbare Datei. Bei piCorePlayer ist es aber nicht so einfach die Datei zu ersetzen, deshalb enthält pcp-squeezelite.tcz ein angepasstes Paket. Du musst pcp-squeezelite.tcz per SCP nach /mnt/mmcblk0p2/tce/optional auf dem piCorePlayer kopieren und ihn neu starten. Nach dem Neustart sollte die Version 1.5 aktiv sein. Über die integrierte Update-Funktion kannst du wieder zur aktuellen Version zurückkehren.

@Ronny: SmartVisu enthält ein Widget für Musik (multimedia.music). Auf deinen Screenshots sieht es aber so aus als hättest du das Playerinterface nachgebaut ohne dieses zu verwenden. Hast du ein eigenes Widget erstellt ?

Grüße,

ChrisD

Pampersjoe

Hallo zusammen,

scheint in der Tat bei mir mit der Version zusammen zu hängen... die von Max2Play ist wohl von denen etwas verändert und somit vermutlich keine aktuelle oder passende Version... ich habe auf dem einen Pi einfach mal Rasbian (nackt) installiert mit Squeezelite über den Paketmanager und siehe da ... geht.

Danke für die Info!

RoBra81



Zitat von: ChrisD am 20 Februar 2017, 14:01:05@Ronny: SmartVisu enthält ein Widget für Musik (multimedia.music). Auf deinen Screenshots sieht es aber so aus als hättest du das Playerinterface nachgebaut ohne dieses zu verwenden. Hast du ein eigenes Widget erstellt ?

Ja, mir hat das vorhandene Widget nicht richtig zugesagt und da habe ich mir ein eigenes gebaut...

Ronny

Gesendet von meinem SM-G935F mit Tapatalk


tomne

Hallo,

@ChrisD: leider hat das mit der Installation nicht geklappt. Ich habe die Datei (pcp-squeezelite.tcz) in das Verzeichnis kopiert (mit WinSCP) und einen Neustart des Players ausgelöst. Danach war aber noch die ursprüngliche Version drauf, nur das der Squeezelite nicht gestartet war.

fg tomne

bugster_de

Hallo,

das mit der Sprachausgabe scheint tatsächlich Player abhängig sein
- bei Nutzung meines SB-Radios spricht er den Text viel zu schnell --> Bug in der Logitech FW?
- bei Nutzung von Squeezelite auf dem RPi --> siehe Beiträge oben bezgl. Version. Mit den alten Versionen gehen aber bei mir z.B. nicht alle Soundkarten am RPi
- bei Nutzung von squeezeslave auf dem RPi hat es bei mir noch gar nie funktioniert

Da es auf dem Debian System geht und auf dem RPi nicht, würde ich mal auf die Implementierung der Audio Treiber pro Hardware tippen. Da bin ich aber nicht der Experte (ich habe die Sound-Architektur mit Alsa, Pulse und all dem anderen Zoo) eh noch nie verstanden.

mahowi

In diesem Thread habe ich über einen mysteriösen Logeintrag berichtet, bei dem nur ein Timestamp ohne Modulname oder sonstige Angaben beim Start von FHEM geloggt wird.

betateilchen hat herausgefunden, daß es an 97_SB_SERVER.pm lag. Am Ende der Sub SB_SERVER_Attr muß ein "return;" hinzugefügt werden, dann taucht der Timestamp nicht mehr im Log auf.

Patch zur Version von github:
--- 97_SB_SERVER.pm.orig 2017-02-21 23:00:10.110506177 +0100
+++ 97_SB_SERVER.pm 2017-02-21 23:00:18.100452329 +0100
@@ -602,6 +602,7 @@
             DevIo_SimpleWrite( $hash, "apps 0 200\n", 0 );
         }
     }
+return;
}
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

ChrisD

Hallo,

@mahowi: Danke für den Patch, ich habe es korrigiert.

@tomne: Das Paket funktioniert nur mit der aktuellen Version von piCorePlayer (3.10/3.11). Bei älteren Versionen musst du squeezelite-armv6hf nach /mnt/mmcblk0p2/tce kopieren, per ssh die Zugriffsrechte anpassen
chmod 764 /mnt/mmcblk0p2/tce/squeezelite-armv6hf
und neu starten.

Grüße,

ChrisD



tomne

@ChrisD:
vielen Dank nun läuft bei mir die V1.5 am Wochenende werde ich mich dann nochmal mit der "talk"-Funktion beschäftigen

fg tomne