UPNPController, DLNAController und Multiroom

Begonnen von KölnSolar, 11 Februar 2022, 17:24:12

Vorheriges Thema - Nächstes Thema

KölnSolar

ZitatWas hältst du von einem weiteren device
Dann lieber nur ein master-Attribut. Wie wäre das bei z.B. 4 Speakern und man hätte die in 2 physischen Räumen und wollte dann in beiden Räumen stereo mit unterschiedlichen streams ?  :-\  Wären doch 2 master notwenig, oder ?
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

MichaelT

Hallo Markus,

ja, du hast Recht. Ich hatte eher MR im Kopf, da ich Stereo gerade nur zum Test verwende. Die Devices stehen bei
mir in getrennten Räumen.

Aktuell bekomme ich den StereoMode nicht mit fhem ans Laufen. Ist mir noch nicht klar, warum nicht. Ich meine, das hat mal funktioniert.
Irgendwie stehen alle Werte (RTSPGateway, SpeakerManagement) in den Devices korrekt - aber es kommt nichts.

Gruß Michael
Großes Mischmasch aus HM, Philips, WLAN und Eigenprojekte.
ABER alles mit FHEM.

KölnSolar

#32
Hi Michael,
dann gib doch mal ein Log.
ZitatRTSPGateway
Den service hatten wir doch noch nie berücksichtigt.  ???

Zum master: Es ist doch so, dass eine session von einem device initiiert wird. Dann ist das doch der "master of session", oder ? Ich mach mal ne Übersicht der cmd's.

Grüße Markus

Edit: mir fehlt noch das Verständnis zu der Speicherung von den sessions und der Reihenfolge der Befehle(generell, also nicht FHEM)
- stream/play/speak/channel = abspielen mit neuer session-id oder für im device gespeicherte session(standalone,stereo,multiroom)
- bleibt die session-id auch nach offline/Stromausfall im physischen device erhalten ? Oder nur in der Äpp gespeichert ? Oder nirgends ?
- sind die den Umfang der session beeinflussenden Befehle(...Everywhere, addunit....) vor/während/beides abspielen eines streams ausführbar ?
- ist eine session in der Äpp eher wie ein eigenes device mit speakern als Attribut und gesteuert wird die session ?

Du siehst, jetzt, wo es grob funktioniert, denke ich in use cases. Machts nicht leichter.  :'(

Edit2: Die "groups", zumal mit unterschiedlicher Bedeutung in FHEM vs. dem service SpeakerManagement, sind mir nach wie vor suspekt. Ist es nicht so, dass man Gruppen von Speakern benennen möchte, um dann eben die Gruppe(Bsp. Räume oder  Stereo im Raum)zu steuern ? Bisher haben wir die beiden Befehle LoadGroup und SaveGroupAs, die aber nur für den Stereomodus funktionieren. Ist die Idee nicht, Gruppen mit einem Namen zu definieren und jederzeit eine neue session mit den membern einer Gruppe aufzubauen(gleichzeitig die member ggfs. aus ihrer laufenden session zu entfernen) ?

Nun habe ich glaube ich verstanden, was da eigentlich die Bedeutungen sind: groups sind die "permanenten/gespeicherten" groups, die man laden kann. Die session ist das "temporäre" Geschehen.

Das würde bedeuten, dass im Modul noch einiges fehlt. Wir aber gar kein master device benötigen, da das reading multiroomunits und das Attribut multiroomgroups so gar nicht benötigt würden. Detsails dazu, wenn Du mir meine Annahmen bestätigt hast.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

MichaelT

Hallo Markus,

spät, aber kommt ;-)

Ergebnisse aus der Beobachtung peaq-App und upnptester

Zitat- stream/play/speak/channel = abspielen mit neuer session-id oder für im device gespeicherte session(standalone,stereo,multiroom)
Sobald ich das erste Device in der App in einer Session aufnehme, wird die SessionID gesetzt und das RTSPGateway enabled. Alle weiteren Devices
bekommen beim hinzufügen die SessionID und der Stream wird auf rtsp://IP:port/stream gesetzt. Ich weiß aber nicht, ob z.B. das neue Device nur die SessionID
bekommt und hiermit die RTSP URI aus dem ersten Device ermittelt. Diese kann dort mit GetRTSPGatewayURI gelesen werden. Wird ein Device aus der Session entfernt
wird die SessionID gelöscht. Wird das erste Device aus der Session genommen, werden alle anderen Devices auch gestoppt und SessionID gelöscht.

Zitatbleibt die session-id auch nach offline/Stromausfall im physischen device erhalten ? Oder nur in der Äpp gespeichert ? Oder nirgends ?
Nach Offline/Stromausfall ist die SessionID == "".

Zitat- sind die den Umfang der session beeinflussenden Befehle(...Everywhere, addunit....) vor/während/beides abspielen eines streams ausführbar ?
Ja, man kann beliebig Devices hinzufügen und entfernen. Nur das Erste ist wohl der "master", wird dieses entfernt, sind alle aus.

Zitat- ist eine session in der Äpp eher wie ein eigenes device mit speakern als Attribut und gesteuert wird die session ?
Die peaq-App zeigt alle gefundenen Devices an und man kann dann mit Checkboxen den Stream der App lokal (kein Device aktiv) oder auf den aktivierten
Devices abspielen. Lautstärke kann man einzeln oder Gesamt steuern. Man kann zwei Devices als Stereopaar zusammenhängen, dann sieht man anstelle der Devices
ein neues mit frei wählbaren Name.

ZitatEdit2: Die "groups", zumal mit unterschiedlicher
Ich glaube, die Gruppen (SpeakerMgm) sind nur für "BT-caskeid" wichtig. Sobald BT aktiv ist, wird die Gruppe gesetzt. Alle Devices haben die gleiche Gruppe. Sobald ein Device
ein BT-Stream empfängt (gekoppelt ist), wird dort das RTSP-Gateway enabled. Alle Anderen (mit der gleichen Gruppe??) setzen spielen den Stream rtsp://IP:port/stream.

ZitatNun habe ich glaube ich verstanden, was da eigentlich die Bedeutungen sind: groups sind die "permanenten/gespeicherten" groups, die man laden kann. Die session ist das "temporäre" Geschehen.

Ja, sehe ich auch so.

ZitatDas würde bedeuten, dass im Modul noch einiges fehlt. Wir aber gar kein master device benötigen, da das reading multiroomunits und das Attribut multiroomgroups so gar nicht benötigt würden. Detsails dazu, wenn Du mir meine Annahmen bestätigt hast.

Ja, das master-Device ist immer das, wo man addUnit macht. Wenn ich dann auf einem "nicht master" einen Stream startet, funktioniert das nicht, da die gleiche Session verwendet wird aber das RTSPGateway auf dem master aktiv ist. Erst wenn man ein stopPlayEveryWhere macht (alles SissionID sind dann gelöscht), kann wieder ein anderes Device ein Stream abspielen. removeUnit geht auch aktuell nicht korrekt, da dort der friendly name anstelle der UDN übergeben wird.

Ich hoffe ich verwirre nicht mehr als ich helfe.

Gruß Michael




Großes Mischmasch aus HM, Philips, WLAN und Eigenprojekte.
ABER alles mit FHEM.

KölnSolar

Hi Michael,
ZitatIch hoffe ich verwirre nicht mehr als ich helfe.
Nein. Aber ist schon nicht leicht das "trocken" durchzuspielen.

SaveGroupAs und LoadGroup funktionieren doch im Grundsatz, oder ? Dann würd ich mal ne Zwischenversion machen, dass das nicht nur in FHEM, sondern in den speakern gespeichert wird. Und dann müssten wir einerseits events "groups" mit Inhalt bekommen und die Äpp zeigt dann(wo auch immer) diese Gruppe an. Und Strom off/on sollte nicht den Tod der group bedeuten.

D'accord ?

Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

MichaelT

Ja, einverstanden.

Wovon wolltest Du denn ein Log haben, von dem Stereo-Thema?

Gruß
Großes Mischmasch aus HM, Philips, WLAN und Eigenprojekte.
ABER alles mit FHEM.

KölnSolar

RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

KölnSolar

#37
Hallo Michael,

unabhängig der früheren Funktionsweise habe ich die Version wie folgt geändert:

mit saveGroupAs GroupNamewird im device die Gruppe GroupName mit der GroupID 4DAA44C0-8291-11E3-BAA7-0800200C9A65 angelegt

mit enableCaskeid wird im device unverändert die Gruppe Bluetooth mit der GroupID 4DAA44C0-8291-11E3-BAA7-0800200C9A66 angelegt

mit GetGroupswerden die vorhandenen(gespeicherten ?) Gruppen ausgelesen und in einem neuen reading groups abgelegt( wie auch immer der Inhalt aussehen wird)

bitte so testen:
nach reload
- saveGroupAs TestGroup    mit device_1
- GetGroups            Wie sieht nun das reading groups in diesem device aus ?
- enableCaskeid         mit device_1
- GetGroups            Wie sieht nun das reading groups in diesem device aus ?
- saveGroupAs TestGroup    mit device_2
- GetGroups            Wie sieht nun das reading groups in beiden devices aus ?
- enableCaskeid         mit demselben device_2
- GetGroups            Wie sieht nun das reading groups in beiden devices aus ?
- stromlos eines physischen devices
- GetGroups            Wie sieht nun das reading groups in beiden devices aus ? Die Groups in der Äpp ?


Da es keinen loadGroup upnp-Befehl im service SpeakerManagement gibt, gehe ich davon aus, dass Du über irgendetwas in der Äpp die session beeinflussen kannst
- kann man eine session zu einer Gruppe eröffnen ?
- wird möglicherweise bei start eines streams zu einem speaker automatisch eine neue session mit allen membern der Gruppe eröffnet ?


Und nach jedem Befehl bitte in die Äpp gucken, was dort evtl. verändert angezeigt wird. Und vermutlich hat es auch akkustische Auswirkungen. Welche ?

Und natürlich alles mit verbose 5 im DLNAController zur besseren Verfolgung Deiner Aktivitäten.

Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

MichaelT

Hallo Markus

Ich musste noch ein Problem fixen, Funktionsaufruf falsch:

622c622
<   DLNAController_upnpAddToGroup($hash, "4DAA44C0-8291-11E3-BAA7-0800200C9A65", $groupName);
---
>   DLNAController_AddToGroup($hash, "4DAA44C0-8291-11E3-BAA7-0800200C9A65", $groupName);



Test:

saveGroupAs TestGroup:


Reading: <?xml version="1.0" ?><groups version="1.0"><group><id>4DAA44C0-8291-11E3-BAA7-0800200C9A65</id><name>TestGroup</name></group></groups>
Log:
2022.03.05 07:16:02.140 5:  DLNAController: DG_BUE_MR, 192.168.4.30_52976, SpeakerManagement, AddToGroup
2022.03.05 07:16:02.141 5:  UPNPController: SYS_UPNP, 192.168.4.30_52976, SpeakerManagement, AddToGroup, 4DAA44C0-8291-11E3-BAA7-0800200C9A65 TestGroup
2022.03.05 07:16:02.141 5:  UPNPController: SpeakerManagement: urn:pure-com:serviceId:SpeakerManagement found. OK.
2022.03.05 07:16:02.379 5:  UPNPController: Received event: by 192.168.4.30_52976-zs-SpeakerManagement UPnP::ControlPoint::Service=HASH(0x359b3d0) $VAR1 = 'Groups';
$VAR2 = '4DAA44C0-8291-11E3-BAA7-0800200C9A65TestGroup';

2022.03.05 07:16:02.391 5:  SYS_UPNP: dispatch SpeakerManagement|192.168.4.30_52976|Groups|4DAA44C0-8291-11E3-BAA7-0800200C9A65TestGroup
2022.03.05 07:16:02.391 4:  DLNAController: message from SYS_UPNP, message: SpeakerManagement|192.168.4.30_52976|Groups|4DAA44C0-8291-11E3-BAA7-0800200C9A65TestGroup
2022.03.05 07:16:02.391 5:  DLNAController: message parameters: SpeakerManagement, 192.168.4.30_52976, Groups, 4DAA44C0-8291-11E3-BAA7-0800200C9A65TestGroup
2022.03.05 07:16:02.391 5:  DLNAController: DG_BUE_MR process property Groups, xml-event 4DAA44C0-8291-11E3-BAA7-0800200C9A65TestGroup
2022.03.05 07:16:02.392 4:  DLNAController: DG_BUE_MR parsing did enter load_xml call: 4DAA44C0-8291-11E3-BAA7-0800200C9A65TestGroup
2022.03.05 07:16:02.392 3:  DLNAController: DG_BUE_MR property Groups, propertyval: 4DAA44C0-8291-11E3-BAA7-0800200C9A65TestGroup
2022.03.05 07:16:02.392 4:  DLNAController DG_BUE_MR: state update from SYS_UPNP, address 192.168.4.30_52976



enableBTCaskeid


Reading: <?xml version="1.0" ?><groups version="1.0"><group><id>4DAA44C0-8291-11E3-BAA7-0800200C9A66</id><name>Bluetooth</name></group></groups>

Log:
2022.03.05 09:15:51.427 5:  DLNAController: DG_BUE_MR, 192.168.4.30_52976, SpeakerManagement, AddToGroup
2022.03.05 09:15:51.427 5:  UPNPController: SYS_UPNP, 192.168.4.30_52976, SpeakerManagement, AddToGroup, 4DAA44C0-8291-11E3-BAA7-0800200C9A66 Bluetooth
2022.03.05 09:15:51.427 5:  UPNPController: SpeakerManagement: urn:pure-com:serviceId:SpeakerManagement found. OK.
2022.03.05 09:15:51.680 5:  UPNPController: Received event: by 192.168.4.30_52976-zs-SpeakerManagement UPnP::ControlPoint::Service=HASH(0x359b3d0) $VAR1 = 'Groups';
$VAR2 = '4DAA44C0-8291-11E3-BAA7-0800200C9A66Bluetooth';

2022.03.05 09:15:51.696 5:  SYS_UPNP: dispatch SpeakerManagement|192.168.4.30_52976|Groups|4DAA44C0-8291-11E3-BAA7-0800200C9A66Bluetooth
2022.03.05 09:15:51.696 4:  DLNAController: message from SYS_UPNP, message: SpeakerManagement|192.168.4.30_52976|Groups|4DAA44C0-8291-11E3-BAA7-0800200C9A66Bluetooth
2022.03.05 09:15:51.697 5:  DLNAController: message parameters: SpeakerManagement, 192.168.4.30_52976, Groups, 4DAA44C0-8291-11E3-BAA7-0800200C9A66Bluetooth
2022.03.05 09:15:51.697 5:  DLNAController: DG_BUE_MR process property Groups, xml-event 4DAA44C0-8291-11E3-BAA7-0800200C9A66Bluetooth
2022.03.05 09:15:51.697 4:  DLNAController: DG_BUE_MR parsing did enter load_xml call: 4DAA44C0-8291-11E3-BAA7-0800200C9A66Bluetooth
2022.03.05 09:15:51.697 3:  DLNAController: DG_BUE_MR property Groups, propertyval: 4DAA44C0-8291-11E3-BAA7-0800200C9A66Bluetooth
2022.03.05 09:15:51.698 4:  DLNAController DG_BUE_MR: state update from SYS_UPNP, address 192.168.4.30_52976


Hier fällt schon auf, dass das enableBTCaskeid die TestGroup ersetzt! War bei beiden Devices so.
Aktuell wird das Reading "groups" nicht aktualisiert, nur ein browser reload zeigt die neuen Werte an.
Nach Restart device bleibt die jeweilige Group erhalten.
Überkreuz hatten die Aktionen keinen Einfluss.
In der App macht sich die TestGroup nicht bemerkbar. BTCaskeid wird korrekt angezeigt.
Ich habe immer mittels UPnPTest im Device geschaut. Aber dort war, wie zu erwarten, nichts anders als im Reading.


getGroups scheint aber keine Auswirkung zu haben

2022.03.05 09:10:51.500 5:  UPNPController: renew subscription for service SpeakerManagement of device 192.168.4.31_38702 1646380964
2022.03.05 09:11:33.994 5:  DLNAController: DG_BUE_MR, 192.168.4.30_52976, SpeakerManagement, GetGroups
2022.03.05 09:11:33.995 5:  UPNPController: SYS_UPNP, 192.168.4.30_52976, SpeakerManagement, GetGroups,
2022.03.05 09:11:33.995 5:  UPNPController: SpeakerManagement: urn:pure-com:serviceId:SpeakerManagement found. OK.
2022.03.05 09:11:51.148 5:  UPNPController: try to renew subscriptions for services, device SYS_UPNP
2022.03.05 09:11:51.149 5:  UPNPController: renew subscription for service SessionManagement of device 192.168.4.32_57097 1646393811
2022.03.05 09:11:51.184 5:  UPNPController: renew subscription for service SpeakerManagement of device 192.168.4.32_57097 1646393810
2022.03.05 09:11:51.265 5:  UPNPController: renew subscription for service AVTransport of device 192.168.4.32_57097 16463938


UPnPTest zeigt aber bei GetGroups korrekt an.


In der App kann man "gefühlt" nichts mit den Gruppen machen, nur BTCaskeid ein/aus.
Ich glaube aber, die App war nur Minimalistisch und wird schon ewig nicht mehr weiter entwickelt. Deshalb auch Android 6.0 Ende.

Gruß Michael
Großes Mischmasch aus HM, Philips, WLAN und Eigenprojekte.
ABER alles mit FHEM.

KölnSolar

Hi Michael,
danke fürs testen(und bug beheben  ::) )

Hmm, also gibt es nur eine Group je speaker. Warum dann Plural ?  ::) ??? :o

Was machen wir denn nun damit ?

Und, dass das so zusammengepappt ist.  ???
Zitat$VAR2 = '4DAA44C0-8291-11E3-BAA7-0800200C9A65TestGroup';

Mach doch mal aus der 5 wieder eine 6 im code und nochmal testen. Ob dann auch überschrieben wird oder die uuid der Schlüssel ist ? Aber wozu ? :-\

Grüße Markus



RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

MichaelT

Hallo Markus,

ZitatHmm, also gibt es nur eine Group je speaker. Warum dann Plural ?  ::) ??? :o
Keine Ahnung, von der App kann man da keine Gruppen beeinflussen.

ZitatUnd, dass das so zusammengepappt ist.  ???
Ich glaube, dass war nur ein Kopierfehler!

2022.03.05 09:15:51.680 5: UPNPController: Received event: by 192.168.4.30_52976-zs-SpeakerManagement UPnP::ControlPoint::Service=HASH(0x359b3d0) $VAR1 = 'Groups';
$VAR2 = '<?xml version="1.0" ?><groups version="1.0"><group><id>4DAA44C0-8291-11E3-BAA7-0800200C9A66</id><name>Bluetooth</name></group></groups>';



habe 65 --> 66 geändert.
Sobald man dann saveGroupAs mit "TestGroup" macht, geht die App davon aus, dass Bluetooth enabled ist.
Also ist der Name der Group nicht relevant, sondern die UUID!

ZitatWas machen wir denn nun damit ?
Weiß auch nicht!?!

Was ich noch nicht verstehe ist, warum geht "mute" nicht.

17:40:39.379 SetMute aus FHEM.
17:42:07.507 mit UPnPTester siehe Bild.

Kann man sehen, was der UPNPController zum Device schickt? Sieht so aus, als wenn am Device immer eine 0 ankommt,

2022.03.13 17:40:39.379 5: DLNAController: OG_SZ_MR, 192.168.4.31_55981, RenderingControl, SetMute
2022.03.13 17:40:39.379 5: UPNPController: SYS_UPNP, 192.168.4.31_55981, RenderingControl, SetMute, 0 Master 1
2022.03.13 17:40:39.380 5: UPNPController: RenderingControl: urn:upnp-org:serviceId:RenderingControl found. OK.
2022.03.13 17:40:39.892 5: UPNPController: Received event: by 192.168.4.31_55981-zs-RenderingControl UPnP::ControlPoint::Service=HASH(0x409daa4) $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Mute channel="Master" val="0"/></InstanceID></Event>';

2022.03.13 17:40:39.909 5: UPNPController: SYS_UPNP: checking event LastChange against event_map
2022.03.13 17:40:39.910 5: SYS_UPNP: dispatch RenderingControl|192.168.4.31_55981|LastChange|<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Mute channel="Master" val="0"/></InstanceID></Event>
2022.03.13 17:40:39.910 4: DLNAController: message from SYS_UPNP, message: RenderingControl|192.168.4.31_55981|LastChange|<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Mute channel="Master" val="0"/></InstanceID></Event>
2022.03.13 17:40:39.910 5: DLNAController: message parameters: RenderingControl, 192.168.4.31_55981, LastChange, <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Mute channel="Master" val="0"/></InstanceID></Event>
2022.03.13 17:40:39.910 5: DLNAController: OG_SZ_MR process property LastChange, xml-event <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Mute channel="Master" val="0"/></InstanceID></Event>
2022.03.13 17:40:39.910 4: DLNAController: OG_SZ_MR parsing did enter load_xml call: <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Mute channel="Master" val="0"/></InstanceID></Event>
2022.03.13 17:40:39.911 4: DLNAController: OG_SZ_MR dom structure: <?xml version="1.0"?>
<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/">
  <InstanceID val="0">
    <Mute channel="Master" val="0"/>
  </InstanceID>
</Event>

2022.03.13 17:40:39.911 4: DLNAController: OG_SZ_MR LastChange xml event with root <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Mute channel="Master" val="0"/></InstanceID></Event> found with name: Event
2022.03.13 17:40:39.911 5: DLNAController: OG_SZ_MR registered ns-uri is: urn:schemas-upnp-org:metadata-1-0/RCS/
2022.03.13 17:40:39.911 5: DLNAController: OG_SZ_MR node <InstanceID val="0"><Mute channel="Master" val="0"/></InstanceID>, node-name: InstanceID node-type: 1
2022.03.13 17:40:39.911 4: DLNAController: OG_SZ_MR Update reading mute with 0
2022.03.13 17:40:39.911 4: DLNAController: OG_SZ_MR Update reading mute with 0
2022.03.13 17:40:39.912 4: DLNAController: OG_SZ_MR Update reading mute with 0
2022.03.13 17:40:39.912 4: DLNAController: OG_SZ_MR Update reading mute with 0
2022.03.13 17:40:39.912 4: DLNAController OG_SZ_MR: state update from SYS_UPNP, address 192.168.4.31_55981
2022.03.13 17:40:52.434 5: UPNPController: try to renew subscriptions for services, device SYS_UPNP
2022.03.13 17:41:52.434 5: UPNPController: try to renew subscriptions for services, device SYS_UPNP
2022.03.13 17:41:52.436 5: UPNPController: renew subscription for service SpeakerManagement of device 192.168.4.31_55981 1646954141
2022.03.13 17:41:52.471 5: UPNPController: renew subscription for service SessionManagement of device 192.168.4.31_55981 1646954392
2022.03.13 17:41:52.509 5: UPNPController: renew subscription for service AVTransport of device 192.168.4.31_55981 1646954894
2022.03.13 17:41:52.557 5: UPNPController: renew subscription for service RenderingControl of device 192.168.4.31_55981 1646954643
2022.03.13 17:41:52.593 5: UPNPController: renew subscription for service AVTransport of device 192.168.4.30_52976 1646953389
2022.03.13 17:41:52.633 5: UPNPController: renew subscription for service RenderingControl of device 192.168.4.30_52976 1646953138
2022.03.13 17:41:52.678 5: UPNPController: renew subscription for service SessionManagement of device 192.168.4.30_52976 1646953640
2022.03.13 17:41:52.712 5: UPNPController: renew subscription for service SpeakerManagement of device 192.168.4.30_52976 1646952886
2022.03.13 17:41:52.746 5: UPNPController: renew subscription for service SessionManagement of device 192.168.4.32_47441 1646951885
2022.03.13 17:41:52.787 5: UPNPController: renew subscription for service SpeakerManagement of device 192.168.4.32_47441 1646951884
2022.03.13 17:41:52.821 5: UPNPController: renew subscription for service AVTransport of device 192.168.4.32_47441 1647165974
2022.03.13 17:41:52.853 5: UPNPController: renew subscription for service RenderingControl of device 192.168.4.32_47441 1646951884
2022.03.13 17:41:52.884 5: UPNPController: renew subscription for service RenderingControl of device 192.168.4.33_60063 1646952134
2022.03.13 17:41:52.936 5: UPNPController: renew subscription for service AVTransport of device 192.168.4.33_60063 1646951885
2022.03.13 17:41:52.971 5: UPNPController: renew subscription for service SessionManagement of device 192.168.4.33_60063 1646952636
2022.03.13 17:41:53.005 5: UPNPController: renew subscription for service SpeakerManagement of device 192.168.4.33_60063 1646952385
2022.03.13 17:42:07.507 5: UPNPController: Received event: by 192.168.4.31_55981-zs-RenderingControl UPnP::ControlPoint::Service=HASH(0x409daa4) $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Mute channel="Master" val="1"/></InstanceID></Event>';

2022.03.13 17:42:07.524 5: UPNPController: SYS_UPNP: checking event LastChange against event_map
2022.03.13 17:42:07.524 5: SYS_UPNP: dispatch RenderingControl|192.168.4.31_55981|LastChange|<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Mute channel="Master" val="1"/></InstanceID></Event>
2022.03.13 17:42:07.525 4: DLNAController: message from SYS_UPNP, message: RenderingControl|192.168.4.31_55981|LastChange|<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Mute channel="Master" val="1"/></InstanceID></Event>
2022.03.13 17:42:07.525 5: DLNAController: message parameters: RenderingControl, 192.168.4.31_55981, LastChange, <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Mute channel="Master" val="1"/></InstanceID></Event>
2022.03.13 17:42:07.525 5: DLNAController: OG_SZ_MR process property LastChange, xml-event <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Mute channel="Master" val="1"/></InstanceID></Event>
2022.03.13 17:42:07.525 4: DLNAController: OG_SZ_MR parsing did enter load_xml call: <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Mute channel="Master" val="1"/></InstanceID></Event>
2022.03.13 17:42:07.525 4: DLNAController: OG_SZ_MR dom structure: <?xml version="1.0"?>
<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/">
  <InstanceID val="0">
    <Mute channel="Master" val="1"/>
  </InstanceID>
</Event>

2022.03.13 17:42:07.525 4: DLNAController: OG_SZ_MR LastChange xml event with root <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Mute channel="Master" val="1"/></InstanceID></Event> found with name: Event
2022.03.13 17:42:07.526 5: DLNAController: OG_SZ_MR registered ns-uri is: urn:schemas-upnp-org:metadata-1-0/RCS/
2022.03.13 17:42:07.526 5: DLNAController: OG_SZ_MR node <InstanceID val="0"><Mute channel="Master" val="1"/></InstanceID>, node-name: InstanceID node-type: 1
2022.03.13 17:42:07.526 4: DLNAController: OG_SZ_MR Update reading mute with 1
2022.03.13 17:42:07.526 4: DLNAController: OG_SZ_MR Update reading mute with 1
2022.03.13 17:42:07.526 4: DLNAController: OG_SZ_MR Update reading mute with 1
2022.03.13 17:42:07.527 4: DLNAController: OG_SZ_MR Update reading mute with 1
2022.03.13 17:42:07.527 4: DLNAController OG_SZ_MR: state update from SYS_UPNP, address 192.168.4.31_55981



Gruß Michael
Großes Mischmasch aus HM, Philips, WLAN und Eigenprojekte.
ABER alles mit FHEM.

KölnSolar

#41
Hi Michael,
mute funktioniert bei mir einwandfrei.
ZitatKann man sehen, was der UPNPController zum Device schickt? Sieht so aus, als wenn am Device immer eine 0 ankommt,
Indirekt durch das folgende event(in der Regel  ::)).2022.03.13 17:40:39.892 5: UPNPController: Received event: by 192.168.4.31_55981-zs-RenderingControl UPnP::ControlPoint::Service=HASH(0x409daa4) $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Mute channel="Master" val="0"/></InstanceID></Event>';
bzw. im DLNAController 2022.03.13 17:40:39.379 5: UPNPController: SYS_UPNP, 192.168.4.31_55981, RenderingControl, SetMute, 0 Master 1interpretiert über action>
<name>SetMute</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>Channel</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>
</argument>
<argument>
<name>DesiredMute</name>
<direction>in</direction>
<relatedStateVariable>Mute</relatedStateVariable>
</argument>
</argumentList>
</action>
war es set mute on.

Und InstanceId und Channel sind gleich zum UPnPTester. Seltsam. Ist einer der Peaq's ? Und dass der Befehl "blockiert" wurde durch eine besondere Konstellation(stereo,multiroom...)?  :-\

Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

MichaelT

Hi,

ZitatIst einer der Peaq's ? Und dass der Befehl "blockiert" wurde durch eine besondere Konstellation(stereo,multiroom...)?
Glaube ich eher nicht, da ja eine Reaktion aus SetMute kommt - bloß mit val="0"
Großes Mischmasch aus HM, Philips, WLAN und Eigenprojekte.
ABER alles mit FHEM.

KölnSolar

Naja, eben doch.
Der Befehl wird geschickt, empfangen und dann wird mit dem Status geantwortet. Quasi als Hinweis, habs aber nicht gemacht.

Da es ja problemlos bei mir funktioniert, kann es nicht irgendwie an dem Modul liegen. Und ich hab ja oben extra noch einmal mit Deinem Logauszug das Modul "trocken" durchlaufen. Das passt alles. Nach der Logausgabe RenderingControl, SetMute, 0 Master 1 kommen nur Standardfunktionen mit den Parametern: service, action, arguments, folglich waren die Argumente InstanceID=0, Channel=Master, und  DesiredMute=1.(Ein Schelm wer Böses bei dem Wörtchen desired denkt)

Du könntest die richtige Funktionsweise auch mit dem Windows Mediaplayer verifizieren.

Grüße Markus

RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

MichaelT

Hallo Markus,

hab mal wieder ein wenig Zeit für's Hobby.

Mit dem Mute bin ich jetzt ein wenig weiter. Es funktioniert nur "set mute off".
Mir ist das nicht aufgefallen, da ich es nie probiert habe, am device zu "muten" und dann von fhem wieder
zu "entmuten".

Ich verstehe aber nicht, warum man von fhem nicht muten kann, da vom UPnP-Tester es ja nachweislich mehrfach (quasi immer) funktioniert.

Hast Du noch eine Idee?

Gruß Michael
Großes Mischmasch aus HM, Philips, WLAN und Eigenprojekte.
ABER alles mit FHEM.