Squeezebox Modul - erste Version

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

Vorheriges Thema - Nächstes Thema

TWART016

Im Event Monitor ist der richtige Titel, nicht der vorherige.

Wenn es an longpoll liegt, warum wird dann currentTrackPosition korrekt aktualisiert?
auf dem WEB steht longpoll auf websocket.

Sobald ich den Titel wechsel, erscheint oben ein Fenster: Connection lost, trying a reconnect every 5 seconds.

Was mit aufgefallen ist. Das Reading currentMedia wird aktualisiert, da steht natürlich der Dateipfad drinnen.

Dersch

Wäre es eigentlich möglich ein toggle ins modul zu bauen? Schalte ein Radio über den Lichtschalter an GPIO an. Das sind alles Taster und da wäre ein toggle praktisch.

Grüße Dirk

pc1246

Hallo Dirk
Die drei Anweisungen mehr werden Dich ja wohl nicht ueberfordern? Ich habe diverse DOIFs und die sind extrem kurz! Und die Abfrage Deines players zum Ein- bzw. Ausschalten sollte nicht so schwierig sein. Mir wuerde ein toggle nichts helfen, da ein On meine Squeezebox-Radios nicht startet. Ich brauche ein play!
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

holle75

#1578
Hello, da das "alte" spotify plugin in lms nicht mehr unterstützt wird, habe ich vor ein paar Tagen spotty.exe in lms integriert. Das funktioniert recht gut.

Aber, seitdem zieht mir fhem regelmäßig auf meinem pi3 100% CPU Last. Das geschieht zu oft, als dass es tolerierbar wäre. Wenn ich SB_Server temporär ausschalte, ist das Problem gelöst.

fhem antwortet dann nicht mehr und zB mein HMLAN oder meine Modbus Stromzähler können nicht mehr ausgelesen werden und verursachen (sehr viele) Fehlermeldungen im Log.

Mit welchen Logs könnte ich das Problem näher eingrenzen? Aufgefallen ist mir, dass alle 5 sekunden irgendwas von fhem an lms abgefragt wird. Apptime gibt mir zT pro Abfrage bis zu 15 Sekunden. Das bei 100% CPU Last. Dann steht verständlicherweise alles.

Das sind jetzt gerade recht verstreute Beobachtungen. Wie was womit genau zusammenhängt konnte ich noch nicht herausfinden. Einzig, dass wenn ich SB-Server entferne alles läuft.

Gruß

H.

Kusselin

komisch..bei mir mit dem 3rd Plugin funzt spotify noch...

holle75

ok, jetzt wird es interessant. Ich hatte das offizielle Plugin von lms genutzt, da bei Triode (bei mir) "Stimmungen" nicht angezeigt wurden. Mit dem offiziellen geht es nicht mehr seit 20.07. Ich probiere jetzt mal wieder das von Triode aus. Die Frage ist nur, wie lange dann dieses noch unterstützt wird?

Thread bei slimdevices.com

http://forums.slimdevices.com/showthread.php?107615-Announce-Spotty-v1-1-0&s=42678a87387ef5e3a256e090eea9399f


holle75

.... triode funktioniert tatsächlich noch.... aber mit den selben Problemen was meine Prozessorlast angeht. Da hat sich wohl das SB-update mit dem spotify-plugin-update überschnitten und ich dachte es läge daran. Probiere jetzt mal eine alte SB-Version mit dem neuen Spotify-Plugin aus. Schauen wir mal.

Kusselin


DigiNecro

Hallo zusammen,

bestimmt steh ich nur auf dem Schlauch oder mach was falsch.

Ich bastel mir mit Floorplan eine kleine Oberfläche für meine SB-Player. Es ist noch eine ziemliche Baustelle und so richtig gut mit fhem kann ich noch nicht umgehen, aber es kommt ;)

Aber nun zu meinem aktuellen Thema:
Ich möchte in den Floorplan auch die Cover einbinden. An sich habe ich dafür eine Lösung. Aber ich nutze meinen LMS mit einer Authentifizierung, daher muss ich, damit die Cover geladen werden, erst den LMS aufrufen und micht authentifizieren. Das ist etwas umständlich. Das hält dann auch für die Sitzung.
Warum es technisch so ist, ist mir schon bewußt: Ich lade von meinem Browser aus externen Inhalt (das Cover) nach, also benötige ich in meiner Browser-Sitzung die Berechtigung.

Nun meine Frage: Gibt es einen (guten/richtigen aus fhem-Sicht) Weg, der ohne diesen Umweg funktioniert? (Richtigen Weg von fhem nutzen? ;)  Bild auf fhem-Server downloaden und dann von dort laden? User/PW aus der Server-Definition auslesen und mit dem Bild mitschicken?)

Irgendwie muss es ja besser gehen...


Meine Umsetzung:

Ein notify, das auf Änderungen bei coverarturl reagiert:

Internals:
   CFGFN
   DEF        pic.Wohnzimmer:coverarturl:.* set du_coverarturl_piCP_WZ stateFormat {getCover("pic.Wohnzimmer", 350)}
   NAME       no_coverarturl_piCP_WZ_Refresh
   NOTIFYDEV  pic.Wohnzimmer
   NR         44
   NTFY_ORDER 50-no_coverarturl_piCP_WZ_Refresh
   REGEXP     pic.Wohnzimmer:coverarturl:.*
   STATE      2017-07-31 14:43:32
   TYPE       notify
   READINGS:
     2017-07-29 09:37:57   state           active
Attributes:
   room       SBP_Wohnzimmer



Die getCover(...)-Funktion:

###################################################################################
# Bereit das Cover der SqueezePlayer auf.
sub getCover($$) {
my ($device,$breite) = @_;
my $playStatus = getPlayStatus($device);
my $code = "";
if ($playStatus eq "playing" || $playStatus eq "paused") {
my $coverurl = ReadingsVal("$device","coverarturl","");
$code = "<img class=\"" . "$device" ."_coverarturl\" src=\"" . "$coverurl" . "\" alt=\"Cover nicht vorhanden\" width=\"" . "$breite" . "\" height=\"" . "$breite" . "\">";
}
return $code;
}




Vielen Dank schon mal für eure Hilfe!

holle75

Nach einem (kurzen) Test läuft sowohl Triode plugin als auch spotty plugin ohne Probleme mit einer alten SB_Server Version. Aua, das hat mich jetzt 4 Tage gekostet inkl Switchwechsel (HMLAN macht Probleme bei Broadcast/Multicast) und der Vermutung mein HMLAN wäre defekt (das waren die einzigen FEHLER die im Log zu sehen waren. Bis man dann erstmal auf Prozessorlast und Spotifyplugin und SB-Player kommt ........)

Bedeutet aber, dass die aktuelle Version von SB_Server (jedenfalls bei mir) starke Probleme im Umgang mit Spotify macht.

97_SB_SERVER.pm vom 09.03.2017 funktioniert
97_SB_SERVER.pm vom 22.06.2017 macht Probleme.

lms ist neu (7.9.1)

Hat jemand von euch spotify laufen und wundert sich über schlechte Verbindung zu fhem oder seltsame Prozessorlasten? ... oder habe nur ich das Phänomen gezogen?

Kusselin

jetzt warte mal......
ich arbeite mit peng der app und da habe ich nach dem sb update so das gefühl das die lautstärkenregelung etwas verzögert kommt!! Kann das mit dem update zusammenhängen...ich habe nämlich auch eines gemacht  :-[

hab das in die Fhem Komandozeile eingegeben:
update add https://raw.githubusercontent.com/ChrisD70/FHEM-Modules/master/autoupdate/sb/controls_squeezebox.txt

Ne Frage: Wie spielt man eigentlich  eine ältere version wieder ein?
Gruss

holle75

log doch mal deine Prozessorlast. Oder du lässt lms mit spotify laufen und startest fhem neu und schaust mal was die cpu macht. Bei mir kommt es allerdings nicht immer beim Neustart zu den 100 Prozent. Manchmal dann auch erst irgendwann. Mir ist einfach generell aufgefallen, dass fhem über WEB ab und zu fast nicht mehr reagiert. Und eben die connect Probleme mit modbus und HMLAN (die dann einfach für 10-15 sekunden ihr Alive nicht mehr senden können).

volume über ipeng verzögert könnte gut sein, wenn die cpu gerade am Anschlag ist.

alte Version probieren: schieb die 97_SB_SERVER.pm und 98_SB_PLAYER.pm (ausm Kopf, also irgendwie so) aus deinem Backup welches beim Update angelegt wird wieder ins Verzeichnis fhem/FHEM/

Dann meckert aber fhem erstmal beim Neustart verschiedenen neue attr aus der neuen Version an. Aber ist ja nur zum testen. Denke, das Problem sollte gefunden werden, sonst können wir ja nicht mehr updaten.

ChrisD

Hallo,

@holle75: Was genau steht bei apptime ?

ZitatAufgefallen ist mir, dass alle 5 sekunden irgendwas von fhem an lms abgefragt wird.
Was wie häufig abgefragt wird kannst du über 2 Attribute steuern: statusRequestInterval und trackPositionQueryInterval. Welchen Wert haben die beiden Attribute ?

Welchen Wert hat das Attribut enablePlugins beim Server ?

Hast du eines der event-on-XXX-reading Attribute beim Player gesetzt ?

Grüße,

ChrisD

holle75

Hallo Chris und danke fürs Schauen. Ich muß jetzt nochmal die neue Version aktivieren und dann apptime laufen lassen. Sollte ich morgen haben

Zitat von: ChrisD am 01 August 2017, 22:25:24
Was genau steht bei apptime ?

Zitat von: ChrisD am 01 August 2017, 22:25:24
Was wie häufig abgefragt wird kannst du über 2 Attribute steuern: statusRequestInterval und trackPositionQueryInterval. Welchen Wert haben die beiden Attribute ?

diese Attribute gibts bei mir nicht.

fhem.cfg

define SqueezeBoxServer SB_SERVER 192.168.xx.xx
attr SqueezeBoxServer alivetimer 120
attr SqueezeBoxServer doalivecheck false
attr SqueezeBoxServer group Squeezebox
attr SqueezeBoxServer httpport 9000
attr SqueezeBoxServer maxcmdstack 200
attr SqueezeBoxServer maxfavorites 30
attr SqueezeBoxServer room SB_PLAYER


define SqueezeBoxPlayer_ZirkusOben SB_PLAYER b8:27:xx:xx:3e:7f
attr SqueezeBoxPlayer_ZirkusOben IODev SqueezeBoxServer
attr SqueezeBoxPlayer_ZirkusOben amplifier play
attr SqueezeBoxPlayer_ZirkusOben coverartheight 50
attr SqueezeBoxPlayer_ZirkusOben coverartwidth 50
attr SqueezeBoxPlayer_ZirkusOben donotnotify false
attr SqueezeBoxPlayer_ZirkusOben fadeinsecs 10
attr SqueezeBoxPlayer_ZirkusOben group Squeezebox
attr SqueezeBoxPlayer_ZirkusOben room SB_PLAYER
attr SqueezeBoxPlayer_ZirkusOben ttsAPIKey d9xxxxxxxxxxxxxxxxxxxxxxx
attr SqueezeBoxPlayer_ZirkusOben ttsMP3FileDir \\Rasp3fhem\AAsoundsFHEM
attr SqueezeBoxPlayer_ZirkusOben ttsOptions ignorevolumelimit
attr SqueezeBoxPlayer_ZirkusOben ttsVolume 100
attr SqueezeBoxPlayer_ZirkusOben ttslanguage de
attr SqueezeBoxPlayer_ZirkusOben ttslink http://api.voicerss.org/?key=<APIKEY>&src=<TEXT>&hl=<LANG>&f=48khz_16bit_stereo
attr SqueezeBoxPlayer_ZirkusOben verbose 2
attr SqueezeBoxPlayer_ZirkusOben volumeLimit 100
attr SqueezeBoxPlayer_ZirkusOben volumeStep 10
#attr SqueezeBoxPlayer_ZirkusOben ftuiSupport 1
#attr SqueezeBoxPlayer_ZirkusOben event-on-change-reading currentTitle,playStatus,volumeStraight,currentAlbum,currentArtist


bei den Problemen hatte ich ftuiSupport noch an. Mal schauen, was jetzt ohne das attr passiert.

Zitat von: ChrisD am 01 August 2017, 22:25:24
Welchen Wert hat das Attribut enablePlugins beim Server ?

gibts auch nicht. Wo kommen die oben genannten attr her? resp. legt die das Modul an? ... und falls ja, warum bei mir nicht?

Zitat von: ChrisD am 01 August 2017, 22:25:24
Hast du eines der event-on-XXX-reading Attribute beim Player gesetzt ?

Hatte ich auskommentiert.

Ich liefer morgen apptime nach und schau mal was mit den attr´s rauszuholen ist.

Danke und Grüße

H.

holle75

#1589
Guten Morgen, so, ohne attr ftuiSupport alles gut. War ja klar, dass nach 4 Tagen rumgebastel es so eine Kleinigkeit ist. Jetzt ist schonmal der Auslöser gefunden.

apptime mit attr ftuiSupport
SqueezeBoxServer                         SB_SERVER_Read                       57565    163   367618  2255.33      0 02.08. 08:32:59 HASH(SqueezeBoxServer) 
ohne 
SqueezeBoxServer                         SB_SERVER_Read                         227  11549   276349    23.93      0 02.08. 06:50:07 HASH(SqueezeBoxServer)

Je länger die Wiedergabeliste in lms, umso länger dauert das Auslesen für ftui. Schön das gefunden zu haben. Frage ist jetzt, ob eines der gestern genannten attr die Problematik löst?