Squeezebox Modul - erste Version

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

Vorheriges Thema - Nächstes Thema

ChrisD

Hallo,

Ich habe den Code für die Cover um eine Abfrage für Spotify ergänzt, kannst du testen ob es mit der neuen Version funktioniert ? Da ich kein Spotify habe kann ich es leider nicht testen.

Grüße,

ChrisD

KernSani

Hi Chris,

danke für den schnellen Fix. Bei mir hat's etwas länger gedauert (und geht wohl auch einfacher, aber ich bin Perl-NOOB):


# CD 0034 Abfrage für Spotify und LMS < 7.8, ungetest, #674, KernSani
            if ($hash->{ARTWORKURL} =~ /spotifyimage%2Fspotify/) {
my $cover = "cover.jpg";
my $coverArtWithSize = "cover_".AttrVal( $name, "coverartheight", 50 )."x".AttrVal( $name, "coverartwidth", 50 )."_o.jpg";
$hash->{ARTWORKURL} =~ s/$cover/$coverArtWithSize/g;
                $hash->{COVERARTURL} = "http://" .  $hash->{SBSERVER} . "/" . uri_unescape($hash->{ARTWORKURL});


Grüße,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Borkk

Hallo Zusammen,

ich habe mal eine Frage zu dem SB_Player Modul. Ich nutze es schon sehr lange und finde es super das es jetzt im standard Umfang von FHEM enthalten ist. Für ein paar Spielereien mit meinen HUE Lampen werte ich über notify die Readings "currentTitel" "playStatus" und "state" aus. Damit das möglich ist habe ich donotnotify auf false gesetzt. Es funktioniert alles super.

Um jedoch die Flut an Events zu steuern würde ich gerne über das Attribut event-on-change-reading oder event-on-update-reading nur Events der o.g. 3 Readings durchlassen. Wenn ich jedoch das Attribut setzte wird nur das erste Reading berücksichtigt. d.h. es wird nur noch das reading gesendet, das als erster in der Aufzählung steht. Alle folgenden mit comma getrennten readings werden ignoriert.

Könnte hier noch ein Bug im Modul vorliegen?
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

marvin78

Poste mal deine Definition des Attributs. Bei mir funktioniert das ohne Probleme. Trennzeichen ist das Komma OHNE Leerzeichen!

Borkk

peinlich ... :o Ok das wars. Ohne Leerzeichen geht es :-)

Danke.
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

berndp

Hallo zusammen,

hoffentlich hab ichs nicht in dieser Threadschlange überlesen:

Benutzt jemand das Modul mit Squeezelite bzw. Picoreplayer?
Die normale Steuerung funktioniert unproblematisch, jedoch TTS nicht. Zwar wird die Playlist mit dem gesprochenem Text im Player geladen, aber kommt kein Ton an.
Ich würde gerne die selbstbau Squeezebox als Fehler ausschließen können. Hat jemand schon Erfahrungen in dieser Richtung sammeln können?

RoBra81

Hallo,

Zitat von: berndp am 22 April 2015, 19:56:53
hoffentlich hab ichs nicht in dieser Threadschlange überlesen:
Ich glaube schon - hatte das gleiche Problem

Zitat von: berndp am 22 April 2015, 19:56:53
Benutzt jemand das Modul mit Squeezelite bzw. Picoreplayer?
Ja, ich :)

Zitat von: berndp am 22 April 2015, 19:56:53
Ich würde gerne die selbstbau Squeezebox als Fehler ausschließen können. Hat jemand schon Erfahrungen in dieser Richtung sammeln können?
Nutzt du eine externe Soundkarte (USB, HifiBerry-Amp, o.Ä.) -> siehe hier: http://forum.fhem.de/index.php/topic,17667.msg270190/topicseen.html#msg270190


Ronny

berndp

Vielen Dank! Ist mir etwas peinlich das zu übersehen  :-[

Beim Update vom Picoreplayer über die WebUI wurde squeezelite 1.8 installiert und gleich als out-of-date angezeigt. Mit der manuellen Änderung funktionierts perfekt!

kvo1

Zitat von: Borkk am 08 April 2015, 22:41:49
Hallo Zusammen,

ich habe mal eine Frage zu dem SB_Player Modul. Ich nutze es schon sehr lange und finde es super das es jetzt im standard Umfang von FHEM enthalten ist. Für ein paar Spielereien mit meinen HUE Lampen werte ich über notify die Readings "currentTitel" "playStatus" und "state" aus. Damit das möglich ist habe ich donotnotify auf false gesetzt. Es funktioniert alles super.

Um jedoch die Flut an Events zu steuern würde ich gerne über das Attribut event-on-change-reading oder event-on-update-reading nur Events der o.g. 3 Readings durchlassen. Wenn ich jedoch das Attribut setzte wird nur das erste Reading berücksichtigt. d.h. es wird nur noch das reading gesendet, das als erster in der Aufzählung steht. Alle folgenden mit comma getrennten readings werden ignoriert.

Könnte hier noch ein Bug im Modul vorliegen?

war auf der Suche nach der gleichen Lösung, hab´s getestet und geht

attr squeeze_Denver donotnotify false
attr squeeze_Denver event-on-change-reading currentTitle,currentArtist

kvo1

RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

FHEMAN

Ich würde gerne - unabhängig von SAVE und RECALL - das aktuell Gespielte speichern und später wieder aufrufen. Leider bekomme ich es mit den vorhandenen Readings currentPlaylistName und currentMedia nicht hin! D.h. folgender Versuch schlägt fehlt:
my $CurrentPlaylist = ReadingsVal("SqueezePlayer01", "currentPlaylistName", "-");
my $CurrentMedia = ReadingsVal("SqueezePlayer01", "currentMedia", "-");
fhem("setreading SqueezePlayer01 SavedPlaylist $CurrentPlaylist");
fhem("setreading SqueezePlayer01 SavedMedia $CurrentMedia");
....
#    fhem("set SqueezePlayer01 playlists $SavedPlaylist");
fhem("setreading SqueezePlayer01 currentPlaylistName $SavedPlaylist");
fhem("setreading SqueezePlayer01 currentMedia $SavedMedia");

RECALL kann ich leider nicht nutzen, da das scheinbar durch sayText überschrieben wird und ein Recall evtl. auch das Gerät ausschaltet.

Hat jemand eine Idee?
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

ChrisD

Hallo,

Der Code kann nicht funktionieren da setreading nur den internen Zustand von FHEM ändert und keinerlei Auswirkungen auf den LMS hat.

Das Sichern des aktuellen Zustandes ist kompliziert da der LMS dies nicht von sich aus unterstützt. Wenn du nur eine abgespeicherte Playlist, bei der kein Shuffle aktiv ist, bei einem bestimmten Titel fortsetzen möchtest musst du statt currentMedia playlistCurrentTrack abspeichern:

my $CurrentPlaylist = ReadingsVal("SqueezePlayer01", "currentPlaylistName", "-");
my $CurrentMedia = ReadingsVal("SqueezePlayer01", "playlistCurrentTrack", 1)-1;
fhem("setreading SqueezePlayer01 SavedPlaylist $CurrentPlaylist");
fhem("setreading SqueezePlayer01 SavedMedia $CurrentMedia");


Das Aufrufen ist etwas komplizierter da der in currentPlaylistName enthaltene Name nur dann verwendet werden kann wenn er keine Sonderzeichen (Leerzeichen,.;: ...) enthält:
fhem("set SqueezePlayer01 playlists $CurrentPlaylist");
fhem("set SqueezePlayer01 cliraw playlist index $CurrentMedia");


Andernfalls musst der Name so verarbeitet werden dass alle Sonderzeichen entweder entfernt oder ersetzt werden. Die 'gültigen' Werte für den 'set playlists'-Befehl befinden sich im Internal SERVERPLAYLISTS.

Ich werde mir den SAVE/RECALL-Code nochmal ansehen und versuchen eine komfortablere Lösung zu finden.

Grüße,

ChrisD

joginet

Hallo,

bin gerade dabei, mein Squeezebox-System auszubauen - ein tolles Modul !!!

Frage: kann "sayText oder "talk" den Inhalt eines Readings vorlesen?

Ich möchte eine email an FHEM schicken (modul mailcheck - hab's gerade eingebaut)
und die Betreffzeile über meine SB_PLAYER ansagen lassen um so Durchsagen zu machen. Kann mir jemand mit der Syntax helfen?

{ReadingsVal("FhemMail","Subject","")} ergibt den richtigen Text, aber

set Mein_SB_PLAYER sayText {ReadingsVal("FhemMail","Subject","")} funktioniert nicht.

Gruß, Jochen
Meine Konfig: FHEM auf NUC i5 mit Mint, HM-LAN, div. HM Schalter und Heizungsthermostate, FB 6840LTE mit Dect200, HUE bridge, HUE bulbs + Lightstrips, VU+Duo2 und Philips-TV Steuerung, Pushmail, Floorplan, Sprachsteuerung + Feedback per Arduino mit MOVI-Shield, LMS Multiroom mit 7x Pi

ChrisD

Hallo,

Dies sollte funktionieren:
{fhem("set Mein_SB_PLAYER talk ".ReadingsVal("FhemMail","Subject",""))}

Grüße,

ChrisD

joginet

#688
ZitatDies sollte funktionieren:
Code: [Auswählen]

{fhem("set Mein_SB_PLAYER talk ".ReadingsVal("FhemMail","Subject",""))}

Hallo Chris,
da tut sich leider nichts. Wenn ich direkt Text lesen lasse, funktioniert es.
Hast Du noch eine Idee?

Im Eventlog steht korrekterweise:

Zitat2015-04-29 00:07:04 SB_PLAYER Aussen2 talk und das ist test nummer 2

wobei "und das ist test nummer 2" die Betreffzeile meiner email ist.


Gruß, Jochen

Edit: Wenn ich den erzeugten Google-tts-Link in meinen browser kopiere, wird der Text (auf dem lokalen PC) abgespielt.

Edit 2 Muß zurückrudern - es geht nur auf einem Player nicht - ausgerechnet der im Arbeitszimmer - also der, den ich zum testen abhöre.

Also: Syntax passt - Danke !
Meine Konfig: FHEM auf NUC i5 mit Mint, HM-LAN, div. HM Schalter und Heizungsthermostate, FB 6840LTE mit Dect200, HUE bridge, HUE bulbs + Lightstrips, VU+Duo2 und Philips-TV Steuerung, Pushmail, Floorplan, Sprachsteuerung + Feedback per Arduino mit MOVI-Shield, LMS Multiroom mit 7x Pi

joginet

Eine Frage noch zu obigem Post:


{fhem("set Kueche talk |/home/pi/gong.mp3| Achtung Es folgt eine Durchsage | ".ReadingsVal("FhemMail","Subject",""))}


funktioniert jetzt, aber wie kann ich eine Pause zwischen "Achtung es folgt eine Durchsage" und dem Vorlesen des Readings einfügen?
Meine Experimente sind bisher erfolglos. Ich habe ein ". . . . . . " hinter dem Achtung eingefügt  - da passiert  aber nichts, das wird ignoriert.

Wenn ich eine 1,5 Sekunden lange Datei "silent.mp3" direkt hinter der Durchsagetext abspiele, dann werden Teile des Readings-Textes oder
der ganzen Readings Text "verschluckt".

Habt Ihr einen Tipp?

Gruß, Jochen


Meine Konfig: FHEM auf NUC i5 mit Mint, HM-LAN, div. HM Schalter und Heizungsthermostate, FB 6840LTE mit Dect200, HUE bridge, HUE bulbs + Lightstrips, VU+Duo2 und Philips-TV Steuerung, Pushmail, Floorplan, Sprachsteuerung + Feedback per Arduino mit MOVI-Shield, LMS Multiroom mit 7x Pi