Sonos steuern

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

Vorheriges Thema - Nächstes Thema

det.

#630
Hallo Reiner,
vielen Dank! Mit der RemoteControl sieht das Ganze noch viel besser aus. Du machst Dir so viel Mühe und ich nutze Dein Modul überwiegend zu solch profanen Zwecken:
- Einschalten FS20 Funksteckdose + Start Radio Paradise über FritzFon oder IPad
- Stummschalten mit Callmonitor auf FB7390 bei ein- und ausgehenden eigenen Anrufen
- Mute off über FritzFon nach beendetem Anruf (bekomme ich nicht automatisch hin, da noch 2 Mieter über die FB telefonieren)
Da die Icons auf dem IPad mit Safari das Longpoll nicht überstanden haben, habe ich die durch welche aus dem fhemSVG ersetzt - sieht nicht so schön aus, aber geht.
LG
det.

Torben

Hallo Reiner,

vielen Dank für die Hilfe. Mit icmp und root funktioniert es nun. Ich hätte da noch eine weitere Frage, da ich mich mit fhem noch nicht so sehr auskenne ist mir nicht klar, wie ich das SomethingChanged für notify nutzen kann. Das
ZitatgenerateSomethingChangedEvent
habe ich angelegt und es liefert auch fleissig:
2014-01-07 20:30:21 SONOSPLAYER Sonos_Wohnzimmer somethingChanged: 1
Ich möchte einfach den Gruppenzustand in eine mysql-Datenbank schreiben. Dieser (hintere) Teil funktioniert auch, aber wie muss der Teil nach notify aussehen?
define etwasHatSichGeandert notify "was muss hier in die Anführungszeichen?" {my $val = (fhem "get Sonos Groups"));; dbWrite($val)}

Schöne Grüße
Torben

Reinerlein

Hi Torben,

der Notify verwendet einen regulären Ausdruck für das Matching.
Also in diesem Fall:

define waspassiert notify Sonos_Wohnzimmer:somethingChanged { DoWorkHere }


Aber wenn du nur den Gruppenzustand benötigst, kannst du doch auch direkt darauf ein Notify machen (und brauchst das SomethingChangedEvent nicht mehr):

define GruppeVeraendert notify Sonos:Groups { DoWorkHere }


Vielleicht eher einen direkten Filelog?

define FileLog_Sonos_Groups FileLog /log/Sonos_Groups-%Y-%m.log Sonos:Groups


Sonst mal auf der Wiki-Seite in den Beispielen stöbern, um Ideen zu bekommen, bzw. für notify das Einsteiger-PDF durchgehen...

Grüße
Reiner

Torben

Hallo Reiner,

vielen Dank. Das funktioniert nun.
Ich hätte da aber noch ein anderes Problem  :-[
Die Bilder von Alben-Covern werden zwar als jpeg geladen, aber mit dem Zusatz ".ERROR" gespeichert. Daher können sie nicht von fhem dargestellt werden. Bilder von Radiosendern werden korrekt als ".gif" abgelegt und auch unter fhem angezeigt.

(http://i1348.photobucket.com/albums/p739/torben5/Bildformate_zpsfb2abd53.jpg)

Hast Du eine Idee, was ich tun kann, damit die jpgs richtig gespeichert und angezeigt werden?

Schöne Grüße
Torben

Reinerlein

Hi Torben,

die Endung wird ermittelt. Wenn dieser Vorgang fehlschlägt, dann wird ".ERROR" hingeschrieben, obwohl das Bild vielleicht korrekt da ist.
Kannst du mal genauer beschreiben, was du gerade von wo hörst (also lokale Bibliothek, Spotify o.ä.)?
Ich vermute genau nicht Spotify, sondern vielleicht einen anderen Musikdienst. Spotify z.B. sendet auch keinen Mimetype, das Bild wird aber immer als JPG übertragen, sodass ich das konstant setzen kann...

Notfalls muss ich mal eine kleine Logausgabe an die Stelle bauen, damit wir da mehr sehen können...

Grüße
Reiner

Torben

Hallo Reiner,

die Musik und damit auch das Cover kommen von Napster/Rhapsody.

Vielen Dank noch mal für Deine Hilfe
Torben

JoeALLb

Hatte heute wieder den Fehler mit "Keine Route zum Zielrechner", nachdem ich einen Text ausgeben lassen wollte.
Vielleicht hilft die Zeile?!?
Der Befehl lautete:
set Sonos_Wohnzimmer Speak 70 de TEST text

Argument "DoWork:RINCON_000E5836AAAC01400_MR:speak0:70,de, TEST..." isn't numeric in numeric eq (==) at FHEM/00_SONOS.pm line 1903, <$client> line 2.
Argument "A:undef:targetSpeakFileHashCache:1" isn't numeric in numeric eq (==) at FHEM/00_SONOS.pm line 1916, <$client> line 2.
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.25:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1834 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.25:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1839 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.25:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1844 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.25:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1849 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.28:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1834 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.28:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1839 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.28:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1844 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.28:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1849 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.72:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1834 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.72:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1844 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.72:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1849 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.25:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1834 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.25:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1839 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.25:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1844 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.25:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1849 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.28:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1834 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.28:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1839 thread 1.


Die IP 192.168.178.28 ließ sich jedoch von mir pingen!
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

Reinerlein

Hi JoeALLb,

hmm... die Ausgaben sind schon die, die ich gebrauchen könnte. Leider passen die Zeilennummern nicht mehr zu meinem Code.
Aber... der Fehler mit der fehlenden Route zum Host könnte auch die oberen Fehler verursacht haben. dort geht es nämlich darum, Anfragen vom SubProzess an den Fhem-Host durchzuführen. Diese werden zwar innerhalb des gleichen Systems, aber trotzdem über die Netzwerkschnittstelle durchgeführt.
Das sieht mir nach irgendwelchen Ausfällen der Netzwerkschnittstelle aus, die sich dann, wenn du draufgehst bereits wieder behoben haben.

Vielleicht solltest du mal eine entsprechende Überwachung auf dem Ding laufen lassen.
Ist das ein Pi, der vielleicht übertaktet wurde, oder sonstige Probleme auf dem USB-Anschluss hat?

Grüße
Reiner

JoeALLb

Hallo Reiner,

ja, es ist ein PI, der nicht übertaktet ist. Warum soll das mit USB zusammenhängen? Die USB-Ports sind nicht in verwendung.
Mir fällt auf, dass ich diese Meldung häufig bekomme, nachdem die CPU-Zeit für ne weile auf 100% war (zB nach einem Backup von FHEM).
Danach fängt sich das jedoch nicht wieder. Aktuell ist keine Auslastung da, ich erhalte diese Meldung jedoch immer noch regelmäßig.

Ich könnte die Version schon aktualisieren, als ich das gerade versuchte, habe ich folgende Meldung erhalten:
update thirdparty http://fhem.lmsoft.de/sonos_dev sonos check
eingebe, erhalte ich
File 'controls_sonos.txt' (remote) is corrupt

Was kann ich tun?
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

Reinerlein

Hi JoeALLb,

das mit der corrupt-Meldung habe ich auch schon bemerkt, habe nur gerade keine Zeit, das genauer zu untersuchen, oder zu melden...
Es scheint ein Problem mit dem Update-Modul zu sein, wenn ich die URL im Browser angebe, wird die angemäkelte Datei ordnungsgemäß angezeigt:
http://fhem.lmsoft.de/sonos_dev/controls_sonos.txt

USB deshalb, da die Netzwerkschnittstelle am Pi intern am USB-Anschluß betrieben wird. Hat sich aber ja erledigt.
Dann kann es ja nur mit dieser Auslastung zusammenhängen. Dabei wird die Anfrage an den Fhem-Teil vermutlich in einen Timeout geraten, der im Nachgang anscheinend nicht mehr korrigiert werden kann...

Ich werde mal schauen, dass ich diesen Timeout hochsetze, damit das vielleicht nicht mehr vorkommt.
Aktuell bin ich berufsmäßig leider etwas eingespannt, sodass es ein/zwei Tage dauern kann... Bzw. das Problem mit dem Update muss ja auch noch gelöst werden...

Grüße
Reiner

JoeALLb

Anbei nochmal 3 Zeilen, die ich beim Ausführen eines Befehls erhalte.
Die erste Zeile erscheint regelmäßig, ca. einmal die Minute, die CPU-Auslastung steigt ab dem Auftreten des Fehlers auch entsprechend!
Renewal of subscription failed with error: 500 Can't connect to 192.168.178.72:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1849 thread 1.
Argument "DoWork:RINCON_000E5836AAAC01400_MR:speak0:70,de, TESTxxx..." isn't numeric in numeric eq (==) at FHEM/00_SONOS.pm line 1903, <$client> line 2.
Argument "A:undef:targetSpeakFileHashCache:1" isn't numeric in numeric eq (==) at FHEM/00_SONOS.pm line 1916, <$client> line 2


Bein shutdown von FHEM habe ich dann noch diese Zeilen bekommen:
2014.01.09 13:25:17 1: SONOS2: Restore-Thread wurde beendet.
Can't call method "kill" on an undefined value at FHEM/00_SONOS.pm line 4602, <$client> line 45.
Can't use an undefined value as a symbol reference at FHEM/Blocking.pm line 126.


Nach einem Restart von FHEM ist der Route-Fehler wieder weg.
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

JoeALLb

Habe soeben das Backup nochmals mit "nice 20" gemacht, und keine Probleme gehabt. Der Fehler scheint nicht auf.
Es scheint also nur mit "extremer auslastung" aufzutreten.
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

Strippenzieher

Ich weiß, es ist jetzt vllt. etwas dreist, aber könntest du mal schauen ob dein Modul auch auf Raumfeld erweitert werden kann ??
Soweit scheint dein Modul ja schon weit fortgeschritten zu sein, da könntest du evtl. mal prüfen ob die Befehlssätze von Raumfeld auf die gleiche Weise funktionieren?
Mir ist bewusst, das es nicht deinen Zwecken dient, aber als Entwickler dieses Moduls mit den damit verbundenen Kenntnissen ist es sicher für dich einfacher es auch für Raumfeld kompatibel zu machen.

MFG Chris

Reinerlein

Hi Chris,

ich habe leider keinerlei Zugriff auf Komponenten des Raumfeld-Systems, sodass ich dir das nicht sagen kann.

Was du tun könntest, wenn du Komponenten des Systems hast, ist, mit dem Intel-Device-Spy mal zu schauen, wie sich die Dinger melden. Wenn sie sich melden, kannst du mir auch gerne mal die XML-Beschreibungsdatei zusenden, dann kann ich reinschauen, wie der Befelssatz von Raumfeld aussieht, und ob das in irgendeiner Form kompatibel wäre...

Grüße
Reiner

Strippenzieher

Hmm ... würde ich gerne, nur wird das etwas knapp da ich ab nächste Woche wieder für längere Zeit im Ausland bin.

Im Hifi Forum habe ich aber schon einige Schnipsel aufgefangen, vllt. verschafft dir das ja einen Einblick.

http://www.hifi-forum.de/viewthread-212-878.html
http://www.hifi-forum.de/viewthread-212-791.html

Ansonsten kann ich erst wirklich behilflich sein, wenn ich wieder in Deutschland bin.

MFG Chris