Squeezebox Modul - erste Version

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

Vorheriges Thema - Nächstes Thema

FHEm2005

#1005
Hallo Paul,

donotnotify <true|false>   
Mit diesem Attribut kann man einstellen, ob der Player ein FHEM Notify bei jeder Änderung eines Readings lostritt oder nicht. Per Default steht das Attribut auf true; der Player erzeugt in diesem Fall nur dann ein Notify, wenn sich das Reading state (on|off) ändert. aber nicht, wenn z.B. das nächste Stück angespielt wird. Ein Notify erzeugt signifikante Rechenlast im FHEM Server und so mancher Radio Sender wechselt ja alle paar Sekunden die Anzeige. Jeder dieser Anzeigenwechsel würde dann zu einem Notify auf dem FHEM Server führen. Diese Rechenlast kann über das nachfolgende Attribut eingeschränkt werden.

event-on-change-reading  <Ausdruck>
Wird donotnotify auf false gesetzt, veranlasst jede Änderung eines Readings ein Notify. Mit diesem Attribut können auslösende Ereignisse gefiltert werden.
   Beispiele:
attr <playername> event-on-change-reading .*
.*   wertet alle Änderungen in den Readings aus und startet jeweils ein Event.
attr <playername> event-on-change-reading currentAlbum,currentArtist,currentTitle
currentAlbum, currentArtist, currentTitle : wertet nur die Readings currentAlbum, currentArtist, currentTitle und natürlich on und off.

.... und wieder was gelernt....  ;D ;D ;D ;D

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

Paul.baumann

Danke Eberhard,

...wollte aber eigentlich nur Lichti antworten  ::)


Paul
FHEM auf Raspberry 3
MaxCube (V1.20.04 a-culfw) für HM, MaxCube (V1.20.04 a-culfw) für diverse Max!, NanoCul 433/868, TinyTX-Nachbauten
Multiroom: mehrere Squeezelite-Clients auf Raspberry B+ und LMS auf QNap
Huger WM918 Wetterstation integriert
Tiao-Sprinkler (Open-Sprinkler) integriert

FHEm2005

Hi Paul,
lieber einmal zuviel antworten, als einmal gar nicht.
Gruß Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM

FHEm2005

.. trotzdem würde ich mal hier versuchen...

updateReadingsOnSet <true|false>      
Wenn ein Befehl ausgeführt wird, werden die Readings erst aktualisiert, wenn die Antwort des LMS eintrifft. Ist dieses Attribut auf true gesetzt, wird die Antwort nicht abgewartet, sondern die Readings werden soweit wie möglich sofort aktualisiert.

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

Lichti

Steht auf true.
Soll ich mal wechseln ?

Lichti

Jetzt hab ich zu früh geschrieben. Seite war noch nicht upgedatet.
Werde mal updateReadingsOnSet probieren.

Und danke für die Antworten.

Lichti

Habe updateReadingsOnSet mit true und false probiert. Keine Änderung.
Wenn ich 2 mal auf on drücke wird der Status richtig angezeigt, nur beim ersten mal nicht.

Lichti

Hab gerade noch folgendes festgestellt:
Wenn ich die Webseite refreshe wird der Status richtig angezeigt.
Kann man einen Refresh einbauen ?

ChrisD

Hallo,

Das Modul hat keinen Einfluss auf das Refreshverhalten von FHEM und deinem Browser. Wenn du das Attribut donotnotify beim Player auf false gesetzt hast und weiterhin kein automatischer Refresh erfolgt gibt es Timing-Probleme zwischen FHEM und deinem Browser.

Grüße,

ChrisD

Lichti

Seltsam:
donotnotify hatte ich ganz am Anfang mit true und false probiert. Keine Änderung
Stand jetzt zuletzt aber wieder auf true.
Hab's jetzt nochmal auf false gesetzt. Jetzt geht's.
Hab allerdings zwischendurch auch noch einige andere Sachen geändert. Evtl. hat da noch was das ganze beeinflusst.

Danke für die Unterstützung.

trapperjohn

#1015
Ich hätte mal eine fast-off-topic Frage: Ich nutze das SB Modul, um meine "Badezimmerdeckenlautsprechersqueezebox" per Homematic zu steuern. Klappt auch alles wunderbar! Danke für das Modul!

Jetzt aber zur eigentlichen Frage: Ich bastel grad an einer Squeezebox-Variante, in der ich per CLI des SB Servers ein paar einfache Kommandos abschicke (wie es auch das FHEM Modul macht). Ich habe nur ein nerviges Detail entdeckt, dass beim FHEM Modul funktioniert: Wenn ich eine Playlist abspiele per "playlist resume", dann startet sie immer beim ersten Lied (=blöd).
Wenn ich dagegen mit dem FHEM Modul eine Playlist starte, dann fängt sie beim letzten Song wieder (=gut). Welches CLI Detail hab ich übersehen? Speichert das FHEM Modul die Playlist immer neu bei Songwechsel?

edit: Ach so, falls es jemanden interessiert, es geht um einen alten Kassettenrekorder, den ich per Raspberry zur Squeezebox umgerüstet habe:
https://www.youtube.com/watch?v=uFRwOS8BOsY
basierend auf dieser Idee:
http://www.cnet.com/news/rewind-this-raspberry-pi-cassette-player-plays-spotify-tunes-on-actual-tapes/

FHEm2005

@trapperjohn

Wenn ich Dich richtig interpretiere, hast Du über cliraw<command> den Befehl playlist resume aufgerufen und dabei beginnt er immer mit dem ersten Lied (?). Leider kenne ich den Befehl in der Praxis der CLI nicht so richtig wie der reagiert.

Über einen direkten Befehl playlist resume im Modul SB_PLAYER kann es nicht funktionieren, da es den m.E. gar nicht gibt. Da gibt es nur die Zusätze play|add|insert und die ganz speziellen playlist track|album|artist|genre|year <x> und playlist genre:<genre> artist:<artist> album:<album> .

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

trapperjohn

Zitat von: FHEm2005 am 19 Januar 2016, 17:29:44

Wenn ich Dich richtig interpretiere, hast Du über cliraw<command> den Befehl playlist resume aufgerufen und dabei beginnt er immer mit dem ersten Lied (?). Leider kenne ich den Befehl in der Praxis der CLI nicht so richtig wie der reagiert.

Leider falsch interpretiert ;-) Ist daher auch quasi off-topic... ich habe nicht per FHEM kommuniziert sondern komplett davon losgelöst eine eigene TCP Verbindung zum Squeezeboxserver aufgebaut und darüber die CLI Kommandos abgesendet. "cliraw " sollte aber das gleiche Verhalten auslösen (?).

Die Liste der CLI Befehle ist in der Hilfe des Squeezeboxservers vorhanden - einfach die Webseite aufmachen, unten links auf Hilfe klicken und dann unter "Technische Infomationen" / "The Logitech Media Server Command Line Interface".

Mein Aufruf ist "player <IP> playlist resume <PLAYLISTNAME>". Dann wird entsprechend die Playlist gestartet, aber stets beim 1. Song

ChrisD

Hallo,

Das Player-Modul startet die Playlist mit dem Befehl
playlistcontrol cmd:load playlist_id:<ID der Playlist>
Dass die Wiedergabe dabei beim zuletzt gespielten Track beginnt kommt vom LMS, das Modul greift hier nicht weiter ein.

'playlist resume' funktioniert nur wenn vorher auch ein 'playlist save' gemacht wurde (und selbst dann nicht immer zuverlässig).

Grüße,

ChrisD

trapperjohn

Zitat von: ChrisD am 19 Januar 2016, 21:43:07

Das Player-Modul startet die Playlist mit dem Befehl
playlistcontrol cmd:load playlist_id:<ID der Playlist>

Super, sowas wollte ich hören! Danke, probier ich heute abend aus!