Gehe zu Seite: |vorherige| Erste . 5 6 7 8 9 Letzte |nächste|

Raumfeld - 3rd-Party Entwickler

+A -A
Autor
Beitrag
ChriD
Stammgast
#401 erstellt: 29. Sep 2016, 18:46
Für die Windows universall app kannst den UPNP Stack hier probieren
http://wiki.openhome.org/wiki/OhNet
bzw.
https://github.com/openhome/ohNet/

ich denke die haben den soweit das er auch für Windows universal Apps läuft.
Ich denke das sind die Windows 81 builds
Aber dazu musst du dich entwicklungstechnisch schon ein bisschen auskennen.

BTW ich finde den Raumwiese source gerade nicht. Der liegt nicht da wo er sein sollte O_o
ich vermute den hab ich noch auf der keoinen Box. Die muss ich aber erstmal wieder aktivieren
jc-design
Ist häufiger hier
#402 erstellt: 29. Sep 2016, 19:09

markus397 (Beitrag #400) schrieb:
Eine UWP Apps fände ich auch toll, die dann auf allen Geräten laufen würde. Leider kann ich mal gar nicht programmieren.


Na dann will ich dich mal nicht enttäuschen... vielleicht meldet sich ja noch wer anders...
jc-design
Ist häufiger hier
#403 erstellt: 29. Sep 2016, 19:11

ChriD (Beitrag #401) schrieb:
Für die Windows universall app kannst den UPNP Stack hier probieren ...

BTW ich finde den Raumwiese source gerade nicht. Der liegt nicht da wo er sein sollte O_o
ich vermute den hab ich noch auf der keoinen Box. Die muss ich aber erstmal wieder aktivieren


Hey ChrisD, du bist echte fleißig. Vielen Dank... hoffe ich kan mich mal revengieren...
ChriD
Stammgast
#404 erstellt: 29. Sep 2016, 20:41
Hab den Raumwiese source gefunden.
http://bassmaniacs.com/data/RaumwieseRaumfeldNET.rar

Ist halt nicht ganz so sauber ;-)
Aber zum Nachschaun reichts


[Beitrag von ChriD am 29. Sep 2016, 20:46 bearbeitet]
jc-design
Ist häufiger hier
#405 erstellt: 29. Sep 2016, 21:45

ChriD (Beitrag #404) schrieb:
...Aber zum Nachschaun reichts


oh man... vielen Dank... mach mich mal über dein Werk her...
jc-design
Ist häufiger hier
#406 erstellt: 03. Okt 2016, 22:02
Hallo,

ihr müßt mich ja für vollkommen unfähig halten, aber ich komme immer noch nicht recht vom Fleck...

Frage; Wie kann ich eine Queue wieder löschen? Meine Testqueue ist ja nicht wirklich nötig...

@ChriD: danke nochmal für den Code. Ich habe ein paar Schwierigkeiten das Ganze zu Debuggen. Wenn ich das Programm starte meldet sich der vhost, daß im Laufwerk D: oder F: kein Medium enthalten ist und anschließend dreht die Sanduhr bis zum umfallen. Hast du eine Idee woran das liegen kann?!

Danke
ChriD
Stammgast
#407 erstellt: 04. Okt 2016, 12:51

jc-design (Beitrag #406) schrieb:

@ChriD: danke nochmal für den Code. Ich habe ein paar Schwierigkeiten das Ganze zu Debuggen. Wenn ich das Programm starte meldet sich der vhost, daß im Laufwerk D: oder F: kein Medium enthalten ist und anschließend dreht die Sanduhr bis zum umfallen. Hast du eine Idee woran das liegen kann?!

Ich nehme mal an im VisualStudio Projekt sind ein paar Referenzen (libs bzw. includeverzeichnisse) absolut anstatt relativ
zeitverschwendung
Neuling
#408 erstellt: 15. Okt 2016, 21:25
Hallo,

@ChrisD:
Ich habe gerade die neue Version des Raumservers auf GitHub gefunden und würde sie eigentlich gerne direkt auf meinem Raumfeld Speaker installieren, hierbei habe ich allerdings ein paar Fragen&Sorgen, die Du mir vielleicht nehmen kannst

1. Ich habe nur dieses eine Paar Speaker, somit sind diese auch gleichzeitig die Controller; irgendwo hatte ich gelesen dass der Raumserver vorzugsweise nicht auf diesem installiert werden sollte um sie nicht zu stark zu belasten, sollte man es also gar nicht machen oder welche Nachteile könnten sich ergeben falls man es doch versucht?
2. Wenn ich den Raumserver direkt auf den Lautsprechern installiere habe ich wahrscheinlich nicht mehr alle Möglichkeiten diese in den Standbymodus zu schicken, da sie ja wahrscheinlich immer laufen sollten. Ich könnte ihn auch auf einem Raspberry Pi2 installieren. Ich meine auf Deiner alten Website eine entsprechende Anleitung gesehen zu haben, die es aber wohl noch nicht in die aktuelle Wiki geschafft hat, kann man da früher oder später mit einer entsprechenden Anleitung und Binaries rechnen?
3. Ich habe Deine Frage an ThomasRaumfeld vom 03. September sowie seine Antwort gelesen und habe natürlich Respekt vor einem Eingriff in die Software meiner Speaker, bei der ich im schlimmsten Fall die Software meiner Speaker zerschiessen könnte und dann nur sehr ungern den Support mit daraus resultierenden Problemen belasten wollen würde.

@ThomasRaumfeld
Daraus resultiert eine Frage, die Du sicherlich am besten beantworten kannst:
Falls ich mir wie in der Raumserver-Wiki beschrieben SSH-Zugriff auf die Speaker verschaffe und dann dort mittels des Raumserver-Installers den Raumserver installiere, und dabei irgendetwas schrecklich schief gehen sollte, könnte ich die Speaker dann immer noch mittels der Neuinstallation der 'speaker2.img' vom USB-Stick retten (bzw. in den Ursprungszustand versetzen) da sich die hierfür nötigen Funktionalitäten auf einem hardwarenäheren Level befinden als die abgeänderte Firmware, oder könnte mir im schlimmsten Fall auch dieser Weg zerschossen worden sein?

Vielen Dank im Voraus für die Unterstützung!
ChriD
Stammgast
#409 erstellt: 16. Okt 2016, 14:24

zeitverschwendung (Beitrag #408) schrieb:

1. Ich habe nur dieses eine Paar Speaker, somit sind diese auch gleichzeitig die Controller; irgendwo hatte ich gelesen dass der Raumserver vorzugsweise nicht auf diesem installiert werden sollte um sie nicht zu stark zu belasten, sollte man es also gar nicht machen oder welche Nachteile könnten sich ergeben falls man es doch versucht?

Kommt drauf an welche Speaker. Die neuern mit den ARMv7 sollten damit überhaupt kein Problem haben. Der Raumserver benötigt, wenn man nicht gerade ein request absetzt, 0-1% CPU. Ich habs ehrlich gesagt noch nie getestet oder probiert


zeitverschwendung (Beitrag #408) schrieb:

2. Wenn ich den Raumserver direkt auf den Lautsprechern installiere habe ich wahrscheinlich nicht mehr alle Möglichkeiten diese in den Standbymodus zu schicken, da sie ja wahrscheinlich immer laufen sollten. Ich könnte ihn auch auf einem Raspberry Pi2 installieren. Ich meine auf Deiner alten Website eine entsprechende Anleitung gesehen zu haben, die es aber wohl noch nicht in die aktuelle Wiki geschafft hat, kann man da früher oder später mit einer entsprechenden Anleitung und Binaries rechnen?

Hmm. Das mit dem Standbymodus ist ne gute Frage. Ich denke aber das da eher der Verstärker abgeschalten wird. Ob der Prozessor auch komplett in den Ruhemodus geht weiß ich nicht. Da kann Thomas sicher besser bescheid geben.
Am RPI2 kannst du das ARMv7 binary benutzen. Wie gesagt der unterschied zwischen einem RPI und der RF Hardware liegt eher im Bereich des "Betriebssystems"


zeitverschwendung (Beitrag #408) schrieb:

3. Ich habe Deine Frage an ThomasRaumfeld vom 03. September sowie seine Antwort gelesen und habe natürlich Respekt vor einem Eingriff in die Software meiner Speaker, bei der ich im schlimmsten Fall die Software meiner Speaker zerschiessen könnte und dann nur sehr ungern den Support mit daraus resultierenden Problemen belasten wollen würde.

Also die Software deiner Speaker wird nicht "umgeschrieben" oder sonstiges. Es wird nur ein programm raufkopiert und gestartet. es wird nichts am bootloader oder sonstiges rumgeschraubt. Der Raumserver verschwindet (leider) sogar bei jedem RF-Software update. Das wast du gelesen hast, was ich Thomas gefragt habe, bezieht sich auf ein anderes Projekt das ich vll. mal probieren werde.
Ich weiß die Leute haben da immer Panik, aber die ganzen RF Geräte sind nichts weiter als Computer mit einem Linux drauf. Mehr oder weniger ein angepasster RPI ;-)


[Beitrag von ChriD am 16. Okt 2016, 14:25 bearbeitet]
jc-design
Ist häufiger hier
#410 erstellt: 31. Mrz 2017, 22:36
@Raumfeld (und alle anderen):

Ich habe in meine UWP-App soweit das Grundgerüst stehen... Container können abgespiel werden, etc. auch das Subscriben funktioniert soweit wie es (denke ich) soll. Was mich aber wirklich fertig macht, ist der Zustand, daß ich den Inputstream nicht immer schnell lesen kann... Ich bekomme den Callback rein und kann auch wunderbar die Header auslesen:

NOTIFY / HTTP/1.1
Host: 192.168.0.20:22111
NT: upnp:event
NTS: upnp:propchange
SID: uuid:57297a21-685b-464c-8c62-d312647472a4
SEQ: 0
Content-Type: text/xml; charset="utf-8"
Connection: close
Accept-Encoding: gzip, deflate
Content-Length: 562

Nur wenn es darum geht den Content auszulesen vergehen manchmal bis zu 30 sec. Liegt das an meinem Code, oder ist es normal, das die RaumfeldBase manchmal "ausgelastet" ist und daher die Wartezeiten entstehen?

Alle Geräte sind übrigens mit Kabel verbunden... Ich dreh bald durch...

P.S.: hätte wer von euch Interesse, den Code mitzugestalten? Ich könnte ihn dann auf GitHub teilen (sofern eben Bedarf ist)
markus397
Ist häufiger hier
#411 erstellt: 01. Apr 2017, 18:23
Mit gestalten kann ich leider nicht, aber schön das du so was baust. Fände auch gut wenn man die UWP haben könnte damit man die Querladen könnte. Kommt die dann auch für mobile?
jc-design
Ist häufiger hier
#412 erstellt: 01. Apr 2017, 18:28
Die käme dann auch für die Telefone... UWP halt

P.S.: Ich bin ein wenig weiter gekommen mit den Events... bin jetzt eine Woche beruflich unterwegs... hoffe ich komme nächstes WE wieder dazu...
markus397
Ist häufiger hier
#413 erstellt: 01. Apr 2017, 19:38
Dann wünsche ich dir schon mal viel Erfolg. Wenn du mal eine appx hast würde ich die gerne testen und könnte dir zumindest Bugs oder Verbesserungen Mitteilen.
thomas_raumfeld
Stammgast
#414 erstellt: 01. Apr 2017, 21:08
@jc-design: eigentlich ist NOTIFY ein http-Request, der sollte am Stück bei Dir ankommen. Ich denke mal, das Problem ist eher lokal. Du kannst z.B. mit Netcat einen einfachen TCP-Server aufmachen und diesen dann beim Subscribe angeben. Dann siehst Du ja, was die Base sendet. Oder du hängst Dich mit wireshark rein.

Hängt es bei Dir vielleicht eher an irgendwelchen Lokalen Buffergrößen? Klingt eher so, als ob Du beim read() hängst, obwohl der Rest vom Request schon im Netzwerkstack wartet, abgeholt zu werden.
jc-design
Ist häufiger hier
#415 erstellt: 08. Apr 2017, 21:51
Ich bin's nochmal... Ich glaube ich habe das mit den Notifications soweit hingekriegt. Das Lesen klappt jetzt eigentlich ganz gut. Was mir jetzt noch auffällt, daß die Events verzögert nach einander kommen.

Beispiel:

Meine App reagiert auf den ChangeEvent "CurrentTransportActions" und aktiviert entsprechende Knöpfe:
Wenn ich mit dem Device.Spy (Intel Upnp Tool) das Abspielen starte oder stoppe bekomme ich insgesamt 3-4 Events nacheinander mit jeweils ein paar Sekunden Pause dazwischen. Und erst im letzten bekomme ich die Korrekten TransportActions...

Ist das normal? Oder mache ich was falsch?

Danke für eine kurze Info

P.S.: Zur Ergänzung: Ich habe den Traffic mit WireShark auch mal geprüft... auf meinem TCP Port kommt immer nur versetzt ein Event an?! Über eine Hilfe wäre ich sehr dankbar...

P.P.S: Mein Code zum subscriben sieht folgendermaßen aus:

HttpClient httpClient = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(new HttpMethod("SUBSCRIBE"), new Uri(http://IP-RaumfeldEvent));
request.Headers.Add("CALLBACK", "<" + "http://IP:PORT" + ">");
request.Headers.Add("NT", "upnp:event");
request.Headers.Add("TIMEOUT", "Second-300");

HttpResponseMessage response = await httpClient.SendRequestAsync(request, HttpCompletionOption.ResponseHeadersRead);


[Beitrag von jc-design am 09. Apr 2017, 08:26 bearbeitet]
ChriD
Stammgast
#416 erstellt: 09. Apr 2017, 10:10

jc-design (Beitrag #415) schrieb:
Wenn ich mit dem Device.Spy (Intel Upnp Tool) das Abspielen starte oder stoppe bekomme ich insgesamt 3-4 Events nacheinander mit jeweils ein paar Sekunden Pause dazwischen. Und erst im letzten bekomme ich die Korrekten TransportActions...

Das mit den mehreren Events ist ok. Du bekommst ja wenn du z.B. von Stop auf Play gehst dazwischen ja noch den "Transponding" State
Das ist der Status zwischen Stop und Play.

Die Verzögerung ist normalerweise nicht so groß. Da muss das Problem bei deinem Setup liegen.
Da schon beim DeviceSpy/WireShark Verzögerungen auftreten, nehme ich mal an es liegt nicht an deinem Code sondern an deinem Netzwerk oder einstellungen am pc. Da kann ich dir leider nicht weiterhelfen.

BTW: Subscribe renewal nicht vergessen und außerdem solltest du beim empfang eines subscrition events ein HTTP-OK zurücksenden.


[Beitrag von ChriD am 09. Apr 2017, 10:10 bearbeitet]
jc-design
Ist häufiger hier
#417 erstellt: 09. Apr 2017, 15:08
@ChriD: Danke... wohin schicke ich das HTTP-OK and die Adresse, die den Event auslöst, oder die CALLBACK Adresse? Ich stehe echt auf dem Schlauch...
thomas_raumfeld
Stammgast
#418 erstellt: 09. Apr 2017, 19:37

jc-design (Beitrag #417) schrieb:
@ChriD: Danke... wohin schicke ich das HTTP-OK and die Adresse, die den Event auslöst, oder die CALLBACK Adresse? Ich stehe echt auf dem Schlauch... ;)

Auf der Verbindung, auf der Du das Notify bekommst. Du musst einen minimalen HTTP-Server implementieren.

Mehrere Notify messages sind korrekt, allerdings kommen die relativ schnell rein. Klingt für mich immer noch so, als ob die hälfte der Requests noch im Network stack hängen. Liest Du wirklich alles bis read() wieder blockiert?
jc-design
Ist häufiger hier
#419 erstellt: 09. Apr 2017, 22:35
Ich glaube ich habe es jetzt... Ich sende das HTTP-OK und anschließend muss ich noch den Stream und den Socket löschen (Dispose)... dann bekomme ich sehr schnell alle Rückmeldungen...

Ich hoffe das ist korrekt so?!

Danke auf jeden Fall für's Feedback... ist echt klasse hier...
jc-design
Ist häufiger hier
#420 erstellt: 25. Apr 2017, 22:58

markus397 (Beitrag #413) schrieb:
Dann wünsche ich dir schon mal viel Erfolg. Wenn du mal eine appx hast würde ich die gerne testen und könnte dir zumindest Bugs oder Verbesserungen Mitteilen.


@markus397: ich habe es jetzt endlich hingekriegt die events schnell abarbeiten zu können... ich werde jetzt mal ein paar Basic-Funktionalitäten einbauen und melde mich dann wieder...

Danke nochmal an die großartige Unterstützung hier
markus397
Ist häufiger hier
#421 erstellt: 27. Apr 2017, 19:59
Hallo,

da bin ich mal gespannt.
Eiswürfel
Neuling
#422 erstellt: 29. Apr 2017, 00:10
Hallo,

ich habe eher eine Linux als eine HiFi Frage, aber da hier so viele Raumfeld Experten und sogar Mitarbeiter mitlesen hoffe ich, dass mir jemand weiterhelfen kann.
Ich versuche, per SSH auf meinen nagelneuen Raumfeld Cubes eine Audiodatei direkt über ALSA abzuspielen, aber die Soundkarte ist besetzt.

./aplay -D hw:0,0 audiofile.wav
audio open error: Device or resource busy


Nach lesen der Datei /etc/asound.conf habe ich das hier probiert, hilft aber auch nicht...


./aplay -D raumfeld:INBITS=32,OUTBITS=32,OUTCHANNELS=2,CARD=0,DEVICE=0,DELAY=0 audiofile.wav
!!! ALARM : could not create Raumfeld DSP ALSA plugin: Device or resource busy !!!


Der Raumfeld renderer scheint der Prozess zu sein der die Soundkarte bindet:


$ lsof | grep snd
198 /raumfeld/renderer/renderer /dev/snd/controlC0
198 /raumfeld/renderer/renderer /dev/snd/controlC0
198 /raumfeld/renderer/renderer /dev/snd/controlC0
198 /raumfeld/renderer/renderer /dev/snd/pcmC0D1c
198 /raumfeld/renderer/renderer /dev/snd/pcmC0D0p


Gibt es einen ALSA Device, Mixer o.ä. an das ich die Audiodaten senden kann, so dass sie aus dem Lautsprecher kommen?
Oder alternativ einen Socket oder eine Pipe, die von dem Renderer verarbeitet werden?

Viele Grüße, Euer Eiswürfel
thomas_raumfeld
Stammgast
#423 erstellt: 30. Apr 2017, 14:06

Eiswürfel (Beitrag #422) schrieb:
Ich versuche, per SSH auf meinen nagelneuen Raumfeld Cubes eine Audiodatei direkt über ALSA abzuspielen, aber die Soundkarte ist besetzt.

Wenn Du nur einen Sound abspielen möchtest, solltest Du das mit der UPnP Methode "SetAVTransportURI" machen. Das wurde hier im Thread schon mal erklärt: http://www.hifi-foru...d=420&postID=220#220 (Du kannst auch mal kurz den kompletten Thread lesen, wir haben da schon das eine oder andere Wissenswerte gepostet...)

Das Problem hier ist, dass ggf. die Wiedergabe des aktuellen Songs unterbrochen wird. Du könntest durch subscription auf den AVTransport-Service herausfinden, ob gerade etwas in der Zone abgespielt wird und den Sound dann nicht spielen oder nach dem Sound die alte AVTransportURI wieder setzen, um die Wiedergabe fortzusetzen (ohne Klimmzüge würde er aber den Container wieder von Anfang an spielen, bei Radio-Stationen mag das eher vertretbar sein).

Wenn Du die Töne in die Aktuelle Wiedergabe mischen möchtest, könntest Du die Soundfiles für ok und error temporär ersetzen:

./usr/share/raumfeld-1.0/sounds/error.flac
./usr/share/raumfeld-1.0/sounds/ok.flac

(obacht, here be dragons, so etwas habe ich noch nicht versucht)

Es gibt auf dem RenderingControlService der Speaker (nicht der Zone!) die Methode "PlaySystemSound". Die nehmen als Parameter "Success" bzw. "Failure". Wenn Du die Methode aufrufst, wird der jeweilige Ton in den aktuellen Stream reingemischt.

ABER:
- das funktioniert vermutlich nur auf Lautsprechern, die Stationstasten haben (Raumfeld One S / One M / Stereo M).
- Du musst den Speaker vmtl. vorher aus dem Standby holen (habs gerade im Standby versucht, das alleien weckt ihn nicht auf)
jc-design
Ist häufiger hier
#424 erstellt: 01. Mai 2017, 13:58
@Raumfeld:

Gibt es eine Möglichkeit die Sortierung des BrwoseResults zu ändern? Wenn ich z.B. den Container AllTracks browse, bekomme ich ein komische Reihenfolge (nicht nach Album sortiert, sondern kunterbunt)

Was kann ich da machen? Oder wie macht ihr das...

Danke und euch noch einen schönen 1. Mai
ChriD
Stammgast
#425 erstellt: 02. Mai 2017, 10:33
Ich bin zwar nicht raumfeld aber ich denke mal das geht über standard upnp
http://stackoverflow.com/questions/18304594/browse-sort-criteria

e.g.

+dc:title


[Beitrag von ChriD am 02. Mai 2017, 10:33 bearbeitet]
jc-design
Ist häufiger hier
#426 erstellt: 02. Mai 2017, 11:41
@ ChriD:

das habe ich versucht, aber ohne Erfolg. Die Funktion GetSortCapabilities wirft auch keinen wert zurück

Grüße
jc-design
Ist häufiger hier
#427 erstellt: 02. Mai 2017, 20:08
Noch was: könnt ihr mir kurz helfen, wie ich CurrentURI fur TuneIn-Radios gestalten muß, um den Befehl SetAVTransportURI korrekt abzusetzen?

Bisher mache ich das für die CurrentURI so:



StringBuilder b = new StringBuilder("dlna-playcontainer://");
b.Append(WebUtility.UrlEncode(deviceUDN));

b.Append(WebUtility.HtmlEncode("?sid="));
b.Append(WebUtility.UrlEncode("urn:upnp-org:serviceId:ContentDirectory"));

b.Append(WebUtility.HtmlEncode("&cid="));
b.Append(containerID.Replace("%", "%25").Replace("=", "%3d").Replace(@"/", "%2F"));

b.Append(WebUtility.HtmlEncode("&md=0"));

if (firstItemIndex >= 0)
{
b.Append(WebUtility.HtmlEncode("&fii="));
b.Append(firstItemIndex);
}

return b.ToString();


Welche ContainerID nehme ich für TuneIn? Wenn ich einen BrowseMetaData über den Radiosender mache kann ich über die <res> den stream bekommen. Bringt mir das was? wenn ja, wo wende ich den an?



<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:raumfeld="urn:schemas-raumfeld-com:meta-data/raumfeld" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" lang="en"><item parentID="0/RadioTime/CategoryTalk/c-c100001372" id="0/RadioTime/CategoryTalk/c-c100001372/s-s154144" restricted="1"><raumfeld:name>Station</raumfeld:name><upnp:class>object.item.audioItem.audioBroadcast.radio</upnp:class><raumfeld:section>RadioTime</raumfeld:section><raumfeld:durability>120</raumfeld:durability><dc:title>VoiceAmerica Kids</dc:title><upnp:signalStrength>94</upnp:signalStrength><upnp:albumArtURI dlna:profileID="JPEG_TN">http://d1i6vahw24eb07.cloudfront.net/s154144q.png</upnp:albumArtURI><raumfeld:ebrowse>http://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=1c%3Aba%3A8c%3Aa1%3A22%3A78&id=s154144&c=ebrowse</raumfeld:ebrowse><res bitrate="32" protocolInfo="http-get:*:audio/x-mpegurl:*">http://opml.radiotime.com/Tune.ashx?id=e32432788&sid=s154144&formats=wma,mp3,ogg&partnerId=7aJ9pvV5&serial=1c:ba:8c:a1:22:78</res></item></DIDL-Lite>


und gebe ich diese MetaData im Feld CurrentURIMetaData an, oder muß ich da noch was beachten?

Danke...
ChriD
Stammgast
#428 erstellt: 02. Mai 2017, 22:17
alls container id immer die "id" benutzen
In deinem Besipiel:

0/RadioTime/CategoryTalk/c-c100001372/s-s154144


metadaten lasst einfach leer
jc-design
Ist häufiger hier
#429 erstellt: 05. Mai 2017, 12:00

ChriD (Beitrag #428) schrieb:
alls container id immer die "id" benutzen
In deinem Besipiel:

0/RadioTime/CategoryTalk/c-c100001372/s-s154144


metadaten lasst einfach leer


Das funktioniert leider nicht... wenn ich das mache, bleibt der Connector stumm...

Kann hier evtl. einer Näheres dazu beitragen?

Danke und schönes WE
jc-design
Ist häufiger hier
#430 erstellt: 05. Mai 2017, 16:14
Noch was sehr merkwürdiges:

Ich habe gestern ein Update per iOS-App installiert. Seit dem kann ich über den Intel DeviceSpy nicht mehr durch die 0/RadioTime Browsen

wenn ich das mache bekomme ich folgende Meldung:
Error code 503: Sorry, TuneIn is experiencing server problems and failed to return your requested content.


Wenn ich aber einen Unterordner anspringe (von dem ich zufällig den Pfad kenne) dann klappt es?! In de iOS-App funktioniert es weiterhin?

Raumfeld Connector Version ist 1.62
ChriD
Stammgast
#431 erstellt: 05. Mai 2017, 18:18

Das funktioniert leider nicht... wenn ich das mache, bleibt der Connector stumm...

Ganz einfach.. Setze mal einen TuneIn radiosender mit der Raumfeld-App auf einen Virtuellen renderer (also spiel einfach mal einen ab) und dann schaust du dir mit Device Spy die AvTransportUri an. Dann kannst du vergleichen. Ich nehme mal an du machts irgendwo im encoding was falsch




Noch was sehr merkwürdiges:
Ich habe gestern ein Update per iOS-App installiert. Seit dem kann ich über den Intel DeviceSpy nicht mehr durch die 0/RadioTime Browsen
wenn ich das mache bekomme ich folgende Meldung:
Error code 503: Sorry, TuneIn is experiencing server problems and failed to return your requested content.

Browse / Search am mediaServer rufst du mit "*" im Filterfeld auf?


Sonst kuck da mal ein wenig hier im source rum da wirst du fündig.
https://github.com/ChriD/node-raumkernel
jc-design
Ist häufiger hier
#432 erstellt: 05. Mai 2017, 20:00
Danke ChriD... da hätte ich ja auch vorher drauf kommen können
=> Es hat übrigens funktioniert. Bei Radio fängt der CurrentUri mit ""dlna-playsingle://"an...

@Raumfeld: es wäre toll ihr könntet mir bei meinem Problem mit dem Browsen helfen. Erst nach dem letzten Update kann ich nicht mehr die Radiostation durchsuchen (Error code 503: Sorry, TuneIn is experiencing server problems and failed to return your requested content.)


jc-design (Beitrag #430) schrieb:
Noch was sehr merkwürdiges:...


P.S.: was mir auch aufgefallen ist... ich kann den Befehl Browse auch über folgenden Pfad anstoßen:

00/RadioTime
000/RadioTime
000..../RadioTime

und dann funktioniert es komischer Weise?!

Ich bin ratlos


[Beitrag von jc-design am 06. Mai 2017, 09:53 bearbeitet]
ChriD
Stammgast
#433 erstellt: 06. Mai 2017, 18:02

jc-design (Beitrag #432) schrieb:

es wäre toll ihr könntet mir bei meinem Problem mit dem Browsen helfen. Erst nach dem letzten Update kann ich nicht mehr die Radiostation durchsuchen (Error code 503: Sorry, TuneIn is experiencing server problems and failed to return your requested content.)

Kann ich dir auch. Du musst den User-Agent (im HTTP Header) bei deinem Browse/Search request sauber setzen.
Mach mal so:


User-Agent: RaumfeldControl/3.10 RaumfeldProtocol
jc-design
Ist häufiger hier
#434 erstellt: 06. Mai 2017, 18:35
Krasser Scheiß.... woher weiß man denn so etwas?!

vielen Dank!


Jetzt komme ich zwar einen Schritt weiter, aber jetzt bekomme ich einen Hinweiß, daß die Controller app outdated ist... welche Version muß ich denn angeben, damit ich hier weiter komme?

Oder gibt was allgemeines zu nehmen?!


[Beitrag von jc-design am 06. Mai 2017, 18:41 bearbeitet]
jc-design
Ist häufiger hier
#435 erstellt: 19. Mai 2017, 23:01
Hallo,

habe nochmal eine Frage. Welches Event wird denn ausgelöst, wenn der PowerState eines Raumes geändert wird? Ich bekomme ein RoomState Event mit "", aber woher weiß ich welcher Raum das jetzt ist?!


Danke für die Unterstützung
ChriD
Stammgast
#436 erstellt: 21. Mai 2017, 12:16

jc-design (Beitrag #435) schrieb:
Hallo,
habe nochmal eine Frage. Welches Event wird denn ausgelöst, wenn der PowerState eines Raumes geändert wird? Ich bekomme ein RoomState Event mit "", aber woher weiß ich welcher Raum das jetzt ist?!

Es gibt das "LastChange" event auf dem AVTransport service das liefert dir

<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"><PowerState val="MANUAL_STANDBY"/></InstanceID></Event>

Von woher das kommt muss dein "UPNP Stack" wissen. Wenn du den UPNP Stack selber programmiert hast hast, weißt du von welcher IP das Event kommt (service url) und damit weißt du auch den renderer. (Ein Raum hat kein PowerState, sondern nur ein Renderer, es könnten ja auch 2 renderer in einem raum sein)

lg
jc-design
Ist häufiger hier
#437 erstellt: 21. Mai 2017, 21:38
Okay danke... bisher hatte ich die "normalen" Renderer außen vor gelassen und alles über den ZonenRenderer gemacht... werde dann die andere Rendere mit auf die Eventliste nehmen...

Schönes WE noch
ChriD
Stammgast
#438 erstellt: 22. Mai 2017, 10:00
Hmmm.. Ob du das über den zonenrenderer auch irgendwie bekommst weiß ich jetzt nicht. Muss ich mal probieren.
Manchmal steht der PowerState auch in der zoneConfiguration xml. Aber da hab ich noch nicht rausgefunden ob das dann auch als "Zonenänderung" getriggert wird. Ich glaub eher nicht.
Eiswürfel
Neuling
#439 erstellt: 23. Mai 2017, 22:58
Hallo,

Danke an thomas_raumfeld für Deine Vorschläge in Post #423 einen Sound abzuspielen. Leider helfen mit die Tipps nicht weiter.

aplay habe ich nur benutzt um andere Probleme auszuschliessen.
Mein eigentliches Ziel ist es shairport-sync auf dem Lautsprecher zu installieren. Das kompilieren ging ohne Probleme, das Programm läuft und alle mein Airplay Quellen sehen die Cubes, aber ich kann das ALSA device nicht öffnen und höre dementsprechend auch nichts...

Any hints?

Vielen Dank, Euer Eiswürfel
jc-design
Ist häufiger hier
#440 erstellt: 24. Mai 2017, 07:05

ChriD (Beitrag #438) schrieb:
...Manchmal steht der PowerState auch in der zoneConfiguration xml. Aber da hab ich noch nicht rausgefunden ob das dann auch als "Zonenänderung" getriggert wird. Ich glaub eher nicht.


Hi ChriD... der Status steht beim Auslesen der ZoneList pro Raum drin. Getriggert wird hier allerdings nichts... daher auch meine Frage... ich werde jetzt die einzelnen Renderer mal durchgehen.. sollte ja funktionieren...

Danke für jeden Fall für die Hilfe
jc-design
Ist häufiger hier
#441 erstellt: 14. Jun 2017, 16:33
@Raumfeld:

Könnt ihr mir sagen, wie ich Räume löschen kann, Neue Räume erstellen kann und Player der entsprechenden Räume neu Zuordnen kann...

Über den Dienst http://server.ip:47365/index kann ich ja die ganzen Befehle auslesen.

Aber wie und welche Parameter kann und muß ich übergeben? Gibt es hierzu eine Hilfe?

Z.B.: http://server.ip:47365/DeleteRoomAction

Vielen Dank für die Hilfe
jc-design
Ist häufiger hier
#442 erstellt: 13. Jul 2017, 23:40
@Raumfeld: Seid ihr hier noch aktiv? Könntet ihr mir ein wenig bei Punkt #441 helfen? Ich komme da nicht wirklich weiter
thomas_raumfeld
Stammgast
#443 erstellt: 14. Jul 2017, 13:16
Das Hinzufügen von neuen Geräten zum Raumfeld-System sollte nur über den Setup-Prozess der Raumfeld-App durchgeführt werden.

DeleteRoomAction entfernt den Raum komplett aus dem System, allerdings ist das Teil der Settings WebUI und sollte nicht einfach via http-get aufgerufen werden. Alle Actions mit großem Anfangsbuchstaben sind Settings-Seiten, die Actions mit kleinem Anfangsbuchstaben sind Teil der "normalen" http-API und können direkt aufgerufen werden.

Die Funktionen
* connectRoomToZone
* connectRoomsToZone
* dropRoomJob
kannst Du verwenden um die Zonenconfiguration umzubauen, also Räume in Zonen einfügen oder aus einer Zone zu entfernen. Das Resultat (die neue Zoneconfig) bekommst Du dann direkt zurück und es sollte sich auch kurz darauf in der globalen ZoneConfig (getZones-Longpoll) wiederspiegeln.

Auf der Index-Seite gibt es zu jedem call eine kleine Hilfe:


connectRoomToZone

Description

Puts the room with the given roomUDN in the zone with the zoneUDN.
Outputs

XML containing the zone and its children like getZonesJob does.
Optional Parameter

zoneUDN: The udn of the zone to connect the room to. If zone udn is empty or there is no zone with this udn yet, then a new zone is created
Optional Parameter

roomUDN: The udn of the room that has to be put into that zone. If empty, all available rooms (rooms that have active renderers) are put into the zone.


So fügt connectRoomToZone?zoneUDN=foo&roomUDN=bar den Raum mit der UDN "bar" zur Zone mit der UDN "foo" hinzu.
jc-design
Ist häufiger hier
#444 erstellt: 15. Jul 2017, 08:53

thomas_raumfeld (Beitrag #443) schrieb:
...
So fügt connectRoomToZone?zoneUDN=foo&roomUDN=bar den Raum mit der UDN "bar" zur Zone mit der UDN "foo" hinzu.


Super vielen Dank
jc-design
Ist häufiger hier
#445 erstellt: 17. Jul 2017, 23:34

thomas_raumfeld (Beitrag #443) schrieb:

Die Funktionen
* connectRoomToZone
* connectRoomsToZone
* dropRoomJob


Frage: Wie bekomme ich die Räume wieder her, wenn ich sie einmal mit dropRoomJob ausgeworfen habe? Muß ich dann einen neuen Raum erstellen? oder gibt es einen Befehl wo alle Räume aufgelistet werden, die die in Zonen sind und die, die es nicht sind?
vicegold
Ist häufiger hier
#446 erstellt: 14. Sep 2017, 14:40
68747470733a2f2f6c6175726964732e696f2f68796d6e2f6173736574732f696d616765732f73637265656e5f6d61696e2e

Falls Jemand mit guten JavaScript Kenntnissen Interesse hat eine Multiplattform (macOS, Windows, Linux) Desktopanwendung für das Raumfeld System zu entwickeln: https://github.com/vicegold/Kanon

Ich habe angefangen eine auf Electron und VueJS basierte Anwendung zu entwickeln die sich node-raumserver zu nutze machen soll um Raumfeld vernünftig auf dem Desktop bedienen zu können.

Das Grundprinzip basiert auf einem Player der im Rahmen meiner Bachelorarbeit entstanden ist: https://laurids.io/hymn.

Da meine Stärken eher im Design und bei HTML/CSS liegen ist jede Hilfe willkommen!


[Beitrag von vicegold am 14. Sep 2017, 17:13 bearbeitet]
ChriD
Stammgast
#447 erstellt: 15. Sep 2017, 18:21
Schaut hübsch aus!
Ich würds ja amchen aber hab derzeit n haufen arbeit (umbau zuhause) und einige issues auf dem node-raumserver/raumkernel die ich fixen muss.

BTW: Im Grunde wärs besser nur den node-raumkernel zu verwenden bzw. zu implementieren. der node-raumserver ist hierfür nicht nötig!
ChriD
Stammgast
#448 erstellt: 15. Sep 2017, 18:25

jc-design (Beitrag #445) schrieb:

thomas_raumfeld (Beitrag #443) schrieb:

Die Funktionen
* connectRoomToZone
* connectRoomsToZone
* dropRoomJob


Frage: Wie bekomme ich die Räume wieder her, wenn ich sie einmal mit dropRoomJob ausgeworfen habe? Muß ich dann einen neuen Raum erstellen? oder gibt es einen Befehl wo alle Räume aufgelistet werden, die die in Zonen sind und die, die es nicht sind?


@jcDesign


getZones

heißt das glaub ich.
Am besten du guckst dir mal alle Befehle an welche es gibt!
Das geht mit

index
jc-design
Ist häufiger hier
#449 erstellt: 22. Sep 2017, 07:15

thomas_raumfeld (Beitrag #443) schrieb:
Das Hinzufügen von neuen Geräten zum Raumfeld-System sollte nur über den Setup-Prozess der Raumfeld-App durchgeführt werden.

Die Funktionen
* connectRoomToZone
* connectRoomsToZone
* dropRoomJob


Ich hatte jetzt den Fall, daß ich nur "unassigned" Rooms hatte und keine Zonen mehr. Wie schaffe ich es denn eine neue Zone anzulegen?

Danke für die Hilfe
thomas_raumfeld
Stammgast
#450 erstellt: 22. Sep 2017, 08:49

jc-design (Beitrag #449) schrieb:

Ich hatte jetzt den Fall, daß ich nur "unassigned" Rooms hatte und keine Zonen mehr. Wie schaffe ich es denn eine neue Zone anzulegen?

Du würfelst Dir eine neue Zonen-UDN und rufst damit addRoomToZone auf.
jc-design
Ist häufiger hier
#451 erstellt: 23. Sep 2017, 08:01

thomas_raumfeld (Beitrag #450) schrieb:
Du würfelst Dir eine neue Zonen-UDN und rufst damit addRoomToZone auf.


Danke. Jetzt habe ich noch eine 2. Frage:

Ich mache zwei Longpolls auf listDevices und getZones... Soweit bekomme ich auch entsprechende Rückmeldung. Jetzt ist mir aber aufgefallen, daß ich bei listDevices nicht immer den korrekten Zustand zurückgeliefert bekomme.

Bsp.:
1. Ich entferne meine Räume aus den Zonen => habe nur noch unassigned Rooms
2. Ich bekomme erst listDevices OHNE Zonen
3. Ich bekomme anschließend getZones OHNE Zonen
4. Ich weise die Räume wieder Zonen zu
5. Ich bekomme erst listDevices OHNE Zonen
6. Ich bekomme anschließend getZones MIT Zonen

Bei Punkt 5 komme ich ins schleudern... hier hätte ich jetzt eine aktualisierte Liste MIT Zonen erwartet?
Ich habe es jetzt so gelöst, daß ich nur einen Longpoll auf die getZones mache und dort mit listDevices arbeite... Ist das i.O.?

Danke
Suche:
Gehe zu Seite: |vorherige| Erste . 5 6 7 8 9 Letzte |nächste|
Das könnte Dich auch interessieren:
Raumfeld - 3rd-Party Applikation - Raumwiese
ChriD am 03.04.2013  –  Letzte Antwort am 20.01.2021  –  303 Beiträge
Raumfeld - 3rd-Party Applikation - Raumbruecke
ChriD am 10.10.2013  –  Letzte Antwort am 09.02.2015  –  37 Beiträge
Raumfeld - 3rd-Party Applikation - RAUMServer
ChriD am 09.02.2015  –  Letzte Antwort am 03.01.2021  –  422 Beiträge
Raumfeld - 3rd-Party Applikation - PyRaumfeld Python Library
maierp am 28.02.2015  –  Letzte Antwort am 14.06.2015  –  3 Beiträge
Raumfeld - 3rd-Party Applikation - node-red-contrib-raumfeld
Alex9779 am 07.02.2018  –  Letzte Antwort am 02.12.2018  –  4 Beiträge
Raumfeld für mehrere User
Johannes_Mxx am 25.06.2014  –  Letzte Antwort am 25.06.2014  –  7 Beiträge
Raumfeld Connector vs. Raumfeld Connector²
Mogalle am 02.06.2017  –  Letzte Antwort am 06.06.2017  –  5 Beiträge
Raumfeld-Boxen im W-Lan betreiben
Blauesocke am 20.07.2012  –  Letzte Antwort am 12.08.2012  –  5 Beiträge
Raumfeld Mac App: Raumbar (Open Source Projekt)
ulilicht2 am 22.01.2021  –  Letzte Antwort am 13.08.2022  –  6 Beiträge
Wer hat Raumfeld Speaker L Boxen?
wentom1 am 20.05.2012  –  Letzte Antwort am 09.02.2016  –  65 Beiträge

Anzeige

Aktuelle Aktion

Partner Widget schließen

  • beyerdynamic Logo
  • DALI Logo
  • SAMSUNG Logo
  • TCL Logo

Forumsstatistik Widget schließen

  • Registrierte Mitglieder925.721 ( Heute: 2 )
  • Neuestes MitgliedMaxikulti
  • Gesamtzahl an Themen1.551.051
  • Gesamtzahl an Beiträgen21.536.873

Hersteller in diesem Thread Widget schließen