Autor Thema: Sonos Player disappeared  (Gelesen 18731 mal)

Offline aski71

  • Full Member
  • ***
  • Beiträge: 249
Antw:Sonos Player disappeared
« Antwort #75 am: 01 Mai 2019, 22:36:54 »
Hallo zusammen,

ich habe nicht nur das Problem, dass meine Sonos regelmäßig auf disappeared gehen.
Seit kurzem ist es auch so, dass das alle fhem-Seiten (incl. Floorplan), auf denen sich Sonos-Elemente (z.B. ReadingGroups mit den Favoriten) befinden auf allen iOS Geräten blockiert sind. Diese Raumseiten, bzw. der floorplan, wird nicht geladen. Die Fortschrittsanzeige des Browsers bleibt auf der Hälfte hängen.
Wer hat Rat?

VG Alex

Offline gestein

  • Full Member
  • ***
  • Beiträge: 301
Antw:Sonos Player disappeared
« Antwort #76 am: 03 Mai 2019, 16:22:59 »
Hallo,

ich habe das selbe. Sonos geht immer wieder auf "disappeared".
Zur Zeit funktioniert die Lösung von Networker aus #70.
Ich habe nur das Wort "disabled" durch "disappeared" ersetzt.

Warum allerdings zweimal das "(set Sonos RescanNetwork)" ausgeführt wird, verstehe ich noch nicht ganz.
Ansonsten funktioniert es bei mir.
Ich muss nur schauen, ob das auf Dauer eine Lösung ist.

lg, Gerhard

Offline aski71

  • Full Member
  • ***
  • Beiträge: 249
Antw:Sonos Player disappeared
« Antwort #77 am: 05 Mai 2019, 19:04:16 »
Kann mir mal jemand bitte die Syntax dieser Zeile erklären?

defmod di_SonosWatchdog DOIF ([Sonos] eq "disabled")(attr Sonos disable 1)(deleteattr Sonos disable)(set Sonos RescanNetwork)(set Sonos RescanNetwork)DOELSE

Ich habe dazu folgende Fragen:

1) Ein DOELSE am Ende einer Zeile stellt meine komplette Programmierkenntnis auf den Kopf. Ich würde erwarten, dass ein DOELSE ausgeführt wird, wenn die Bedingung von DOIF nicht zutritt. Dazu müsste aber doch hinter dem DOELSE stehen, was getan werden soll?! Was hat das hier für eine Bewandtnis?

2) Warum wird zweimal ein RescanNetwork durchgeführt?

Danke!

Offline aski71

  • Full Member
  • ***
  • Beiträge: 249
Antw:Sonos Player disappeared
« Antwort #78 am: 07 Mai 2019, 11:37:14 »
Hallo,

ich habe das selbe. Sonos geht immer wieder auf "disappeared".
Zur Zeit funktioniert die Lösung von Networker aus #70.
Ich habe nur das Wort "disabled" durch "disappeared" ersetzt.

Warum allerdings zweimal das "(set Sonos RescanNetwork)" ausgeführt wird, verstehe ich noch nicht ganz.
Ansonsten funktioniert es bei mir.
Ich muss nur schauen, ob das auf Dauer eine Lösung ist.

lg, Gerhard

Also, bei mir funktionierte die Lösung aus #70 gar nicht und ich habe das jetzt durchanalysiert, warum:

1) das SonosStatus at-Modul setzt ein Reading myStatus. Abgeprüft wird im DOIF aber  nur [Sonos]. Also das state. Dann kann man im Zweifel warten, bis man schwarz wird.
2) im DOIF muss also [Sonos:myStatus] abgefragt werden.
3) Das wiederum liefert nur ein Event, wenn im Sonos-Device 'myStatus' im event-on-change-reading oder event-on-update-reading angegeben ist.
4) Das hat bei mir alles trotzdem nix genutzt. Erst als ich das DOIF mit 'define' statt 'defmod' definiert hatte, ging es.
5) Das DOELSE am Schluss kann man sich sparen, wenn man keine Befehle mehr dahinter schreibt. Vielleicht wollte der Originalautor aber aus irgendeinem Grund "DOELSE (set Sonos RescanNetwork)" machen und hat es versehentlich falschherum gemacht. Das würde auch die beiden (set Sonos RescanNetwork) hintereinander erklären. Nach meinem Verständnis ist (im Zusammenspiel mit dem do always) gemeint: Auch, wenn das Sonos Device nicht abgestürzt ist, mach trotzdem einen Rescan des Sonos Netzwerks. Ich hab das bei mir jetzt weg gelassen.

Meine Variante sieht jetzt so aus:

define SonosStatus at +*00:05:00 sleep 0.1;; setreading Sonos myStatus [Sonos:state]

und

define di_SonosWatchdog DOIF ([Sonos:myStatus] eq "disabled")(attr Sonos disable 1)(deleteattr Sonos disable)(set Sonos RescanNetwork)
attr di_SonosWatchdog checkReadingEvent 1
attr di_SonosWatchdog do always
attr di_SonosWatchdog wait 0,20,60,60

und am Sonos Device

attr Sonos event-on-change-reading state
attr Sonos event-on-update-reading myStatus

So läuft es jetzt.
Optimierungpotenzial wäre aus meiner Sicht, das SonosStatus Device wegzulassen, im Watchdog ':myStatus' wegzulassen, weil durch das 'event-change-reading state' im Sonos Device eigentlich der Watchdog schon mitkriegen müsste, wenn sich das Sonos Device disabled.

Werde ich mal ausprobieren.

Wie das bei Dir mit "disappeared" funktionieren kann, ist mir ein Rätsel, weil: Das Sonos Haupdevice geht nie auf disappeared. Sondern auf disabled. Jedenfalls bei mir.  :)
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline THZ_Haus

  • Jr. Member
  • **
  • Beiträge: 73
Antw:Sonos Player disappeared
« Antwort #79 am: 26 Mai 2019, 10:26:40 »
Hallo
zu Antwort #75
Bei mir ist das selbe problem vorhanden.
Auf iOS Geräten werde Seiten (Floorplan) von Sonos Device nicht mehr angezeigt.
Die "ladeuhr" verschwindet  nicht mehr.

Eine Lösung weiß ich leider auch nicht! :'(
Solarview mit SAM BT, FHEM mit THZ 403 SOL, EDIMAX

 

decade-submarginal