Squeezebox Modul - erste Version

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

Vorheriges Thema - Nächstes Thema

RoBra81

Zitat von: chris1284 am 21 Januar 2015, 21:24:59
ich habe nun 3 player und mir fehlt zum mediaserver noch eine playerfunktion. und zwar beim sync kann ich aktuell in fhem nur sync mit player x oder player y auf einmal wählen.
ich würde mir ein
set player01 sync [alle anderen player] wünschen. sprich mit einem klick synce ich player 2 und 3 mit 1 oder 1,2 mit 3 usw

Ich habe es nicht ausprobiert, aber vielleicht funktioniert folgendes: Wenn ich das richtig verstehe, ist der Player mit dem gescynct :) wird der Master. Also könnte man doch ein

set [alle anderen Player] sync player01

machen - oder mit regex:

set player(02|03|04) sync player01

Wie gesagt: noch nicht selbst ausprobiert...

Ronny

chris1284

die letzte version spamed ganz schön rum im logfile...

Zitat
2015.01.22 17:53:05 2: SB_SERVER_Alive(LMS): using internal ping
2015.01.22 17:53:05 2: SB_SERVER_Alive(LMS): RCC:off Ping:on
2015.01.22 17:53:11 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:53:12 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:53:45 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:54:19 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:54:52 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:55:00 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:55:05 2: SB_SERVER_Alive(LMS): called
2015.01.22 17:55:05 2: SB_SERVER_Alive(LMS): using internal ping
2015.01.22 17:55:05 2: SB_SERVER_Alive(LMS): RCC:off Ping:on
2015.01.22 17:55:25 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:56:08 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:56:21 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:56:46 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:56:51 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:57:02 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:57:05 2: SB_SERVER_Alive(LMS): called
2015.01.22 17:57:05 2: SB_SERVER_Alive(LMS): using internal ping
2015.01.22 17:57:05 2: SB_SERVER_Alive(LMS): RCC:off Ping:on
2015.01.22 17:57:10 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:57:19 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:57:34 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:57:44 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:58:16 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:58:18 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:58:21 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:58:21 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:58:34 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:59:01 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 17:59:05 2: SB_SERVER_Alive(LMS): called
2015.01.22 17:59:05 2: SB_SERVER_Alive(LMS): using internal ping
2015.01.22 17:59:05 2: SB_SERVER_Alive(LMS): RCC:off Ping:on
2015.01.22 17:59:44 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 18:00:23 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 18:00:27 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 18:01:05 2: SB_SERVER_Alive(LMS): called
2015.01.22 18:01:05 2: SB_SERVER_Alive(LMS): using internal ping
2015.01.22 18:01:05 2: SB_SERVER_Alive(LMS): RCC:off Ping:on
2015.01.22 18:01:10 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 18:01:47 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 18:01:55 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 18:02:07 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 18:02:08 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.01.22 18:02:15 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.

ChrisD

Hallo,

Die Meldungen von Blocking.pm haben nichts mit den SB-Modulen zu tun da diese Blocking nicht verwenden. Die Fehlermeldung gibt es bei einer Reihe von Usern, z.B. hier mit Lösungsvorschlag.

Die Meldungen vom SB_SERVER_Alive kannst du abschalten indem du verbose auf 0 setzt. verbose braucht nur höher gestellt zu werden wenn Fehler beim Verbindungsaufbau/abbau im SB_Server gesucht werden.

Grüße,

ChrisD




ChrisD

Hallo,

Ich habe mir die Synchronisation angesehen, hier die aktuelle Funktionsweise:
Beispiel, 4 Player P1-P4, nicht synchronisiert
set P1 sync P2P1 und P2 bilden eine Gruppe, P3 und P4 in keiner Gruppe
set P2 sync P3P3 wird der Gruppe in der sich P2 befindet hinzugefügt, P1-P3 in der gleichen Gruppe, P4 in keiner Gruppe
set P4 sync P1P1 wird aus seiner Gruppe entfernt und bildet mit P4 eine neue Gruppe, P1 und P4 in einer Gruppe, P2 und P3 in einer anderen.

Ich habe den sync-Befehl erweitert:
set P1 sync P2,P3führt dazu dass die Player P2 und P3 der Sync-Gruppe in der sich P1 befindet hinzugefügt werden (mit dem obigen Beispiel wären damit alle Player in einer Gruppe)
set P1 sync P2,P3 newführt dazu dass Player P2 und P3 mit P1 eine neue Sync-Gruppe bilden, falls P1 bereits in einer Gruppe war, wird er daraus entfernt.

Ich habe auch 2 weitere Internals hinzugefügt, die die Playernamen der synchronisierten Player enthalten, diese entsprechen aber nicht unbedingt den FHEM-Gerätenamen.

Weiterhin werden die Internals SYNCGROUP und SYNCMASTER jetzt richtig aktualisiert wenn die Synchronisation geändert wird, unabhängig davon ob über FHEM oder von extern.

Die neue Version befindet sich wie üblich hier.

Grüße,

ChrisD

Skram

Moin moin!

Ich habe mit den jüngsten Änderungen nicht ganz Schritt gehalten.
Ich möchte bei einem bestimmten Ereignis (auf meiner Fernbedienung) einen Radiosender/URL abspielen. Geht das?
Also sinngemäß: SB_PLAYER SB_Kueche playlist URL http://opml.radiotime.com/Tune.ashx?id=s17492

ChrisD

Hallo,

Mit der aktuellen Version kannst du mit dem Befehl
set playerName playlist play Urleine URL abspielen.

Mit Hilfe eines notify kannst du auf das Ereignis der Fernbedienung reagieren, z.B. bei LIRC:
define n_FB_Sender1 notify lirc:irSender1.* set SB_Kueche playlist play http://opml.radiotime.com/Tune.ashx?id=s17492

Welche Fernbedienung verwendest du ?

Grüße,

ChrisD

mattwire

Hi ChrisD,

Dieses Modul Funktioniert ganz gut fuer mich!  Ich habe ein kleine Patch eines "synced" reading Implementieren:
https://github.com/mattwire/fhem/commit/2ac0291697e04e5609b347e28688ac949d35dc33.diff

Dann kann ich, zum Beispeil in ein readingsGroup playername:synced schauen.

Matthew

DJAlex

Kann mir jemand sagen wie der Syntax für das stellen eines Weckers ist? Hab grade das Modul geupdatet und jetzt geht's nicht mehr.

Grüße

Alex


Gesendet von iPad mit Tapatalk

gibacht

#533
ich melde mich auch noch einmal...
mir ist aufgefallen, dass die Radiosender, wie auch meine lokalen Wiedergabelisten in den Favoriten angezeigt werden,
wenn ich jedoch in der RG den Favoriten 'Wiedergabeliste' auswähle (wird zwar wiedergegeben), zeigt das Feld als Auswahl '-'.
Gruß Dirk
HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.

wmr72

Zitat von: DJAlex am 30 Januar 2015, 00:35:54
Kann mir jemand sagen wie der Syntax für das stellen eines Weckers ist? Hab grade das Modul geupdatet und jetzt geht's nicht mehr.

Das müsste so gehen

set <playerdevice> alarm<n> time <hh:mm>

ChrisD

Hallo,

@Alex: Durch einen Fehler in der Version 0018 hat das Anlegen von Alarmen nicht mehr funktioniert. Mit der neuen Version 0019 sollte z.B.
set meinPlayer alarm1 set 2 08:00wieder funktionieren. Die Alarme wurden erweitert um mehr als 2 zu unterstützen, ich habe aber die Dokumentation noch nicht angepasst.

@Matthew: Danke, habe ich eingebaut.

Grüße,

ChrisD

Markus M.

Zitat von: DJAlex am 30 Januar 2015, 00:35:54
Kann mir jemand sagen wie der Syntax für das stellen eines Weckers ist? Hab grade das Modul geupdatet und jetzt geht's nicht mehr.

Sorry, das hab ich verbrochen ;)
Ich gelobe Besserung, was die Doku angeht!

In der Kurzfassung kann man jetzt über alarmN direkt auf die einzelnen Alarmzeiten zugreifen und einzelne Attribute steuern, was den Hintergrund hat dass man sich anstatt mit den IDs zu kämpfen und Zeiten hinzuzufügen einfach fixe Alarme anlegen kann (z.B. einen für die Woche, einen für's Wochenende oder auch einen für jeden Tag der Woche) und diese dann mit einem bekannten Namen ansteuern kann.
Wenn du welche programmatisch anlegst oder löschst, hast du in meinem neuen Konzept eigentlich schon was falsch gemacht ;)
Das ist jetzt eher darauf ausgelegt, dass man die Dinger einmal anlegt und nicht mehr löscht.

Hier mal eine Zusammenfassung was zumindest in meiner letzten Version alles ging - wenn irgendwas davon anders umgesetzt wurde, wird Chris mich sicher verbessern:
set meinPlayer alarmN
                     set <dayset> <time>     

                     enable
                     disable

                     time <time>

                     wdays <days>

                     repeat <rpt>

                     volume <vol>

                     delete

<time>    Format 00:00 oder 00:00:00
<dayset>  Alle gewünschten Tage im Format 1234, 0-1-2-3-4-5-6 oder Su,Mo,Tu,We,Th,Fr,Sa (Englisch!) mit/ohne Trennzeichen aber als ein String
<days>    Tage numerisch, Deutsch oder Englisch bunt gemischt mit/ohne beliebige Trennzeichen oder Leerstellen
<rpt>     1 0 on off
<vol>     numerisch


Hoffe damit kannst du was anfangen.

Markus
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

ChrisD

Hallo,

@Dirk: Kannst du mir den Inhalt der Internals FAVSTR und SERVERPLAYLISTS eines der Player vor und nach einem
set SqueezeServer statusRequest
schicken ?

Wenn eine Playlist abgespielt wird, versucht das Modul zu erkennen ob es sich um einen Favoriten handelt und aktualisiert dementsprechend das Reading favorites. Findet es keinen passenden Favoriten wird das Reading auf - gesetzt. In der Liste der Favoriten dürften allerdings keine Playlisten enthalten sein.

@Markus: Es hätte so funktionieren sollen wie von dir beschrieben, durch einen Fehler beim Ein- und Umbauen des Codes war das aber bei set und wdays nicht mehr der Fall.

Grüße,

ChrisD

ChrisD

Hallo,

In der Version 0020 habe ich einen weiteren Fehler bei 'alarmX set' behoben der dazu führt dass bestehende Alarme nicht überschrieben wurden.

Grüße,

ChrisD

gibacht

Hallo,


Auswahl Einslive....:
FAVSTR                         1LIVE-DasjungeRadiodesWDR,ZufTitel,SWR3Elchradio,ANTENNEBAYERNTop40
SERVERPLAYLISTS

Da ändert sich bei einem Statusrequest nichts. Egal, ob es ein Radiosender oder eine Wiedegabeliste handelt...
Es könnte nur sein, dass es Probleme mit dem Namen der Wiedergabeliste gibt. Im LMS heisst sie "Zufällige Titel".
(Den Namen kann man anscheinend nicht ändern...).

Ich habe ml die möglichen Vordefinitionen ausgewählt:
1LIVE-DasjungeRadiodesWDR,ZufAlben,ZufTitel,SWR3Elchradio,ZufJahrgänge,ANTENNEBAYERNTop40,ZufInterpreten.

Im LMS heißen diese:
Zufällige Titel
Zufällige Interpreten
Zufällige Alben
Zufällige Jahrgänge

Gruß
Dirk
HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.