[Erledigt] Squeezebox Modul

Begonnen von d0np3p3, 21 August 2013, 16:45:39

Vorheriges Thema - Nächstes Thema

d0np3p3

EDIT: siehe: http://forum.fhem.de/index.php/topic,17667



Hallo,
ich glaube wir sollten uns mal was um die Unterstützung von Squeezeboxen tun.
Leider hat Logitech die Produktion eingestzellt, aber es gibt ja auch Software Clients,
und es eine günstige Möglichkeit ein Multiroom Audio Netzwerk aufzubauen.
Es funktioniert sogar mit Wimp, das ist ein Service ala Napster Spotify usw.

Ich werde hier demnächst ein paar links posten um das bisher gefundene zum Thema zu sammeln.

Was mir vorschwebt ist eine Steuerung mit dem (?neuen) remote Plugin, und weitere Fetures wie zb
Status meldungen auf die Squeeze boxen zu bringen.
Album Cover anzeigen auf dem Floor plan, Playlisten abspielen.
Das squeezebox Radio ist auch gut als Wecker geeignet.
Weiterhin kann die Box auch als Steuerung für fhem funktionieren,
zb im Bad eben die heizung hochdrehen für 30 min oder den Kaffe starten.

http://www.fhemwiki.de/wiki/Squeezebox
http://pysqueezecenter.googlecode.com/svn/trunk/docs/build/html/index.html

Anbei noch die Command Line Interface Documentation im Anhang, es kann über Telnet (9090) mit dem LMS kommuniziert werden.
und die Beschreibung der WebIF Comandos
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)

sylvester

Hallo!

Ich nutze selber mehrere Squeezeboxen und wäre da auch sehr interessiert dran!
Insbesondere mit dem Fritzbox-Monitor ergeben sich da sicher auch interessante Möglichkeiten (Stummschalten bei Anruf).
Auch die Wecker könnten bei Abwesenheit oder Urlaub deaktiviert werden.

Wie ist denn der aktuelle Stand?

Im Wiki steht ja ein ganz kleiner Code-Schnipsel zum Steuern einer Squeezebox. Da scheint aber nicht das CLI der Squeezebox genutzt zu werden sondern "Status.html". Die kann offensichtlich weniger, oder? Hat schon mal jemand das CLI (ComandLineInterface) genutzt?

Meine Perl-Kenntnisse sind zwar sehr schlecht, aber Vorhandenes erweitern oder übertragen klappt. Da könnte ich unterstützen ;o) .

In einem ersten Schritt würde es mir auch reichen, alle Wecker einer Squeezebox ein- und ausschalten zu können und eine Squeezebox stumm zu schalten.
Ich glaube, damit kann man schon viele wichtige Dinge tun (siehe oben). Playlists zusammenstellen und ähnliches - da hat die Squeezebox ja eine eigene Weboberfläche für. Vielleicht wäre noch interessant, Nachrichten auf der Squeezebox anzuzeigen (Telefonnummer des Anrufers ...)

Viele Grüße

Stephan

PS: Die Squeezeboxen sind leider eingestellt, aber bei dem neuen Radio haben sie inzwischen die Schnittstelle zum Squeeze-Server schon nachgerüstet.

Willi

Zitat von: sylvester schrieb am Do, 03 Oktober 2013 11:53PS: Die Squeezeboxen sind leider eingestellt, aber bei dem neuen Radio haben sie inzwischen die Schnittstelle zum Squeeze-Server schon nachgerüstet.
Ich habe neben diversen Squeezeboxen mir auch die noch im Programm befindliche Logitech UE Smart Radio gekauft. Das ist die gleiche Box wie die Squeezebox Radio, nur dass bereits der Akku drin ist. Eine Fernbedienung ist nicht dabei. Es funktioniert aber die Fernbedienung der Squeezebox Radio.

Nachgerüstet hat Logitech auf Kundenbeschwerden nur, dass man bei der UE Smart Radio auf die alte Squeezebox Radio Firmware downgraden kann ohne irgendeinen Hack (über das normale Menü). Man kann also danach die UE Smart Radio m.E. ohne Einschränkungen als Squeezebox verwenden.

Ein FHEM-Modul würde ich auch nutzen. Ist mir aber nicht so wichtig, dass ich anfangen würde es zu schreiben. Ich habe genügend andere Projekte. Die Squeezeboxen funktionieren auch ohne FHEM gut.
Wenn man endlich mal eine richtige Anwesenheitserkennung hätte und wüsste wo sich die Bewohner im Haus befinden, könnte man ala Bill Gates realisieren, dass die Musik dem Bewohner folgt. Mal sehen, ob man solche eine Anwesenheitserkennung irgendwann mal hinbekommt.
FHEM@Q600(debian) mit DS9490R (1Wire) | FHEM@Sheevaplug(debian) mit RFXCOM-Receiver(80002), CULv3 & USB-WDE1 | FHEM@odroid mit CULv2 & RFXtrx433

sylvester

#3
siehe unten ...

sylvester

Habe hier noch etwas Interessantes gefunden:

Squeezy

sylvester

#5
Also in meiner 99_myUtils.pm findet sich jetzt folgendes:

########Squeezebox Mute ############################################
# What : Switches Squeezebox Mute on or off
# Call : { SB_Mute_switch("Server_IP","Server_Port","Squeezebox_ID","on") }
#
sub SB_Mute_switch (@) {
my ($ip,$port,$id,$cmd) = @_;
use Net::Telnet;
my $telnet = new Net::Telnet ( Timeout=>15, Errmode=>'die', Port=>$port);
$telnet->open($ip);
Log 3, "Squeezebox Mute ($cmd)";
if ($cmd =~ m"on"i) { # on or ON
$telnet->print("$id mixer muting 1\n");
# Log 3, "$id mixer muting 1";
}
if ($cmd =~ m"off"i) { # off or OFF
$telnet->print("$id mixer muting 0\n");
# Log 3, "$id mixer muting 0";
}
$telnet->print('exit');
}


Zusammen mit den folgenden Einträgen in der fhem.cfg:

# Squeezebox Esszimmer
########################
define EZ_Squeezebox_Mute dummy
attr EZ_Squeezebox_Mute devStateIcon [Oo]n:Mute.On [Oo]ff:Mute.Off
attr EZ_Squeezebox_Mute fp_Grundriss 255,386,1,Squeezebox
attr EZ_Squeezebox_Mute room R_Esszimmer
attr EZ_Squeezebox_Mute setList on off
attr EZ_Squeezebox_Mute webCmd on:off
define EZ_Squeezebox_MuteNotify notify EZ_Squeezebox_Mute { if (Value("EZ_Squeezebox_Mute") =~ /[Oo]n/) {SB_Mute_switch("192.168.178.21","9090","00:04:20:22:7b:91","on") } else {SB_Mute_switch("192.168.178.21","9090","00:04:20:22:7b:91","off") }}
attr EZ_Squeezebox_MuteNotify room hidden

# CallMonitor
##############
define FritzboxAnrufe FB_CALLMONITOR 192.168.178.1:1012
define CallMonitorRing_notify notify FritzboxAnrufe:event.*ring set EZ_Squeezebox_Mute on
define CallMonitorDisconnect_notify notify FritzboxAnrufe:event.*disconnect set EZ_Squeezebox_Mute off


wird jetzt bei einem Anruf die Squeezebox stumm geschaltet.

Derzeit bekomme ich allerdings noch einen Eintrag im Logfile, den ich mir nicht erklären kann:
2013.10.26 17:42:42 3: Squeezebox Mute (on)
2013.10.26 17:42:42 3: EZ_Squeezebox_MuteNotify return value: 1

Den Eintrag vom Notify habe ich nicht bestellt ...

Ansonsten kann man auf ähnliche Weise im Urlaub mit folgendem Eintrag in der 99_myUtils.pm alle Wecker einer Squeezebox deaktivieren:

########Squeezebox Alarm ############################################
# What : Switches Squeezebox Alarm on or off
# Call : { SB_Alarm_switch("Server_IP","Server_Port","Squeezebox_ID","on") }
#
sub SB_Alarm_switch (@) {
my ($ip,$port,$id,$cmd) = @_;
use Net::Telnet;
my $telnet = new Net::Telnet ( Timeout=>15, Errmode=>'die', Port=>$port);
$telnet->open($ip);
if ($cmd =~ m"on"i) { # on or ON
$telnet->print("$id alarm enableall\n");}
if ($cmd =~ m"off"i) { # off or OFF
$telnet->print("$id alarm disableall\n");}
Log 3, "Squeezebox Alarms ($cmd)";
$telnet->print('exit');
}


Viele Grüße

Stephan


Kakaomonster

Hallo zusammen,

auch wenn der Fred hier schon ein paar Tage alt ist, so möchte ich doch auch meinen "Senf" noch dazu geben.

Also um es kurz zu machen ...

Ich habe ein verdammt altes Haus gekauft (Bj 1820), bin es am kernsanieren. Es soll vollständig aussen und innen nach ALT aussehen, ABER mit neuster Technik ausgerüstet sein.

Dazu zählt für mich in erster Linie FHEM, was mir ein der modernsten Haussteuerungsmöglichkeiten bietet, dies es gibt denn keine Haussteuerung ist so vielfälltig und variabel wie FHEM (diecken dank noch mal an Herrn König für die Idee und umsetzung und das gesammte fhem team, dass so fleissig mit entwickelt, testet, bastelt und ideen einbringt).

Hierzu zählt für mich aber auch die Automatisierung und Multiroom Steuerung, die man mit einer Squeezebox, Squeeze Server und SoftSqueeze erreichen kann. Da dies für mich auch zur Automatisierung gehört, wäre eine vollständige Einbindung in fhem sehr von Vorteil, da man hierdurch nur EINE Oberfläche hat die man nutzen könnte. Dies ist ideal, wenn man z.B. hin geht und fhem durch WebViewControl auf einfachen kleinen (und günstigen) Tablets in jedem Raum steuern kann, hier aber gleichzeitig die Funktionlität, die auch squeeze bietet mit bedienen kann.

Da ich aktuell an einer php Site die fhem, Squeeze und einige wichtige sites für das interne "wesen" steuert gescheitert bin, habe ich natürlich arges Interesse an sowas. Selbstverständlich bleibe ich an einer eigenen Site dran, die ich auch gerne zur Verfügung stellen würde/werde falls ich da mal soweit bin das es ansehenlich ist und vor allem annähernd funktioniert.

Sollten sich entsprechend noch Entwickler finden, die auch daran interesse haben, aber das eigene Coding nicht so wirklich zu testen vermögen, Hilfe bei Ideen benötigen und auch bei ein wenig Code änderung hier und da unterstützung suchen um so ein Mamut Projekt ins Leben zu rufen was alles auf der Basis von fhem beruht... Ich bin gerne dazu bereit meinen Beitrag dafür zu leisten auch was Design angeht, denn grade auch für das Design haben Coder aus meiner Erfahrung her wenig nerven, Zeit und Lust.

Ich würde mich daher freuen, wenn es hier nicht nur beim Erledigt Post bleibt, sondern wirklich daran aktiv weiter entwickelt wird. HW & SW sind soweit vorhanden. Der Wille auch. OK, mit der Zeit ist es auch bei mir so eine Sache, aber auch diese werde ich finden.

Was es aktuell gibt ist schon ganz "nett" aber weit entfernt von einer schönen und saubern Lösung für jedermann.

Gibt es solche Developer noch, die sich an sowas ran trauen und Hilfe suchen? Ich habe leider nicht das nötige KnowHow um es auch nur ansatzweise zumsetzen zu können. Alles was ich dazu beitragen kann, werde ich machen.

In diesem Sinne mit einem langen und hoffentlich nicht ganz unnötigen Post wünsche ich allen ein wunderschönes und hoffentlich auch schön und sonniges Wochenende,

Grüsse, Ralf
FHEM auf Raspi m.12cm Antenne, BBB als Server für Zusatz (apache,php,sql)
1 USB CUL/RAW (ReadAnswer):  V 1.61
2 MAX Thermostate, 1 MAX Wanthermostast
1 FHT8V Thermostat, Schaltaktoren,Bewegungsmelder, Wandtatser Elro & IT
1 HMT 360, 4 7"Tablets, FB 7490

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)

Kakaomonster

Hallo d0np3p3,

danke für den Hinweis, werde es weiter verfolgen und sehen was passiert :-)
FHEM auf Raspi m.12cm Antenne, BBB als Server für Zusatz (apache,php,sql)
1 USB CUL/RAW (ReadAnswer):  V 1.61
2 MAX Thermostate, 1 MAX Wanthermostast
1 FHT8V Thermostat, Schaltaktoren,Bewegungsmelder, Wandtatser Elro & IT
1 HMT 360, 4 7"Tablets, FB 7490

bugster_de

Hi Kakaomonster,

Dein Eintrag ist zwar schon etwas älter ....

ZitatWas es aktuell gibt ist schon ganz "nett" aber weit entfernt von einer schönen und saubern Lösung für jedermann.
Gibt es solche Developer noch, die sich an sowas ran trauen und Hilfe suchen? Ich habe leider nicht das nötige KnowHow um es auch nur ansatzweise zumsetzen zu können. Alles was ich dazu beitragen kann, werde ich machen.
ich gehe mal davon aus, dass Du Dich auf mein Modul zur Squeezeboxunterstützung beziehst. Wenn nein, dann vergiss meine Einlassung. Wenn doch: bin mir nicht ganz sicher, ob Dir klar ist, wieviele Tage und Stunden in die Entwicklung einer Lösung, die 'ganz nett' ist rein fliesst. Sollte halt zur Abwechslung auch stabil sein, denn hier schwirren / schwirrten genügend halblebig prgrammierte Module rum, die FHEM in die Tiefe reissen. Wir alle machen das aus Hobby nebenbei


Navigator

Mal so aus Neugierde. Was habt ihr für eine Qualitätsstufe bei Lame im LMS gewählt. Mein Badradio kann eh nur bis 128kbit bewältigen und ich höre keinen Unterschied, egal ob Stufe 1 oder 9. Mein Waschbeckenunterschrank der dank zweier Körperschallwandler als Resonanzkörper dient, ist eh nicht sehr anspruchsvoll.  ;D Auch bei der Prozessorauslastung sehe ich jetzt keinen segnifikanten Unterschied.
Gruß aus Sachsen. FHEM auf Cubietruck. Vormals EZControl XS1 User.

moonsorrox

Zitat von: Dittel am 24 September 2014, 15:50:29
Mal so aus Neugierde. Was habt ihr für eine Qualitätsstufe bei Lame im LMS gewählt.

bei mir ist 9 eingestellt, läßt sich aber auch erst mal nicht verändern, da grau unterlegt
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Kakaomonster

Zitat von: bugster_de am 03 Juli 2014, 15:58:19
Hi Kakaomonster,

Dein Eintrag ist zwar schon etwas älter ....
ich gehe mal davon aus, dass Du Dich auf mein Modul zur Squeezeboxunterstützung beziehst. Wenn nein, dann vergiss meine Einlassung. Wenn doch: bin mir nicht ganz sicher, ob Dir klar ist, wieviele Tage und Stunden in die Entwicklung einer Lösung, die 'ganz nett' ist rein fliesst. Sollte halt zur Abwechslung auch stabil sein, denn hier schwirren / schwirrten genügend halblebig prgrammierte Module rum, die FHEM in die Tiefe reissen. Wir alle machen das aus Hobby nebenbei

Hallo Bugster,

leider habe ich Deine Antwort erst Heute gesehen und möchte auch wenn es lange her ist noch darauf antworten.

Bitte versteh mich nicht falsch, da ich mit developern arbeite (privatund auch beruflich) ist mir natürlich bekannt, wieviel arbeit und Zeit in so einem "netten2 modul steckt. Ich habe mich auch wohl mit dem Ausdruck "nett" völlig falsch ausgedrückt und möchte mich hier auch bei allen developern dafür entschuldigen, dies ist leider anders angekommen als ich es meinte, ich wollte niemandem auf die Füsse treten und respektiere natürlich die Arbeit die in sowas steckt.

Sorry, ich hätte da mal auf meine Wortwahl achten müssen!

Grüße,Ralf
FHEM auf Raspi m.12cm Antenne, BBB als Server für Zusatz (apache,php,sql)
1 USB CUL/RAW (ReadAnswer):  V 1.61
2 MAX Thermostate, 1 MAX Wanthermostast
1 FHT8V Thermostat, Schaltaktoren,Bewegungsmelder, Wandtatser Elro & IT
1 HMT 360, 4 7"Tablets, FB 7490