Thema geschlossen 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Changelog zur aktuellen beta 1.1.16 (UPNP))
28.12.2010, 15:33 (Dieser Beitrag wurde zuletzt bearbeitet: 28.12.2010 15:36 von meudenbach.)
Beitrag #1
Changelog zur aktuellen beta 1.1.16 (UPNP))
Nur für den internen Gebrauch !!

Version 1.1.16

Bugfixes:
  • UPNP: Absturz bei leeren UPNP-Profilen behoben
  • remote (ATV): Absturz bei fehlenden Track-Informationen behoben

Neuerungen:
  • neuer SYS-Befehl: GETUPNPDEVICELIST
  • listet alle gefundenen UPNP-Geräte auf
  • neue ITUNES-Befehle: GETRATING und GETIDRATING={TrackID} - liefert die Userbewertung des Tracks im Bereich 0...100, wird noch verbessert.

Version 1.1.15

Bugfixes:
  • gegenseitige Beeinflussung von remote und timer behoben (timer funktionierte nach remote-Nutzung nicht mehr)
  • sporadischen Absturz in der Logging-Engine behoben
  • Absturz bei SYS-SETVAR ohne Wert behoben

sonstige Neuerungen:
  • mRemote GUI-Upload Unterstützung für hochauflösende iPhone 4 Grafiken
  • .csv's: neue Maximalwerte pro Zeile: 1000 Zeichen / 20 Spalten

UPNP Support:

Neue Kommandos in der SYS-Klasse:
  • UPNP=ON/OFF - schaltet die UPNP-Engine ein bzw. aus
  • UPNPDEBUG=ON/OFF - schaltet das Debugging an bzw. aus. Wenn die UPNP-Engine nicht läuft.
  • UPNPWRITECONFIG={DeviceName} oder {IP} oder {UDN} - schreibt Config(s) für die Devices, die dem Argument entsprechen.
    UDN ist immer eindeutig und schreibt genau eine .csv, IP und DeviceName können mehrdeutig sein und schreiben ggfs. mehrere .csv's. Die Erkennung des Argumenttyps erfolgt automatisch. Wird ein ungültiges Argument angegben, gibt m..myhome eine Fehlermeldung zurück und bittet den Nutzer, in die Logausgabe zu sehen, wo alle z.Zt. verfügbaren Devices aufgelistet werden.

Im Projektordner existiert ab sofort ein Unterordner /upnp/, aus dem die Configs gelesen bzw. geschrieben werden. Die Zahl der .csv's ist z.Zt. nicht limitiert.
Der .csv-Name gibt die Kommandoklasse an, die in m..myhome verfügbar ist. Nutzbar ist die Klasse jedoch erst, wenn zur Laufzeit im Netzwerk auch das passende Device gefunden wird. Das (de-)aktivieren der entsprechenden Kommandoklasse wird im Log ausgeworfen.
Die UPNP-Engine startet automatisch, wenn beim m..myhome-Start mindestens eine Config mit ACTIVE;YES gefunden wird. ist dies nicht der Fall, muß die Engine manuell mit <SYS><UPNP=ON></SYS> gestartet werden.

Die .csv's haben folgenden Aufbau (Beispiel):

Code:
[CONFIG];
ACTIVE;YES
UDN;uuid:xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

[SERVICE=urn:schemas-upnp-org:service:RenderingControl:1];
GETVOLUME;GetVolume;InstanceID=[[A_ARG_TYPE_InstanceID]];Channel=[[A_ARG_TYPE_Channel]];CurrentVolume=\*;
SETVOLUME;SetVolume;InstanceID=[[A_ARG_TYPE_InstanceID]];Channel=[[A_ARG_TYPE_Channel]];DesiredVolume=\#;
In der [CONFIG]-Sektion wird das Device aktiviert und das Device mit UDN eindeutig definiert. IP-Angaben o.ä. sind also nicht erforderlich.
Anschliessend werden die auf dem Device verfügbaren Services aufgelistet.
Jeder Service verfügt über fest definierte, sogenannte Actions (2. Spalte), die eine Variable Anzahl von Argumenten mit Variablen benötigen (ab Spalte 3). Ausserdem existieren "Interne" Status-Variablen, die automatisch aktualisiert und vorgehalten werden (siehe Kommentare in der .csv)
Die von m..myhome geschriebene Config kopiert den Action-Namen und stellt ihn als m..myhome-Kommando zur Verfügung (1. Spalte). Dieser Name ist frei änderbar.
Die Variablen für die Argumente können entweder ausgehend oder eingehend sein.
Bei eingehenden Variablen wird automatisch \* geschrieben um anzuzeigen, dass es sich um einen Rückgabewert handelt.
Sind die Variablen ausgehend, schreibt m..myhome die korrespondierende Status-Variable als Variable in doppelt eckige Klammern [[ ]].
Möchte man eigene Werte übergeben, ersetzt man die Variable entweder durch einen festen Wert, eine Sysvar (in bekannter Syntax mit [ ]) oder \# um anzuzeigen, dass das entsprechende Kommando ein Argument erwartet.
Im obigen Beispiel ist das bereits geschehen, die verfügbaren m..myhome-Kommandos lauten <GETVOLUME> und <SETVOLUME={Wert}>
Sollen mehrere Variablen übergeben werden, sind sie durch Kommata zu trennen, z.B. <SETVOLUME=0,Master,12>
Das Log gibt im Debug-Modus Aufschluss über die Status-Variablen.

Jetzt ist erstmal ausgiebiges Testen angesagt. Wir benötigen hier auch eure Hilfe um einfach mal zu sehen, was so geht mit euren Geräten. Hilfreich für den Umgang mit UPNP bzw. wie die in den CSV's ausgegebenen Befehle zu bewerten bzw. damit umzugehen ist findet man hier: upnp.org

Sicherlich werde ich den Client entsprechend anpassen um die Vorgehensweisen zu vereinfachen ....

LG + viel Spass


Angehängte Datei(en)
.zip  MacMyHome1.1.16.mpkg.zip (Größe: 881,18 KB / Downloads: 66)

Mike Eudenbach (XING Profile)
nomos system AG
System Design/Integration/Planung

m..myhome/nomos in Unna, m..myhome/nomos auf Facebook
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Thema geschlossen 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  UPNP Listen / Synology ThomasA 6 5.459 25.02.2014 13:17
Letzter Beitrag: ThomasA
  SONOS via UPNP meudenbach 24 31.984 19.04.2013 20:57
Letzter Beitrag: daniel.duese
  UPNP Samsung D8090 daniel.duese 23 23.997 12.06.2012 15:55
Letzter Beitrag: daniel.duese

Gehe zu:


Kontakt | nomos system Forum | Nach oben | Zum Inhalt | Archiv-Modus | RSS-Synchronisation | Impressum