Squeezebox Modul - erste Version

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

Vorheriges Thema - Nächstes Thema

d0np3p3

Dann hoffe ich das es dir besser geht,  ich gucke mir das auch mal an,  jetzt weiß ich worauf ich achten muß.

Gesendet von meinem Nexus 4 mit Tapatalk

FHEM: Raspberry Pi (COC) & Fritz 7270 (freetz FHEM2FHEM)
IT (Elro AB440 AB600D) - Max! (6*regler 1*Thermostat 5*Fenster) Hue Bridge mit Bulbs - 2*Living-white Adapter - Iris
XBMC (Zbox) 4*SqueezeRadios 3*squeezelite dbox
AndFhem (Nexus4)

bugster_de

So, ich habe mir das über Mittag mal angesehen.

Wenn der SB Server unter Windows läuft geht volumeUp, wenn er unter Linux läuft geht es nicht. Da wird dann das Plus Zeichen vor dem Wert ignoriert.

Unter welchem OS habt ihr den Server am Laufen?

d0np3p3

Ja bei mir läuft Linux

Gesendet von meinem Nexus 4 mit Tapatalk

FHEM: Raspberry Pi (COC) & Fritz 7270 (freetz FHEM2FHEM)
IT (Elro AB440 AB600D) - Max! (6*regler 1*Thermostat 5*Fenster) Hue Bridge mit Bulbs - 2*Living-white Adapter - Iris
XBMC (Zbox) 4*SqueezeRadios 3*squeezelite dbox
AndFhem (Nexus4)

Meesus

mhhh,

bei mir läuft der Squeeze Server V 7.8.0 aber auf einem W2k3 GER.  ???
siehe meine Info vom 05 Januar 2014, 21:58:50
Raspberry 4 - FHEM 6.1 - HMLAN, CUL V3 433Mhz & 868Mhz, HM, Intertechno, HUE, Tasmota, Shelly, ESP Devices, Max! und Alexa - Banana PI zum testen

Dragonfly

#34
Hallo,

ich misch mich hier ganz kurz ein - ich hatte das Problem in der CCU auch schon;
man muß nur das + encoden:
...&p1=jump&p2=%2b1&...
...&p1=volume&p2=%2b10&...
wenn es über den URL-Aufruf gemacht wird; Über Telnet gehts ohne.

LG

Edit:
Kennt ihr den schon?
http://<server>:<port>/status.html?p0=playlist&p1=play&p2=http://translate.google.com/translate_tts?tl=de%26q=Hallo+Leute!&player=<player>

bugster_de

Gerade im Moment wollte ich schreiben, dass dies nur das Http Interface betrifft.

Ich stelle eh alle Kommandos auf das CLI / Telnet Interface um, dann sollte das behoben sein.

Dragonfly

Da ich im Script nichst von einem Login gefunde habe, hab ich noch was "altes" rausgesucht, bei dem ich damals recht lange gebraucht habe, falls jemand da noch was nachrüsten möchte:
define Squeezebox_ntfy notify (Squeezebox:.*) {\
    my $v=Value("Squeezebox");;\
    my $server='http://usr:pwd@@192.168.1.60:9002';;\
    my $player="&player=00:04:20:2B:5B:4E";;\
    if ($v eq "on") {GetFileFromURL "" . $server . "/status.html?p0=play" . $player . ""};;\
    }

Ich hab damals auch mit dem Urlaufruf gekämpft und hatte mit dem Login die größten Probleme:
Den Inhalt von $server musste ich in ' setzten statt " und das @ verdoppeln - auch wenn du auf CLI umsteigst, vielleicht hilft es noch jemanden.

LG

d0np3p3

FHEM: Raspberry Pi (COC) & Fritz 7270 (freetz FHEM2FHEM)
IT (Elro AB440 AB600D) - Max! (6*regler 1*Thermostat 5*Fenster) Hue Bridge mit Bulbs - 2*Living-white Adapter - Iris
XBMC (Zbox) 4*SqueezeRadios 3*squeezelite dbox
AndFhem (Nexus4)

Dragonfly

Ich fass hier mal ein paar Sachen zusammen, die mich geärgert haben - bzw noch ärgern:

Zum Google TTS sollte man wissen, daß das ganze auf 100 Zeichen begrenzt ist - gegebenenfalls muß ein Programm den Text auf 2 Aufrufe aufteilen. Die Trennung des Textes am besten Satzweise.
Die Wiedergabe "Stoppt" eigentlich nicht - die Wiedergabeliste wird nur durch diesen Aufruf ersetzt.
Man müßte also einen solchen Aufruf in eine Wiedergabeliste einfügen oder nach dem Aufruf wieder eine Wiedergabeliste starten (vielleicht kann man ja den Player abfragen, ob er gestoppt hat - dann könnte man vor dem Aufruf die aktuelle Wiedergabeliste speichern, danch wenn gestoppt wurde diese wieder starten - diese macht dann bei dem Song weiter, wo sie aufgehört hat - startet also nicht von vorne.)

Infos zur Player Ansteuerung:
mit http: IP, MAC, Name, * (für alle)
mit CLI: MAC hat bei mir nicht funktioniert - ich hab dann den Namen verwendet (falls dem Router mal was "passiert" und von DHCP nicht mehr die gleiche IP bekommt)


Ich hab mir für meine CCU ein Shell-Script zusammengebaut - hier stecke ich jetzt bei der Sprachausgabe fest...  :'(
Mich hat es schon gewundert, daß ich das überhaupt hinbekommen habe - da ich eigentlich von shell keine Ahnung habe  ;D

LG

d0np3p3

ich habe hier ein paar Infos gefunden:
http://www.ip-symcon.de/forum/threads/12934-Squeezebox-Squeezeserver-Skript?p=146555
http://www.ip-symcon.de/forum/threads/12934-Squeezebox-Squeezeserver-Skript

Ich komme leider nicht dazu mich eizulesen, mein Mediacenter macht ärger, und schaltet sich nicht mehr ab...
FHEM: Raspberry Pi (COC) & Fritz 7270 (freetz FHEM2FHEM)
IT (Elro AB440 AB600D) - Max! (6*regler 1*Thermostat 5*Fenster) Hue Bridge mit Bulbs - 2*Living-white Adapter - Iris
XBMC (Zbox) 4*SqueezeRadios 3*squeezelite dbox
AndFhem (Nexus4)

Dragonfly

Ich hab jetzt ca. ein halbes Jahr nichts mehr mit FHEM gemacht - also verzeiht mir die Frage:
Zitat#  FHEM Modue for DECT based mobile handsets
Soll das heißen, daß Ding läuft über das Fritz-DECT  ???

bugster_de

So, nun habe ich das Modul in der neuen Variante mal ein paar Stunden per Script gequält und zumindest bei mir funktioniert es jetzt.
Neue Version anbei.

ACHTUNG: ich habe den define geändert. Also bitte bestehende Module in FHEM löschen und mit der neuen Definition neu anlegen.

neue Definition:
define <name> SB_PLAYER <serverip[:serverport]> [<playerid>] [cliport>]
Beispiele:
define mysb SB_PLAYER 192.168.56.101
define mysb SB_PLAYER 192.168.56.101:9000
define mysb SB_PLAYER 192.168.56.101 00:b6:19:83:2c:17
define mysb SB_PLAYER 192.168.56.101 00:b6:19:83:2c:17 9090
define mysb SB_PLAYER 192.168.56.101:9000 00:b6:19:83:2c:17 9090

Änderungen:
- volumeUp / volumeDown geht jetzt
- on / off schaltet den Player ein/aus, falls dieser das unterstützt. Ansonsten macht er Play/Pause
- neuer Befehl sleep hh:mm:ss --> hiermit kann man die Zeit einstellen, bis der Player langsam leise wird und sich dann ausschaltet 
  (Einschlaffunktion)
- state variable wird nun gefüllt
- aktuelles Album/Artist/Title wird angezeigt
- es wird angezeigt, ob der Player mit dem Server verbunden ist
- Anzeige, wie die Empfangsstärke des Players ist.
- einige weitere Readings. Einfach mal anschauen

Ich habe das Modul aus dem vorherigen Post gelöscht, damit es nicht zu Verwirrungen kommt.
Auch habe ich das Modul am ersten Post wieder angehängt, damit 'Neulinge' in diesem Thread es gleich finden.

Übrigens: Vorschläg was in der state Variablen so drin stehen soll sind willkommen.

Getestet habe ich das Modul mit einem Server auf Windows und einem Server auf Linux Basis
Als Player: jeweils 3 * Squeezeplayer (Software Player), 1 * SB-Radio (per WLAN), 2 * iPod/iPAD Software Player per WLAN

Was noch nicht geht:
- die Playlist geht irgendwie immer noch nicht. Da gehe ich nochmal bei, da dies die Funktion ist, die mich eigentlich interessiert :-)
- Weckzeiten kann man noch nicht setzen







bugster_de

@dragonfly: das Google TTS hat echt Potential ! Und das Problem mit der Playlist ist sicher lösbar.

@dragonfly die zweite: bist du im richtigen Thread? Ich finde da nichts mit DECT
Die Fritz FON Dinger können aber eine Webradio wiedergeben. Und wenn man an Stelle Squeezebox den MPD aufsetzt kann man auch seine Musik wieder ins heimische Netz streamen und diesen Stream dann am Fritz Fon anhören. Geek Faktor ist hoch, aber für die bessere Hälfte im Hause ist diese Kombo unbedienbar.

Dragonfly

#43
Zum Dect:
3. Zeile in deinem Perl-Modul

Zur Playlist:
"playlist play Playlistname" - so funktionierts bei mir

Zum TTS:
Satzzeichen kann man verwenden (hast du im Modul weggelassen) - das macht bei der aussprache tatsächlich einen unterschied.

LG

bugster_de

Hi,

das DECT im Kommentar ist ein Überbleibsel von einem anderen Modul von mir. Dieses greift auf die DECT Telefone an der Fritzbox zu. Idee war eigentlich, Klingelsperre etc. zu realisieren. Das geht aber an der Fritzbox schöner, weshalb ich mir einen Schwung anderer Module gebaut habe, die das nun realisieren.
Kommentar mache ich noch raus.

Playlist: ja das direkte Anspielen eint mp3 oder einer m3u Datei geht. Ich hätte aber gerne, dass man auch Datenbankeinträge anspielen kann (z.B. AC/DC Highway to hell) ohne dass man den Datei Namen kennt. Auch das Anspielen von Einträgen aus den Favoriten geht nicht. Das ist schade, denn genau dafür hatte ich mir das Modul gemacht. Alle anderen Funktionen sind Abfall Produkte :-)