Squeezebox Modul - erste Version

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

Vorheriges Thema - Nächstes Thema

ChrisD

Hallo,

@Mr. Breil:
ZitatDer Befehl achtet auf Groß- und Kleinschreibung (Radiohead ist nicht gleich radiohead
Dies ist so im Code vom LMS implementiert, wenn du nur den Artisten auswählen möchtest, kannst du z.B.
set myplayer playlist artist radioheadverwenden.

ZitatMir ist unklar was ich mit Leerzeichen mache (The Raconteurs)
Die Leerzeichen kannst du mit übergeben (seit Version 0038), sowohl
set myplayer playlist genre:* artist:The Raconteurs album:*als auch
set myplayer playlist artist The Raconteurssollten funktionieren.

@Ronny: Das Eventmap sollte aber nicht dazu führen dass aus z.B. 0 mute wird was in deinem Fall anscheinend geschehen ist. Ich muss mir das genauer ansehen.

Grüße,

ChrisD

mrbreil

Vielen Dank ChrisD werde es heute Abend einbauen.

mrbreil

Habe eine kleine Frage bezüglich der updates der Labels in Tablet ui.
Ich habe zwar bei dem Player folgende Attribute gesetzt:
Zitatevent-on-change-reading .*
donotnotify false
do_not_notify 0
, aber leider werden die Labels nicht aktualisiert.

Zitat<li data-row="4" data-col="2" data-sizex="5" data-sizey="3">
                       <header>Informationen über den gespielten Track</header>
                  <table class="calls" width="100%">
                     <tr>
                        <td>
                           <div data-type="label"class="top-space inline large">Künstler:  </div>
                           <div data-type="label" data-device="piCore_Wohnzimmer" data-get="currentArtist" class="top-space inline large"></div>
                        </td>
                     </tr>
                     <tr>
                        <td>
                           <div data-type="label"class="top-space inline large">Album:  </div>
                           <div data-type="label" data-device="piCore_Wohnzimmer" data-get="currentAlbum" class="top-space inline large"></div>
                        </td>
                     </tr>
                     <tr>
                        <td>
                           <div data-type="label"class="top-space inline large">Titel:  </div>
                           <div data-type="label" data-device="piCore_Wohnzimmer" data-get="currentTitle" class="top-space inline large"></div>   
                        </td>
                     </tr>
                  </table>
                    </li>

auch das Cover wird nicht aktualisiert.
Zitat<div data-type="image" data-device="piCore_Wohnzimmer" data-get="coverarturl" data-size="85%" class="cell"></div>   

Habt ihr einen Tip?

ChrisD

Hallo,

Entferne bitte das Attribut do_not_notify.

Sobald do_not_notify existiert werden keine Events mehr erzeugt, welchen Wert das Attribut hat ist dabei völlig egal.

Grüße,

ChrisD

FHEm2005

#1204
Hallo Chris;

in meiner Doku habe ich geschrieben:
Zitatdo_not_notify <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.

Wenn mrbreil das attr löscht, hat es im Hintergrund denn keinen Defaultwert? Ich habe geschrieben, dass es per Default auf true steht. Wäre es nicht richtig das attr auf false zu stellen, so wie mrbreil es gemacht hat? Die Rechenlast kann er ja dann mit event-on-change-reading einschränken. Stimmt denn meine Beschreibung überhaupt?

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,

Es gibt 2 Attribute die eine sehr ähnliche Funktion haben:

- do_not_notify, FHEM global
- donotnotify, modulspezifisch

Deine Beschreibung passt auf donotnotify, do_not_notify funktioniert wie oben beschrieben dagegen etwas anders: Wenn das Attribut existiert, werden keine Events erzeugt. Die Auswahl 0 oder 1 im UI ist in dieser Hinsicht irreführend weil auch bei 0 keine Events erzeugt werden. In anderen Modulen wird aber auch 0 und 1 als Auswahl angeboten.

Ich kenne leider nicht den Grund wieso donotnotify in das Modul integriert wurde, es ist aber verwirrend 2 Attribute für den gleichen Zweck mit unterschiedlichen Bedeutungen zu haben.

Ich habe die Kombinationen zusammengefasst:
                                      do_not_notify nicht vorhanden           do_not_notify vorhanden (Wert egal)
donotnotify nicht vorhanden                   keine Events                        keine Events
donotnotify true                              keine Events                        keine Events
donotnotify false                                Events                           keine Events


Wenn also Events erwünscht sind muss donotnotify auf false stehen und do_not_notify darf nicht vorhanden sein.

Grüße,

ChrisD

FHEm2005

#1206
Hallo Chris,

ich hatte zuerst in meiner Doku nachgesehen und gedacht, ich hätte dort einen Schreibfehler. Dem war aber offensichtlich nicht so. Deshalb hatte ich in meinem obigen Beitrag den vermeintlichen Schreibfehler von donotnotify nach do_not_notfy geändert und damit erst die Doku "verschlimmbessert". :-(

Ich werde - Dein Einverständnis verausgesetzt - in der nächsten Version auf diese "Eigenart" hinweisen und Deine Erläuterung übernehmen. Ich bin fast sicher, dass ich nicht der Einzige war der diesen Unterschied nicht kannte.

Vielen Dank für diese Erläuterung.

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

FHEMAN

Kann man verschiedene Synchronisationsgruppen vorbelegen und mit einem Befehl für ein talk oder play nutzen?
Ich möchte abhängig von der Nachrichtenwichtigkeit verschiedene Player ansteuern. Und idealerweise nach dem talk automatisch den alten Zustand wiederherstellen.
Wäre hier "save" pro Syncgruppe und "recall" das Mittel der Wahl?
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

Ich habe Probleme meinen SB_Server der auf einem anderen Raspi2 liegt von einem Raspi3 via WLAN zu finden. Er bleibt immer im Status disconnected stehen.

Im ersten Beirtag dieses Freds steht:
ZitatDie Variable STATE zeigt connected | disconnected an. Dies sagt aber nur etwas darüber aus, ob FHEM überhaupt auf Ethernet zugreifen kann.

Ist es unerheblich, ob der Zugriff über Ethernet oder WLAN stattfindet?  Wahrscheinlich bin ich mit Blindheit geschlagen, mein SB_Server will einfach nicht connecten.

FHEM mit SB_SERVER und SB_PLAYER, swie das PRESENCE was die Verfügbarkeit überprüft auf Raspi3 192.168.2.47 .
Der eigentliche LMS liegt auf Raspi2 mit IP 192.168.2.46 .

Hier das Listing von SB_SERVER LMSRasPi3:
Internals:
   ALIVECHECK waiting
   CLICONNECTION on
   CLIPORT    9002
   CMDSTACK   0
   DEF        192.168.2.46:9002 PRESENCE:PresLMS
   DeviceName 192.168.2.46:9002
   IP         192.168.2.46
   LASTANSWER missing username and password ?
   NAME       LMSRasPi3
   NEXT_OPEN  1476806126.85977
   NR         1179
   NTFY_ORDER 50-LMSRasPi3
   PARTIAL
   PASSWORD   ?
   PRESENCENAME PresLMS
   RCCNAME    none
   STATE      disconnected:on
   TYPE       SB_SERVER
   USERNAME   ?
   WOLNAME    none
   Readings:
     2016-10-18 17:23:07   db_albums       ?
     2016-10-18 17:23:07   db_artists      ?
     2016-10-18 17:23:07   db_genres       ?
     2016-10-18 17:23:07   db_songs        ?
     2016-10-18 17:23:07   favoritestotal  0
     2016-10-18 17:23:07   players         ?
     2016-10-18 17:23:07   players_mysb    ?
     2016-10-18 17:23:07   players_other   ?
     2016-10-18 17:54:16   power           on
     2016-10-18 17:23:07   scandb          ?
     2016-10-18 17:23:07   scanlastfailed  ?
     2016-10-18 17:23:07   scanning        ?
     2016-10-18 17:23:07   scanprogressdone ?
     2016-10-18 17:23:07   scanprogresstotal ?
     2016-10-18 17:23:07   serversecure    ?
     2016-10-18 17:23:07   serverversion   ?
     2016-10-18 17:52:16   state           disconnected
   Helper:
     SB_SERVER_VERSION 0022
     lastPRESENCEstate present
     pingCounter 0
Attributes:
   alivetimer 120
   doalivecheck true
   httpport   9002
   maxcmdstack 200
   maxfavorites 30
   room       Squeezebox
   stateFormat state:power

Das ist zwar nicht die letzte Version, aber ein Update mit:

update force https://raw.githubusercontent.com/ChrisD70/FHEM-Modules/master/autoupdate/sb/controls_squeezebox.txt
wurde zwar ordnungsgemäß beendet, aber nach shutdown+ restart war immernoch die Version 22 drin.

ZUr Komplettierung noch das Listing von PRESENCE:

Internals:
   ADDRESS    192.168.2.46
   DEF        lan-ping 192.168.2.46 30
   MODE       lan-ping
   NAME       PresLMS
   NOTIFYDEV  global
   NR         1178
   NTFY_ORDER 50-PresLMS
   STATE      present
   TIMEOUT_NORMAL 30
   TIMEOUT_PRESENT 30
   TYPE       PRESENCE
   Readings:
     2016-10-18 17:52:09   presence        present
     2016-10-18 17:52:09   state           present
   Helper:
Attributes:


Hat da jemand 'ne Idee was ich tun kann??
Gruß Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM

heppel

Hallo Eberhard,

Zitat von: FHEm2005 am 18 Oktober 2016, 18:03:01
   LASTANSWER missing username and password ?

könnte das ein Hinweis auf Dein Problem sein ?

Gruß,
  Heppel

FHEm2005

#1210
Hallo Heppel,

nicht wirklich. Hier wird nur nach einem User und PW gefragt, welches für den Zugang zum LMS vergeben wurde. Da ich meinen Zugang aber nicht geschützt habe ist dieser Punkt nicht ausgefüllt.
Es sei denn in der letzten Zeit wäre es ein Muss geworden, solche PW zu vergeben. (Glaube ich aber nicht wirklich).

Du hast mich aber auf die Idee gebracht die Rechtevergabe in den LMS-Verzeichnissen zu kontroliieren. Von der SB kann ich den Server aufrufen und betreiben. Ob die dortigen Rechte aber zum FHEM passen muss ich prüfen. Weiß Jemand auf anhieb in welchem Verzeichnis ich den Server finden kann?

Gruß Eberhard

Edit: Hat auch nichts gebracht, war überall 755 drin, das sollte wohl ok sein (Ausssagegilt für das Verzeichnis usr/share/Squeezeboxserver.) .
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM

ChrisD

Hallo,

@Eberhard: Du verwendest 9002 als CLI und Web-Port:

CLIPORT    9002
httpport   9002

Kannst du in den Einstellungen des LMS überprüfen welcher Port für CLI eingestellt ist ?

@FHEMAN:
ZitatKann man verschiedene Synchronisationsgruppen vorbelegen und mit einem Befehl für ein talk oder play nutzen?
Dies ist im Moment nicht im Modul vorgesehen. Du müsstest dich selbst um das Syncen kümmern. Bei Interesse kann ich es aber einbauen.

ZitatUnd idealerweise nach dem talk automatisch den alten Zustand wiederherstellen.
Dieser Teil ist aufwändiger da hierfür quasi der gesamte Zustand des Servers abgespeichert und wieder hergestellt werden muss.

Grüße,

ChrisD

FHEm2005

Wenn ich den PRESENCE-Check weglasse kommt kurz connected, dann aber wieder disconnected. In LASTANWER steht:
<BODY>405 Method Not Allowed: </BODY></HTML>

Aus den Logbuch:
2016.10.18 19:51:08.971 1: SB_SERVER(LMSRasPi3): missing username and password ?
2016.10.18 19:50:58.875 3: SB_SERVER_Alive(LMSRasPi3): SB-Server is back again.
2016.10.18 19:48:58.876 3: SB_SERVER_Alive(LMSRasPi3): overrun SB-Server dead.
2016.10.18 19:46:59.378 1: SB_SERVER(LMSRasPi3): missing username and password ?
2016.10.18 19:46:48.865 3: SB_SERVER_Alive(LMSRasPi3): SB-Server is back again.
2016.10.18 19:44:48.865 3: SB_SERVER_Alive(LMSRasPi3): overrun SB-Server dead.
2016.10.18 19:42:49.241 1: SB_SERVER(LMSRasPi3): missing username and password ?
2016.10.18 19:42:38.844 3: SB_SERVER_Alive(LMSRasPi3): SB-Server is back again.
2016.10.18 19:40:38.842 3: SB_SERVER_Alive(LMSRasPi3): overrun SB-Server dead.
2016.10.18 19:38:38.944 1: SB_SERVER(LMSRasPi3): missing username and password ?
2016.10.18 19:38:28.820 3: SB_SERVER_Alive(LMSRasPi3): SB-Server is back again.
2016.10.18 19:36:28.855 1: SB_SERVER(LMSRasPi3): missing username and password ?
2016.10.18 19:36:28.852 3: SB_SERVER_Notify(LMSRasPi3): DISCONNECTED - STATE: disconnected power: on
2016.10.18 19:36:28.851 1: 192.168.2.46:9002 disconnected, waiting to reappear (LMSRasPi3)
2016.10.18 19:36:28.781 3: LMSRasPi3 device opened
2016.10.18 19:36:28.770 3: SB_SERVER_DoInit(LMSRasPi3): SB-Server is back again.
2016.10.18 19:36:28.769 3: SB_SERVER_DoInit(LMSRasPi3): STATE: opened power: off
2016.10.18 19:36:28.733 3: Opening LMSRasPi3 device 192.168.2.46:9002
2016.10.18 19:36:23.410 3: SB_SERVER_Notify(LMSRasPi3): PresLMS changed to present presence: present
2016.10.18 19:35:58.070 3: SB_SERVER_Alive(LMSRasPi3): overrun SB-Server dead.
2016.10.18 19:35:50.330 3: SB_SERVER_Notify(LMSRasPi3): PresLMS changed to present presence: present
2016.10.18 19:35:17.273 3: SB_SERVER_Notify(LMSRasPi3): PresLMS changed to present presence: present
2016.10.18 19:34:44.199 3: SB_SERVER_Notify(LMSRasPi3): PresLMS changed to present presence: present
2016.10.18 19:34:11.125 3: SB_SERVER_Notify(LMSRasPi3): PresLMS changed to present presence: present
2016.10.18 19:33:58.271 1: SB_SERVER(LMSRasPi3): missing username and password ?
2016.10.18 19:33:48.054 3: SB_SERVER_Alive(LMSRasPi3): SB-Server is back again.
2016.10.18 19:33:38.050 3: SB_SERVER_Notify(LMSRasPi3): PresLMS changed to present presence: present
2016.10.18 19:33:36.555 3: SB_SERVER_Notify(LMSRasPi3): DISCONNECTED - STATE: disconnected power: on
2016.10.18 19:33:31.391 3: LMSRasPi3 device opened
2016.10.18 19:33:31.380 3: SB_SERVER_DoInit(LMSRasPi3): SB-Server is back again.
2016.10.18 19:33:31.379 3: SB_SERVER_DoInit(LMSRasPi3): STATE: opened power: ?
2016.10.18 19:33:31.375 3: Opening LMSRasPi3 device 192.168.2.46:9002


@ChrisD:
Ich hatte noch den 9090 nach der Installation drin, habe den aber eben nach 9002 geändert und danach die Ausgaben des Logbuches ausgelesen. Beide Seiten nochmal vorsichtshalber restartet und: Fehler bleibt. Immer dieses missing username and password ? Die Angaben für mysqueezebox.com sind vergeben worden und über den Server auch erreichbar.

Vergebe ich einen User und ein Passwort, kommt als meldung wieder :
LASTANSWER        <BODY>405 Method Not Allowed: </BODY></HTML>

Gruß Eberhard
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,

Du verwendest den Web-Port für die CLI-Verbindung wie die Tags <body> und <html> zeigen. Diese kommen im CLI nicht vor.

Den Port für das CLI findest du im Webinterface des LMS unter Einstellungen - Erweitert - Befehlszeilenschnittstelle (CLI).

Grüße,

ChrisD

FHEm2005

Hallo Chris,

Schande auf mein Haupt!! Ich habe zu lange nichts an den SB-Komponenten gemacht. Dann passiert so etwas. Meine Blödheit. Aber vielen Dank!

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