Squeezebox Modul - erste Version

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

Vorheriges Thema - Nächstes Thema

FHEm2005

That's It!!! Wenn die gute Frau "Hallo Eberhard" sagt, hört sich das verteufelt gut an!

:D :D :D :D :D :D :D :D
Danke! Du hast einen gut!

Wieso habe ich die Probleme? Meine Konfiguration sind stinknormale Squeezebox Touch, SqueezeboxClassic; Softsqueeze (windows) und SqueezePlay sowie LMS Version 7.7.3 - 1375965195 auf Synology 409+. FHEM läuft auf Rspi2.

Die Konfiguration ist doch nichts Außergewöhnliches oder?

Ich habe mal bei das tts bei voicerss getestet: von allen angegebenen Audioformaten von 8khz/8bit/mono bis 48kHz/16 bit/Stereo hat der Player nur bei den beiden 8khz Formaten in mono gestreikt. D.h. 8/8/stereo und 8/16/stereo funktionieren.

Wie wäre es denn mit einem attr 'audioFormat' mit dem Defaultwert 8/8/mono ist und der Eingabemöglichkeit in der bei voicerss genannten Form (z.B. 8khz_8bit_stereo oder 8,8,s )? Andererseits kann man/frau das auch im attr ttslink abfangen. Du entscheidest.

BTW: Einen ttslink in der Form http://api.voicerss.org/?key=<ttsAPIKey>&src=<TEXT>&hl=<ttslanguage> fände ich besser, weil die Elemente sauber zuzuordnen sind. Dann kann auch automatisiert werden. Als Link wird nur noch http://api.voicerss.org/? eingetragen, der Rest wird aus den attr automatisch hinzugefügt.

Gruß Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM

Gueco315

Hallo Zusammen,

möchte euch gerne mitteilen was man mit Logitech und Co mit Squeezebox und FHEM auch noch so trieben kann.
Ich habe 3 Squeezebox Radios im Einsatz(ohne Downgrade auf UE). 1x im Schlafzimmer als Radiowecker, 1x im Büro mit angeschlossenem Amplifier und Hausverteilung(alle Räume vom Büro aus schaltbar). Im Wohnzimmer steht das 3. Squeezebox Radio. An der 3. Squeezebox hängen 2 x parallel geschaltete Logitech Z623 2.1 Lautsprechersysteme (1x im Wohnzimmer, 1x im Wintergarten). Die komplette Schaltung läuft über FHEM. Die Weckzeiten mit Parametern(Dummy*) habe ich in FHEM gespeichert. Läuft tadellos. Da kann man bei einer Party die großen Boxen getrost im Keller lassen, super Klang. * Ist der Dummy Urlaub gesetzt, dann ist in der Bude mal die Musik aus, sonst nicht  :D
LSM läuft auf einer Synololgy. Steuerung via Fhemmobile App unter Einbindung eures Moduls (diverse Structure-Schaltungen als Gruppenschaltung). Als IOS-App nehme ich wie Bugster IPENG. Wesentlich schneller ist (bei mir) die Android App: Squeeze Ctrl!!
Nach meinem ersten Lehrjahr bei euch, allein das hier mit den Squeezeboxen macht so riesigen Spaß, noch einmal schönen Dank an euch Entwickler. Macht weiter so.

Gruß Günter
Fhem 6.0, JeeLink, CUL 868 auf Raspi 4, Buster, IT-1500, 4x SB_Player, Squeezebox auf Raspi 4, 3x Fritzbox,  WIFI Light, EGPM2LAN, ENIGMA, Sec-SCO,CC-RT-DN,TC-IT-WM-W-EU,SEN-Wa-Od,ES-PMSw1-PW,HM-SE, Sonoff, Shelly,SMA

takaze

#917
hallo zusammen :)

wird das modul den noch aktiv weiterentwickelt?

was mir zuletzt aufgefallen ist, ist das bei einem "set ... pause" nicht zwischen pause und play getoggelt wird ???
kann das jemand so bestätigen oder hab nur ich so ein verhalten ;D

davon abgesehen ein hammer modul für FHEM  :)

danke und grüße
RPi 3B, Add-On Board mit 1.8" TFT LCD, FHEM V5.8, CULFW v1.65 RPIAddOn_CSM, Jeelink v3, Selbstbau CUL433 MHz (signalduino), z-Wave (Fibaro), 8'' WIN10 Wand-Infoboard mit FTUI

FHEm2005

Hallo takaze,

die Togglefunktion ist eine Frage der Philosophie. Die FB der SB3 kennt keine Toggle-Funktion. Somit hat die SB3 keine Toggle-Funktion. Die SB-Touch hat die Toggle-Funktion sowohl auf dem Display als auch auf der Fernbedienung. Wer eine FB "naturgetreu" nachbauen möchte, will vielleicht keine Toogle-Funktion.

Das 'Problem' könnte man (Chris) vielleicht mit einem attr <SB-device> toggle playStop 1 bzw attr <SB-device> toggle playStop 0 lösen. Dann würde beiden Lagern gerecht werden.

Mal sehen, was Chris dazu sagt.

Gruß Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM

ChrisD

Hallo,

@takaze: Ich habe versucht den Fehler in der Version 0050 zu beheben. Kannst du das Modul mit
update force https://raw.githubusercontent.com/ChrisD70/FHEM-Modules/master/autoupdate/sb/controls_squeezebox.txt
aktualisieren und nach einem
reload 98_SB_PLAYERoder einem Neustart von FHEM überprüfen ob es funktioniert ?

Weiterhin habe ich das Attribut fadeinsecs um ein 2. optionales Argument erweitert das die Fade-In Zeit nach einem unpause angibt.
attr meinPlayer fadeinsecs 10,2führt dazu dass bei play 10 s Fade-In-Zeit verwendet werden und bei unpause 2 s. Wenn die 2. Zeit fehlt wird wie bis jetzt die 1. für beide Fälle verwendet.

@Eberhard: Ich denke dass es bereits jetzt möglich ist die Funktion der FB nachzubauen. Es gibt bei pause 3 Möglichkeiten:
Zitatpause --> toggelt die Wiedergabe (wenn Pause dann Play und wenn Play dann Pause)
pause 1 --> setzt den Player auf Pause egal wie der Zustand zuvor war
pause 0 --> setzt den Player auf Un-Pause egal wie der Zustand zuvor war
Ein 'pause 1' sollte somit funktionieren.

Grüße,

ChrisD

FHEm2005

Hi Chris,

die Funktionalität war mir so nicht bekannt. Der Befehl set<SB-Device> pause 1 bzw. set<SB-Device> pause 0 lässt sich nur über das Eingabefeld ganz oben eingeben.  Dort wo der set-Button ist gibt es nur das Pull-Down mit "pause". Ein weiteres Pull-down mit -, 1,0 ist nicht mehr dabei.

Setzt man pause in einem Web-Command ein, wird zwar pause angezeigt, es wird aber set <SB-Device> pause abgesetzt.
Bsp:
attr SBT.Wohnzimmer webCmd on:off:volume:favorites:playlists:play:pause:mute
Hier gibt es keine Toggle-Funktion.

Jetzt weiß ich aber nicht, wie ich die Toggle-Funktion umsetzen soll. Theoretisch würde ich das Reading playStatus abfragen und abhänging vom Ergebnis ob playing|paused den Befehl set <device> pause oder set <device> play ausgeben. Keine Ahnung wie und wo. Ich habe nie perl gelernt und im Zusammenhang mit FHEM ist das nicht unbedingt einfacher.

Ziel wäre: Im web-Command, wenn er spielt, steht nur pause drin, und wenn er pausiert, nur play.
Es wäre auch möglich, wenn er spielt => pause 1 und wenn er pausiert pause 0. Ich habe mir dafür schon ein userReadings sb_pause angelegt, das entweder mit 1 oder mit 0 befüllt wird dann könnt man senden:
(if sb_pause ! 1)  ?  {sb_pause = 1}:{sb_pause=0}; (set <device> pause (sb_pause)) .... oder so ähnlich  :-[ :-[ (solides Nichtwissen)

Die zeile muss beim Drücken von pause ausgelöst werden.

Kannst Du mir auf die Sprünge helfen?

Gruß Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM

FHEm2005

Edit: Da es ohnehin den ganzen Tag geregnet hat, habe ich mich mit dem Thema heute beschäftigt.
Die Togglefunktion einer Pausentaste lässt sich wie folgt realisieren:

define not_pause notify .*:.* {if ($EVENT eq "pause" && ReadingsVal($NAME,"playStatus","playing") eq "paused") {fhem ("set $NAME pause 0")}}


Mit diesem Code wird die Pausentaste ALLER Squeezeboxen mit einer Toglefunktion ausgerüstet! Wer eine elegantere Lösung hat: her damit!  ;)

Gruß Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM

takaze

Zitat von: ChrisD am 29 November 2015, 12:16:40

@takaze: Ich habe versucht den Fehler in der Version 0050 zu beheben. Kannst du das Modul mit
update force https://raw.githubusercontent.com/ChrisD70/FHEM-Modules/master/autoupdate/sb/controls_squeezebox.txt
aktualisieren und nach einem
reload 98_SB_PLAYERoder einem Neustart von FHEM überprüfen ob es funktioniert ?


Hi Chris,

vielen Dank für die schnelle Anpassung, jetzt funktioniert alles so wie beschrieben :)

Noch was anderes.. der string 'FAVSTR' wird bei den Playern als komma-getrennter string ausgegeben. Ich verwende FTUI mit einem  'select'-Widget, das den eingelesenen string als Dropdown zurückgibt. Allerdings erwartet das Widget einen doppenpunkt-getrennten string.

Sonst hab ich das immer per Codeanpassung im SB_PLAYER Modul (Zeile 3408) vorgenommen, aber komfortabler wäre es natürlich per 'attr'  ;D

Könntest du das was in die Richtung unternehmen?

Grüße,
takaze
RPi 3B, Add-On Board mit 1.8" TFT LCD, FHEM V5.8, CULFW v1.65 RPIAddOn_CSM, Jeelink v3, Selbstbau CUL433 MHz (signalduino), z-Wave (Fibaro), 8'' WIN10 Wand-Infoboard mit FTUI

ChrisD

Hallo,

Ich denke dass es nicht gut ist das Format von FAVSTR zu ändern, auch nicht per Attribut. Das 'normale' UI benötigt Listen die mit Komma getrennt sind.

Ich sehe aber andere Möglichkeiten:
- ein zusätzliches Internal (FAVSTR_FTUI ?) im richtigen Format
- ein UserReading:
attr meinPlayer userReadings FAVSTR_FTUI {my $t=InternalVal($name,'FAVSTR','');$t=~s/,/:/g;return($t)}
- eine Anpassung des select-Widgets, das Komma ist innerhalb FHEM das Standardtrennzeichen für Listen im UI, wieso verwendet FTUI den Doppelpunkt ?

Hier hatte gitarero bereits das gleiche Problem und hat einen anderen Workaround gefunden.

Grüße,

ChrisD

takaze

Zitat von: ChrisD am 30 November 2015, 08:56:41

attr meinPlayer userReadings FAVSTR_FTUI {my $t=InternalVal($name,'FAVSTR','');$t=~s/,/:/g;return($t)}


Klasse! Mit dem UserReading hab ich genau das was ich gebraucht habe. Vielen Dank!

Grüße,
Florian

RPi 3B, Add-On Board mit 1.8" TFT LCD, FHEM V5.8, CULFW v1.65 RPIAddOn_CSM, Jeelink v3, Selbstbau CUL433 MHz (signalduino), z-Wave (Fibaro), 8'' WIN10 Wand-Infoboard mit FTUI

hermann1514

Hallo,

ich bin ziemlich neu hier im Forum und auch bei der Konfiguration von FHEM. Meine Funksteckdosen habe ich zum schalten bekommen. Nun möchte ich aber meine Squeezebox etwas automatisieren. Ich habe die beiden Scripte heruntergeladen und in das FHEM Verzeichnis kopiert. Den Server eingetragen und nach 2 Minuten waren mein Player vorhanden.
Nun stehe ich aber auf dem Schlauch. Was muss ich machen damit morgens um 6 eine Squeezebox angeht - mit bestimmten Parametern (Volume, Playlist). Muss ich ein Dummy Gerät konfigurieren?

Sorry - sehe den Wald vor lauter Bäumen nicht :-)


Vielen Dank für Eure Hilfe.
Gruß
Hermann

pc1246

Hallo Herrmann
Willkommen im Forum. Du hast da diverse Moeglichkeiten

  • notify
  • DOIF
  • Oder die Wecker der Squeezebox
Ich persoenlich habe es mit DOIF geloest und bin sehr zufrieden. Die eingebauten Wecker hatten mich abgeschreckt, da die ja von den Feiertagen nichts wissen.
Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

FHEMAN

Moin moin!

Kann ich mittels

Statusanzeige.1:(on|off) setreading SqueezeboxRadio01 alarm1_state $EVENT

auch nur einen Alarm ein und ausschalten?
Hintergrund: wir lassen uns immer zur gleichen Zeit wecken. Das möchte ich nun mittels Taster regeln. Dann müsste ich nicht immer mit der Handy App rumfummeln.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

FHEm2005

#928
Guten Morgen derron,

wenn Du einen Schalter hast, der Statusanzeige.1 heißt und das Event on oder off ausgibt hilft und dein Alarm alarm1 in Deiner SB_PLAYER-Definition heißt. dann hilft die Zeile:

define di_alarm1 DOIF ([Statusanzeige.1] eq "off") (set SqueezeboxRadio01 alarm1 off) DOELSE (set SqueezeboxRadio01 alarm1 on)

Gruß
Eberhard

Edit: Fehler in der Schalterbenennung
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM

FHEMAN

Ach, alarmX unterstützt auch on und off als Werte? Das wusste ich noch nicht, werde es gleich heute Abend testen.

Vielen Dank, Eberhard!!

Gruß
Ronny
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB