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

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

Vorheriges Thema - Nächstes Thema

plin

Tja, so ist das manchmal. Gestern habe ich mittels tcpdump einen ersten Trace gezogen, dann kam der Gedanke "schau doch mal was Du im Internet findest", habe nach "Frontier Silicon" gesucht (die haben die Internetradio Software des Hama erstellt), dabei https://www.home-assistant.io/integrations/frontier_silicon/ gefunden, auch den Hinweis, dass die SW vermutlich nur auf wenigen Devices läuft, von Problemen gelesen und das nur jeweils eine UNDOK-App-Instanz steuern kann ...

Heute Morgen wollte ich ernst machen: Radio ins Arbeitszimmer geholt, wollte es an einen Hub anschließen, mit dem Notebook erneut den Netzwerk-Traffic mitschneiden ...

Da das Device offline angezeigt wurde also zunächst ein "set UPNP_Controller searchterm upnp:rootdevice" abgesetzt. Und dann erscheint in FHEM beim DLNAController-Device des Hama die gleiche umfangreiche Liste von SET-Commands wie bei den anderen Devices ...

speak funktioniert, aus dem Windows Media Player heraus kann ich Musik abspielen. Geht also doch.

Nun gilt es also herauszufinden warum es manchmal nicht funktioniert. Da würde ich mein Hama IR110MS aber erst mal in der Prioritätenliste nach hinten schieben. Im Februar kommt ein zweites, neueres dazu.

Ich klappere jetzt erst mal meine Device-Typen ab und prüfe was geht und was nicht geht.
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

plin

Markus,

was interessiert Dich beim Test bzw. wie detailliert muss der sein?

Beim LG wurde ich z.B. gefragt, ob ich die Fremdsteuerung zulasse. Dann konnte ich mittels speak einen Text vorlesen lassen. Lautstärke aktiv durch das Modul einstellen geht nicht, aber bei Änderungen über die Fernbedienung sehe ich das unmittelbar in FHEM.

Meine Vermutung:
- Device wird erkannt und findet sich in den Readings des UPNPController
- Device wird richtig als Client (DLNAController) oder Server erkannt
- Für ein Client-Device wird automatisch ein FHEM-Device angelegt
- Funktionsumfang des SET-Commands spiegelt den des Devices wieder (default wäre nur volume/mute)
- Device lässt sich über FHEM ansteuern (speak, stream, volume)
- Device kommuniziert mit dem FHEM-Device (volume up/down per Fernbedienung o.ä.) spiegelt sich im FHEM-Device wider (=> subscribe erfolgreich)

Was brauchst Du sonst noch?

VG Peter
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

KölnSolar

Hi Peter,
dann funktioniert alles beim LG bis auf set volume/mute ? Ging das beim Hama ?
Dann lass uns mal schauen, woran es hakt. verbose=5 beim UPNPController und LG und dann mal ein set....

das xml
Zitathttp://192.xxx..xxx.70:39631/51f83fb5e0c04a72bad149e9dd0adbfe.xml
würde mich mal interessieren. Ich spekuliere auf SEMP.

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

plin

Zitat von: KölnSolar am 04 Januar 2022, 20:07:40
dann funktioniert alles beim LG bis auf set volume/mute ?
ALLES? Du bist also gierig. Ich habe gerade noch mal getestet.

Fernseher Fernbedienung -> FHEM
- volume up/down -> ok
- mute on/off -> ok
- channel- Auswahl, Up Down -> nix

FHEM -> Fernseher
- speak -> wurde nicht wiedergegeben
- stream (der zwischengespeicherten speak-URL) -> wird wiedergegeben
- play -> zwischengespeicherte speak-URL wird wiedergegeben
- volume nn -> keine Wirkung
- channel 1 -> keine Wirkung
- on-til -> zwischengespeicherte speak-URL wird wiedergegeben

Als "ALLES" würde ich das nicht bezeichnen. Sollten alle der angezeigten SET-Commands funktionieren?

DLNA-Log
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx presence: online
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 5
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 5
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 5
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 5
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 5
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx volume: 7
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:42:34 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:43:11 DLNA_xxx_xxx_xxx_xxx_xxx volume: 6
2022-01-05_13:43:11 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 6
2022-01-05_13:43:11 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 6
2022-01-05_13:43:11 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 6
2022-01-05_13:43:11 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 6
2022-01-05_13:43:14 DLNA_xxx_xxx_xxx_xxx_xxx volume: 7
2022-01-05_13:43:14 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:43:14 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:43:14 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:43:14 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:43:31 DLNA_xxx_xxx_xxx_xxx_xxx volume 11
2022-01-05_13:43:49 DLNA_xxx_xxx_xxx_xxx_xxx volume 11
2022-01-05_13:44:37 DLNA_xxx_xxx_xxx_xxx_xxx volume: 6
2022-01-05_13:44:37 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 6
2022-01-05_13:44:37 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 6
2022-01-05_13:44:37 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 6
2022-01-05_13:44:37 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 6
2022-01-05_13:44:39 DLNA_xxx_xxx_xxx_xxx_xxx volume: 7
2022-01-05_13:44:39 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:44:39 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:44:39 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:44:39 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:44:42 DLNA_xxx_xxx_xxx_xxx_xxx volume: 8
2022-01-05_13:44:42 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 8
2022-01-05_13:44:42 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 8
2022-01-05_13:44:42 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 8
2022-01-05_13:44:42 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 8
2022-01-05_13:45:51 DLNA_xxx_xxx_xxx_xxx_xxx speak "Hallo Peter"
2022-01-05_13:45:55 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:45:55 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:45:55 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:45:55 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:45:55 DLNA_xxx_xxx_xxx_xxx_xxx stream: http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=Hallo%20Peter
2022-01-05_13:45:55 DLNA_xxx_xxx_xxx_xxx_xxx transportState: TRANSITIONING
2022-01-05_13:45:55 DLNA_xxx_xxx_xxx_xxx_xxx buffering
2022-01-05_13:45:55 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:45:55 DLNA_xxx_xxx_xxx_xxx_xxx buffering
2022-01-05_13:45:55 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:45:56 DLNA_xxx_xxx_xxx_xxx_xxx transportState: STOPPED
2022-01-05_13:45:56 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:45:56 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:45:56 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:45:56 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:46:12 DLNA_xxx_xxx_xxx_xxx_xxx volume: 7
2022-01-05_13:46:12 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:46:12 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:46:12 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:46:12 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:50:36 DLNA_xxx_xxx_xxx_xxx_xxx stop
2022-01-05_13:50:46 DLNA_xxx_xxx_xxx_xxx_xxx off
2022-01-05_13:51:21 DLNA_xxx_xxx_xxx_xxx_xxx channel 5
2022-01-05_13:51:45 DLNA_xxx_xxx_xxx_xxx_xxx volume 11
2022-01-05_13:53:35 DLNA_xxx_xxx_xxx_xxx_xxx volume: 6
2022-01-05_13:53:35 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 6
2022-01-05_13:53:35 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 6
2022-01-05_13:53:36 DLNA_xxx_xxx_xxx_xxx_xxx volume: 7
2022-01-05_13:53:36 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:53:37 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:54:02 DLNA_xxx_xxx_xxx_xxx_xxx mute: 1
2022-01-05_13:54:02 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:54:04 DLNA_xxx_xxx_xxx_xxx_xxx mute: 0
2022-01-05_13:54:04 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:54:20 DLNA_xxx_xxx_xxx_xxx_xxx volume 10
2022-01-05_13:54:27 DLNA_xxx_xxx_xxx_xxx_xxx volume 10
2022-01-05_13:54:30 DLNA_xxx_xxx_xxx_xxx_xxx volume: 6
2022-01-05_13:54:30 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 6
2022-01-05_13:54:31 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 6
2022-01-05_13:54:34 DLNA_xxx_xxx_xxx_xxx_xxx volume: 7
2022-01-05_13:54:34 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:54:34 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 7
2022-01-05_13:54:40 DLNA_xxx_xxx_xxx_xxx_xxx volume 10
2022-01-05_13:55:25 DLNA_xxx_xxx_xxx_xxx_xxx stream http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=Hallo%20Peter
2022-01-05_13:55:26 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:55:26 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:55:33 DLNA_xxx_xxx_xxx_xxx_xxx stream: http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=Hallo%20Peter
2022-01-05_13:55:33 DLNA_xxx_xxx_xxx_xxx_xxx currentTrackURI: http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=Hallo%20Peter
2022-01-05_13:55:33 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:55:33 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:55:34 DLNA_xxx_xxx_xxx_xxx_xxx transportState: TRANSITIONING
2022-01-05_13:55:34 DLNA_xxx_xxx_xxx_xxx_xxx CurrentTransportActions: Stop
2022-01-05_13:55:34 DLNA_xxx_xxx_xxx_xxx_xxx buffering
2022-01-05_13:55:34 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:55:34 DLNA_xxx_xxx_xxx_xxx_xxx transportState: STOPPED
2022-01-05_13:55:34 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:55:34 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:55:34 DLNA_xxx_xxx_xxx_xxx_xxx CurrentTransportActions: Play,Stop,Seek,X_DLNA_SeekTime,X_DLNA_PS=1/2\,4\,-1/2\,-2\,-4
2022-01-05_13:55:34 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:55:34 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:55:34 DLNA_xxx_xxx_xxx_xxx_xxx CurrentTrackDuration: 00:00:01
2022-01-05_13:55:34 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:55:34 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:55:35 DLNA_xxx_xxx_xxx_xxx_xxx CurrentMediaDuration: 00:00:01
2022-01-05_13:55:35 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:55:35 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:55:57 DLNA_xxx_xxx_xxx_xxx_xxx play
2022-01-05_13:55:57 DLNA_xxx_xxx_xxx_xxx_xxx transportState: TRANSITIONING
2022-01-05_13:55:57 DLNA_xxx_xxx_xxx_xxx_xxx buffering
2022-01-05_13:55:57 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:55:58 DLNA_xxx_xxx_xxx_xxx_xxx CurrentTransportActions: Stop
2022-01-05_13:55:58 DLNA_xxx_xxx_xxx_xxx_xxx buffering
2022-01-05_13:55:58 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:55:58 DLNA_xxx_xxx_xxx_xxx_xxx transportState: STOPPED
2022-01-05_13:55:58 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:55:58 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:55:58 DLNA_xxx_xxx_xxx_xxx_xxx CurrentTransportActions: Play,Stop,Seek,X_DLNA_SeekTime,X_DLNA_PS=1/2\,4\,-1/2\,-2\,-4
2022-01-05_13:55:58 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:55:58 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:56:06 DLNA_xxx_xxx_xxx_xxx_xxx volume 10
2022-01-05_13:56:11 DLNA_xxx_xxx_xxx_xxx_xxx volume 10
2022-01-05_13:57:25 DLNA_xxx_xxx_xxx_xxx_xxx on-till 13:38
2022-01-05_13:57:40 DLNA_xxx_xxx_xxx_xxx_xxx on
2022-01-05_13:57:40 DLNA_xxx_xxx_xxx_xxx_xxx transportState: TRANSITIONING
2022-01-05_13:57:40 DLNA_xxx_xxx_xxx_xxx_xxx buffering
2022-01-05_13:57:40 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:57:40 DLNA_xxx_xxx_xxx_xxx_xxx CurrentTransportActions: Stop
2022-01-05_13:57:40 DLNA_xxx_xxx_xxx_xxx_xxx buffering
2022-01-05_13:57:40 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:57:41 DLNA_xxx_xxx_xxx_xxx_xxx transportState: STOPPED
2022-01-05_13:57:41 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:57:41 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:57:41 DLNA_xxx_xxx_xxx_xxx_xxx CurrentTransportActions: Play,Stop,Seek,X_DLNA_SeekTime,X_DLNA_PS=1/2\,4\,-1/2\,-2\,-4
2022-01-05_13:57:41 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:57:41 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:57:47 DLNA_xxx_xxx_xxx_xxx_xxx volume 7
2022-01-05_13:57:58 DLNA_xxx_xxx_xxx_xxx_xxx channel 1
2022-01-05_13:58:00 DLNA_xxx_xxx_xxx_xxx_xxx off
2022-01-05_13:58:11 DLNA_xxx_xxx_xxx_xxx_xxx mute on
2022-01-05_13:58:17 DLNA_xxx_xxx_xxx_xxx_xxx mute on
2022-01-05_13:58:24 DLNA_xxx_xxx_xxx_xxx_xxx mute off
2022-01-05_13:58:26 DLNA_xxx_xxx_xxx_xxx_xxx mute off
2022-01-05_13:58:33 DLNA_xxx_xxx_xxx_xxx_xxx next
2022-01-05_13:58:45 DLNA_xxx_xxx_xxx_xxx_xxx off
2022-01-05_13:58:53 DLNA_xxx_xxx_xxx_xxx_xxx pause
2022-01-05_13:59:06 DLNA_xxx_xxx_xxx_xxx_xxx off
2022-01-05_13:59:29 DLNA_xxx_xxx_xxx_xxx_xxx on
2022-01-05_13:59:29 DLNA_xxx_xxx_xxx_xxx_xxx transportState: TRANSITIONING
2022-01-05_13:59:29 DLNA_xxx_xxx_xxx_xxx_xxx buffering
2022-01-05_13:59:29 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:59:29 DLNA_xxx_xxx_xxx_xxx_xxx CurrentTransportActions: Stop
2022-01-05_13:59:29 DLNA_xxx_xxx_xxx_xxx_xxx buffering
2022-01-05_13:59:29 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:59:30 DLNA_xxx_xxx_xxx_xxx_xxx transportState: STOPPED
2022-01-05_13:59:30 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:59:30 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_13:59:30 DLNA_xxx_xxx_xxx_xxx_xxx CurrentTransportActions: Play,Stop,Seek,X_DLNA_SeekTime,X_DLNA_PS=1/2\,4\,-1/2\,-2\,-4
2022-01-05_13:59:30 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-05_13:59:30 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-05_14:00:00 DLNA_xxx_xxx_xxx_xxx_xxx off


UPNP-Log: Soll ich Dir das per Mail schicken? Sind 5380 Zeilen. Die alle zu säubern ist lästig (oder Du sagst mir wonach ich darin suchen soll).

Zitat von: KölnSolar am 04 Januar 2022, 20:07:40
das xml würde mich mal interessieren. Ich spekuliere auf SEMP.

Hier ist es
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:Basic:1</deviceType>
<friendlyName>KSEM-47114712</friendlyName>
<manufacturer>KOSTAL</manufacturer>
<manufacturerURL>https://www.kostal-solar-electric.com/</manufacturerURL>
<modelName>KOSTAL Smart Energy Meter</modelName>
<UDN>uuid:47114712471347144715471647174718</UDN>
<serialNumber>47114712</serialNumber>
<presentationURL>http://192.xxx.xxx.70/</presentationURL>
</device>
</root>
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

KölnSolar

#139
Zitat- channel- Auswahl, Up Down -> nix
- channel 1 -> keine Wirkung
Alles andere hätte mich auch gewundert. Das kann DLNA nicht.  ;D Also nicht, was wir uns unter channel beim TV/Radio vorstellen.
Hier ist gemeint, dass man über die channel-Attribute URI's festlegen kann, die dann per set channel xy gestreamt werden können.

ZitatAls "ALLES" würde ich das nicht bezeichnen. Sollten alle der angezeigten SET-Commands funktionieren?
Ich hab da mal was vorbereitet...UPnP
----
univerelle, standardisierte Netzwerkkommunikation
Erkennung von devices
- Zum Start, shutdown und periodische "Bekanntmachungen" der services durch das device(presence)
- Abfrage des Netzwerks nach vorhandenen devices und deren Antwort
devices bieten services an
- Information über den service(location service description, detailed service description[actions,events,field descriptions])
- services lassen sich "subscriben"(abonnieren), um Statusänderungen des devices automatisch mitgeteilt zu bekommen; periodisches erneuern(renewal) der subscription notwendig(Standard 30')
- services lassen sich ausführen(ein service kann auch nur in der Abfrage von Daten bestehen)

DLNA
----
Multimedia UPNP-Geräte(Hosten oder Abspielen von Multimediadateien;Bild- u. Toneinstellungen)
Server - Hosten von Multimediadateien
Player,Renderer - Abspielen von (fremden) Multimediadateien;Bild- u. Toneinstellungen
- services
  - RenderingControl: Lautstärke, Mute (Helligkeit, Kontrast....; uninteressant und daher auch nicht implementiert)
  - AVTransport: Laden, Abspielen, Steuerung des Abspielens von Multimediadateien
    (diverse Informationen zur Mediendatei können abgefragt werden)
  - SpeakerManagement: Steuerung von Netzwerklautsprechern(Multiroom...)
  - SessionManagement


Wenn also presence(online/offline) funktioniert(gerne gesehener Test: Stecker ziehen), eine Lautstärkeänderung per FB in FHEM ankommt, der set volume-/mute-Befehl aus FHEM beim physical device, und sich ein stream auf dem device ausgeben lässt, dann ist das "ALLES".  ;)

Im Falle des LG wären also nur 2 Dinge noch als Log interessant:
Zitat- volume nn -> keine Wirkung
Bitte mal mute probieren. Vielleicht will der TV ein bestimmtes Format für nn.  :-\
Zitat- speak -> wurde nicht wiedergegeben
speak ist nicht geeignet für einen Test(muss ja erst wieder ins Inet und zurück) Probier mal
set Zieldevice stream http://IP_DEINER_Fritte/AUDIO/DLNA-1-0/Musik/Fly%20FRITZ!%20Fly.mp3


Und schließlich immer auf das Antwortzeitverhalten(freezes) achten, da das Perl-Fremdpaket uns da gerne einen Streich spielt.

Edit: Das Kostal-xml ist nicht ganz, was ich spekuliert hatte. Der Kostal bietet also keine services an, sondern macht sich nur im Netzwerk mit seinen Eigenschaften "bekannt". Scheint mir aber SEMP zu sein. Mal sehen, wenn Klaus das mal weiter vorangetrieben hat, ob man was damit anfangen kann.
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

plin

Zitat von: KölnSolar am 05 Januar 2022, 17:58:32
Und schließlich immer auf das Antwortzeitverhalten(freezes) achten, da das Perl-Fremdpaket uns da gerne einen Streich spielt.
Habe heute meine Test-FHEM-Instanz angeschmissen, bin mit dem Tablet zum Fernseher und konnte keinen searchterm absetzen, weil FHEM nicht reagierte.

Zitat von: KölnSolar am 05 Januar 2022, 17:58:32
Im Falle des LG wären also nur 2 Dinge noch als Log interessant:Bitte mal mute probieren. Vielleicht will der TV ein bestimmtes Format für nn.  :-\speak ist nicht geeignet für einen Test(muss ja erst wieder ins Inet und zurück) Probier mal
set Zieldevice stream http://IP_DEINER_Fritte/AUDIO/DLNA-1-0/Musik/Fly%20FRITZ!%20Fly.mp3

stream hat in der Form nicht funktioniert, weil auf meiner FB dieses File nicht vorhanden ist. Ein anderes Audiofile hat der LG aber brav abgespielt.
set volume geht nach wie vor nicht
set mute on/off zeigt auch keine Wirkung.

Und noch ein wenig Log-Extrakt
2022-01-06_18:13:59 DLNA_xxx_xxx_xxx_xxx_xxx presence: online
2022-01-06_18:13:59 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-06_18:13:59 DLNA_xxx_xxx_xxx_xxx_xxx volume: 9
2022-01-06_18:13:59 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 9
2022-01-06_18:13:59 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 9
2022-01-06_18:13:59 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 9
2022-01-06_18:13:59 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 9
2022-01-06_18:13:59 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 9
2022-01-06_18:13:59 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 9
2022-01-06_18:13:59 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 9
2022-01-06_18:13:59 DLNA_xxx_xxx_xxx_xxx_xxx transportState: NO_MEDIA_PRESENT
2022-01-06_18:13:59 DLNA_xxx_xxx_xxx_xxx_xxx currentTrackURI:
2022-01-06_18:13:59 DLNA_xxx_xxx_xxx_xxx_xxx CurrentMediaDuration: 00:00:00
2022-01-06_18:13:59 DLNA_xxx_xxx_xxx_xxx_xxx CurrentTrackDuration: 00:00:00
2022-01-06_18:13:59 DLNA_xxx_xxx_xxx_xxx_xxx CurrentTransportActions:
2022-01-06_18:13:59 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-06_18:14:22 DLNA_xxx_xxx_xxx_xxx_xxx volume 4
2022-01-06_18:14:31 DLNA_xxx_xxx_xxx_xxx_xxx volume 4
2022-01-06_18:14:58 DLNA_xxx_xxx_xxx_xxx_xxx stream http://192.168.3.42:9000/music/43/download.mp3
2022-01-06_18:15:00 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx stream: http://192.168.3.42:9000/music/43/download.mp3
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx transportState: TRANSITIONING
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx currentTrackURI: http://192.168.3.42:9000/music/43/download.mp3
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx CurrentMediaDuration: 0:00:00
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx CurrentTrackDuration: 0:00:00
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx CurrentTransportActions: Stop
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx currentTitle: http://192.168.3.42:9000/music/43/download.mp3
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx currentArtist: Unknown
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx currentAlbum: http://192.168.3.42:9000/music/43/download.mp3
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx currentAlbumArtURI:
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx buffering
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx CurrentTrackDuration: 00:02:03
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx buffering
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx transportState: PLAYING
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx CurrentMediaDuration: 00:02:03
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx CurrentTransportActions: Play,Stop,Pause,Seek,X_DLNA_SeekTime,X_DLNA_PS=1/2\,4\,-1/2\,-2\,-4
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx playing
2022-01-06_18:15:07 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-06_18:15:09 DLNA_xxx_xxx_xxx_xxx_xxx transportState: STOPPED
2022-01-06_18:15:09 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-06_18:15:09 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-06_18:15:10 DLNA_xxx_xxx_xxx_xxx_xxx CurrentTransportActions: Play,Stop,Seek,X_DLNA_SeekTime,X_DLNA_PS=1/2\,4\,-1/2\,-2\,-4
2022-01-06_18:15:10 DLNA_xxx_xxx_xxx_xxx_xxx stopped
2022-01-06_18:15:10 DLNA_xxx_xxx_xxx_xxx_xxx online
2022-01-06_18:15:13 DLNA_xxx_xxx_xxx_xxx_xxx volume: 10
2022-01-06_18:15:13 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 10
2022-01-06_18:15:13 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 10
2022-01-06_18:15:24 DLNA_xxx_xxx_xxx_xxx_xxx mute on
2022-01-06_18:15:27 DLNA_xxx_xxx_xxx_xxx_xxx mute on
2022-01-06_18:15:32 DLNA_xxx_xxx_xxx_xxx_xxx mute off
2022-01-06_18:15:34 DLNA_xxx_xxx_xxx_xxx_xxx mute off
2022-01-06_18:15:41 DLNA_xxx_xxx_xxx_xxx_xxx mute off
2022-01-06_18:15:47 DLNA_xxx_xxx_xxx_xxx_xxx mute on
2022-01-06_18:15:49 DLNA_xxx_xxx_xxx_xxx_xxx mute on
2022-01-06_18:15:50 DLNA_xxx_xxx_xxx_xxx_xxx mute on
2022-01-06_18:15:52 DLNA_xxx_xxx_xxx_xxx_xxx mute on
2022-01-06_18:15:57 DLNA_xxx_xxx_xxx_xxx_xxx mute off
2022-01-06_18:15:58 DLNA_xxx_xxx_xxx_xxx_xxx mute off
2022-01-06_18:15:59 DLNA_xxx_xxx_xxx_xxx_xxx mute off
2022-01-06_18:16:00 DLNA_xxx_xxx_xxx_xxx_xxx mute off
2022-01-06_18:16:01 DLNA_xxx_xxx_xxx_xxx_xxx mute off
2022-01-06_18:16:20 DLNA_xxx_xxx_xxx_xxx_xxx volume 12
2022-01-06_18:16:47 DLNA_xxx_xxx_xxx_xxx_xxx volume 4
2022-01-06_18:16:59 DLNA_xxx_xxx_xxx_xxx_xxx volume 4
2022-01-06_18:17:00 DLNA_xxx_xxx_xxx_xxx_xxx volume 4
2022-01-06_18:17:01 DLNA_xxx_xxx_xxx_xxx_xxx volume 4
2022-01-06_18:22:53 DLNA_xxx_xxx_xxx_xxx_xxx volume: 11
2022-01-06_18:22:53 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 11
2022-01-06_18:22:54 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 11
2022-01-06_18:22:57 DLNA_xxx_xxx_xxx_xxx_xxx volume: 12
2022-01-06_18:22:57 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 12
2022-01-06_18:22:58 DLNA_xxx_xxx_xxx_xxx_xxx multiRoomVolume: 12


Im fhem-Log tauchen Meldungen auf
2022.01.06 18:15:47 5: DLNAController: DLNA_xxx_xxx_xxx_xxx_xxx, 192.xxx.xxx.132_1794, RenderingControl, SetMute
2022.01.06 18:15:47 5: UPNPController: UPNP_Controller, 192.xxx.xxx.132_1794, RenderingControl, SetMute, 0 Master 1
2022.01.06 18:15:47 5: UPNPController: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2022.01.06 18:15:47 4: UPNPController: RenderingControl, SetMute(0,Master,1) didn't succeed.Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 606, errorDescription => 'Action not authorized'}}"

obwohl ich noch mal gefragt wurde, ob ich die steuerung durch eine App zulassen wollte.
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

KölnSolar

Zitatstream hat in der Form nicht funktioniert, weil auf meiner FB dieses File nicht vorhanden ist. Ein anderes Audiofile hat der LG aber brav abgespielt.
also service "AVTransport" abgehakt.

ZitatRenderingControl, SetMute(0,Master,1) didn't succeed.Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 606, errorDescription => 'Action not authorized'}}"
Da liegt der Hund begraben. Kannst Du mal in das xml (erst location und dann denn link beim service renderingcontrol unter SCPDURL) gucken, ob da was steht, was nach "Berechtigung" aussieht.
(ich glaub aber eher nicht, dass man das per UPNP löst, sondern eher direkt am TV)

ZitatHabe heute meine Test-FHEM-Instanz angeschmissen, bin mit dem Tablet zum Fernseher und konnte keinen searchterm absetzen, weil FHEM nicht reagierte.
Wenn noch nicht gemacht, mein Lieblingsmodul freezemon installieren. Das hilft enorm bei der Fehlersuche.
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

plin

Zitat von: KölnSolar am 06 Januar 2022, 20:19:38
Da liegt der Hund begraben. Kannst Du mal in das xml (erst location und dann denn link beim service renderingcontrol unter SCPDURL) gucken, ob da was steht, was nach "Berechtigung" aussieht.
Welche hättest Du denn gerne?
192.168.3.132_1077-location http://192.168.3.132:1077/
192.168.3.132_1136-location http://192.168.3.132:1136/
192.168.3.132_1163-location http://192.168.3.132:1163/
192.168.3.132_1600-location http://192.168.3.132:1600/
192.168.3.132_1604-location http://192.168.3.132:1604/
192.168.3.132_1605-location http://192.168.3.132:1605/
192.168.3.132_1677-location http://192.168.3.132:1677/
192.168.3.132_1738-location http://192.168.3.132:1738/
192.168.3.132_1745-location http://192.168.3.132:1745/
192.168.3.132_1794-location http://192.168.3.132:1794/
192.168.3.132_1825-location http://192.168.3.132:1825/
192.168.3.132_1828-location http://192.168.3.132:1828/
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

KölnSolar

Ah, ein variabler Port ?  :-\ Mit jedem An-/Abschalten ? Wie sieht das im UPNPController aus ? Immer nur der aktuelle/letzte Port angezeigt ? Vielleicht kommt daher das Fehlverhalten ?

Was bei einem device immer gleich bleibt ist die  uuid. Wenn IP und/oder Port sich ändern, müsste sowas im Log erscheinen2021.12.28 17:08:28 3: UPNPController: old definition of device uuid:a932bb97-fe9d-422e-9dec-ae982c38c20f found with 192.168.47.11_9197. readings deleted.
2021.12.28 17:08:29 3: DLNAController: DLNA_a932bb97_fe9d_422e_9dec_ae982c38c20f address changed; services initially subscribed


Um Deine Frage zu beantworten: die aktuelle mit dem service IP_Port-zs-RenderingControl.
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

plin

Diesmal war ich erfolgreicher. Ich habe die dd.xml gezogen und dann diesen Abschnitt
<service>
   <serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
   <serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
   <SCPDURL>/RenderingControl/1be5adef-ade6-273e-95d1-3e818edfb93d/scpd.xml</SCPDURL>
   <controlURL>/RenderingControl/1be5adef-ade6-273e-95d1-3e818edfb93d/control.xml</controlURL>
   <eventSubURL>/RenderingControl/1be5adef-ade6-273e-95d1-3e818edfb93d/event.xml</eventSubURL>
</service>

als Basis genommen.

Ergebnis:
<?xml version="1.0" encoding="UTF-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
  <specVersion>
    <major>1</major>
    <minor>0</minor>
  </specVersion>
  <actionList>
    <action>
      <name>ListPresets</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
        <argument>
          <name>CurrentPresetNameList</name>
          <direction>out</direction>
          <relatedStateVariable>PresetNameList</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>SelectPreset</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
        <argument>
          <name>PresetName</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_PresetName</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>GetMute</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>CurrentMute</name>
          <direction>out</direction>
          <relatedStateVariable>Mute</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <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>
    <action>
      <name>GetVolume</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>CurrentVolume</name>
          <direction>out</direction>
          <relatedStateVariable>Volume</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>SetVolume</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>DesiredVolume</name>
          <direction>in</direction>
          <relatedStateVariable>Volume</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>GetVolumeDB</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>CurrentVolume</name>
          <direction>out</direction>
          <relatedStateVariable>VolumeDB</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>SetVolumeDB</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>DesiredVolume</name>
          <direction>in</direction>
          <relatedStateVariable>VolumeDB</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>X_GetSubtitle</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
        <argument>
          <name>CurrentSubtitle</name>
          <direction>out</direction>
          <relatedStateVariable>X_Subtitle</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>X_SetSubtitle</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
        <argument>
          <name>DesiredSubtitle</name>
          <direction>in</direction>
          <relatedStateVariable>X_Subtitle</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>X_Get3DFormatter</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
        <argument>
          <name>Current3DFormatter</name>
          <direction>out</direction>
          <relatedStateVariable>X_Current3DFormatter</relatedStateVariable>
        </argument>
        <argument>
          <name>Possible3DFormatter</name>
          <direction>out</direction>
          <relatedStateVariable>X_Possible3DFormatter</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
    <action>
      <name>X_Set3DFormatter</name>
      <argumentList>
        <argument>
          <name>InstanceID</name>
          <direction>in</direction>
          <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
        </argument>
        <argument>
          <name>Desired3DFormatter</name>
          <direction>in</direction>
          <relatedStateVariable>X_Current3DFormatter</relatedStateVariable>
        </argument>
      </argumentList>
    </action>
  </actionList>
  <serviceStateTable>
    <stateVariable sendEvents="no">
      <name>PresetNameList</name>
      <dataType>string</dataType>
      <defaultValue>FactoryDefaults</defaultValue>
    </stateVariable>
    <stateVariable sendEvents="yes">
      <name>LastChange</name>
      <dataType>string</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>Mute</name>
      <dataType>boolean</dataType>
      <defaultValue>0</defaultValue>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>Volume</name>
      <dataType>ui2</dataType>
      <defaultValue>0</defaultValue>
      <allowedValueRange>
        <minimum>0</minimum>
        <maximum>100</maximum>
        <step>1</step>
      </allowedValueRange>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>VolumeDB</name>
      <dataType>i2</dataType>
      <defaultValue>0</defaultValue>
      <allowedValueRange>
        <minimum>0</minimum>
        <maximum>100</maximum>
        <step>1</step>
      </allowedValueRange>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>A_ARG_TYPE_Channel</name>
      <dataType>string</dataType>
      <allowedValueList>
        <allowedValue>Master</allowedValue>
      </allowedValueList>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>A_ARG_TYPE_InstanceID</name>
      <dataType>ui4</dataType>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>A_ARG_TYPE_PresetName</name>
      <dataType>string</dataType>
      <allowedValueList>
        <allowedValue>FactoryDefaults</allowedValue>
      </allowedValueList>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>X_Subtitle</name>
      <dataType>string</dataType>
      <defaultValue>UNKNOWN</defaultValue>
      <allowedValueList>
        <allowedValue>UNKNOWN</allowedValue>
        <allowedValue>ON</allowedValue>
        <allowedValue>OFF</allowedValue>
      </allowedValueList>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>X_Current3DFormatter</name>
      <dataType>string</dataType>
      <defaultValue>UNKNOWN</defaultValue>
      <allowedValueList>
        <allowedValue>UNKNOWN</allowedValue>
        <allowedValue>2D</allowedValue>
        <allowedValue>3D_TOP_BOTTOM</allowedValue>
        <allowedValue>3D_SIDE_SIDE_HALF</allowedValue>
        <allowedValue>3D_CHECK_BOARD</allowedValue>
        <allowedValue>3D_FRAME_SEQUENTIAL</allowedValue>
        <allowedValue>3D_COLUMN_INTERLEAVE</allowedValue>
        <allowedValue>3D_LINE_INTERLEAVE_HALF</allowedValue>
        <allowedValue>2D_TO_3D</allowedValue>
      </allowedValueList>
    </stateVariable>
    <stateVariable sendEvents="no">
      <name>X_Possible3DFormatter</name>
      <dataType>string</dataType>
      <defaultValue>UNKNOWN</defaultValue>
    </stateVariable>
  </serviceStateTable>
</scpd>
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

KölnSolar

Ja, genau. Aber ich sehe nichts besonderes. Schon gar nicht, dass etwas spezielles für Berechtigungen übertragen werden müsste.

Kannst Du mit dem Mediaplayer auf den TV streamen und während des streams die Lautstärke mit dem Mediaplayer ändern ?

Wenn ja: mit FHEM geht das nicht ? Log wieder authorization error ?
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

plin

Gut, dass wir mal drüber geredet haben. Das wichtige Wort ist "während"!

Ich habe die SET-Commands der Reihe nach probiert, d.h. auch wenn gerade mal kein Stream von mir abgespielt wurde (das waren nämlich immer nur kurze Audio-Files). Wenn ich jetzt, während ich ein  längeres Audio-File abspiele, volume uo/down oder stop absetze reagiert der LG auch auf die FHEM Commands.

Ist ja irgendwie auch logisch: der DLNAController ist keine Universalfernbedienung sondern missbraucht den Fernseher als Abspielgerät In dem Augenblick wo ich die Kontrolle habe (= mein Audio-File wird noch abgespielt) darf ich den auch fernbedienen.

Update: Das Hama Internetradio verhält sich natürlich genauso (stream, volume up/down, stop).
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

KölnSolar

Hi Peter,
so lernen wir wie unterschiedlich DLNA/UPNP von den Herstellern interpretiert wird.  ;D
ZitatIst ja irgendwie auch logisch: der DLNAController ist keine Universalfernbedienung sondern missbraucht den Fernseher als Abspielgerät In dem Augenblick wo ich die Kontrolle habe (= mein Audio-File wird noch abgespielt) darf ich den auch fernbedienen.
Das stimmt nämlich so nicht. Beim LG scheint es dann so zu sein. Beim Samsung funktionieren volume/mute auch ohne das gleichzeitige streaming.

In meinen Augen liegt der "Fehler" dann bei LG. Es macht ja wenig Sinn 2 verschiedene services anzubieten, dann aber per (nicht richtig implementierter ?) Berechtigungsprüfung den service zu "verbieten", wenn der eine service nicht aktiv ist. Oder hast Du vielleicht doch nur die Berechtigungsprüfung  im LG nicht richtig gesetzt ? Beim Samsung findet die Berechtigungsprüfung nur auf der Ebene IP statt. Ist das beim LG vielleicht anders ?

Hab ich vielleicht noch nicht deutlich genug herausgestellt: Immer erst einmal das eigene Gerät verstehen, DLNA-Funktionalitäten testen(z.B. mit Windows Mediaplayer). Erst dann hat man auch ein Grundverständnis aufgebaut, um mein DLNAController-Modul einzusetzen bzw. testen, ob der DLNAController sich anders verhält.

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

plin

So nebenbei: der piCorePlayer gefällt mir immer besser. Läuft (mit Option Beta) auch auf einem Raspberry Pi 1B und einem Raspberry Pi Zero W. Damit geht auch synchrones Multiroom.
Hab das aber noch nicht mit dem DLNAController getestet.
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

KölnSolar

Zitat

Hallo,

ich habe die Module von KölnSolar https://forum.fhem.de/index.php/topic,118837.0.html im Einsatz und seit dem Update von gestern funktionieren sie nicht mehr (immer offline).
Wenn ich fhem.pl zurück ändere, geht es wieder.

Ggf. kann rudolfkoenig oder KölnSolar dazu was sagen.

Danke und Gruß
Michael




fhem2@nucHome:~ $ diff fhem.pl restoreDir/update/2022-01-24/fhem.pl
22c22
< # $Id: fhem.pl 25544 2022-01-22 15:42:45Z rudolfkoenig $
---
> # $Id: fhem.pl 25450 2022-01-10 14:49:44Z rudolfkoenig $
158d157
< sub setNotifyDev($$);
277c276
< my $cvsid = '$Id: fhem.pl 25544 2022-01-22 15:42:45Z rudolfkoenig $';
---
> my $cvsid = '$Id: fhem.pl 25450 2022-01-10 14:49:44Z rudolfkoenig $';
4112,4113d4110
<         my ($order, $mname) = split(":", $m);
<         next if($modules{$mname}{LOADED}); # checked in the loop above, #125292
4114a4112,4113
>           my ($order, $mname) = split(":", $m);
>
4123d4121
<               delete($hash->{".clientArray"});
4144a4143
>           delete($hash->{".clientArray"});
5178d5176
<     my @cmRe = map { qr/^$_$/ } @mRe;  # 125292, precompile, speedup 5x for CUL
5181,5182c5179,5180
<       foreach my $re (@cmRe) {
<         if($m =~ $re) {
---
>       foreach my $re (@mRe) {
>         if($m =~ m/^$re$/) {
5355c5353
<       while($in2 =~ m/^\s*"([^"]*)"\s*:\s*(.*)$/s) { # 125340
---
>       while($in2 =~ m/^\s*"([^"]+)"\s*:\s*(.*)$/s) {
5381,5382c5379
<     } elsif($val =~ m/^((-?[0-9.]+)([eE][+-]?[0-9]+)?)(.*)$/ && # 125340
<             looks_like_number($1)) {
---
>     } elsif($val =~ m/^([0-9.-]+)(.*)$/s) {
5384c5381
<       $in = $4;
---
>       $in = $2;
5607,5619d5603
< }
<
< sub
< setNotifyDev($$)
< {
<   my ($hash, $ntfydev) = @_;
<
<   if($ntfydev) {
<     $hash->{NOTIFYDEV} = $ntfydev;
<   } else {
<     delete($hash->{NOTIFYDEV});
<   }
<   %ntfyHash = ();


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