Sonos steuern

Begonnen von Will, 05 Januar 2013, 15:51:12

Vorheriges Thema - Nächstes Thema

JoeALLb

Ich habe eben mal nachgesehen:
Ich habe vor jedem der letzten 4 Abstürtze ca. eine Minute vor dem Einfrieren von FHEM einein Eintrag

HMLAN state absent
HMLAN Xmit-Events init:1
HMLAN prot_init


in den Logfiles.
Wenn da kein Zusammenhang besteht....

Hatte gerade wieder einen ;-)


Edit: Reihenfolge des Logs korrigiert, da DBLOG die sortierung umdreht.
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

der-Lolo

Mein HmLan macht auch gewaltige Zicken, und das ohne das ich das Sonos Modul nutze...
Ein USB Konfigurator liegt hier schon zur Installation bereit - fehlt nur etwas zeit...

Mir ist damals als ich das Sonos Modul aktiv hatte auch der avahi daemon ins Auge gestochen - irgendwas sorgt in jedem fall für netzwerkinstabilität unter der das Sonos Modul leidet...

herman

#827
Hallo Reiner,

das mit dem $ war ein Copy&Paste Thema.
Ich habe mal mit apptime die Belastung des Sonos gemessen wenn die Steckdosen aus sind. Du hast recht, dass sieht gut aus.


                                name             function    max  count    total  average maxDly
                              HMLAN1           HMLAN_Read    397   1355    46853    34.58      0 HASH(0x2324ce0)
                   batteryUebersicht readingsGroup_Notify    331   1087    12770    11.75      0 HASH(0x29e8888); HASH(0x27f69e0)
           FHEMWEB:x.x.x.x:54589              FW_Read   7370      4     7382  1845.50      0 HASH(0x33dae10)
                   HeizungUebersicht readingsGroup_Notify    123   1087     2585     2.38      0 HASH(0x298a1f8); HASH(0x27db850)
           FHEMWEB:x.x.x.x:63770              FW_Read    905      9      930   103.33      0 HASH(0x339e560)
                               Sonos          SONOS_Ready      7   3477      676     0.19      0 HASH(0x29d6ee8)
              tmr-FW_closeOldClients                          10    112      644     5.75     78
                                CUL1             CUL_Read    119      5      595   119.00      0 HASH(0x22a1e98)
                 tmr-HMLAN_KeepAlive     keepAlive:HMLAN1      3    268      538     2.01   7937 keepAlive:HMLAN1
            tmr-YAMAHA_AVR_GetStatus      HASH(0x28f2368)      3    223      453     2.03   7495 HASH(0x28f2368)
                  FileLog_WZ_Heizung          FileLog_Get    145      2      271   135.50      0 HASH(0x28f0938); FileLog_WZ_Heizung; CURRENT; INT; 2014-02-14_00:00:00; 2014-02-15_00:00:01; 4:T\x3a:0:; 6:H\x3a:0:
                        WZ_LichtAlle        structure_Set     27      8      214    26.75      0 HASH(0x28ec1c0); WZ_LichtAlle; ?
                          EZ_Kommode           CUL_HM_Set      6     37      188     5.08      0 HASH(0x295ba58); EZ_Kommode; ?
                 tmr-CUL_HM_ActCheck       ActionDetector     18     11      188    17.09      7 ActionDetector
                        WZ_Stehlampe           CUL_HM_Set      5     37      182     4.92      0 HASH(0x28ec1f0); WZ_Stehlampe; ?
                            EZ_Licht           CUL_HM_Set      5     37      181     4.89      0 HASH(0x28e1400); EZ_Licht; ?
                          WZ_Heizung           CUL_HM_Set      7     29      176     6.07      0 HASH(0x28ef120); WZ_Heizung; ?
                          SZ_Heizung           CUL_HM_Set      7     26      158     6.08      0 HASH(0x2887e60); SZ_Heizung; ?
               FileLog_DG_SZ_Heizung          FileLog_Log    107     25      131     5.24      0 HASH(0x297a848); HASH(0x2979368)
                                 WEB              FW_Read      2     60      120     2.00      0 HASH(0x209ea98)
              FileLog_ActionDetector          FileLog_Set     24      4       90    22.50      0 HASH(0x29816d8); FileLog_ActionDetector; ?


Es ist deutlich höher, wenn der Log-Modus und die Steckdosen an sind.

Interessanterweise hat die Konsole mehr protokolliert als das FHEM-Log:

FHEM:

2014.02.14 10:35:30 4: SONOS0: DoWorkAnswer arrived for Sonos_Schlafzimmer->LastActionResult: 'DoWork-Exception ERROR: 500 Can't connect to 192.168.3.18:1400 (Keine Route zum Zielrechner) at FHEM/lib/UPnP/ControlPoint.pm line 799 thread 1'
2014.02.14 11:32:04 1: 192.168.3.11:1000 disconnected, waiting to reappear
2014.02.14 11:32:04 1: HMLAN_Parse: HMLAN1 new condition disconnected
2014.02.14 11:32:04 1: 192.168.3.11:1000 reappeared (HMLAN1)
2014.02.14 11:32:04 1: HMLAN_Parse: HMLAN1 new condition init


Konsole:

2014.02.14 10:35:24 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x1b1dce8)
2014.02.14 10:35:27 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x1b1dce8)
2014.02.14 11:26:43 3: SONOS1: Transport-Subscription for ZonePlayer "RINCON_000E58CC166801400_MR" has expired and is now renewed.
2014.02.14 11:26:46 3: SONOS1: Rendering-Subscription for ZonePlayer "RINCON_000E58CC166801400_MR" has expired and is now renewed.
2014.02.14 11:26:49 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_000E58CC166801400_MR" has expired and is now renewed.
2014.02.14 11:26:52 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_000E58CC166801400_MR" has expired and is now renewed.
2014.02.14 11:26:55 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_000E58CC166801400_MR" has expired and is now renewed.
2014.02.14 11:26:58 3: SONOS1: Transport-Subscription for ZonePlayer "RINCON_000E58CA720801400_MR" has expired and is now renewed.
2014.02.14 11:27:01 3: SONOS1: Rendering-Subscription for ZonePlayer "RINCON_000E58CA720801400_MR" has expired and is now renewed.
2014.02.14 11:27:04 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_000E58CA720801400_MR" has expired and is now renewed.
2014.02.14 11:27:07 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_000E58CA720801400_MR" has expired and is now renewed.
2014.02.14 11:27:10 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_000E58CA720801400_MR" has expired and is now renewed.
2014.02.14 11:27:13 3: SONOS1: Transport-Subscription for ZonePlayer "RINCON_000E58D814F201400_MR" has expired and is now renewed.
2014.02.14 11:27:16 3: SONOS1: Rendering-Subscription for ZonePlayer "RINCON_000E58D814F201400_MR" has expired and is now renewed.
2014.02.14 11:27:19 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_000E58D814F201400_MR" has expired and is now renewed.
2014.02.14 11:27:22 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_000E58D814F201400_MR" has expired and is now renewed.
2014.02.14 11:27:25 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_000E58D814F201400_MR" has expired and is now renewed.
2014.02.14 11:27:28 3: SONOS1: Transport-Subscription for ZonePlayer "RINCON_000E58A9DED201400_MR" has expired and is now renewed.
2014.02.14 11:27:31 3: SONOS1: Rendering-Subscription for ZonePlayer "RINCON_000E58A9DED201400_MR" has expired and is now renewed.
2014.02.14 11:27:34 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_000E58A9DED201400_MR" has expired and is now renewed.
2014.02.14 11:27:37 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_000E58A9DED201400_MR" has expired and is now renewed.
2014.02.14 11:27:40 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_000E58A9DED201400_MR" has expired and is now renewed.


Ich beobachte weiter und gehe sobald die neue Dev da ist auf den neuen Stand und teste weiter.

Viele Grüße,
Merhan

JoeALLb

Nochmal die Frage an alle: Verwendet einer von euch DBLog?
Ich kann zZ feststellen, dass mein FHEM komplett geblockt wird, wenn DBlog gerade nicht schnell genug schreiben kann. Und das passiert immer,
wenn das System ausgelastet ist.
Danach schießt sich auch nach ca. 30 Sekunden der hmlan ab und es geht erstmal gar nichts mehr.
Ich erhielt in dieser Zeit keinerlei Loginfo von FHEM!!
Als DBlog dann wieder geschrieben hat, erschien die Fehlermeldung, dass der HMLAN disconnected ist.
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

herman

Zitat von: JoeALLb am 14 Februar 2014, 15:44:42
Nochmal die Frage an alle: Verwendet einer von euch DBLog?
Ich kann zZ feststellen, dass mein FHEM komplett geblockt wird, wenn DBlog gerade nicht schnell genug schreiben kann. Und das passiert immer,
wenn das System ausgelastet ist.
Danach schießt sich auch nach ca. 30 Sekunden der hmlan ab und es geht erstmal gar nichts mehr.
Ich erhielt in dieser Zeit keinerlei Loginfo von FHEM!!
Als DBlog dann wieder geschrieben hat, erschien die Fehlermeldung, dass der HMLAN disconnected ist.

Ich verwende das normale log in die Textdatei. Zur Optimierung des Systems habe ich bei fast allen Geräten attr event-on-change-reading .* gesetzt. Somit reduziert sich die Anzahl unnötig verarbeiteter Events. Seitdem ist der Eventmonitor deutlich ruhiger geworden.

Grüße,
Merhan

ArminK

Hallo Reiner,

ich hätte mal noch eine Frage zum Gruppieren, bzw Entgruppieren von Sonos-Playern:

Szenario: Sonos_Kueche, Sonos_Wohnzimmer und Sonos_Bad spielen in der Gruppe einen Internetradio-Sender (Sonos_Kueche ist der Chef der Gruppe)...
Am Bad habe ich einen Schalter, an dem der Junior beim Duschen seine Lieblings-Playlist aktivieren kann. Wenn die Player nicht gruppiert sind funktioniert das auch.
wenn der Schalter toggelt greift folgendes Notify:
define act_on_ba_sonos_t6 notify ba_sonos_t6:to.* {\
   {fhem("set Sonos_Kueche RemoveMember Sonos_Bad")}\
   {fhem("sleep 2")}\
   {fhem("set Sonos_Bad Volume 20 1")}\
{fhem("set Sonos_Bad LoadPlaylist Henry")}\
{fhem("set Sonos_Bad Play")}\
}


Was beim Betätigen des Schalters passiert:
Sonos_Bad wird aus der Gruppe genommen und bleibt stumm...
Sonos_Küche und Sonos_Wohnzimmer spielen die angegebene Playlist ab......
Kannst Du Dir das irgendwie erklären?
Oder bekomme ich das nur mit dem set Groups Befehl hin?

Grüße und ein schönes Wochenende
Armin
Raspberry Pi 3B mit fhem 5.8;1xCUL USB, 2xCUNO, 1xCUL Raspi über Fhem2Fhem, 2xHMLAN; diverse Homematic und FS20-Komponenten; 7 x Sonos-Player; diverse Eigenbauten mittels FS20 WUE, ESPEasy, MQTT, MySensors

Reinerlein

Hi Armin,

ich vermute mal, dass die Information über die neue Konstellation noch nicht geliefert und/oder fertig verarbeitet wurde. Das bedeutet, dass er immer noch denkt, dass die Küche der zuständige Master ist.
Das ist natürlich in solchen Verarbeitungsketten blöd.

Du könntest natürlich auf das entsprechende Topology-Event reagieren, und dir vorher merken, dass der Junior eine Playlist abgespielt haben wollte...

Grüße
Reiner

herman

Hallo Reiner,

ich habe auf meinem RPI eine separate FHEM Instanz laufen und dort Sonos konfiguriert.
Das läuft bis jetzt ohne Probleme.

Die andere Instanz ist auch Sonos hängen geblieben, wobei ich zu vorschnell war und Befehle von der großen FHEM-Instanz über die Kommandozeile (qx Befehl) an die Sonos-Instanz sende.

Die Erkenntnisse bzgl. dem Hängen in Verbindung mit dem HM-LAN-Adapter sind in diesem Thread im Homenatic-Bereich.

http://forum.fhem.de/index.php/topic,20071.0.html

Viele Grüße,
Merhan

herman

So ich bin soweit mit der Fehlersuche fertig.

Das Problem war wie folgt:

Mein FHEM ist zusammen mit den Sonoskomponenten recht umfangreich, somit legt ein XMLLIST mein FHEM von extern aufgerufen ca. Sekunden lahm. Da ich die App FHEMobile seit kurzem nutze, die auch im Hintergrund zyklisch die XMLLIST abruft hing mein FHEM zyklisch um 10 Sekunden. Somit stieg mein HMLAN aus und das System hing.

Zur Fehlersuche für solche Fälle kann ich http://forum.fhem.de/index.php/topic,16347.0.html empfehlen.

Grundsätzlich müssten hier XMLLIST und FEHMobile überarbeitet werden.

djhans

Hallo,
mal ein kurzes Feedback von mir!!
Seit dem letzten Update des Sonos-Moduls habe ich keinen Absturz mehr gehabt.... Läuft alles stabil!

Besten Dank für die tolle Arbeit,
Christian

strauch

#835
Hallo Reinerlein,

mein FHEM wird gerade etwas debugged. Beim Sonos pm Modul bekomme ich ab und an folgende Fehler:
Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4294.
Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4313.
Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4309.


Meine definitionen in der FHEM sehen folgendermaßen aus:
define Sonos_Wohnzimmer SONOSPLAYER RINCON_XXXXXXXXXXXXXXXXX_MR
attr Sonos_Wohnzimmer generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
attr Sonos_Wohnzimmer generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
attr Sonos_Wohnzimmer generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
attr Sonos_Wohnzimmer getAlarms 1
attr Sonos_Wohnzimmer group Sonos
attr Sonos_Wohnzimmer icon icoSONOSPLAYER_icon-ZP90.png
attr Sonos_Wohnzimmer minVolume 0
attr Sonos_Wohnzimmer model Sonos_ZP90
attr Sonos_Wohnzimmer room Wohnzimmer
attr Sonos_Wohnzimmer stateVariable InfoSummarize2
attr Sonos_Wohnzimmer webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT

define AlbumArt_Wohnzimmer weblink image /fhem/icons/SONOSPLAYER/Sonos_Wohnzimmer_AlbumArt
attr AlbumArt_Wohnzimmer group Sonos
attr AlbumArt_Wohnzimmer htmlattr width='200'
attr AlbumArt_Wohnzimmer room Wohnzimmer

define Sonos SONOS localhost:4711 30
attr Sonos room _Devices


Hast du eine Idee was das sein könnte? Wenn ich bei mir die fhem.cfg editiere und speichere stürtzt fhem ab, schau ich mir mit htop die Prozesse an, bleiben zwei Sonos Prozesse übrig:

PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command   
3148 pi         20   0 42832 36872  3944 S  0.0  8.2  1:21.64 /usr/bin/perl ./f
3166 fhem     20   0 55608 35412  2504 S  0.0  7.9  0:04.92 perl FHEM/00_SONO
31644 fhem   20   0 55608 35412  2504 S  0.0  7.9  3:49.39 perl FHEM/00_SONO


Danke

P.S. Laut update thirdparty http://fhem.lmsoft.de/sonos sonos check hab ich die aktuelle Version (vom 8.1.2014 ist meine Datei, könnte der Tag des installierens gewesen sein)
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

Reinerlein

Hallo strauch,

bitte aktualisier mal auf die Developer-Version. Dann können wir auch besser unterscheiden, ob eines der Probleme überhaupt noch akut ist (und wenn nicht, kann ich wenigstens die Zeilennummern zuordnen :-)

Die aktuelle Dev-Version läuft mittlerweile allgemein wohl ziemlich stabil, sodass zum Einen die Hoffnung besteht, daß dein Problem bereits beseitigt ist, und zum Anderen wird die Version dann wohl auch demnächst wieder mal offiziell "released" werden...


update thirdparty http://fhem.lmsoft.de/sonos_dev sonos


Aber was mir auf jeden Fall in dem geschriebenen Config-Auszug auffällt: Du solltest auf jeden Fall erst das Sonos-Device definieren, und dann die Sonosplayer dazu...

Grüße
Reiner

Capeghost

Hallo zusammen,

bevor ich mit dem Experimentieren mit FHEM im Allgemeinen und Sonos im Speziellen beginne und mir einen Raspberry Pi und ein Cul anschaffe, wäre es schön, wenn ich von Euch die Bestätigung bekäme, dass ich damit die gewünschte Lösung erzielen könnte.
Ich möchte über einen Funktaster (besitze schon den FS20 S8 für die Steuerung von Funksteckdosen) auf beispielsweise einem Sonos Play:1 einen vorher festgelegten Radiosender starten (oder vielleicht sogar Sender 1 bei Taste 1 und Sender 2 bei Taste 2 etc.)
Ist das so umsetzbar?
Danke im voraus.
Gruß
Capeghost

det.

Hallo Capeghost,
Dein Vorhaben ist gut umsetzbar. Du findest hier im Beitrag auch schon Codebeispiele. Wenn Du aber noch nichts bestellt hast, rate ich Dir zu einer etwas performanteren Serverhardware - nimm einen BBB oder Cubieboard2. Da hast Du auf Dauer mehr Freunde mit, besonders bei SONOS + vielen weiteren FHEM Komponenten.
LG
det.

Capeghost

Danke für die schnelle Antwort.
Habe mir gerade noch mal die C't zu dem Thema rausgesucht.
D.h. wenn ich das Board nur als Steuerzentrale nutzen möchte, würde wohl dann alternativ das BBB reichen. Für NAS, Router, Media Center, die BBB ja scheinbar nicht so gut unterstützt, habe ich schon andere Lösungen im Einsatz. Und die von Reinerlein angeboten Skripte laufen darauf dann genauso gut, wie auf einem Pi?
Und wird auf dem BBB dann am Anfang das gleiche Image wie auf einem Pi installiert?