Sonos steuern

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

Vorheriges Thema - Nächstes Thema

Reinerlein

Hi Ralli,

hmm... er hat aus irgendeinem Grund den Scalar des Arrays übergeben (die Anzahl der Elemente ist hier ja 6)...
Da hab ich grad keine Idee...

Der Development-Server ist deaktiviert, da er von mir nicht mehr verwendet/gefüllt wird. Ich werde das entsprechende Kapitel im Wiki entfernen...

Grüße
Reiner

Loredo

Hi Reiner,


verfolgst du die Diskussion Text2Speech für andere Module zu erweitern, um dort zentral die TTS Funktionen abzuhandeln?
http://forum.fhem.de/index.php/topic,17667.msg352267.html#msg352267


Finde ich generell interessant. Ggf. kann man so dann auch unterschiedliche Module einfach mischen, die auf den selben Cache zurückgreifen können.


Man müsste dann auch nur an einer einzigen Stelle Anpassungen wie zB bei der Google TTS URL vornehmen.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Reinerlein

Hi Loredo,

da ist ja noch nicht viel passiert :)
Da auch bei mir intern für die Durchsage ein PlayURITemp nach dem Erzeugen der Durchsagedatei verwendet wird, sollte ein Umstellen auf ein zentrales TTS-Modul kein Problem darstellen.

Ich persönlich würde ein Modul mit der Konfiguration aller vom Anwender bevorzugten TTS-Anbieter vorziehen.
Damit könnte man den Einbau in das eigene Modul (hier Sonos) direkt als Perl-Code-Aufruf machen, da der Code-(Prozedur-)Name direkt einheitlich und bekannt wäre.

Ich dachte früher immer, dass das Text2Speech-Modul genau sowas machen würde (klingt vom Namen her so), bis ich mitbekommen habe, dass es für eine direkte Soundausgabe gemacht wurde...

Also, wenn es da was spruchreifes gibt, dann kümmere ich mich gerne um den Einbau des Aufrufs in das Sonos-Modul. Im Zweifel einfach als neuen Sprachbefehl (als Beispiel vielleicht passend zum Modul "set Sonos_Wohnzimmer Text2Speech 30 de Hallo, hier die Durchsage"). Dann geht für einen Übergangszeitraum auch noch die bisherige Variante...

Zum Veröffentlichen: Ich bin immer noch an der Doku dran. Es sind einige Readings (mit entsprechendem Setter) hinzugekommen, die alle beschrieben werden wollen. Dann wird erstmal mein Stand veröffentlicht, und es kann mit anderen Dingen weitergehen...

Grüße
Reiner

aherby

Hallo Reiner,

Danke das Du immer noch Neuerungen in das Modul mit aufnimmt.

Die Trueplay-Aktivierung klappt super. Danke für die Umsetzung.

Bei der Sub-Ausrichtung (SubPolarity) denke ich dass der Parameter die Platzierungseinstellung aktiviert oder deaktiviert. Daher ,,0" oder ,,1"
Aber welche Ausrichtung dahintersteckt habe ich noch nicht herausgefunden. (kein Unterschied, A lauter, B lauter) sicher noch ein weitere Parameter
oder Pegelanpassungen.

Ich bin mr nicht sicher ob du folgende Funktion schon eingebaut hast:

TV-Autoplay aktivieren / deaktivieren
IR-Signale von einer Fernbedienung aktivieren / deaktivieren
Gruppierung bei Autoplay aktivieren / deaktivieren

Anbei mal wieder ein paar Mitschnitte.


Sehr interessant finde ich den Vorschlag von Loredo ein zentrales Text2speak-Modul mit dem Sonos-Modul zu verbinden.

Wenn wir dann irgendwann noch die Funktion von ,,Playerprofilen" mit z.B. Surround und Sub bei der Playbar, bilden der Surroundboxen als ein reines Stereopaar
abspeichern zu können und mit nur einen Befehl verändern könnten, wäre das Modul perfekt.

Danke

Gruß
aherby
FHEM 6.0 auf Raspberry Pi 4b 4GB, RaspberryMatic auf Raspi3b mit Charly-Funkmodul, ZigeeBridge mt deCONZ... . Homematic mittels HMCCU, Sonos 3xS1, 1xS6 (Play5 in der 2te Generation), 1xS9 (Soundbar), 1x SonosSub
1-Wire® to I2C host interface with ESD mit DS18B/S20.

Elektrolurch

Hallo,

hat das mal jemand versucht:

1. Man drückt am Player die Mute-Taste, der Player wird stumm.
2. Das Sonos-Modul zeigt folgerichtig an: stopped.
3. Nun versuche ich über fhem den Player wieder zu starten.  Weder auf "set Player Pause", noch auf "set Player Play" läuft die Wiedergabe wieder an.

Direkt aus fhem funktioniert der Wechsel mit Pause/Play. Der Mute-Knopf am Player scheint also noch etwas anderes zu tun.

Jemand eine Idee, wie ich den Player über fhem wieder aktivieren kann, wenn er händisch über den Mute-Knopf  deaktiviert wurde?

Elektrolurch
configDB und Windows befreite Zone!

Spartacus

Hallo,
auf welches Event muss ich bei "CreateStereoPair" und "SeparateStereoPair" reagieren um dies in einen DOIF weiterzuverarbeiten?
Christian
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Reinerlein

Hallo,

@Elektrolurch:
ich habe das mal gerade an meinen Play:5 und an meinem Connect getestet. Das funktioniert hier alles normal.
Wenn ein Stream läuft -> Taste drücken -> Status Stopped -> Play im Modul -> Player läuft wieder
Wenn ein normaler Titel läuft -> Taste drücken -> Status Pause -> Play im Modul -> Player läuft wieder

Was zeigt das Modul denn im Reading LastActionResult nach deinem Play-Versuch an?
Pause brauchst du übrigens nicht probieren, das ist wirklich immer nur anhalten (wobei es bei einem Stream natürlich zu einem Stopped führt).

@Christian:
Wenn du das selber aufrufst, kannst du auf LastActionResult reagieren. Wenn das Paar-Erzeugen durch einen normalen Controller ausführst, bekommst du kein dediziertes Event dazu. Es taucht nur als neue Gruppierung auf (darauf kannst du natürlich reagieren :) )

@All:
Ich habe noch einen Fehler/ein Feature entdeckt: Es gibt nun einen neuen Repeat-Zustand, RepeatOne, womit ein einzelner Titel wiederholt wird. Leider wird aus diesem Grund der Repeat- und Shuffle-Zustand im Modul nicht mehr korrekt dargestellt. Ich habe das bei mir schon entsprechend umgebaut... ist also beim nächsten Veröffentlichen dabei...

Grüße
Reiner

Elektrolurch

Hallo Reiner,

Zitat:
@Elektrolurch:
ich habe das mal gerade an meinen Play:5 und an meinem Connect getestet. Das funktioniert hier alles normal.

Mir kam das auch komisch vor, daher habe ich versucht, das Ganze mal einzukreisen.
Also, wenn ich die Mute-Taste drücke, dann scheint der Sonos-Subprozess abzusürzen. Allerdings tritt dies nur bei einem Stereo-Paar auf.
Das letzte Event ist "transportState stopped" und danach lässt sich gar kein Player über fhem mehr bedienen. Ich  muss dann die Subprozesse mit disable 1 und disable 0 wieder neu starten.

Dazu muss ich wohl, da habe ich mal einen Abschnitt im wiki gelesen, wohl die Subprozesse von Sonos per Hand starten... (mit welchen Rechten? sudo? fhem selber läuft unter fhem), um die stdout umzulenken und zu sehen, an welcher Stelle der Prozess stirbt.

Kleiner Vorschlag: Könnte man das Umlenken der Standardausgabe in ein File für die Subprozesse nicht per Attribut steuern? (z.B. debug = 1)

Mal sehen, ob ich den Effekt einkreisen kann (und vor allem sicher reproduzieren :-))

Elektrolurch
configDB und Windows befreite Zone!

Reinerlein

Hi Elektrolurch,

ich habe das auch mal mit einem Pärchen getestet. Das klappt bei mir... Da wirst du noch etwas suchen müssen :)

In neueren Fhem-Versionen landet die Konsolenausgabe (sowohl STDOUT als auch STDERR) sowieso im normalen Fhem-Log, da es global umgelenkt wird. Deshalb landen ja auch diese IP-Modul-Fehler im Fhem-Log...
Selber den Subprozess starten brauchst du dafür auch nicht...
Da brauchst du also nichts mehr für tun, nur den Verboselevel hochdrehen...


Grüße
Reiner

Elektrolurch

Oh..
Zitat:
In neueren Fhem-Versionen landet die Konsolenausgabe (sowohl STDOUT als auch STDERR) sowieso im normalen Fhem-Log, da es global umgelenkt wird. Deshalb landen ja auch diese IP-Modul-Fehler im Fhem-Log...

Das wusste ich nicht. Danke für den Hinweis. Dann werde ich mal für das Player-Pärchen  den loglevel hochdrehen und schauen, ob der Subprozess wieder terminiert.
Ich hatte eigentlich was anderes getestet: Sprachausgabe bei gedrückter Mute-Taste. Und hatte mich gewundert, dass da nichts mehr kam, bis ich dann feststelte, das kein Player mehr auf fhem reagierte. Die Ursache könnte also noch was komplexer sein. Werde viel Spaß beim Suchen haben.

Elektrolurch
und danke für die Hinweise und die immer sher geduldigen Antworten, davon könnten sich manche andere eine Scheibe von abschneiden :-).
configDB und Windows befreite Zone!

raspklaus

Hallo,

ich habe mal Fhem upgedated und bekomme seitdem trotz restart etc im Log ständig Fehlermeldungen:

Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.


Ein Löschen und Neuanlegen von allem was mit Sonos zu tun hat brachte keine Änderung. Nach dem Löschen gab es auch keine Fehlermeldungen mehr, die kamen erst wieder nach dem Neuanlegen

Das Log wird mit dieser Fehlermeldung zugemüllt.

Angestossene Sprachausgaben funktionieren.

dev0

Zitat von: raspklaus am 13 Dezember 2015, 21:35:01
Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
http://forum.fhem.de/index.php/topic,45336.msg372142.html#msg372142
oder den Fix von Andre weiter oben im Thread benutzen.

Ralli

Zitat von: dev0 am 14 Dezember 2015, 06:03:06
oder den Fix von Andre weiter oben im Thread benutzen.

... welchen ich mittlerweile nicht mehr empfehlen kann, da damit bspw. einige Aktionen mit dem Fritzbox-Modul nicht mehr funktionieren (nutzt SSL).
Gruß,
Ralli

Proxmox 8.4 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte RaspberryMatic (3.83.6.20250705) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa

raspklaus

#2293
Wo ist die sub zu finden ?

Im fhem Verzeichnis gibt es keine *ip.pm

dev0

Steht in der Warnung doch drin?!