Neuentw. Modulpaket zu UPnP: Controller, Device, DLNA(Renderer-Ersatz)

Begonnen von KölnSolar, 15 Februar 2021, 19:29:49

Vorheriges Thema - Nächstes Thema

MichaelT

Hallo Markus,

sorry für die späte Rückmeldung. Habe deine Änderung bei mir seit dem 14.04 am laufen.
Das subscribe funktioniert anscheinend nun korrekt  :)

Die freezes sind aber immer noch da  :(

Das "offline"-Thema kann ich im Moment nicht einordnen.
Es sind unterschiedliche Devices zur verschiedenen Zeiten offline.
Ich habe einen dauer-Ping mal laufen lassen.
Habe jetzt meine 1750E auf den neusten Stand aktualisiert. Aber ggf. melden sich auch die Devices einfach nicht mehr??!!
Die von dir gezeigten IP-Wechsel kann ich bei mir nicht sehen.
Frage: Bei 192.x.x.2_49200 ist 49200 der remote port oder der lokale port. Selbst der ist bei mir nach dem Reconnect immer noch gleich.

Aber durch mein zweites FHEM ist das mit den freezes nicht mehr so schlimm. Das Hauptsystem läuft.

Danke für deine Mühen.

Gruß Michael

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

enno

Zitat von: KölnSolar am 16 April 2021, 21:46:24
Hi Enno,Ein Log mit verbose=4 sollte genügen. Dann sehen wir den Bösewicht.

Moin Markus,

ausser der Log 3 Meldung kommt nichts :( Ich habe mal Verbose 5 gemacht. Viel hilft viel... nichts es kann nur:

2021.04.22 18:29:58 3: DLNARenderer: handleOnce failed, not properly closed tag 'root'

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

KölnSolar

Zitat2021.04.22 18:29:58 3: DLNARenderer:
??? Wieso DLNARenderer ? Vorher war es noch
Zitat2021.04.16 18:35:36 3: UPNPController:
Oder hast Du jetzt DLNARenderer definiert ?

@Michael: Dann beobachte bitte mal weiter. Detaillierter Analysen machen wir dann, wenn ich die neue Version mit dem neuen xml-parser fertig habe. Dauert aber noch, da ich im Augenblick zu nichts komme.  :'(

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

enno

Moin Markus,

ich hatte den UPNPController gelöscht, da das Log voll lief. dann um zu testen den falschen definiert :o Jetzt korrigiert und auf verbose 4 gesetzt. Es kommen die Fehlermeldungen und Meldungen Log4. Welcher ist jetzt der die Fehlermeldung erzeugt?

Ich könnte das Log anhängen, allerdings erscheinen dort fast alle Device die bei mir im Netz rumgeistern.

Beispiel: 2021.04.23 08:07:37 4: UPNPController: discovery message of Phoscon-GW (192.168.1.230) with UDN: uuid:1764ce80-e2fe-4bd9-874d-3342a1deef4b action: deviceAdded
2021.04.23 08:07:37 3: UPNPController: old definition of device uuid:1764ce80-e2fe-4bd9-874d-3342a1deef4b found with 192.168.1.156_49154. readings deleted.
2021.04.23 08:07:38 3: UPNPController: handleOnce failed, not properly closed tag 'root'


Wenn ich ignoreUDNs uuid:1764ce80-e2fe-4bd9-874d-3342a1deef4b nutze, kommen die Fehlermeldungen weiterhin. Der ist es wohl nicht.  Wie erkenne ich den Übeltäter?

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

KölnSolar

Hi Enno,
;D ;D ;D
doch, ich vermute schon dass es das device ist.
ZitatWenn ich ignoreUDNs uuid:1764ce80-e2fe-4bd9-874d-3342a1deef4b nutze, kommen die Fehlermeldungen weiterhin.
Du musst nach dem Setzen des Attributs mindestens ein modify machen(shutdown/restart ist die noch sicherere Variante aber eben wg. shutdown "unangenehmer"). Das ist so eine Feinheit, die ich erst in Angriff nehme, wenn die "Grundfunktionalität" erledigt ist. Und da kommen leider immer wieder devices(wie Deins) dazu, die sich bockig anstellen.
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

enno

Moin Markus,

da ich das Ganze auf meinem "Spiel Raspi" mache ist Neutstart kein Problem. Ich habe eben über  ignoreUDNs fast alle uuid mit Komma getrennt eingetippt und immer schön nach jeder neuen Adresse einen "Shutdown restart" gemacht. Fehlermeldung kam weiter...

Jetzt habe ich das Attribut ignoreUDNs gelöscht und meinen Hauptverdächtigen "XORO Internetradio" per ignoredIPs gespeert. Neustart und es ist Ruhe. Damit klapt es  :) Dieses Problem scheint für mich erst mal gelöst.

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

KölnSolar

da muss ich die help mal etwas deutlicher formulieren Aber gar nicht so einfach: ...IPs werden dem zentralen Controlpoint bei der Definition mitgegeben. Der Controlpoint ist das Herz/Hirn, verarbeitet also erst einmal alles, wie ggfs. über ...IPs definiert(daher auch mindestens modify erforderlich). Nachrangig wird ...UDNs "nur" im Modul benutzt, d.h. es kommen zwar die notify-,event-messages an, werden dann aber in einer quasi 2. Stufe nicht weiter verarbeitet.  ;) Und in Deinem Fall ist die message buggy, was der Controlpoint gemerkt hat.
(Ich musste das jetzt auch erst wieder nachgucken)

Gerne nehme ich Vorschläge für die 4 Attribute in der help an.  ;)

Edit: 25.4. soeben eine neue Version in Post#2 attached, damit Änderungen der Attribute ignoredIPs, usedonlyIPs, envNamespace, envPrefix sofort wirksam werden ohne dass ein modify oder gar shutdown/restart notwendig sind. Es erfolgt eine neue Suche mit ssdp:all. Alte readings werden nicht gelöscht.
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

Hallo Michael,
nachdem auch bei mir ein device verrückt spielt, bin ich noch einmal das freeze-Thema angegangen. Hier findest Du meine Modifikation.

Einen workaround(außer Ausschluss per ignoredIPs) hab ich noch nicht gefunden.  :'( Geschweige denn die Ursache nachvollzogen. Mein device läuft produktiv problemlos. Im Testsystem bis gestern auch. Dann kam eine byebye-message u. mit dem nächsten alive gibt's seitdem den 20s timeout. So 30(physisches device=3UPnP-devices)mal.  Und im 12min-Zyklus. System quasi tot.  ::)Selbst Reboot etc. hilft nicht. Manchmal hab ich das Gefühl, das device blockt die IP :-\

Grüße Markus

Edit: Was es genau war, weiß ich nicht, aber mein UPNPController im Testsystem ist wieder freeze-frei.  :) Möglichkeiten wo ich Dinge verändert habe: das device lief nicht über mein eigentliches pi-hole, sondern noch über das des Testsystems, ARP-Cache geflushed, Netzwerktabelle in pi-hole geflushed, powerline-Adapter stromlos, device von manuellen settings auf DHCP umgestellt, zum wiederholten Male stromlos... und plötzlich lief alles wieder.
Dass es ein generelles Netzwerkproblem war, habe ich irgendwann dadurch gemerkt, das selbst ein simples ping vom FHEM-Rpi nicht funktionierte. Von anderen devices funktionierte das ping problemlos.
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,

habe deine Änderung am ControlPoint auch mal gemacht (2. Mai) Ich sehe keine langen Freezes mehr.
Aktuell aber auch keine offline mehr.

Die Renderer melden sich aber definitiv irgendwann ab und wieder an. Mal länger, mal kürzer.

Schauen wir mal.

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

KölnSolar

Hallo Michael,
schön, dass Du noch dabei bist.

Neue Versionen online. Wichtig: Die Schnittstelle zw. den beiden Modulen ist leicht verändert, so dass ein update beider Module erforderlich ist. Ebenso das nun zum xml-parsing genutzte Perlpaket libxml. Sicherlich ist ein restart nach der Installation sinnvoll.

Die updates der readings nach einem event des devices sehen bei mir gut aus. Bitte mal mit den diversen Mediendateien durchtesten, ob readings fehlen, nicht aktualisiert werden....

Wenn jemand caskeid nutzt oder 2 Lautsprecherdevices "stereo" nutzt, würd ich mich über Logs mit verbose=5 freuen, damit ich mal die xml-Struktur sehe und das dann implementieren kann.

Michael, wir machen dann mit multiroom weiter ? Dein letzter Änderungsvorschlag ist(glaub ich) noch nicht implementiert. Wenn wir damit fertig sind, ist es so weit die Module offiziell zu veröffentlichen u. den DLNARenderer auszumotten.

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

Newbie

Hallo Markus,

ich habe die neue Version installiert. Mir ist aufgefallen, das der Tracktitel als Readings nicht mehr angezeigt wird.
Getestet mit Internet-Radio und Titel von der Platte.

Grüße Jens
fhem-6.1 (configDB+DbLog)  auf ODROID-XU4

KölnSolar

Hallo Jens,

Danke fürs Testen.

Da ich in der Regel nur mit Bildern u. irgendwelchen Windows-Mustern teste: Kannst Du zum Nachstellen bitte das Reading benennen u. einen Link zum Internetradio posten.

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

Newbie

Hallo Markus,

das fehlende Reading heißt : currentTitle

Link zB.:
currentTrackURI  https://streams.starfm.de/berlin.mp3 - für den Rockfan

oder etwas moderater
currentTrackURI  http://addrad.io/4WRH-m

Grüße Jens

fhem-6.1 (configDB+DbLog)  auf ODROID-XU4

KölnSolar

Hi Jens,

die mag mein TV beide nicht, unterschiedliche Reaktion.

Bei currentTrackURI  http://addrad.io/4WRH-msehe ich <Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
  <InstanceID val="0">
    <AVTransportURI val="http://addrad.io/4WRH-m"/>
    <AVTransportURIMetaData val="&lt;DIDL-Lite xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:dlna=&quot;urn:schemas-dlna-org:metadata-1-0/&quot; xmlns:sec=&quot;http://www.sec.co.kr/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;parent&quot; restricted=&quot;1&quot;&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;dc:title&gt;http://addrad.io/4WRH-m&lt;/dc:title&gt;&lt;upnp:album&gt;ndr_ndrradiomv_sn_mp3&lt;/upnp:album&gt;&lt;res protocolInfo=&quot;http-get:*:audio/mpeg:DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000&quot;&gt;http://addrad.io/4WRH-m&lt;/res&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/>
    <CurrentTrack val="1"/>
    <CurrentTrackMetaData val="&lt;DIDL-Lite xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:dlna=&quot;urn:schemas-dlna-org:metadata-1-0/&quot; xmlns:sec=&quot;http://www.sec.co.kr/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;parent&quot; restricted=&quot;1&quot;&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;dc:title&gt;http://addrad.io/4WRH-m&lt;/dc:title&gt;&lt;upnp:album&gt;ndr_ndrradiomv_sn_mp3&lt;/upnp:album&gt;&lt;res protocolInfo=&quot;http-get:*:audio/mpeg:DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000&quot;&gt;http://addrad.io/4WRH-m&lt;/res&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/>
    <CurrentTrackURI val="http://addrad.io/4WRH-m"/>
    <NumberOfTracks val="1"/>
    <TransportState val="TRANSITIONING"/>
  </InstanceID>
</Event>
u. 2021.05.08 14:41:15 5: DLNAController:  node <dc:title>http://addrad.io/4WRH-m</dc:title>, node-name: dc:title node-type: 1 node value:  aber text: http://addrad.io/4WRH-m
2021.05.08 14:41:15 5: DLNAController:  node <upnp:album>ndr_ndrradiomv_sn_mp3</upnp:album>, node-name: upnp:album node-type: 1 node value:  aber text: ndr_ndrradiomv_sn_mp3
2021.05.08 14:41:15 4: DLNAController DLNA_a932bb97_fe9d_422e_9dec_ae982c38c20f: state update from UPNP_Controller, address 192.168.178.62_9197
2021.05.08 14:41:15 5: DLNAController: DLNA_a932bb97_fe9d_422e_9dec_ae982c38c20f, 192.168.178.62_9197, AVTransport, Play
erzeugt u. a. currentTitle http://addrad.io/4WRH-mBei Dir nicht ? (Bei mir wird der stream nicht abgespielt.) Anders ?

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

Newbie

Hallo Markus,

hier mal ein List vom Küchen-Teufel

Internals:
   CFGFN     
   DEF        uuid:39ca9d29-256c-43b4-a8eb-a8d9014bdbaa 10.1.5.12_56090
   FUUID      60955beb-f33f-828b-443d-1715784fe08ce993
   IODev      UPNP_Controller
   LASTInputDev UPNP_Controller
   MSGCNT     354
   NAME       DLNA_39ca9d29_256c_43b4_a8eb_a8d9014bdbaa
   NR         45
   STATE      online
   TYPE       DLNAController
   UDN        uuid:39ca9d29-256c-43b4-a8eb-a8d9014bdbaa
   UPNP_Controller_MSGCNT 354
   UPNP_Controller_TIME 2021-05-08 20:23:26
   address    10.1.5.12_56090
   READINGS:
     2021-05-08 11:06:56   CurrentTrackDuration 00:00:00
     2021-05-08 14:30:02   CurrentTransportActions Stop
     2021-05-07 17:25:31   IODev           UPNP_Controller
     2021-05-07 17:25:31   UDN             uuid:39ca9d29-256c-43b4-a8eb-a8d9014bdbaa
     2021-05-08 14:29:54   currentTrackURI https://streams.starfm.de/berlin.mp3
     2021-05-07 17:25:31   friendlyName    Kueche
     2021-05-07 17:25:31   manufacturer    Lautsprecher Teufel GmbH
     2021-05-07 17:25:31   modelDescription Virtual Media Player
     2021-05-07 17:25:31   modelName       Teufel One M
     2021-05-07 17:25:31   modelNumber     1
     2021-05-08 18:51:33   multiRoomVolume 23
     2021-05-07 17:25:31   mute            0
     2021-05-07 17:25:31   presence        online
     2021-05-08 20:23:26   state           online
     2021-05-08 14:30:02   transportState  PLAYING
     2021-05-07 17:25:31   transportStatus OK
     2021-05-08 18:51:33   volume          23
   helper:
     avTransport 1
     caskeid    0
     caskeidClients
     subscribed 0
Attributes:
   alias      Kueche
   room       DLNAController
   userattr   channel_01 channel_02 channel_03 channel_04 channel_05 channel_06 channel_07 channel_08 channel_09 channel_10 multiRoomGroups ttsLanguage
   webCmd     volume



currentTitle sollte eigentlich den Sendernamen oder Künstlernamen - Musiktitel anzeigen
z.B.:
2021-03-21_12:29:12 DLNA_0e4b86cc_5723_46be_a924_2f459bb908a8 currentTitle: NDR 2
oder
2021-03-21_12:29:50 DLNA_0e4b86cc_5723_46be_a924_2f459bb908a8 currentTitle: ATB x Topic x A7S - Your Love (9PM)


Grüße Jens

P.S.: mein Plasma-TV ist so alt, da kann ich nicht mit testen
fhem-6.1 (configDB+DbLog)  auf ODROID-XU4