chrid / node-raumserver Goto Github PK
View Code? Open in Web Editor NEWA nodejs module/server to control the raumfeld multiroomsystem via HTTP-Requests
A nodejs module/server to control the raumfeld multiroomsystem via HTTP-Requests
LoadContainer
With this request you can load a container id into a zone playlist
A container id is a id which is used by a upnp media server to define for example playlists, albums, artists aso.
/raumserver/controller/loadContainer?id=Wohnzimmer&value=[urlencoded container id]
/raumserver/controller/loadContainer?id=Wohnzimmer&value=0%2FFavorites%2FMyFavorites%2F20433
hello,
i did finish now the migration from tunein to my local radio stations to be not dependent on the internet nor a 3rd party service.
i have one issue now - i can not save the playing streams within playlists or on the device's buttons.
so it would be nice to have a request - so i can store my own radio stations on the device and within playlists.
if try this through the app - the playlist is generated but empty...
if i try to save the playing stream on a button (f.ex. oe3 on 3) i get the sound for nothing assigned...
any idea if this will be possible?
thanks
holli
I began to write some content for the wiki (with what I learned with node-raumserver so far) that could be used for the wiki. Please review my proposals and merge them if you like them:
https://github.com/gahujipo/node-raumserver-wiki/blob/master/Home.md
Hallo!
Wird es eigentlich auch möglich sein, den neuen node-raumserver direkt auf einem Raumfeld-Gerät zu installieren?
Hintergrund ist folgender: Ich möchte Raumfeld über meinen Echo Dot in Verbindung mit dem AutoVoice Skill (Tasker Plugin für Android) steuern. Da wäre es gut wenn der Raumserver auf einem Gerät läuft, welches eh 24/7 eingeschaltet ist.
Außer meinem Raumfeld One S sind das bei mir nur eine Synology Diskstation 211j und diverse Android Geräte. Für das Synology gibt es für den Prozessor nur ein ganz veraltetes node.js Paket, 0.10 glaube ich.
In Android kann man mit Termux das node.js Paket installieren,, allerdings auch nur Version 6.10.2.
Vielen Dank!
Stefan
Hallo @ChriD ,
as the C++-raumserver will be discontinued, is there any HowTo guide for newbies in NodeJS and Raspberry how to install the node-raumserver on a Raspberry PI 3? I'm very eager to use this tool but I have some issues installing the C++-raumserver on my RP3 (with runing KNX IP gateway and openhab2 on it) and don't want to invest here more time.
Thanks
Dom-Perignon
After a full Fedora 25 system re-install I'm trying to re-install node-raumserver. After installing npm, nodejs and node-raumserver I got this error starting node-raumserver. Any idea how to solve this?
[root@area51 ~]# node node_modules/node-raumserver/raumserver.js
WARNING: No configurations found in configuration directory:/root/config
WARNING: To disable this warning set SUPPRESS_NO_CONFIG_WARNING in the environment.
/root/node_modules/node-raumkernel/lib/lib.device.upnp.mediaRenderer.raumfeld.js:37
async fadeToVolume(_desiredVolume, _duration = 2000)
^^^^^^^^^^^^
SyntaxError: Unexpected identifier
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object. (/root/node_modules/node-raumkernel/lib/lib.manager.deviceManager.js:13:33)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
[root@area51 ~]#
Hi,
I tried a a installation on my synology, unfortunatly there is only Node v4 available.
During the installation I got some warnings about the node version, when I try to start I got the following:
tino@DiskStation:/usr/local/rf$ node node_modules/node-raumserver/test.js
/usr/local/rf/node_modules/node-raumserver/lib/lib.raumserver.js:27
createLogger(_logLevel = 2, _path = "./logs")
^
SyntaxError: Unexpected token =
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:373:25)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object. (/usr/local/rf/node_modules/node-raumserver/test.js:2:18)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
Is the node version too old for your package?
Best Regards, Tino.
Hallo @ChriD ,
dein Angebot annehmend möchte ich gerne ein Feature-Request absetzen.
Ein schönes Webinterface! :)
Die einzigen Geräte mit denen ich das Raumfeld-System nicht steuern kann sind die PCs.
Gruß
mee0n
Hallo @ChriD ,
ein anderes Problem habe ich momentan noch mit dem Laden einer Playlist.
Habe eine Playlist deren erster und einziger Track ein TuneIn-Radiosender ist, da ich nicht wusste wie ich den Radiosender direkt laden kann. Unter dem alten raumserver hat das so einwandfrei funktioniert.
Nun aber nicht mehr. Die Befehle werden fehlerfrei abgesetzt, etc. aber er lädt sie einfach nicht. Schaue ich parallel in die App lädt er kurz was und zeigt dann "This music is not available" an und macht dann nichts weiter.
Mit einer Test-Playlist deren erster und einziger Track ein Tidal-Titel ist funktioniert es einwandfrei.
Hast du dazu eine Idee?
mee0n
Hallo,
ich bastle gerade an einem Gateway zum smarthomeNG projekt.
Die Steuerung läuft soweit gut und stabil über http requests. An dieser Stelle vielen Dank für die Mühen und Implementierung!
Jetzt geht es darum, möglichst in Echtzeit "Systemänderungen" mitzubekommen. Zwar kann man über getRendererState zyklisch pollen, aber das ist nicht gerade schick.
Im Konsolen-Output sieht man sehr schön, dass Änderungen dem Server bekannt werden. Die Frage ist nur, wie man sich auf diesen "Livestream" über http dranhängen kann? Timeouts könnten über keep-alive Messages oder reconnects gelöst werden. Es wäre gut, wenn der RendererState "gepusht" würde, sobald sich ein Wert ändert. Auf Seite des Gateways würde ich dann den json block durch den parser lassen und die entsprechenden Variablen im SmartHome System updaten.
Was meinst Du?
Hallo,
langsam arbeite ich mich vor... Ich möchte gerne in zwei Räumen gleichzeitig eine Playlist starten. Das Ganze mache ich über einen openHAB trigger, der folgendes tut:
// neue Zone aus allen Geräten erstellen
sendHttpGetRequest("http://192.168.178.8:8080/raumserver/controller/createZone?id=Küche")
Thread::sleep(1)
sendHttpGetRequest("http://192.168.178.8:8080/raumserver/controller/addToZone?id=Küche&zoneId=Wohnzimmer")
Thread::sleep(1)
sendHttpGetRequest("http://192.168.178.8:8080/raumserver/controller/loadPlaylist?id=Küche&value=zzMDRJump")
Leider funktioniert das so nicht, Log hänge ich an. Wenn ich die Requests einzeln im Browser absetze, dann wiederum funktioniert es.
Woran könnte das liegen?
Hier das Log zu dem Versuch:
verbose: [Raumserver] Request received: GET /raumserver/controller/stop?id=Küche
debug: [Raumserver] Request to raumserver recognized: /raumserver/controller/stop?id=Küche
debug: [Raumserver] Handle action 'stop' with query: {"id":"Küche"}
debug: [DeviceManager] Trying to get virtual media renderer for id or (child)name : Küche
debug: [DeviceManager] Trying to get media renderer for id name : Küche
debug: [ZoneManager] Get room information object for: uuid:23edaa33-b6db-4a29-b298-99a555a7f45b
debug: [ZoneManager] Get room information object for: uuid:48c57453-aa3c-48c1-a3a9-875cc5c436f0
debug: [DeviceManager] Media renderer for id : Küche found
debug: [Request.stop] Calling action 'stop' for renderer Küche
debug: [MediaRenderer|Küche] Call Stop from Küche
debug: [MediaRenderer|Küche] Result of Stop for Küche is {}
debug: [Request.stop] Request was accepted and was successfully executed
verbose: [Raumserver] Request received: GET /raumserver/controller/stop?id=Wohnzimmer
debug: [Raumserver] Request to raumserver recognized: /raumserver/controller/stop?id=Wohnzimmer
debug: [Raumserver] Handle action 'stop' with query: {"id":"Wohnzimmer"}
debug: [DeviceManager] Trying to get virtual media renderer for id or (child)name : Wohnzimmer
debug: [DeviceManager] Trying to get media renderer for id name : Wohnzimmer
debug: [ZoneManager] Get room information object for: uuid:23edaa33-b6db-4a29-b298-99a555a7f45b
debug: [DeviceManager] Media renderer for id : Wohnzimmer found
debug: [Request.stop] Calling action 'stop' for renderer Wohnzimmer
debug: [MediaRenderer|Wohnzimmer] Call Stop from Wohnzimmer
debug: [MediaRenderer|Wohnzimmer] Result of Stop for Wohnzimmer is {}
debug: [Request.stop] Request was accepted and was successfully executed
debug: [MediaRenderer|Wohnzimmer] AVTransport subscription callback triggered on device 'Wohnzimmer'
verbose: [MediaRenderer|Wohnzimmer] CurrentTrackMetaData has changed from '<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/Playlists/MyPlaylists/zzMDRJump" id="0/Playlists/MyPlaylists/zzMDRJump/3793" restricted="1" refID="0/RadioTime/Search/s-s6634"><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>MDR JUMP</dc:title><upnp:signalStrength>98</upnp:signalStrength><upnp:albumArtURI dlna:profileID="JPEG_TN">http://d1i6vahw24eb07.cloudfront.net/s6634q.png</upnp:albumArtURI><raumfeld:ebrowse>http://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=6c%3Aec%3Aeb%3A64%3Ad8%3A3e&id=s6634&c=ebrowse</raumfeld:ebrowse><res bitrate="128" protocolInfo="http-get:*:audio/x-mpegurl:*">http://opml.radiotime.com/Tune.ashx?id=e1636714&sid=s6634&formats=wma,mp3,ogg&partnerId=7aJ9pvV5&serial=6c:ec:eb:64:d8:3e</res><res bitrate="56" protocolInfo="http-get:*:audio/x-mpegurl:*">http://opml.radiotime.com/Tune.ashx?id=e1636715&sid=s6634&formats=wma,mp3,ogg&partnerId=7aJ9pvV5&serial=6c:ec:eb:64:d8:3e</res></item></DIDL-Lite>' to ''
verbose: [MediaRenderer|Wohnzimmer] CurrentTransportActions has changed from 'Play' to 'Repeat'
debug: [ZoneManager] Get room information object for: uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a
debug: [MediaRenderer|Wohnzimmer] Room: uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a: Set room renderer(s) ["uuid:23edaa33-b6db-4a29-b298-99a555a7f45b"] online to :true
debug: [MediaRenderer|Wohnzimmer] Set new updateId to: 315136
verbose: [Raumserver] Request received: GET /raumserver/controller/createZone?id=Küche
debug: [Raumserver] Request to raumserver recognized: /raumserver/controller/createZone?id=Küche
debug: [Raumserver] Handle action 'createZone' with query: {"id":"Küche"}
debug: [DeviceManager] Trying to get virtual media renderer for id or (child)name : Küche
debug: [DeviceManager] Trying to get media renderer for id name : Küche
debug: [ZoneManager] Get room information object for: uuid:23edaa33-b6db-4a29-b298-99a555a7f45b
debug: [ZoneManager] Get room information object for: uuid:48c57453-aa3c-48c1-a3a9-875cc5c436f0
debug: [DeviceManager] Media renderer for id : Küche found
debug: [DeviceManager] Trying to get media renderer for id name : Küche
debug: [ZoneManager] Get room information object for: uuid:23edaa33-b6db-4a29-b298-99a555a7f45b
debug: [ZoneManager] Get room information object for: uuid:48c57453-aa3c-48c1-a3a9-875cc5c436f0
debug: [DeviceManager] Media renderer for id : Küche found
debug: [Request.createZone] Calling action 'createZone' for renderer Küche
debug: [ZoneManager] Get room information object for: uuid:48c57453-aa3c-48c1-a3a9-875cc5c436f0
verbose: [ZoneManager] Connecting room uuid:1341d05b-496a-4c78-9282-8de75310836f to zone
debug: [ZoneManager] ConnectRoomToZone request was successful'
debug: [Request.createZone] Request was accepted and was successfully executed
verbose: [Raumserver] Request received: GET /raumserver/controller/addToZone?id=Küche&zoneId=Wohnzimmer
debug: [Raumserver] Request to raumserver recognized: /raumserver/controller/addToZone?id=Küche&zoneId=Wohnzimmer
debug: [Raumserver] Handle action 'addToZone' with query: {"id":"Küche","zoneId":"Wohnzimmer"}
debug: [DeviceManager] Trying to get virtual media renderer for id or (child)name : Küche
debug: [DeviceManager] Trying to get media renderer for id name : Küche
debug: [ZoneManager] Get room information object for: uuid:23edaa33-b6db-4a29-b298-99a555a7f45b
debug: [ZoneManager] Get room information object for: uuid:48c57453-aa3c-48c1-a3a9-875cc5c436f0
debug: [DeviceManager] Media renderer for id : Küche found
debug: [DeviceManager] Trying to get media renderer for id name : Küche
debug: [ZoneManager] Get room information object for: uuid:23edaa33-b6db-4a29-b298-99a555a7f45b
debug: [ZoneManager] Get room information object for: uuid:48c57453-aa3c-48c1-a3a9-875cc5c436f0
debug: [DeviceManager] Media renderer for id : Küche found
debug: [Request.addToZone] Calling action 'addToZone' for renderer Küche
debug: [ZoneManager] Get room information object for: uuid:48c57453-aa3c-48c1-a3a9-875cc5c436f0
debug: [DeviceManager] Trying to get virtual media renderer for id or (child)name : Wohnzimmer
debug: [DeviceManager] Trying to get media renderer for id name : Wohnzimmer
debug: [ZoneManager] Get room information object for: uuid:23edaa33-b6db-4a29-b298-99a555a7f45b
debug: [DeviceManager] Media renderer for id : Wohnzimmer found
verbose: [ZoneManager] Connecting room uuid:1341d05b-496a-4c78-9282-8de75310836f to zone uuid:89e90b17-01b6-4e93-920d-e03ae758e1cb
debug: [ZoneManager] Zone configuration request returns with updateId: '2843516322'
verbose: [ZoneManager] Zone configuration changed
debug: [ZoneManager] Zone Configuration changed to: {"zoneConfig":{"$":{"numRooms":"2","spotifyMode":"singleRoom"},"zones":[{"zone":[{"$":{"udn":"uuid:89e90b17-01b6-4e93-920d-e03ae758e1cb"},"room":[{"$":{"name":"Wohnzimmer","udn":"uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a","powerState":"ACTIVE"},"renderer":[{"$":{"udn":"uuid:23edaa33-b6db-4a29-b298-99a555a7f45b","name":"Connector Wohnzimmer"}}]}]},{"$":{"udn":"uuid:b6b4ef18-6e88-4e7d-a640-4e988760350b"},"room":[{"$":{"name":"Küche","color":"#C64D51","udn":"uuid:1341d05b-496a-4c78-9282-8de75310836f"},"renderer":[{"$":{"udn":"uuid:48c57453-aa3c-48c1-a3a9-875cc5c436f0","name":"Speaker Küche"}}]}]}]}]}}
verbose: [ZoneManager] Getting zone configuration information from http://192.168.178.21 with updateId: 2843516322
debug: [ZoneManager] ConnectRoomToZone request was successful'
debug: [Request.addToZone] Request was accepted and was successfully executed
verbose: [Raumserver] Request received: GET /raumserver/controller/loadPlaylist?id=Küche&value=zzMDRJump
debug: [Raumserver] Request to raumserver recognized: /raumserver/controller/loadPlaylist?id=Küche&value=zzMDRJump
debug: [Raumserver] Handle action 'loadPlaylist' with query: {"id":"Küche","value":"zzMDRJump"}
debug: [DeviceManager] Trying to get virtual media renderer for id or (child)name : Küche
debug: [DeviceManager] Trying to get media renderer for id name : Küche
debug: [ZoneManager] Get room information object for: uuid:23edaa33-b6db-4a29-b298-99a555a7f45b
debug: [ZoneManager] Get room information object for: uuid:48c57453-aa3c-48c1-a3a9-875cc5c436f0
debug: [DeviceManager] Media renderer for id : Küche found
error: [Request.loadPlaylist] VirtualMediaRenderer for id 'Küche' not found
error: [Request.loadPlaylist] Some renderers had exceptions: Error: VirtualMediaRenderer for id 'Küche' not found
at Request_LoadPlaylist.run (/home/openhabian/raumfeld/node_modules/node-raumserver/lib/lib.base.requestMediaRenderer.js:86:27)
at Raumserver.handleRequestObject (/home/openhabian/raumfeld/node_modules/node-raumserver/lib/lib.raumserver.js:136:28)
at Raumserver.requestReceived (/home/openhabian/raumfeld/node_modules/node-raumserver/lib/lib.raumserver.js:99:22)
at Server.<anonymous> (/home/openhabian/raumfeld/node_modules/node-raumserver/lib/lib.raumserver.js:73:26)
at emitTwo (events.js:106:13)
at Server.emit (events.js:194:7)
at parserOnIncoming (_http_server.js:563:12)
at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23)
error: [Raumserver] Request was rejected: errorMessage=Error: VirtualMediaRenderer for id 'Küche' not found, errorData=null
verbose: [Raumserver] Request received: GET /raumserver/controller/play?id=Küche
debug: [Raumserver] Request to raumserver recognized: /raumserver/controller/play?id=Küche
debug: [Raumserver] Handle action 'play' with query: {"id":"Küche"}
debug: [DeviceManager] Trying to get virtual media renderer for id or (child)name : Küche
debug: [DeviceManager] Trying to get media renderer for id name : Küche
debug: [ZoneManager] Get room information object for: uuid:23edaa33-b6db-4a29-b298-99a555a7f45b
debug: [ZoneManager] Get room information object for: uuid:48c57453-aa3c-48c1-a3a9-875cc5c436f0
debug: [DeviceManager] Media renderer for id : Küche found
error: [Request.play] VirtualMediaRenderer for id 'Küche' not found
error: [Request.play] Some renderers had exceptions: Error: VirtualMediaRenderer for id 'Küche' not found
at Request_Play.run (/home/openhabian/raumfeld/node_modules/node-raumserver/lib/lib.base.requestMediaRenderer.js:86:27)
at Raumserver.handleRequestObject (/home/openhabian/raumfeld/node_modules/node-raumserver/lib/lib.raumserver.js:136:28)
at Raumserver.requestReceived (/home/openhabian/raumfeld/node_modules/node-raumserver/lib/lib.raumserver.js:99:22)
at Server.<anonymous> (/home/openhabian/raumfeld/node_modules/node-raumserver/lib/lib.raumserver.js:73:26)
at emitTwo (events.js:106:13)
at Server.emit (events.js:194:7)
at parserOnIncoming (_http_server.js:563:12)
at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23)
error: [Raumserver] Request was rejected: errorMessage=Error: VirtualMediaRenderer for id 'Küche' not found, errorData=null
debug: [DeviceManager] Device list request returns with updateId: '4021014608'
verbose: [DeviceManager] Device list changed
verbose: [DeviceManager] Cleaning up devices
debug: [DeviceManager] Cleaning up mediaServers
debug: [DeviceManager] Cleaning up virtual renderers
verbose: [MediaRenderer|Küche] Remove service subscriptions for device 'Küche'
warn: [DeviceManager] Virtual media renderer removed: Küche
debug: [DeviceManager] Cleaning up renderers
debug: [DeviceManager] Get device description from http://192.168.178.4:49152/wps_device.xml
debug: [DeviceManager] Get device description from http://192.168.178.2:50001/desc/device.xml
debug: [DeviceManager] Get device description from http://192.168.178.4:1900/igd.xml
debug: [DeviceManager] Get device description from http://192.168.178.21:53912/23edaa33-b6db-4a29-b298-99a555a7f45b.xml
debug: [DeviceManager] Get device description from http://192.168.178.22:57564/26370a0e-339e-4f38-8a3a-fba9213fec0c.xml
debug: [DeviceManager] Get device description from http://192.168.178.106:80/description.xml
debug: [DeviceManager] Get device description from http://192.168.178.22:60478/48c57453-aa3c-48c1-a3a9-875cc5c436f0.xml
debug: [DeviceManager] Get device description from http://192.168.178.21:52355/5d609a99-9ec6-485f-bdb2-ecf4571bd5d1.xml
debug: [DeviceManager] Get device description from http://192.168.178.28:49985/upnp/dev/71920b1a-5d21-3d62-ffff-ffffc8385632/desc
debug: [DeviceManager] Get device description from http://192.168.178.21:58378/75b3773d-5f7d-466b-8990-56227d314966.xml
debug: [DeviceManager] Get device description from http://192.168.178.21:60002/89e90b17-01b6-4e93-920d-e03ae758e1cb.xml
debug: [DeviceManager] Get device description from http://192.168.178.21:50321/8e46f382-de12-443d-9800-7d755486aa14.xml
debug: [DeviceManager] Get device description from http://192.168.178.11:49152/xmldoc/InternetGatewayDevice.xml
debug: [DeviceManager] Get device description from http://192.168.178.6:49152/wps_device.xml
debug: [ZoneManager] Zone configuration request returns with updateId: '188550663'
verbose: [ZoneManager] Zone configuration changed
debug: [ZoneManager] Zone Configuration changed to: {"zoneConfig":{"$":{"numRooms":"2","spotifyMode":"singleRoom"},"zones":[{"zone":[{"$":{"udn":"uuid:89e90b17-01b6-4e93-920d-e03ae758e1cb"},"room":[{"$":{"name":"Küche","color":"#C64D51","udn":"uuid:1341d05b-496a-4c78-9282-8de75310836f"},"renderer":[{"$":{"udn":"uuid:48c57453-aa3c-48c1-a3a9-875cc5c436f0","name":"Speaker Küche"}}]},{"$":{"name":"Wohnzimmer","udn":"uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a","powerState":"ACTIVE"},"renderer":[{"$":{"udn":"uuid:23edaa33-b6db-4a29-b298-99a555a7f45b","name":"Connector Wohnzimmer"}}]}]}]}]}}
verbose: [DeviceManager] Getting device list from http://192.168.178.21 with updateId: 4021014608
verbose: [ZoneManager] Getting zone configuration information from http://192.168.178.21 with updateId: 188550663
debug: [DeviceManager] Got device description from http://192.168.178.4:49152/wps_device.xml
verbose: [DeviceManager] Device 'WPS Access Point' of type 'urn:schemas-wifialliance-org:device:WFADevice:1' (Wireless N Router) not usable
debug: [DeviceManager] Got device description from http://192.168.178.2:50001/desc/device.xml
verbose: [DeviceManager] Media server 'DiskStation' found
verbose: [DeviceManager] Media server 'DiskStation' is useable
debug: [DeviceManager] Got device description from http://192.168.178.4:1900/igd.xml
verbose: [DeviceManager] Device 'Wireless Router TL-WR841N' of type 'urn:schemas-upnp-org:device:InternetGatewayDevice:1' (Wireless Router TL-WR841N) not usable
debug: [DeviceManager] Got device description from http://192.168.178.11:49152/xmldoc/InternetGatewayDevice.xml
verbose: [DeviceManager] Device 'DIR-615' of type 'urn:schemas-upnp-org:device:InternetGatewayDevice:1' (D-Link DIR-615) not usable
debug: [DeviceManager] Got device description from http://192.168.178.6:49152/wps_device.xml
verbose: [DeviceManager] Device 'DD-WRT WPS Access Point' of type 'urn:schemas-wifialliance-org:device:WFADevice:1' (Wireless Access Point) not usable
debug: [DeviceManager] Got device description from http://192.168.178.106:80/description.xml
verbose: [DeviceManager] Device 'Philips hue (192.168.178.106)' of type 'urn:schemas-upnp-org:device:Basic:1' (Philips hue Personal Wireless Lighting) not usable
debug: [DeviceManager] Got device description from http://192.168.178.28:49985/upnp/dev/71920b1a-5d21-3d62-ffff-ffffc8385632/desc
verbose: [DeviceManager] Device 'Marco's Fire TV stick' of type 'urn:dial-multiscreen-org:device:dial:1' (undefined) not usable
debug: [DeviceManager] Got device description from http://192.168.178.21:50321/8e46f382-de12-443d-9800-7d755486aa14.xml
verbose: [DeviceManager] Device 'Raumfeld Device' of type 'urn:schemas-raumfeld-com:device:RaumfeldDevice:1' (undefined) not usable
debug: [DeviceManager] Got device description from http://192.168.178.21:53912/23edaa33-b6db-4a29-b298-99a555a7f45b.xml
verbose: [DeviceManager] Media renderer 'Connector Wohnzimmer' found
verbose: [DeviceManager] Raumfeld media renderer 'Connector Wohnzimmer' is useable
debug: [DeviceManager] Got device description from http://192.168.178.22:60478/48c57453-aa3c-48c1-a3a9-875cc5c436f0.xml
verbose: [DeviceManager] Media renderer 'Speaker Küche' found
verbose: [DeviceManager] Raumfeld media renderer 'Speaker Küche' is useable
debug: [DeviceManager] Got device description from http://192.168.178.21:60002/89e90b17-01b6-4e93-920d-e03ae758e1cb.xml
verbose: [DeviceManager] Media renderer 'Wohnzimmer' found
verbose: [DeviceManager] Media Renderer 'Wohnzimmer' is useable
debug: [DeviceManager] Got device description from http://192.168.178.22:57564/26370a0e-339e-4f38-8a3a-fba9213fec0c.xml
verbose: [DeviceManager] Device 'Raumfeld Device' of type 'urn:schemas-raumfeld-com:device:RaumfeldDevice:1' (undefined) not usable
debug: [DeviceManager] Got device description from http://192.168.178.21:52355/5d609a99-9ec6-485f-bdb2-ecf4571bd5d1.xml
verbose: [DeviceManager] Device 'Raumfeld ConfigDevice' of type 'urn:schemas-raumfeld-com:device:ConfigDevice:1' (undefined) not usable
debug: [DeviceManager] Got device description from http://192.168.178.21:58378/75b3773d-5f7d-466b-8990-56227d314966.xml
verbose: [DeviceManager] Media server 'Raumfeld MediaServer' found
verbose: [DeviceManager] Media server 'Raumfeld MediaServer' is useable
debug: [MediaRenderer|Wohnzimmer] AVTransport subscription callback triggered on device 'Wohnzimmer'
verbose: [MediaRenderer|Wohnzimmer] CurrentTransportActions has changed from 'Repeat' to ''
debug: [ZoneManager] Get room information object for: uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a
debug: [MediaRenderer|Wohnzimmer] Room: uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a: Set room renderer(s) ["uuid:23edaa33-b6db-4a29-b298-99a555a7f45b"] online to :true
debug: [MediaRenderer|Wohnzimmer] Set new updateId to: 315137
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
debug: [DeviceManager] Device list request returns with updateId: '4021014609'
verbose: [DeviceManager] Device list changed
verbose: [DeviceManager] Cleaning up devices
debug: [DeviceManager] Cleaning up mediaServers
debug: [DeviceManager] Cleaning up virtual renderers
debug: [DeviceManager] Cleaning up renderers
debug: [DeviceManager] Get device description from http://192.168.178.4:49152/wps_device.xml
debug: [DeviceManager] Get device description from http://192.168.178.2:50001/desc/device.xml
debug: [DeviceManager] Get device description from http://192.168.178.4:1900/igd.xml
debug: [DeviceManager] Get device description from http://192.168.178.21:53912/23edaa33-b6db-4a29-b298-99a555a7f45b.xml
debug: [DeviceManager] Get device description from http://192.168.178.22:57564/26370a0e-339e-4f38-8a3a-fba9213fec0c.xml
debug: [DeviceManager] Get device description from http://192.168.178.106:80/description.xml
debug: [DeviceManager] Get device description from http://192.168.178.22:60478/48c57453-aa3c-48c1-a3a9-875cc5c436f0.xml
debug: [DeviceManager] Get device description from http://192.168.178.21:52355/5d609a99-9ec6-485f-bdb2-ecf4571bd5d1.xml
debug: [DeviceManager] Get device description from http://192.168.178.28:49985/upnp/dev/71920b1a-5d21-3d62-ffff-ffffc8385632/desc
debug: [DeviceManager] Get device description from http://192.168.178.21:58378/75b3773d-5f7d-466b-8990-56227d314966.xml
debug: [DeviceManager] Get device description from http://192.168.178.21:60002/89e90b17-01b6-4e93-920d-e03ae758e1cb.xml
debug: [DeviceManager] Get device description from http://192.168.178.21:50321/8e46f382-de12-443d-9800-7d755486aa14.xml
debug: [DeviceManager] Get device description from http://192.168.178.11:49152/xmldoc/InternetGatewayDevice.xml
debug: [DeviceManager] Get device description from http://192.168.178.21:51438/b6b4ef18-6e88-4e7d-a640-4e988760350b.xml
debug: [DeviceManager] Get device description from http://192.168.178.6:49152/wps_device.xml
verbose: [DeviceManager] Getting device list from http://192.168.178.21 with updateId: 4021014609
debug: [DeviceManager] Got device description from http://192.168.178.4:49152/wps_device.xml
verbose: [DeviceManager] Device 'WPS Access Point' of type 'urn:schemas-wifialliance-org:device:WFADevice:1' (Wireless N Router) not usable
debug: [DeviceManager] Got device description from http://192.168.178.2:50001/desc/device.xml
verbose: [DeviceManager] Media server 'DiskStation' found
verbose: [DeviceManager] Media server 'DiskStation' is useable
debug: [DeviceManager] Got device description from http://192.168.178.4:1900/igd.xml
verbose: [DeviceManager] Device 'Wireless Router TL-WR841N' of type 'urn:schemas-upnp-org:device:InternetGatewayDevice:1' (Wireless Router TL-WR841N) not usable
debug: [DeviceManager] Got device description from http://192.168.178.11:49152/xmldoc/InternetGatewayDevice.xml
verbose: [DeviceManager] Device 'DIR-615' of type 'urn:schemas-upnp-org:device:InternetGatewayDevice:1' (D-Link DIR-615) not usable
debug: [DeviceManager] Got device description from http://192.168.178.6:49152/wps_device.xml
verbose: [DeviceManager] Device 'DD-WRT WPS Access Point' of type 'urn:schemas-wifialliance-org:device:WFADevice:1' (Wireless Access Point) not usable
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
verbose: [MediaListManager] Get media list for objectId: 0/Line In
debug: Call Search from Raumfeld MediaServer
debug: [DeviceManager] Got device description from http://192.168.178.106:80/description.xml
verbose: [DeviceManager] Device 'Philips hue (192.168.178.106)' of type 'urn:schemas-upnp-org:device:Basic:1' (Philips hue Personal Wireless Lighting) not usable
debug: [DeviceManager] Got device description from http://192.168.178.28:49985/upnp/dev/71920b1a-5d21-3d62-ffff-ffffc8385632/desc
verbose: [DeviceManager] Device 'Marco's Fire TV stick' of type 'urn:dial-multiscreen-org:device:dial:1' (undefined) not usable
debug: [DeviceManager] Got device description from http://192.168.178.22:57564/26370a0e-339e-4f38-8a3a-fba9213fec0c.xml
verbose: [DeviceManager] Device 'Raumfeld Device' of type 'urn:schemas-raumfeld-com:device:RaumfeldDevice:1' (undefined) not usable
debug: [DeviceManager] Got device description from http://192.168.178.22:60478/48c57453-aa3c-48c1-a3a9-875cc5c436f0.xml
verbose: [DeviceManager] Media renderer 'Speaker Küche' found
verbose: [DeviceManager] Raumfeld media renderer 'Speaker Küche' is useable
debug: [DeviceManager] Got device description from http://192.168.178.21:50321/8e46f382-de12-443d-9800-7d755486aa14.xml
verbose: [DeviceManager] Device 'Raumfeld Device' of type 'urn:schemas-raumfeld-com:device:RaumfeldDevice:1' (undefined) not usable
debug: [DeviceManager] Got device description from http://192.168.178.21:52355/5d609a99-9ec6-485f-bdb2-ecf4571bd5d1.xml
verbose: [DeviceManager] Device 'Raumfeld ConfigDevice' of type 'urn:schemas-raumfeld-com:device:ConfigDevice:1' (undefined) not usable
debug: [DeviceManager] Got device description from http://192.168.178.21:53912/23edaa33-b6db-4a29-b298-99a555a7f45b.xml
verbose: [DeviceManager] Media renderer 'Connector Wohnzimmer' found
verbose: [DeviceManager] Raumfeld media renderer 'Connector Wohnzimmer' is useable
debug: [DeviceManager] Got device description from http://192.168.178.21:60002/89e90b17-01b6-4e93-920d-e03ae758e1cb.xml
verbose: [DeviceManager] Media renderer 'Wohnzimmer' found
verbose: [DeviceManager] Media Renderer 'Wohnzimmer' is useable
debug: [DeviceManager] Got device description from http://192.168.178.21:51438/b6b4ef18-6e88-4e7d-a640-4e988760350b.xml
verbose: [DeviceManager] Media renderer 'Küche' found
verbose: [DeviceManager] Media Renderer 'Küche' is useable
verbose: [MediaRenderer|Küche] Set up AVTransport subscription on device 'Küche'
verbose: [MediaRenderer|Küche] Set up RenderingControl subscription on device 'Küche'
info: [DeviceManager] Virtual media renderer added: Küche (uuid:b6b4ef18-6e88-4e7d-a640-4e988760350b)
debug: [DeviceManager] Got device description from http://192.168.178.21:58378/75b3773d-5f7d-466b-8990-56227d314966.xml
verbose: [DeviceManager] Media server 'Raumfeld MediaServer' found
verbose: [DeviceManager] Media server 'Raumfeld MediaServer' is useable
debug: [MediaRenderer|Küche] AVTransport subscription callback triggered on device 'Küche'
verbose: [MediaRenderer|Küche] InstanceID has changed from 'undefined' to '0'
verbose: [MediaRenderer|Küche] CurrentTrackMetaData has changed from 'undefined' to ''
verbose: [MediaRenderer|Küche] CurrentRecordQualityMode has changed from 'undefined' to 'NOT_IMPLEMENTED'
verbose: [MediaRenderer|Küche] AbsoluteTimePosition has changed from 'undefined' to '00:00:00'
verbose: [MediaRenderer|Küche] SecondsUntilSleep has changed from 'undefined' to '0'
verbose: [MediaRenderer|Küche] CurrentTrack has changed from 'undefined' to '0'
verbose: [MediaRenderer|Küche] AVTransportURIMetaData has changed from 'undefined' to ''
verbose: [MediaRenderer|Küche] PossiblePlaybackStorageMedia has changed from 'undefined' to 'NETWORK'
verbose: [MediaRenderer|Küche] TransportPlaySpeed has changed from 'undefined' to '1'
verbose: [MediaRenderer|Küche] CurrentTrackDuration has changed from 'undefined' to '00:00:00'
verbose: [MediaRenderer|Küche] PossibleRecordQualityModes has changed from 'undefined' to 'NOT_IMPLEMENTED'
verbose: [MediaRenderer|Küche] TransportError has changed from 'undefined' to ''
verbose: [MediaRenderer|Küche] PossibleRecordStorageMedia has changed from 'undefined' to 'NONE'
verbose: [MediaRenderer|Küche] AVTransportURI has changed from 'undefined' to ''
verbose: [MediaRenderer|Küche] RelativeTimePosition has changed from 'undefined' to '00:00:00'
verbose: [MediaRenderer|Küche] RelativeCounterPosition has changed from 'undefined' to '1'
verbose: [MediaRenderer|Küche] CurrentPlayMode has changed from 'undefined' to 'NORMAL'
verbose: [MediaRenderer|Küche] Bitrate has changed from 'undefined' to '0'
verbose: [MediaRenderer|Küche] TransportState has changed from 'undefined' to 'NO_MEDIA_PRESENT'
verbose: [MediaRenderer|Küche] AbsoluteCounterPosition has changed from 'undefined' to '1'
verbose: [MediaRenderer|Küche] CurrentTransportActions has changed from 'undefined' to ''
verbose: [MediaRenderer|Küche] RoomStates has changed from 'undefined' to 'uuid:1341d05b-496a-4c78-9282-8de75310836f=STOPPED'
verbose: [MediaRenderer|Küche] ContentType has changed from 'undefined' to ''
verbose: [MediaRenderer|Küche] NumberOfTracks has changed from 'undefined' to '0'
verbose: [MediaRenderer|Küche] SleepTimerActive has changed from 'undefined' to '0'
verbose: [MediaRenderer|Küche] TransportStatus has changed from 'undefined' to 'OK'
verbose: [MediaRenderer|Küche] CurrentTrackURI has changed from 'undefined' to ''
debug: [ZoneManager] Get room information object for: uuid:1341d05b-496a-4c78-9282-8de75310836f
debug: [MediaRenderer|Küche] Room: uuid:1341d05b-496a-4c78-9282-8de75310836f: Set room renderer(s) ["uuid:48c57453-aa3c-48c1-a3a9-875cc5c436f0"] online to :true
verbose: [MediaRenderer|Küche] roomUDN has changed from '' to 'uuid:1341d05b-496a-4c78-9282-8de75310836f' on room 'uuid:1341d05b-496a-4c78-9282-8de75310836f'
verbose: [MediaRenderer|Küche] transportState has changed from '' to 'STOPPED' on room 'uuid:1341d05b-496a-4c78-9282-8de75310836f'
verbose: [MediaRenderer|Küche] online has changed from '' to 'true' on room 'uuid:1341d05b-496a-4c78-9282-8de75310836f'
debug: [MediaRenderer|Küche] Set new updateId to: 140956
debug: [MediaRenderer|Küche] RenderingControl subscription callback triggered on device 'Küche'
verbose: [MediaRenderer|Küche] RoomVolumes has changed from 'undefined' to 'uuid:1341d05b-496a-4c78-9282-8de75310836f=38'
verbose: [MediaRenderer|Küche] Volume has changed from 'undefined' to '38'
verbose: [MediaRenderer|Küche] Mute has changed from 'undefined' to '0'
verbose: [MediaRenderer|Küche] RoomMutes has changed from 'undefined' to 'uuid:1341d05b-496a-4c78-9282-8de75310836f=0'
debug: [ZoneManager] Get room information object for: uuid:1341d05b-496a-4c78-9282-8de75310836f
debug: [MediaRenderer|Küche] Room: uuid:1341d05b-496a-4c78-9282-8de75310836f: Set room renderer(s) ["uuid:48c57453-aa3c-48c1-a3a9-875cc5c436f0"] online to :true
verbose: [MediaRenderer|Küche] volume has changed from 'undefined' to '38' on room 'uuid:1341d05b-496a-4c78-9282-8de75310836f'
verbose: [MediaRenderer|Küche] mute has changed from 'undefined' to '0' on room 'uuid:1341d05b-496a-4c78-9282-8de75310836f'
debug: [MediaRenderer|Küche] Set new updateId to: 140957
debug: Result of Search for Raumfeld MediaServer is {"Result":"<DIDL-Lite xmlns=\"urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/\" xmlns:raumfeld=\"urn:schemas-raumfeld-com:meta-data/raumfeld\" lang=\"en\"/>","NumberReturned":"0","TotalMatches":"0","UpdateID":"37247193"}
debug: [MediaDataConverter] Got empty list
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
verbose: [MediaListManager] Get media list for objectId: 0/Line In
debug: Call Search from Raumfeld MediaServer
debug: Result of Search for Raumfeld MediaServer is {"Result":"<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/\" lang=\"en\"><item parentID=\"0/Line In\" id=\"0/Line In/uuid%3A23edaa33-b6db-4a29-b298-99a555a7f45b\" restricted=\"1\"><raumfeld:name>Line In</raumfeld:name><upnp:class>object.item.audioItem.audioBroadcast.lineIn</upnp:class><raumfeld:section>Line In</raumfeld:section><dc:title>Connector Wohnzimmer</dc:title><res protocolInfo=\"http-get:*:audio/x-flac:*\">http://192.168.178.21:8888/stream.flac</res></item><item parentID=\"0/Line In\" id=\"0/Line In/uuid%3A48c57453-aa3c-48c1-a3a9-875cc5c436f0\" restricted=\"1\"><raumfeld:name>Line In</raumfeld:name><upnp:class>object.item.audioItem.audioBroadcast.lineIn</upnp:class><raumfeld:section>Line In</raumfeld:section><dc:title>Speaker Küche</dc:title><res protocolInfo=\"http-get:*:audio/x-flac:*\">http://192.168.178.22:8888/stream.flac</res></item></DIDL-Lite>","NumberReturned":"2","TotalMatches":"2","UpdateID":"37247195"}
debug: [DeviceManager] Device list request returns with updateId: '4021014610'
verbose: [DeviceManager] Device list changed
verbose: [DeviceManager] Cleaning up devices
debug: [DeviceManager] Cleaning up mediaServers
debug: [DeviceManager] Cleaning up virtual renderers
verbose: [MediaRenderer|Küche] Remove service subscriptions for device 'Küche'
warn: [DeviceManager] Virtual media renderer removed: Küche
debug: [DeviceManager] Cleaning up renderers
debug: [DeviceManager] Get device description from http://192.168.178.4:49152/wps_device.xml
debug: [DeviceManager] Get device description from http://192.168.178.2:50001/desc/device.xml
debug: [DeviceManager] Get device description from http://192.168.178.4:1900/igd.xml
debug: [DeviceManager] Get device description from http://192.168.178.21:53912/23edaa33-b6db-4a29-b298-99a555a7f45b.xml
debug: [DeviceManager] Get device description from http://192.168.178.22:57564/26370a0e-339e-4f38-8a3a-fba9213fec0c.xml
debug: [DeviceManager] Get device description from http://192.168.178.106:80/description.xml
debug: [DeviceManager] Get device description from http://192.168.178.22:60478/48c57453-aa3c-48c1-a3a9-875cc5c436f0.xml
debug: [DeviceManager] Get device description from http://192.168.178.21:52355/5d609a99-9ec6-485f-bdb2-ecf4571bd5d1.xml
debug: [DeviceManager] Get device description from http://192.168.178.28:49985/upnp/dev/71920b1a-5d21-3d62-ffff-ffffc8385632/desc
debug: [DeviceManager] Get device description from http://192.168.178.21:58378/75b3773d-5f7d-466b-8990-56227d314966.xml
debug: [DeviceManager] Get device description from http://192.168.178.21:60002/89e90b17-01b6-4e93-920d-e03ae758e1cb.xml
debug: [DeviceManager] Get device description from http://192.168.178.21:50321/8e46f382-de12-443d-9800-7d755486aa14.xml
debug: [DeviceManager] Get device description from http://192.168.178.11:49152/xmldoc/InternetGatewayDevice.xml
debug: [DeviceManager] Get device description from http://192.168.178.6:49152/wps_device.xml
debug: [DeviceManager] Got device description from http://192.168.178.4:49152/wps_device.xml
verbose: [DeviceManager] Device 'WPS Access Point' of type 'urn:schemas-wifialliance-org:device:WFADevice:1' (Wireless N Router) not usable
verbose: [DeviceManager] Getting device list from http://192.168.178.21 with updateId: 4021014610
debug: [DeviceManager] Got device description from http://192.168.178.106:80/description.xml
verbose: [DeviceManager] Device 'Philips hue (192.168.178.106)' of type 'urn:schemas-upnp-org:device:Basic:1' (Philips hue Personal Wireless Lighting) not usable
debug: [DeviceManager] Got device description from http://192.168.178.4:1900/igd.xml
verbose: [DeviceManager] Device 'Wireless Router TL-WR841N' of type 'urn:schemas-upnp-org:device:InternetGatewayDevice:1' (Wireless Router TL-WR841N) not usable
debug: [DeviceManager] Got device description from http://192.168.178.6:49152/wps_device.xml
verbose: [DeviceManager] Device 'DD-WRT WPS Access Point' of type 'urn:schemas-wifialliance-org:device:WFADevice:1' (Wireless Access Point) not usable
debug: [DeviceManager] Got device description from http://192.168.178.2:50001/desc/device.xml
verbose: [DeviceManager] Media server 'DiskStation' found
verbose: [DeviceManager] Media server 'DiskStation' is useable
debug: [DeviceManager] Got device description from http://192.168.178.11:49152/xmldoc/InternetGatewayDevice.xml
verbose: [DeviceManager] Device 'DIR-615' of type 'urn:schemas-upnp-org:device:InternetGatewayDevice:1' (D-Link DIR-615) not usable
debug: [MediaRenderer|Wohnzimmer] RenderingControl subscription callback triggered on device 'Wohnzimmer'
verbose: [MediaRenderer|Wohnzimmer] RoomVolumes has changed from 'uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a=29' to 'uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a=29,uuid:1341d05b-496a-4c78-9282-8de75310836f=38'
verbose: [MediaRenderer|Wohnzimmer] Volume has changed from '29' to '38'
verbose: [MediaRenderer|Wohnzimmer] RoomMutes has changed from 'uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a=0' to 'uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a=0,uuid:1341d05b-496a-4c78-9282-8de75310836f=0'
debug: [ZoneManager] Get room information object for: uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a
debug: [MediaRenderer|Wohnzimmer] Room: uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a: Set room renderer(s) ["uuid:23edaa33-b6db-4a29-b298-99a555a7f45b"] online to :true
debug: [ZoneManager] Get room information object for: uuid:1341d05b-496a-4c78-9282-8de75310836f
debug: [MediaRenderer|Wohnzimmer] Room: uuid:1341d05b-496a-4c78-9282-8de75310836f: Set room renderer(s) ["uuid:48c57453-aa3c-48c1-a3a9-875cc5c436f0"] online to :true
verbose: [MediaRenderer|Wohnzimmer] roomUDN has changed from '' to 'uuid:1341d05b-496a-4c78-9282-8de75310836f' on room 'uuid:1341d05b-496a-4c78-9282-8de75310836f'
verbose: [MediaRenderer|Wohnzimmer] volume has changed from '' to '38' on room 'uuid:1341d05b-496a-4c78-9282-8de75310836f'
verbose: [MediaRenderer|Wohnzimmer] mute has changed from '' to '0' on room 'uuid:1341d05b-496a-4c78-9282-8de75310836f'
verbose: [MediaRenderer|Wohnzimmer] online has changed from '' to 'true' on room 'uuid:1341d05b-496a-4c78-9282-8de75310836f'
debug: [MediaRenderer|Wohnzimmer] Set new updateId to: 315138
debug: [MediaRenderer|Wohnzimmer] AVTransport subscription callback triggered on device 'Wohnzimmer'
verbose: [MediaRenderer|Wohnzimmer] CurrentTrackMetaData has changed from '' to '<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/Playlists/MyPlaylists/zzMDRJump" id="0/Playlists/MyPlaylists/zzMDRJump/3793" restricted="1" refID="0/RadioTime/Search/s-s6634"><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>MDR JUMP</dc:title><upnp:signalStrength>98</upnp:signalStrength><upnp:albumArtURI dlna:profileID="JPEG_TN">http://d1i6vahw24eb07.cloudfront.net/s6634q.png</upnp:albumArtURI><raumfeld:ebrowse>http://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=6c%3Aec%3Aeb%3A64%3Ad8%3A3e&id=s6634&c=ebrowse</raumfeld:ebrowse><res bitrate="128" protocolInfo="http-get:*:audio/x-mpegurl:*">http://opml.radiotime.com/Tune.ashx?id=e1636714&sid=s6634&formats=wma,mp3,ogg&partnerId=7aJ9pvV5&serial=6c:ec:eb:64:d8:3e</res><res bitrate="56" protocolInfo="http-get:*:audio/x-mpegurl:*">http://opml.radiotime.com/Tune.ashx?id=e1636715&sid=s6634&formats=wma,mp3,ogg&partnerId=7aJ9pvV5&serial=6c:ec:eb:64:d8:3e</res></item></DIDL-Lite>'
verbose: [MediaRenderer|Wohnzimmer] RoomStates has changed from 'uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a=STOPPED' to 'uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a=STOPPED,uuid:1341d05b-496a-4c78-9282-8de75310836f=STOPPED'
verbose: [MediaRenderer|Wohnzimmer] CurrentTransportActions has changed from '' to 'Play'
debug: [ZoneManager] Get room information object for: uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a
debug: [MediaRenderer|Wohnzimmer] Room: uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a: Set room renderer(s) ["uuid:23edaa33-b6db-4a29-b298-99a555a7f45b"] online to :true
debug: [ZoneManager] Get room information object for: uuid:1341d05b-496a-4c78-9282-8de75310836f
debug: [MediaRenderer|Wohnzimmer] Room: uuid:1341d05b-496a-4c78-9282-8de75310836f: Set room renderer(s) ["uuid:48c57453-aa3c-48c1-a3a9-875cc5c436f0"] online to :true
verbose: [MediaRenderer|Wohnzimmer] transportState has changed from 'undefined' to 'STOPPED' on room 'uuid:1341d05b-496a-4c78-9282-8de75310836f'
debug: [MediaRenderer|Wohnzimmer] Set new updateId to: 315139
debug: [MediaRenderer|Wohnzimmer] Media Item on renderer changed class=object.item.audioItem.audioBroadcast.radio, section=RadioTime, name=Station, durability=120, childCount=null, parentID=0/Playlists/MyPlaylists/zzMDRJump, id=0/Playlists/MyPlaylists/zzMDRJump/3793, restricted=1, refID=0/RadioTime/Search/s-s6634, title=MDR JUMP, description=null, artist=null, albumArtURI=http://d1i6vahw24eb07.cloudfront.net/s6634q.png, genre=null, album=null, date=null, creator=null, originalTrackNumber=null, bitrate=128, protocolInfo=http-get:*:audio/x-mpegurl:*, signalStrength=98, ebrowse=http://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=6c%3Aec%3Aeb%3A64%3Ad8%3A3e&id=s6634&c=ebrowse
debug: [DeviceManager] Got device description from http://192.168.178.22:57564/26370a0e-339e-4f38-8a3a-fba9213fec0c.xml
verbose: [DeviceManager] Device 'Raumfeld Device' of type 'urn:schemas-raumfeld-com:device:RaumfeldDevice:1' (undefined) not usable
debug: [DeviceManager] Got device description from http://192.168.178.21:50321/8e46f382-de12-443d-9800-7d755486aa14.xml
verbose: [DeviceManager] Device 'Raumfeld Device' of type 'urn:schemas-raumfeld-com:device:RaumfeldDevice:1' (undefined) not usable
debug: [DeviceManager] Got device description from http://192.168.178.28:49985/upnp/dev/71920b1a-5d21-3d62-ffff-ffffc8385632/desc
verbose: [DeviceManager] Device 'Marco's Fire TV stick' of type 'urn:dial-multiscreen-org:device:dial:1' (undefined) not usable
debug: [DeviceManager] Got device description from http://192.168.178.21:52355/5d609a99-9ec6-485f-bdb2-ecf4571bd5d1.xml
verbose: [DeviceManager] Device 'Raumfeld ConfigDevice' of type 'urn:schemas-raumfeld-com:device:ConfigDevice:1' (undefined) not usable
debug: [DeviceManager] Got device description from http://192.168.178.21:53912/23edaa33-b6db-4a29-b298-99a555a7f45b.xml
verbose: [DeviceManager] Media renderer 'Connector Wohnzimmer' found
verbose: [DeviceManager] Raumfeld media renderer 'Connector Wohnzimmer' is useable
debug: [DeviceManager] Got device description from http://192.168.178.22:60478/48c57453-aa3c-48c1-a3a9-875cc5c436f0.xml
verbose: [DeviceManager] Media renderer 'Speaker Küche' found
verbose: [DeviceManager] Raumfeld media renderer 'Speaker Küche' is useable
debug: [DeviceManager] Got device description from http://192.168.178.21:60002/89e90b17-01b6-4e93-920d-e03ae758e1cb.xml
verbose: [DeviceManager] Media renderer 'Wohnzimmer,Küche' found
verbose: [DeviceManager] Media Renderer 'Wohnzimmer,Küche' is useable
debug: [DeviceManager] Got device description from http://192.168.178.21:58378/75b3773d-5f7d-466b-8990-56227d314966.xml
verbose: [DeviceManager] Media server 'Raumfeld MediaServer' found
verbose: [DeviceManager] Media server 'Raumfeld MediaServer' is useable
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
verbose: [MediaListManager] Get media list for objectId: 0/Line In
debug: Call Search from Raumfeld MediaServer
debug: Result of Search for Raumfeld MediaServer is {"Result":"<DIDL-Lite xmlns=\"urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/\" xmlns:raumfeld=\"urn:schemas-raumfeld-com:meta-data/raumfeld\" lang=\"en\"/>","NumberReturned":"0","TotalMatches":"0","UpdateID":"37247197"}
debug: [MediaDataConverter] Got empty list
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
verbose: [MediaListManager] Get media list for objectId: 0/Line In
debug: Call Search from Raumfeld MediaServer
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
debug: Result of Search for Raumfeld MediaServer is {"Result":"<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/\" lang=\"en\"><item parentID=\"0/Line In\" id=\"0/Line In/uuid%3A23edaa33-b6db-4a29-b298-99a555a7f45b\" restricted=\"1\"><raumfeld:name>Line In</raumfeld:name><upnp:class>object.item.audioItem.audioBroadcast.lineIn</upnp:class><raumfeld:section>Line In</raumfeld:section><dc:title>Connector Wohnzimmer</dc:title><res protocolInfo=\"http-get:*:audio/x-flac:*\">http://192.168.178.21:8888/stream.flac</res></item><item parentID=\"0/Line In\" id=\"0/Line In/uuid%3A48c57453-aa3c-48c1-a3a9-875cc5c436f0\" restricted=\"1\"><raumfeld:name>Line In</raumfeld:name><upnp:class>object.item.audioItem.audioBroadcast.lineIn</upnp:class><raumfeld:section>Line In</raumfeld:section><dc:title>Speaker Küche</dc:title><res protocolInfo=\"http-get:*:audio/x-flac:*\">http://192.168.178.22:8888/stream.flac</res></item></DIDL-Lite>","NumberReturned":"2","TotalMatches":"2","UpdateID":"37247199"}
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
debug: ContentDirectory subscription callback triggered on device 'Raumfeld MediaServer'
verbose: [MediaListManager] Get media list for objectId: 0/Line In
debug: Call Search from Raumfeld MediaServer
debug: Result of Search for Raumfeld MediaServer is {"Result":"<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/\" lang=\"en\"><item parentID=\"0/Line In\" id=\"0/Line In/uuid%3A23edaa33-b6db-4a29-b298-99a555a7f45b\" restricted=\"1\"><raumfeld:name>Line In</raumfeld:name><upnp:class>object.item.audioItem.audioBroadcast.lineIn</upnp:class><raumfeld:section>Line In</raumfeld:section><dc:title>Connector Wohnzimmer</dc:title><res protocolInfo=\"http-get:*:audio/x-flac:*\">http://192.168.178.21:8888/stream.flac</res></item><item parentID=\"0/Line In\" id=\"0/Line In/uuid%3A48c57453-aa3c-48c1-a3a9-875cc5c436f0\" restricted=\"1\"><raumfeld:name>Line In</raumfeld:name><upnp:class>object.item.audioItem.audioBroadcast.lineIn</upnp:class><raumfeld:section>Line In</raumfeld:section><dc:title>Speaker Küche</dc:title><res protocolInfo=\"http-get:*:audio/x-flac:*\">http://192.168.178.22:8888/stream.flac</res></item></DIDL-Lite>","NumberReturned":"2","TotalMatches":"2","UpdateID":"37247199"}
debug: [DeviceManager] Device list request returns with updateId: '4021014611'
verbose: [DeviceManager] Device list changed
verbose: [DeviceManager] Cleaning up devices
debug: [DeviceManager] Cleaning up mediaServers
debug: [DeviceManager] Cleaning up virtual renderers
debug: [DeviceManager] Cleaning up renderers
debug: [DeviceManager] Get device description from http://192.168.178.4:49152/wps_device.xml
debug: [DeviceManager] Get device description from http://192.168.178.2:50001/desc/device.xml
debug: [DeviceManager] Get device description from http://192.168.178.4:1900/igd.xml
debug: [DeviceManager] Get device description from http://192.168.178.21:53912/23edaa33-b6db-4a29-b298-99a555a7f45b.xml
debug: [DeviceManager] Get device description from http://192.168.178.22:57564/26370a0e-339e-4f38-8a3a-fba9213fec0c.xml
debug: [DeviceManager] Get device description from http://192.168.178.22:60478/48c57453-aa3c-48c1-a3a9-875cc5c436f0.xml
debug: [DeviceManager] Get device description from http://192.168.178.21:52355/5d609a99-9ec6-485f-bdb2-ecf4571bd5d1.xml
debug: [DeviceManager] Get device description from http://192.168.178.28:49985/upnp/dev/71920b1a-5d21-3d62-ffff-ffffc8385632/desc
debug: [DeviceManager] Get device description from http://192.168.178.21:58378/75b3773d-5f7d-466b-8990-56227d314966.xml
debug: [DeviceManager] Get device description from http://192.168.178.21:60002/89e90b17-01b6-4e93-920d-e03ae758e1cb.xml
debug: [DeviceManager] Get device description from http://192.168.178.21:50321/8e46f382-de12-443d-9800-7d755486aa14.xml
debug: [DeviceManager] Get device description from http://192.168.178.11:49152/xmldoc/InternetGatewayDevice.xml
debug: [DeviceManager] Get device description from http://192.168.178.6:49152/wps_device.xml
debug: [DeviceManager] Got device description from http://192.168.178.4:49152/wps_device.xml
verbose: [DeviceManager] Device 'WPS Access Point' of type 'urn:schemas-wifialliance-org:device:WFADevice:1' (Wireless N Router) not usable
debug: [DeviceManager] Got device description from http://192.168.178.2:50001/desc/device.xml
verbose: [DeviceManager] Media server 'DiskStation' found
verbose: [DeviceManager] Media server 'DiskStation' is useable
debug: [DeviceManager] Got device description from http://192.168.178.4:1900/igd.xml
verbose: [DeviceManager] Device 'Wireless Router TL-WR841N' of type 'urn:schemas-upnp-org:device:InternetGatewayDevice:1' (Wireless Router TL-WR841N) not usable
verbose: [DeviceManager] Getting device list from http://192.168.178.21 with updateId: 4021014611
debug: [DeviceManager] Got device description from http://192.168.178.11:49152/xmldoc/InternetGatewayDevice.xml
verbose: [DeviceManager] Device 'DIR-615' of type 'urn:schemas-upnp-org:device:InternetGatewayDevice:1' (D-Link DIR-615) not usable
debug: [DeviceManager] Got device description from http://192.168.178.6:49152/wps_device.xml
verbose: [DeviceManager] Device 'DD-WRT WPS Access Point' of type 'urn:schemas-wifialliance-org:device:WFADevice:1' (Wireless Access Point) not usable
debug: [DeviceManager] Got device description from http://192.168.178.21:58378/75b3773d-5f7d-466b-8990-56227d314966.xml
verbose: [DeviceManager] Media server 'Raumfeld MediaServer' found
verbose: [DeviceManager] Media server 'Raumfeld MediaServer' is useable
debug: [DeviceManager] Got device description from http://192.168.178.22:57564/26370a0e-339e-4f38-8a3a-fba9213fec0c.xml
verbose: [DeviceManager] Device 'Raumfeld Device' of type 'urn:schemas-raumfeld-com:device:RaumfeldDevice:1' (undefined) not usable
debug: [DeviceManager] Got device description from http://192.168.178.21:53912/23edaa33-b6db-4a29-b298-99a555a7f45b.xml
verbose: [DeviceManager] Media renderer 'Connector Wohnzimmer' found
verbose: [DeviceManager] Raumfeld media renderer 'Connector Wohnzimmer' is useable
debug: [DeviceManager] Got device description from http://192.168.178.21:52355/5d609a99-9ec6-485f-bdb2-ecf4571bd5d1.xml
verbose: [DeviceManager] Device 'Raumfeld ConfigDevice' of type 'urn:schemas-raumfeld-com:device:ConfigDevice:1' (undefined) not usable
debug: [DeviceManager] Got device description from http://192.168.178.21:50321/8e46f382-de12-443d-9800-7d755486aa14.xml
verbose: [DeviceManager] Device 'Raumfeld Device' of type 'urn:schemas-raumfeld-com:device:RaumfeldDevice:1' (undefined) not usable
debug: [DeviceManager] Got device description from http://192.168.178.22:60478/48c57453-aa3c-48c1-a3a9-875cc5c436f0.xml
verbose: [DeviceManager] Media renderer 'Speaker Küche' found
verbose: [DeviceManager] Raumfeld media renderer 'Speaker Küche' is useable
debug: [DeviceManager] Got device description from http://192.168.178.21:60002/89e90b17-01b6-4e93-920d-e03ae758e1cb.xml
verbose: [DeviceManager] Media renderer 'Wohnzimmer,Küche' found
verbose: [DeviceManager] Media Renderer 'Wohnzimmer,Küche' is useable
debug: [DeviceManager] Got device description from http://192.168.178.28:49985/upnp/dev/71920b1a-5d21-3d62-ffff-ffffc8385632/desc
verbose: [DeviceManager] Device 'Marco's Fire TV stick' of type 'urn:dial-multiscreen-org:device:dial:1' (undefined) not usable
error: [MediaRenderer|Küche] Error: connect ECONNREFUSED 192.168.178.21:58460
error: [MediaRenderer|Küche] Error: connect ECONNREFUSED 192.168.178.21:58460
favicon.ico request of browsers should not throw a error to the user
Hallo @ChriD ,
ist es möglich die lokalen Buttons (1-4) an einem Lautsprecher mit einem HTTP Befehl an den Raumserver zu belegen? Unter Umständen über einen "virtuellen Titel" wenn es nicht direkt geht.
Ich nutze so einen Workaround beispielsweise auch mit der Wecker-App "Alarmdroid". hier kann man sich auch per Internetradiosender wecken lassen. Nur statt dessen habe ich eine HTTP-Anfrage an den raumserver als URL eingetragen. und schon habe ich einen Raumfeld-Wecker. :D
Hintergrund ist eine kleine Schwäche der "OnlyApp"-Bedienung. Wenn Jemand an der Tür klingelt oder das Telefon läutet oder sonst was und man laut Musik hört, dann dauert es teils sehr lange (Handy entsperren > App öffnen > Warten bis Verbunden mit Host > Räume finden > Lautstärke öffnen > Mute) mit einem naheliegenden Smartphone, o.Ä. die Wohnung Stumm zu schalten. Wäre schön wenn ich in jedem Raum einfach auf Button 1 drücken könnte um einen "ToggleMuteAll" auszulösen.
Gruß
mee0n
hello,
for my new app i'm using the the new node way - but i do have an issue with some task - they do not work as expected - once i restart the rf device the node app is working again - but why is not working when the old raumserver on windows doesn't suffer from this error?
f.ex. - just setting the volume up returns:
{"requestUrl":"/raumserver/controller/setVolume?id=Kueche&value=17","action":"setVolume","error":true,"msg":"Action was rejected","data":{"errorMessage":"Error: connect ECONNREFUSED 192.168.251.200:56421","errorData":null}}
the get renderstate for this room shows:
{
requestUrl : "/raumserver/controller/getRendererState?id=Kueche&_=1503220418150",
action : "getRendererState",
error : false,
msg : "",
data : [
{
mute : 0,
InstanceID : 0,
CurrentTrackMetaData : "",
CurrentRecordQualityMode : "NOT_IMPLEMENTED",
AbsoluteTimePosition : "00:00:00",
SecondsUntilSleep : "0",
CurrentTrack : "1",
AVTransportURIMetaData : "",
PossiblePlaybackStorageMedia : "NETWORK",
TransportPlaySpeed : "1",
CurrentTrackDuration : "00:00:00",
PossibleRecordQualityModes : "NOT_IMPLEMENTED",
TransportError : "",
PossibleRecordStorageMedia : "NONE",
AVTransportURI : "dlna-playcontainer://uuid%3A2fe2f1b7-8578-47c7-9a59-f60706cc265d?sid=urn%3Aupnp-org%3AserviceId%3AContentDirectory&cid=0%2FPlaylists%2FMyPlaylists%2FOE3&md=0&fii=0",
RelativeTimePosition : "00:00:00",
RelativeCounterPosition : "1",
CurrentPlayMode : "NORMAL",
Bitrate : "128",
TransportState : "PLAYING",
AbsoluteCounterPosition : "1",
CurrentTransportActions : "Repeat,Stop",
RoomStates : "uuid:8d10c182-e6e5-4c54-817e-9313877877f7=STOPPED",
ContentType : "MP3",
NumberOfTracks : "1",
SleepTimerActive : "0",
TransportStatus : "buffer underrun in Kueche",
CurrentTrackURI : "http://mp3stream7.apasf.apa.at:8000",
RoomVolumes : "uuid:8d10c182-e6e5-4c54-817e-9313877877f7=16",
Volume : "16",
Mute : "0",
RoomMutes : "uuid:8d10c182-e6e5-4c54-817e-9313877877f7=0",
rooms : [
{
roomUDN : "uuid:8d10c182-e6e5-4c54-817e-9313877877f7",
transportState : "STOPPED",
online : true,
volume : "16",
mute : "0",
name : "Kueche",
udn : "uuid:8d10c182-e6e5-4c54-817e-9313877877f7",
powerState : "ACTIVE",
renderer : [
{
udn : "uuid:f2db5ae9-8926-4dcf-9ada-f52f2b9240b1",
name : "Speaker Kueche"
}
]
}
],
udn : "uuid:94A96919-D9AB-4550-A850-C24B749082CE",
mediaItem : null,
friendlyName : "Kueche",
host : "192.168.251.200",
manufacturer : "Raumfeld GmbH",
modelNumber : "2"
}
]
}
any idea?
thanks
holli
Hallo @ChriD ,
in Erweiterung zur Problemstellung in Issue #21 habe ich noch eine andere Idee die du mit dem raumserver umsetzen könntest. Wichtig ist mir ja quasi nur, recht schnell und am liebsten ohne App die Lautstärke über mehrere Räume hinweg runterdrehen bzw muten zu können.
Also folgende Idee:
Man sollte auf eine Zone eine Option setzen können die dann dafür sorgt, dass wenn man an einem Lautsprecher (egal welchem in der Zone) am Lautstärkeregler dreht, dieser quasi die Funktion des Lautstärkereglers einer Zone, analog des App-Reglers, übernimmt und somit auch alle anderen Lausprecher regelt. Somit könnte man die Lautstärke auch sehr schnell runter bringen bis zum mute was für meine Zwecke eine fast genauso gute Lösung darstellt wie der in Issue #21 beschriebenen Ansatz.
Hierbei ist der bekannte Minusbereich pro Lautsprecher tatsächlich nützlich damit nach dem wieder aufdrehen alle wieder die selbe Lautstärke haben wie vorher und nicht durch eine Limitierung bei 0 gleichgezogen wurden.
Würde sich das so umsetzen lassen?
Gruß
mee0n
Hi Chris,
nachdem der Raumserver nun läuft, folgender Effekt. Ich habe eine Zone aus 2 Räumen, Küche und Wohnzimmer erstellt und spiele eine Playlist. Das klappt. Wenn ich nun die Läutstärke für die Räume einzeln setzen will, werden immer beide Räume geregelt.
Das ist mein Request:
http://192.168.178.8:8080/raumserver/controller/setVolume?id=Küche&value=XX
und folgende passiert
verbose: [Raumserver] Request received: GET /raumserver/controller/setVolume?id=Küche&value=26
debug: [Raumserver] Request to raumserver recognized: /raumserver/controller/setVolume?id=Küche&value=26
debug: [Raumserver] Handle action 'setVolume' with query: {"id":"Küche","value":"26"}
debug: [DeviceManager] Trying to get virtual media renderer for id or (child)name : Küche
debug: [DeviceManager] Trying to get media renderer for id name : Küche
debug: [ZoneManager] Get room information object for: uuid:23edaa33-b6db-4a29-b298-99a555a7f45b
debug: [ZoneManager] Get room information object for: uuid:48c57453-aa3c-48c1-a3a9-875cc5c436f0
debug: [DeviceManager] Media renderer for id : Küche found
debug: [Request.setVolume] Calling action 'setVolume' for renderer Wohnzimmer
debug: [MediaRenderer|Wohnzimmer] Set volume to 26 on on room Wohnzimmer
debug: [MediaRenderer|Wohnzimmer] Call SetVolume from Wohnzimmer
debug: [MediaRenderer|Wohnzimmer] Result of SetVolume for Wohnzimmer is {}
debug: [Request.setVolume] Request was accepted and was successfully executed
debug: [MediaRenderer|Connector Wohnzimmer] RenderingControl subscription callback triggered on device 'Connector Wohnzimmer'
verbose: [MediaRenderer|Connector Wohnzimmer] Volume has changed from '40' to '26'
verbose: [MediaRenderer|Connector Wohnzimmer] VolumeDB has changed from '-9216' to '-11264'
debug: [MediaRenderer|Connector Wohnzimmer] Set new updateId to: 768988
debug: [MediaRenderer|Speaker Küche #3] RenderingControl subscription callback triggered on device 'Speaker Küche #3'
verbose: [MediaRenderer|Speaker Küche #3] Volume has changed from '35' to '21'
verbose: [MediaRenderer|Speaker Küche #3] VolumeDB has changed from '-10112' to '-12416'
debug: [MediaRenderer|Speaker Küche #3] Set new updateId to: 823392
debug: [MediaRenderer|Wohnzimmer] RenderingControl subscription callback triggered on device 'Wohnzimmer'
verbose: [MediaRenderer|Wohnzimmer] RoomVolumes has changed from 'uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a=40,uuid:1341d05b-496a-4c78-9282-8de75310836f=35' to 'uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a=26,uuid:1341d05b-496a-4c78-9282-8de75310836f=21'
verbose: [MediaRenderer|Wohnzimmer] Volume has changed from '40' to '26'
debug: [ZoneManager] Get room information object for: uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a
debug: [MediaRenderer|Wohnzimmer] Room: uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a: Set room renderer(s) ["uuid:23edaa33-b6db-4a29-b298-99a555a7f45b"] online to :true
debug: [ZoneManager] Get room information object for: uuid:1341d05b-496a-4c78-9282-8de75310836f
debug: [MediaRenderer|Wohnzimmer] Room: uuid:1341d05b-496a-4c78-9282-8de75310836f: Set room renderer(s) ["uuid:48c57453-aa3c-48c1-a3a9-875cc5c436f0"] online to :true
verbose: [MediaRenderer|Wohnzimmer] volume has changed from '40' to '26' on room 'uuid:7a2565a9-a03f-4bdb-aa29-6a4416568b6a'
verbose: [MediaRenderer|Wohnzimmer] volume has changed from '35' to '21' on room 'uuid:1341d05b-496a-4c78-9282-8de75310836f'
debug: [MediaRenderer|Wohnzimmer] Set new updateId to: 200343
Wie setze ich die Lautstärke separat pro Gerät? Oder liegt es am "ü"? Obwohl, Play, Stop usw. geht ja.
Danke und Gruß
Marco
Hallo,
ich habe versucht, den node-raumserver auf meinen Raspi3 zu installieren.
Dazu bin ich der Anleitung auf Issue #12 gefolgt.
Beim Starten erhalte ich jedoch eine Fehlermeldung:
pi@raspberrypi:~/node_modules/node-raumserver $ node raumserver.js
/home/pi/node_modules/node-raumkernel/lib/lib.device.upnp.mediaRenderer.raumfeld.js:37
async fadeToVolume(_desiredVolume, _duration = 2000)
^^^^^^^^^^^^
SyntaxError: Unexpected identifier
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object. (/home/pi/node_modules/node-raumkernel/lib/lib.manager.deviceManager.js:13:33)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
Leider habe ich nicht die Kenntnisse, damit was anzufangen.
Was mache ich falsch?
Nur zur Vollständigkeit- denke aber, das ist noch nicht wichtig: Habe einen Raumfeld Connector als Host und ein paar One S.
Hallo
Ich habe node-raumserver erfolgreich installiert
habe aber Probleme mit der Lautstärke
Folgendes wird in einem Script abgesetzt
on({id: "javascript.0.Radio_Lauter", val: true}, function(dp) {
var url10 = "http://192.168.178.64:8080/raumserver/controller/volumeUp?value=5&id=Kueche";
request(url10);
setState(dp.id, false);
});
bekomme folgende Fehlermeldung zurück
debug: [DeviceManager] Media renderer for id : Kueche found
debug: [Request.volumeUp] Calling action 'volumeUp' for renderer Kueche
debug: [MediaRenderer|Kueche] Call GetVolume from Kueche
debug: [MediaRenderer|Kueche] Result of GetVolume for Kueche is {"CurrentVolume":"26"}
(node:2631) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 45): ReferenceError: _data is not defined
loadPlaylist
With this request you can load a stored playlist id into a zone playlist
/raumserver/controller/loadPlaylist?id=Wohnzimmer&value=[urlencoded playlist name]
/raumserver/controller/loadPlaylist?id=Wohnzimmer&value=Rock
Hallo Chris,
Ich habe heute mal wieder den node Raumserver installiert und wollte alles wie zuvor in Betrieb nehmen, dabei ist mir aufgefallen das wenn ich folgendes request nutze: "/raumserver/controller/enterAutomaticStandby?id=Bad" alle Lautsprecher ausgeschalten werden statt nur der der sich im Bad befindet, das gleiche gilt auch fürs einschalten.
Gruß, Adrian
add log level to command line or config file
The server should return the media item on the renderer within the renderer state
Hallo @ChriD ,
wenn ich via
/raumserver/controller/setVolume?value=1&id=Schlafzimmer&scope=zone
einer ganzen Zone die gleiche Lautstärke verpasse, danach via
/raumserver/controller/play?id=Schlafzimmer
die Wiedergabe starte und danach via
/raumserver/controller/fadeToVolume?value=25&id=Schlafzimmer&scope=zone&duration=60000
die Lautstärke hochfahren möchte ist es oft so, dass nicht alle Lautsprecher in der Zone die gleiche Lautstärke haben. Wenn ich parallel mit der App zusehe, bleiben Laustprecher "hängen" und steigen erst verzögert sodass am Ende aber nicht der gleiche Lautstärkenwert erreicht wird.
Lässt sich das beheben?
Ich schätze mal du lässt die Lautstärke gerade pro Lautsprecher relativ ansteigen; die Frage ist nur warum es manchmal zu Hängern und Verzögerungen kommt ... falls Diese nicht wegzubekommen sind (da Raumfeld-bedingt o.Ä.) müsste man evtl. dafür sorgen das sie trotzdem weiter ansteigen (auch wenn die eingestellte duration dabei quasi überschritten wird; aber ja eben theoretisch nicht für den verzögerten Lautsprecher) sodass am Ende alle Lautsprecher den eingestellten Wert erreicht haben.
Danke für deine Mühen!
mee0n
Expose mediaList manager and functions to the server. That means create browse requests
Generate Executables for Linux/Windows and Maybe Mac?
Es wäre klasse, wenn man den aktuell in einem Raum abgespielten Track einer existierenden playlist hinzufügen könnte, unabhängig von der Quelle (also ob Medienserver, Napster, Tidal,...).
Eventuell ist der Request eine Erweiterung des Request #48.
I installed another Raumfeld Streaming Speaker: the new Teufel One S (not the Raumfeld One) in my bathroom (Bad). The zone config gives me:
{
requestUrl: "/raumserver/data/getZoneConfig?_=1513625399487",
action: "getZoneConfig",
error: false,
msg: "",
data: {
zoneConfig: {
$: {
numRooms: "2",
spotifyMode: "multiRoom"
},
zones: [{
zone: [{
$: {
udn: "uuid:ffffffff-8d8b-fce1-ffff-ffff8d8bfce1",
spotifyConnect: "active"
},
room: [{
$: {
name: "Zimmer",
udn: "uuid:871ab9db-6305-4cf6-8633-6d7405faadd5",
powerState: "ACTIVE"
},
renderer: [{
$: {
udn: "uuid:e6d93437-8afd-46e0-8eb6-adebaf0f325c",
name: "Speaker Zimmer"
}
}]
},
{
$: {
name: "Bad",
udn: "uuid:cc02eb36-b0d8-40ef-8743-0078cfb4d9c5",
powerState: "ACTIVE"
},
renderer: [{
$: {
udn: "uuid:645f498e-4840-46b1-9305-a4dc2a62a439",
name: "Speaker Bad #3"
}
}]
}
]
}]
}]
}
}
}
I can control "(Speaker) Zimmer" perfectly as always. But when I send zone specific GETs for the bathroom to the raumserver it gives me always
{
requestUrl: "/raumserver/controller/pause?id=Bad&_=1513625399488",
action: "pause",
error: true,
msg: "Action was rejected",
data: {
errorMessage: "Error: VirtualMediaRenderer for id 'Bad' not found",
errorData: null
}
}
The Raumfeld One S never had that problems. It seems to me as an incompatibility with the newer devices?
Log shows:
verbose: [Raumserver] Request received: GET /raumserver/controller/pause?id=Bad&_=1513625399490
debug: [Raumserver] Request to raumserver recognized: /raumserver/controller/pause?id=Bad&_=1513625399490
debug: [Raumserver] Handle action 'pause' with query: {"_":"1513625399490","id":"Bad"}
debug: [DeviceManager] Trying to get virtual media renderer for id or (child)name : Bad
debug: [DeviceManager] Trying to get media renderer for id name : Bad
debug: [ZoneManager] Get room information object for: uuid:e6d93437-8afd-46e0-8eb6-adebaf0f325c
error: [Request.pause] VirtualMediaRenderer for id 'Bad' not found
error: [Request.pause] Some renderers had exceptions: Error: VirtualMediaRenderer for id 'Bad' not found
at Request_Pause.run (/opt/loxberry/data/plugins/raumserver/node_modules/node-raumserver/lib/lib.base.requestMediaRenderer.js:95:27)
at Raumserver.handleRequestObject (/opt/loxberry/data/plugins/raumserver/node_modules/node-raumserver/lib/lib.raumserver.js:143:28)
at Raumserver.requestReceived (/opt/loxberry/data/plugins/raumserver/node_modules/node-raumserver/lib/lib.raumserver.js:106:22)
at Server.<anonymous> (/opt/loxberry/data/plugins/raumserver/node_modules/node-raumserver/lib/lib.raumserver.js:80:26)
at emitTwo (events.js:126:13)
at Server.emit (events.js:214:7)
at parserOnIncoming (_http_server.js:602:12)
at HTTPParser.parserOnHeadersComplete (_http_common.js:117:23)
error: [Raumserver] Request was rejected: errorMessage=Error: VirtualMediaRenderer for id 'Bad' not found, errorData=null
@ChriD do you have an idea? Let me know if you need further infos.
I have 0.0.10 running on Fedora 25. After boot everything works fine for a few hours, then node-raumserver becomes slower and slower, and after 20-24 hours node-raumserver crashes and is not responding anymore to port 8080 requests. When I then restart the server, the same behaviour occurs. Does this sound familiar to anybody? And is this solveable?
Regards, Ron
Add add the parm methods for setting the stuff on the kernel and on the server lib itself
i'm rewriting my doorbell shell script from the old windows raumserver actions to the a new sailsjs app using the new node-raumserver but i have an issue with the result from getrenderstate.
i need all room's and the state - because on all rooms playing something i will play the door information and restore to what was played before (most of the time it is just a playlist with one item (radio station)).
here is the getrenderstate from my env.:
{
requestUrl : "/raumserver/data/getRendererState?_=1499600468991",
action : "getRendererState",
error : false,
msg : "",
data : [
{
mute : 0,
InstanceID : 0,
CurrentTrackMetaData : "",
CurrentRecordQualityMode : "NOT_IMPLEMENTED",
AbsoluteTimePosition : "192:16:45",
SecondsUntilSleep : "0",
CurrentTrack : "1",
AVTransportURIMetaData : "",
PossiblePlaybackStorageMedia : "NETWORK",
TransportPlaySpeed : "1",
CurrentTrackDuration : "00:00:00",
PossibleRecordQualityModes : "NOT_IMPLEMENTED",
TransportError : "",
PossibleRecordStorageMedia : "NONE",
AVTransportURI : "dlna-playsingle://uuid%3A2fe2f1b7-8578-47c7-9a59-f60706cc265d?sid=urn%3Aupnp-org%3AserviceId%3AContentDirectory&iid=",
RelativeTimePosition : "192:16:45",
RelativeCounterPosition : "1",
CurrentPlayMode : "NORMAL",
Bitrate : "192",
TransportState : "STOPPED",
AbsoluteCounterPosition : "1",
CurrentTransportActions : "",
RoomStates : "uuid:00287e64-0fcb-4e56-92da-30aaa0518b63=STOPPED",
ContentType : "MP3",
NumberOfTracks : "1",
SleepTimerActive : "0",
TransportStatus : "OK",
CurrentTrackURI : "",
RoomVolumes : "uuid:00287e64-0fcb-4e56-92da-30aaa0518b63=40",
Volume : "40",
Mute : "0",
RoomMutes : "uuid:00287e64-0fcb-4e56-92da-30aaa0518b63=0",
rooms : [
{
roomUDN : "uuid:00287e64-0fcb-4e56-92da-30aaa0518b63",
transportState : "STOPPED",
online : true,
volume : "40",
mute : "0",
name : "Sauna",
color : "#009998",
udn : "uuid:00287e64-0fcb-4e56-92da-30aaa0518b63",
powerState : "AUTOMATIC_STANDBY",
renderer : [
{
udn : "uuid:a193f9a9-84c5-4193-9e50-bfd4396dcf86",
name : "Speaker Sauna"
}
]
}
],
udn : "uuid:a3317ec1-5302-4e16-a8c3-f4c00f63cabd",
mediaItem : null,
friendlyName : "Sauna",
host : "192.168.250.151",
manufacturer : "Raumfeld GmbH",
modelNumber : "2"
},
{
mute : 0,
InstanceID : 0,
CurrentTrackMetaData : "",
CurrentRecordQualityMode : "NOT_IMPLEMENTED",
AbsoluteTimePosition : "00:00:00",
SecondsUntilSleep : "0",
CurrentTrack : "1",
AVTransportURIMetaData : "",
PossiblePlaybackStorageMedia : "NETWORK",
TransportPlaySpeed : "1",
CurrentTrackDuration : "00:00:00",
PossibleRecordQualityModes : "NOT_IMPLEMENTED",
TransportError : "",
PossibleRecordStorageMedia : "NONE",
AVTransportURI : "dlna-playsingle://uuid%3A2fe2f1b7-8578-47c7-9a59-f60706cc265d?sid=urn%3Aupnp-org%3AserviceId%3AContentDirectory&iid=",
RelativeTimePosition : "00:00:00",
RelativeCounterPosition : "1",
CurrentPlayMode : "NORMAL",
Bitrate : "0",
TransportState : "STOPPED",
AbsoluteCounterPosition : "1",
CurrentTransportActions : "",
RoomStates : "uuid:1a0c63af-481d-41e3-859b-b777616ee63e=STOPPED",
ContentType : "",
NumberOfTracks : "1",
SleepTimerActive : "0",
TransportStatus : "OK",
CurrentTrackURI : "",
RoomVolumes : "uuid:1a0c63af-481d-41e3-859b-b777616ee63e=-1",
Volume : "0",
Mute : "0",
RoomMutes : "uuid:1a0c63af-481d-41e3-859b-b777616ee63e=0",
rooms : [
{
roomUDN : "uuid:1a0c63af-481d-41e3-859b-b777616ee63e",
transportState : "STOPPED",
online : true,
volume : "-1",
mute : "0",
name : "KellerStueberl",
udn : "uuid:1a0c63af-481d-41e3-859b-b777616ee63e",
powerState : "AUTOMATIC_STANDBY",
renderer : [
{
udn : "uuid:a2bc2f63-5ceb-48fc-af92-d4a7fa33e547",
name : "Speaker KellerStueberl"
}
]
}
],
udn : "uuid:F05BAEF4-7E5D-4B75-9FAC-D596C3A86E3A",
mediaItem : null,
friendlyName : "KellerStueberl",
host : "192.168.250.151",
manufacturer : "Raumfeld GmbH",
modelNumber : "2"
},
{
mute : 0,
InstanceID : 0,
CurrentTrackMetaData : "raumfeld:nameStation</raumfeld:name>upnp:classobject.item.audioItem.audioBroadcast.radio</upnp:class>raumfeld:sectionRadioTime</raumfeld:section>raumfeld:durability120</raumfeld:durability>dc:titleHitradio Ö3</dc:title>upnp:signalStrength98</upnp:signalStrength><upnp:albumArtURI dlna:profileID="JPEG_TN">http://d1i6vahw24eb07.cloudfront.net/s15552q.png</upnp:albumArtURI>raumfeld:ebrowsehttp://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=78%3Aa5%3A04%3Af1%3A82%3Aee&id=s15552&c=ebrowse</raumfeld:ebrowse>http://opml.radiotime.com/Tune.ashx?id=e1190145&sid=s8007&formats=wma,mp3,ogg&partnerId=7aJ9pvV5&serial=78:a5:04:f1:82:eehttp://opml.radiotime.com/Tune.ashx?id=e2919168&sid=s8007&formats=wma,mp3,ogg&partnerId=7aJ9pvV5&serial=78:a5:04:f1:82:eehttp://opml.radiotime.com/Tune.ashx?id=e50214223&sid=s8007&formats=wma,mp3,ogg&partnerId=7aJ9pvV5&serial=78:a5:04:f1:82:ee",
CurrentRecordQualityMode : "NOT_IMPLEMENTED",
AbsoluteTimePosition : "00:00:00",
SecondsUntilSleep : "0",
CurrentTrack : "1",
AVTransportURIMetaData : "",
PossiblePlaybackStorageMedia : "NETWORK",
TransportPlaySpeed : "1",
CurrentTrackDuration : "00:00:00",
PossibleRecordQualityModes : "NOT_IMPLEMENTED",
TransportError : "",
PossibleRecordStorageMedia : "NONE",
AVTransportURI : "dlna-playcontainer://uuid%3A2fe2f1b7-8578-47c7-9a59-f60706cc265d?sid=urn%3Aupnp-org%3AserviceId%3AContentDirectory&cid=0%2FPlaylists%2FMyPlaylists%2FOE3&md=0&fii=0",
RelativeTimePosition : "00:00:00",
RelativeCounterPosition : "1",
CurrentPlayMode : "NORMAL",
Bitrate : "0",
TransportState : "STOPPED",
AbsoluteCounterPosition : "1",
CurrentTransportActions : "Play",
RoomStates : "uuid:02fe4938-45ce-4e13-b827-06a3fa45e3aa=STOPPED",
ContentType : "",
NumberOfTracks : "1",
SleepTimerActive : "0",
TransportStatus : "OK",
CurrentTrackURI : "http://mp3stream7.apasf.apa.at:8000",
RoomVolumes : "uuid:02fe4938-45ce-4e13-b827-06a3fa45e3aa=29",
Volume : "29",
Mute : "0",
RoomMutes : "uuid:02fe4938-45ce-4e13-b827-06a3fa45e3aa=0",
rooms : [
{
roomUDN : "uuid:02fe4938-45ce-4e13-b827-06a3fa45e3aa",
transportState : "STOPPED",
online : true,
volume : "29",
mute : "0",
name : "Bad",
color : "#0099CC",
udn : "uuid:02fe4938-45ce-4e13-b827-06a3fa45e3aa",
powerState : "AUTOMATIC_STANDBY",
renderer : [
{
udn : "uuid:67e59017-9893-47a3-b42e-487bb57d2243",
name : "Speaker Bad #2"
}
]
}
],
udn : "uuid:B0F537C8-C46A-450D-9C43-77F5C389C156",
mediaItem : {
class : "object.item.audioItem.audioBroadcast.radio",
section : "RadioTime",
name : "Station",
durability : "120",
childCount : null,
parentID : "0/Playlists/MyPlaylists/OE3",
id : "0/Playlists/MyPlaylists/OE3/1563",
restricted : "1",
refID : "0/RadioTime/LocalRadio/AllLocations/l-r101217/l-r101221/l-r101406/s-s15552",
title : "Hitradio Ö3",
description : null,
artist : null,
albumArtURI : "http://d1i6vahw24eb07.cloudfront.net/s15552q.png",
genre : null,
album : null,
date : null,
creator : null,
originalTrackNumber : null,
bitrate : "120",
protocolInfo : "http-get::audio/x-mpegurl:",
signalStrength : "98",
ebrowse : "http://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=78%3Aa5%3A04%3Af1%3A82%3Aee&id=s15552&c=ebrowse"
},
friendlyName : "Bad",
host : "192.168.250.151",
manufacturer : "Raumfeld GmbH",
modelNumber : "2"
},
{
mute : 0,
InstanceID : 0,
CurrentTrackMetaData : "",
CurrentRecordQualityMode : "NOT_IMPLEMENTED",
AbsoluteTimePosition : "00:00:00",
SecondsUntilSleep : "0",
CurrentTrack : "1",
AVTransportURIMetaData : "",
PossiblePlaybackStorageMedia : "NETWORK",
TransportPlaySpeed : "1",
CurrentTrackDuration : "00:00:00",
PossibleRecordQualityModes : "NOT_IMPLEMENTED",
TransportError : "",
PossibleRecordStorageMedia : "NONE",
AVTransportURI : "dlna-playcontainer://uuid%3A2fe2f1b7-8578-47c7-9a59-f60706cc265d?sid=urn%3Aupnp-org%3AserviceId%3AContentDirectory&cid=0%2FPlaylists%2FMyPlaylists%2FOE3&md=0&fii=0",
RelativeTimePosition : "00:00:00",
RelativeCounterPosition : "1",
CurrentPlayMode : "NORMAL",
Bitrate : "0",
TransportState : "STOPPED",
AbsoluteCounterPosition : "1",
CurrentTransportActions : "Repeat",
RoomStates : "uuid:c7684d10-6548-4a4c-a9e7-6a31e178d8ac=STOPPED",
ContentType : "",
NumberOfTracks : "1",
SleepTimerActive : "0",
TransportStatus : "OK",
CurrentTrackURI : "http://mp3stream7.apasf.apa.at:8000",
RoomVolumes : "uuid:c7684d10-6548-4a4c-a9e7-6a31e178d8ac=0",
Volume : "0",
Mute : "0",
RoomMutes : "uuid:c7684d10-6548-4a4c-a9e7-6a31e178d8ac=0",
rooms : [
{
roomUDN : "uuid:c7684d10-6548-4a4c-a9e7-6a31e178d8ac",
transportState : "STOPPED",
online : true,
volume : "0",
mute : "0",
name : "LaubeAussen",
udn : "uuid:c7684d10-6548-4a4c-a9e7-6a31e178d8ac",
powerState : "AUTOMATIC_STANDBY",
renderer : [
{
udn : "uuid:137ea741-1abf-4acb-b40e-f159c9bda2e1",
name : "Connector LaubeAussen #2"
}
]
}
],
udn : "uuid:689F2BAD-2058-4FDF-9C92-B614050AC35B",
mediaItem : null,
friendlyName : "LaubeAussen",
host : "192.168.250.151",
manufacturer : "Raumfeld GmbH",
modelNumber : "2"
},
{
InstanceID : 0,
CurrentTrackMetaData : "",
CurrentRecordQualityMode : "NOT_IMPLEMENTED",
AbsoluteTimePosition : "00:00:00",
SecondsUntilSleep : "0",
CurrentTrack : "1",
AVTransportURIMetaData : "",
PossiblePlaybackStorageMedia : "NETWORK",
TransportPlaySpeed : "1",
CurrentTrackDuration : "00:00:00",
PossibleRecordQualityModes : "NOT_IMPLEMENTED",
TransportError : "",
PossibleRecordStorageMedia : "NONE",
AVTransportURI : "dlna-playsingle://uuid%3A2fe2f1b7-8578-47c7-9a59-f60706cc265d?sid=urn%3Aupnp-org%3AserviceId%3AContentDirectory&iid=",
RelativeTimePosition : "00:00:00",
RelativeCounterPosition : "1",
CurrentPlayMode : "NORMAL",
Bitrate : "0",
TransportState : "STOPPED",
AbsoluteCounterPosition : "1",
CurrentTransportActions : "",
RoomStates : "uuid:50f23c84-0a1b-48de-ab44-10e9dd068f4e=STOPPED",
ContentType : "",
NumberOfTracks : "1",
SleepTimerActive : "0",
TransportStatus : "OK",
CurrentTrackURI : "",
mute : 0,
RoomVolumes : "uuid:50f23c84-0a1b-48de-ab44-10e9dd068f4e=48",
Volume : "48",
Mute : "0",
RoomMutes : "uuid:50f23c84-0a1b-48de-ab44-10e9dd068f4e=0",
rooms : [
{
roomUDN : "uuid:50f23c84-0a1b-48de-ab44-10e9dd068f4e",
volume : "48",
mute : "0",
online : true,
transportState : "STOPPED",
name : "SchlafZimmer",
color : "#862C30",
udn : "uuid:50f23c84-0a1b-48de-ab44-10e9dd068f4e",
powerState : "ACTIVE",
renderer : [
{
udn : "uuid:7abc79a3-910d-410e-b93b-0621833e6755",
name : "Speaker SchlafZimmer"
}
]
}
],
udn : "uuid:d0b26cce-d070-4c59-8db4-817871a5ec27",
mediaItem : null,
friendlyName : "SchlafZimmer",
host : "192.168.250.151",
manufacturer : "Raumfeld GmbH",
modelNumber : "2"
},
{
InstanceID : 0,
CurrentTrackMetaData : "upnp:classobject.container.playlistContainer</upnp:class>raumfeld:sectionPlaylists</raumfeld:section>raumfeld:nameMyPlaylist</raumfeld:name>dc:titleOE3</dc:title>",
CurrentRecordQualityMode : "NOT_IMPLEMENTED",
AbsoluteTimePosition : "00:00:00",
SecondsUntilSleep : "0",
CurrentTrack : "1",
AVTransportURIMetaData : "upnp:classobject.container.playlistContainer</upnp:class>raumfeld:sectionPlaylists</raumfeld:section>raumfeld:nameMyPlaylist</raumfeld:name>dc:titleOE3</dc:title>",
PossiblePlaybackStorageMedia : "NETWORK",
TransportPlaySpeed : "1",
CurrentTrackDuration : "00:00:00",
PossibleRecordQualityModes : "NOT_IMPLEMENTED",
TransportError : "",
PossibleRecordStorageMedia : "NONE",
AVTransportURI : "dlna-playcontainer://uuid%3A2fe2f1b7-8578-47c7-9a59-f60706cc265d?sid=urn%3Aupnp-org%3AserviceId%3AContentDirectory&cid=0%2FPlaylists%2FMyPlaylists%2FOE3&md=0",
RelativeTimePosition : "00:00:00",
RelativeCounterPosition : "1",
CurrentPlayMode : "NORMAL",
Bitrate : "128",
TransportState : "PLAYING",
AbsoluteCounterPosition : "1",
CurrentTransportActions : "Repeat,Stop",
RoomStates : "uuid:9cef5b69-eda3-4ca3-9200-c3d4512f5628=STOPPED",
ContentType : "MP3",
NumberOfTracks : "1",
SleepTimerActive : "0",
TransportStatus : "buffer underrun in WohnZimmer",
CurrentTrackURI : "http://mp3stream7.apasf.apa.at:8000",
mute : 0,
RoomVolumes : "uuid:9cef5b69-eda3-4ca3-9200-c3d4512f5628=33",
Volume : "33",
Mute : "0",
RoomMutes : "uuid:9cef5b69-eda3-4ca3-9200-c3d4512f5628=0",
rooms : [
{
roomUDN : "uuid:9cef5b69-eda3-4ca3-9200-c3d4512f5628",
transportState : "STOPPED",
online : true,
volume : "33",
mute : "0",
name : "WohnZimmer",
color : "#862C30",
udn : "uuid:9cef5b69-eda3-4ca3-9200-c3d4512f5628",
powerState : "AUTOMATIC_STANDBY",
renderer : [
{
udn : "uuid:431961ef-c07e-4013-8cf9-7d359c4f82a6",
name : "Connector WohnZimmer"
}
]
}
],
udn : "uuid:1EBC7D10-19F7-4BE2-82B9-0F0B1E702F12",
mediaItem : {
class : "object.container.playlistContainer",
section : "Playlists",
name : "MyPlaylist",
durability : null,
childCount : "1",
parentID : "0/Playlists/MyPlaylists",
restricted : "0",
id : "0/Playlists/MyPlaylists/OE3",
title : "OE3",
description : null
},
friendlyName : "WohnZimmer",
host : "192.168.250.151",
manufacturer : "Raumfeld GmbH",
modelNumber : "2"
},
{
InstanceID : 0,
CurrentTrackMetaData : " raumfeld:nameStation</raumfeld:name>upnp:classobject.item.audioItem.audioBroadcast.radio</upnp:class>raumfeld:sectionRadioTime</raumfeld:section>raumfeld:durability120</raumfeld:durability>dc:titleJack Johnson - You And Your Heart </dc:title>upnp:signalStrength98</upnp:signalStrength><upnp:albumArtURI dlna:profileID="JPEG_TN">http://d1i6vahw24eb07.cloudfront.net/s15552q.png</upnp:albumArtURI>raumfeld:ebrowsehttp://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=78%3Aa5%3A04%3Af1%3A82%3Aee&id=s15552&c=ebrowse</raumfeld:ebrowse>http://opml.radiotime.com/Tune.ashx?id=e1190145&sid=s8007&formats=wma,mp3,ogg&partnerId=7aJ9pvV5&serial=78:a5:04:f1:82:eehttp://opml.radiotime.com/Tune.ashx?id=e2919168&sid=s8007&formats=wma,mp3,ogg&partnerId=7aJ9pvV5&serial=78:a5:04:f1:82:eehttp://opml.radiotime.com/Tune.ashx?id=e50214223&sid=s8007&formats=wma,mp3,ogg&partnerId=7aJ9pvV5&serial=78:a5:04:f1:82:ee ",
CurrentRecordQualityMode : "NOT_IMPLEMENTED",
AbsoluteTimePosition : "00:00:00",
SecondsUntilSleep : "0",
CurrentTrack : "1",
AVTransportURIMetaData : "",
PossiblePlaybackStorageMedia : "NETWORK",
TransportPlaySpeed : "1",
CurrentTrackDuration : "00:00:00",
PossibleRecordQualityModes : "NOT_IMPLEMENTED",
TransportError : "",
PossibleRecordStorageMedia : "NONE",
AVTransportURI : "dlna-playcontainer://uuid%3A2fe2f1b7-8578-47c7-9a59-f60706cc265d?sid=urn%3Aupnp-org%3AserviceId%3AContentDirectory&cid=0%2FPlaylists%2FMyPlaylists%2FOE3&md=0&fii=0",
RelativeTimePosition : "00:00:00",
RelativeCounterPosition : "1",
CurrentPlayMode : "NORMAL",
Bitrate : "0",
TransportState : "PLAYING",
AbsoluteCounterPosition : "1",
CurrentTransportActions : "Stop",
RoomStates : "uuid:b463e62d-b87a-4b4a-ab4d-bdee80821f78=PLAYING",
ContentType : "",
NumberOfTracks : "1",
SleepTimerActive : "0",
TransportStatus : "OK",
CurrentTrackURI : "http://mp3stream7.apasf.apa.at:8000",
mute : 0,
RoomVolumes : "uuid:b463e62d-b87a-4b4a-ab4d-bdee80821f78=33",
Volume : "33",
Mute : "0",
RoomMutes : "uuid:b463e62d-b87a-4b4a-ab4d-bdee80821f78=0",
rooms : [
{
roomUDN : "uuid:b463e62d-b87a-4b4a-ab4d-bdee80821f78",
transportState : "PLAYING",
online : true,
volume : "33",
mute : "0",
name : "Wc-Og",
color : "#0099CC",
udn : "uuid:b463e62d-b87a-4b4a-ab4d-bdee80821f78",
powerState : "ACTIVE",
renderer : [
{
udn : "uuid:c80fefa9-84dd-4282-8977-4f9976a25872",
name : "Connector Wc-Og"
}
]
}
],
udn : "uuid:e26f7ae0-a794-41e9-8d4d-f010e1d7c7a6",
mediaItem : {
class : "object.item.audioItem.audioBroadcast.radio",
section : "RadioTime",
name : "Station",
durability : "120",
childCount : null,
parentID : "0/Playlists/MyPlaylists/OE3",
id : "0/Playlists/MyPlaylists/OE3/1563",
restricted : "1",
refID : "0/RadioTime/LocalRadio/AllLocations/l-r101217/l-r101221/l-r101406/s-s15552",
title : "Jack Johnson - You And Your Heart ",
description : null,
artist : null,
albumArtURI : "http://d1i6vahw24eb07.cloudfront.net/s15552q.png",
genre : null,
album : null,
date : null,
creator : null,
originalTrackNumber : null,
bitrate : "120",
protocolInfo : "http-get::audio/x-mpegurl:",
signalStrength : "98",
ebrowse : "http://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=78%3Aa5%3A04%3Af1%3A82%3Aee&id=s15552&c=ebrowse"
},
friendlyName : "Wc-Og",
host : "192.168.250.151",
manufacturer : "Raumfeld GmbH",
modelNumber : "2"
},
{
InstanceID : 0,
CurrentTrackMetaData : "raumfeld:nameStation</raumfeld:name>upnp:classobject.item.audioItem.audioBroadcast.radio</upnp:class>raumfeld:sectionRadioTime</raumfeld:section>raumfeld:durability120</raumfeld:durability>dc:titleHitradio Ö3</dc:title>upnp:signalStrength98</upnp:signalStrength><upnp:albumArtURI dlna:profileID="JPEG_TN">http://d1i6vahw24eb07.cloudfront.net/s15552q.png</upnp:albumArtURI>raumfeld:ebrowsehttp://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=78%3Aa5%3A04%3Af1%3A82%3Aee&id=s15552&c=ebrowse</raumfeld:ebrowse>http://opml.radiotime.com/Tune.ashx?id=e1190145&sid=s8007&formats=wma,mp3,ogg&partnerId=7aJ9pvV5&serial=78:a5:04:f1:82:eehttp://opml.radiotime.com/Tune.ashx?id=e2919168&sid=s8007&formats=wma,mp3,ogg&partnerId=7aJ9pvV5&serial=78:a5:04:f1:82:eehttp://opml.radiotime.com/Tune.ashx?id=e50214223&sid=s8007&formats=wma,mp3,ogg&partnerId=7aJ9pvV5&serial=78:a5:04:f1:82:ee",
CurrentRecordQualityMode : "NOT_IMPLEMENTED",
AbsoluteTimePosition : "00:00:00",
SecondsUntilSleep : "0",
CurrentTrack : "1",
AVTransportURIMetaData : "",
PossiblePlaybackStorageMedia : "NETWORK",
TransportPlaySpeed : "1",
CurrentTrackDuration : "00:00:00",
PossibleRecordQualityModes : "NOT_IMPLEMENTED",
TransportError : "",
PossibleRecordStorageMedia : "NONE",
AVTransportURI : "dlna-playcontainer://uuid%3A2fe2f1b7-8578-47c7-9a59-f60706cc265d?sid=urn%3Aupnp-org%3AserviceId%3AContentDirectory&cid=0%2FPlaylists%2FMyPlaylists%2FOE3&md=0&fii=0",
RelativeTimePosition : "00:00:00",
RelativeCounterPosition : "1",
CurrentPlayMode : "NORMAL",
Bitrate : "128",
TransportState : "PLAYING",
AbsoluteCounterPosition : "1",
CurrentTransportActions : "Stop",
RoomStates : "uuid:8d10c182-e6e5-4c54-817e-9313877877f7=PLAYING",
ContentType : "MP3",
NumberOfTracks : "1",
SleepTimerActive : "0",
TransportStatus : "OK",
CurrentTrackURI : "http://mp3stream7.apasf.apa.at:8000",
mute : 0,
RoomVolumes : "uuid:8d10c182-e6e5-4c54-817e-9313877877f7=21",
Volume : "21",
Mute : "0",
RoomMutes : "uuid:8d10c182-e6e5-4c54-817e-9313877877f7=0",
rooms : [
{
roomUDN : "uuid:8d10c182-e6e5-4c54-817e-9313877877f7",
transportState : "PLAYING",
online : true,
volume : "21",
mute : "0",
name : "Kueche",
udn : "uuid:8d10c182-e6e5-4c54-817e-9313877877f7",
powerState : "ACTIVE",
renderer : [
{
udn : "uuid:f2db5ae9-8926-4dcf-9ada-f52f2b9240b1",
name : "Speaker Kueche"
}
]
}
],
udn : "uuid:1FAE349A-DBD3-4F40-9589-1E3AF5BCD65D",
mediaItem : {
class : "object.item.audioItem.audioBroadcast.radio",
section : "RadioTime",
name : "Station",
durability : "120",
childCount : null,
parentID : "0/Playlists/MyPlaylists/OE3",
id : "0/Playlists/MyPlaylists/OE3/1563",
restricted : "1",
refID : "0/RadioTime/LocalRadio/AllLocations/l-r101217/l-r101221/l-r101406/s-s15552",
title : "Hitradio Ö3",
description : null,
artist : null,
albumArtURI : "http://d1i6vahw24eb07.cloudfront.net/s15552q.png",
genre : null,
album : null,
date : null,
creator : null,
originalTrackNumber : null,
bitrate : "120",
protocolInfo : "http-get::audio/x-mpegurl:",
signalStrength : "98",
ebrowse : "http://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=78%3Aa5%3A04%3Af1%3A82%3Aee&id=s15552&c=ebrowse"
},
friendlyName : "Kueche",
host : "192.168.250.151",
manufacturer : "Raumfeld GmbH",
modelNumber : "2"
},
{
InstanceID : 0,
AVTransportURIMetaData : "",
CurrentTrackDuration : "NOT_IMPLEMENTED",
PowerState : "AUTOMATIC_STANDBY",
AVTransportURI : "",
CurrentPlayMode : "NORMAL",
TransportState : "NO_MEDIA_PRESENT",
CurrentTransportActions : "",
TransportStatus : "OK",
LowDB : "2.480469",
Mute : "0",
MidDB : "1.398438",
Volume : "0",
VolumeDB : "-32640",
HighDB : "2.113281",
rooms : [
{
name : "LaubeAussen",
udn : "uuid:c7684d10-6548-4a4c-a9e7-6a31e178d8ac",
powerState : "AUTOMATIC_STANDBY",
renderer : [
{
udn : "uuid:137ea741-1abf-4acb-b40e-f159c9bda2e1",
name : "Connector LaubeAussen #2"
}
]
}
],
udn : "uuid:137ea741-1abf-4acb-b40e-f159c9bda2e1",
mediaItem : null,
friendlyName : "Connector LaubeAussen #2",
host : "192.168.250.153",
manufacturer : "Raumfeld GmbH",
modelNumber : "2"
},
{
InstanceID : 0,
AVTransportURIMetaData : " raumfeld:nameStation</raumfeld:name>upnp:classobject.item.audioItem.audioBroadcast.radio</upnp:class>raumfeld:sectionRadioTime</raumfeld:section>raumfeld:durability120</raumfeld:durability>dc:titleHitradio Ö3</dc:title>upnp:signalStrength98</upnp:signalStrength><upnp:albumArtURI dlna:profileID="JPEG_TN">http://d1i6vahw24eb07.cloudfront.net/s15552q.png</upnp:albumArtURI>raumfeld:ebrowsehttp://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=78%3Aa5%3A04%3Af1%3A82%3Aee&id=s15552&c=ebrowse</raumfeld:ebrowse> ",
CurrentTrackDuration : "NOT_IMPLEMENTED",
PowerState : "ACTIVE",
AVTransportURI : "http://192.168.250.151:52904/1FAE349A-DBD3-4F40-9589-1E3AF5BCD65D/8d10c182-e6e5-4c54-817e-9313877877f7/f2db5ae9-8926-4dcf-9ada-f52f2b9240b1/ef34f7702c4a0d2fe15d13b33b16c373-689947388-0-0.mp3",
CurrentPlayMode : "NORMAL",
TransportState : "PLAYING",
CurrentTransportActions : "Stop",
TransportStatus : "OK",
LowDB : "1.777344",
Mute : "0",
MidDB : "2.031250",
HighDB : "4.472656",
Volume : "21",
VolumeDB : "-6144",
Balance : "0",
rooms : [
{
name : "Kueche",
udn : "uuid:8d10c182-e6e5-4c54-817e-9313877877f7",
powerState : "ACTIVE",
renderer : [
{
udn : "uuid:f2db5ae9-8926-4dcf-9ada-f52f2b9240b1",
name : "Speaker Kueche"
}
]
}
],
udn : "uuid:f2db5ae9-8926-4dcf-9ada-f52f2b9240b1",
mediaItem : null,
friendlyName : "Speaker Kueche",
host : "192.168.250.152",
manufacturer : "Raumfeld GmbH",
modelNumber : "1"
},
{
InstanceID : 0,
AVTransportURIMetaData : "",
CurrentTrackDuration : "NOT_IMPLEMENTED",
PowerState : "AUTOMATIC_STANDBY",
AVTransportURI : "",
CurrentPlayMode : "NORMAL",
TransportState : "NO_MEDIA_PRESENT",
CurrentTransportActions : "",
TransportStatus : "buffer underrun",
LowDB : "-2.761719",
Mute : "0",
MidDB : "2.093750",
Volume : "40",
VolumeDB : "-5376",
HighDB : "1.617188",
rooms : [
{
name : "Sauna",
color : "#009998",
udn : "uuid:00287e64-0fcb-4e56-92da-30aaa0518b63",
powerState : "AUTOMATIC_STANDBY",
renderer : [
{
udn : "uuid:a193f9a9-84c5-4193-9e50-bfd4396dcf86",
name : "Speaker Sauna"
}
]
}
],
udn : "uuid:a193f9a9-84c5-4193-9e50-bfd4396dcf86",
mediaItem : null,
friendlyName : "Speaker Sauna",
host : "192.168.250.171",
manufacturer : "Raumfeld GmbH",
modelNumber : "2"
},
{
InstanceID : 0,
AVTransportURIMetaData : "",
CurrentTrackDuration : "NOT_IMPLEMENTED",
PowerState : "AUTOMATIC_STANDBY",
AVTransportURI : "",
CurrentPlayMode : "NORMAL",
TransportState : "NO_MEDIA_PRESENT",
CurrentTransportActions : "",
TransportStatus : "OK",
LowDB : "0.000000",
Mute : "0",
MidDB : "1.742188",
Volume : "62",
VolumeDB : "-6528",
HighDB : "3.109375",
rooms : [
{
name : "Pool",
udn : "uuid:95ffde14-a056-452e-a4fb-4d9c068fdf4b",
powerState : "AUTOMATIC_STANDBY",
renderer : [
{
udn : "uuid:e9eaa5fd-37af-4d10-b7e1-287aaa7e0c20",
name : "Speaker Pool"
}
]
}
],
udn : "uuid:e9eaa5fd-37af-4d10-b7e1-287aaa7e0c20",
mediaItem : null,
friendlyName : "Speaker Pool",
host : "192.168.250.165",
manufacturer : "Raumfeld GmbH",
modelNumber : "1"
},
{
InstanceID : 0,
AVTransportURIMetaData : "",
CurrentTrackDuration : "NOT_IMPLEMENTED",
PowerState : "AUTOMATIC_STANDBY",
AVTransportURI : "",
CurrentPlayMode : "NORMAL",
TransportState : "NO_MEDIA_PRESENT",
CurrentTransportActions : "",
TransportStatus : "OK",
LowDB : "0.000000",
Mute : "0",
MidDB : "1.523438",
Volume : "29",
VolumeDB : "-12160",
HighDB : "2.617188",
rooms : [
{
name : "Bad",
color : "#0099CC",
udn : "uuid:02fe4938-45ce-4e13-b827-06a3fa45e3aa",
powerState : "AUTOMATIC_STANDBY",
renderer : [
{
udn : "uuid:67e59017-9893-47a3-b42e-487bb57d2243",
name : "Speaker Bad #2"
}
]
}
],
udn : "uuid:67e59017-9893-47a3-b42e-487bb57d2243",
mediaItem : null,
friendlyName : "Speaker Bad #2",
host : "192.168.250.150",
manufacturer : "Raumfeld GmbH",
modelNumber : "1"
},
{
InstanceID : 0,
AVTransportURIMetaData : "",
CurrentTrackDuration : "NOT_IMPLEMENTED",
PowerState : "AUTOMATIC_STANDBY",
AVTransportURI : "",
CurrentPlayMode : "NORMAL",
TransportState : "NO_MEDIA_PRESENT",
CurrentTransportActions : "",
TransportStatus : "OK",
LowDB : "0.000000",
Mute : "0",
MidDB : "1.570312",
Volume : "0",
VolumeDB : "-32640",
HighDB : "1.718750",
rooms : [
{
name : "KellerStueberl",
udn : "uuid:1a0c63af-481d-41e3-859b-b777616ee63e",
powerState : "AUTOMATIC_STANDBY",
renderer : [
{
udn : "uuid:a2bc2f63-5ceb-48fc-af92-d4a7fa33e547",
name : "Speaker KellerStueberl"
}
]
}
],
udn : "uuid:a2bc2f63-5ceb-48fc-af92-d4a7fa33e547",
mediaItem : null,
friendlyName : "Speaker KellerStueberl",
host : "192.168.250.190",
manufacturer : "Raumfeld GmbH",
modelNumber : "1"
},
{
InstanceID : 0,
AVTransportURIMetaData : "",
CurrentTrackDuration : "NOT_IMPLEMENTED",
PowerState : "ACTIVE",
AVTransportURI : "",
CurrentPlayMode : "NORMAL",
TransportState : "NO_MEDIA_PRESENT",
CurrentTransportActions : "",
TransportStatus : "OK",
LowDB : "1.324219",
Volume : "48",
SettingValue : "140Hz",
Mute : "0",
HighDB : "2.457031",
MidDB : "2.218750",
VolumeDB : "-6976",
rooms : [
{
name : "SchlafZimmer",
color : "#862C30",
udn : "uuid:50f23c84-0a1b-48de-ab44-10e9dd068f4e",
powerState : "ACTIVE",
renderer : [
{
udn : "uuid:7abc79a3-910d-410e-b93b-0621833e6755",
name : "Speaker SchlafZimmer"
}
]
}
],
udn : "uuid:7abc79a3-910d-410e-b93b-0621833e6755",
mediaItem : null,
friendlyName : "Speaker SchlafZimmer",
host : "192.168.250.178",
manufacturer : "Raumfeld GmbH",
modelNumber : "1"
},
{
InstanceID : 0,
AVTransportURIMetaData : "",
CurrentTrackDuration : "NOT_IMPLEMENTED",
PowerState : "AUTOMATIC_STANDBY",
AVTransportURI : "",
CurrentPlayMode : "NORMAL",
TransportState : "NO_MEDIA_PRESENT",
CurrentTransportActions : "",
TransportStatus : "buffer underrun",
LowDB : "0.000000",
Mute : "0",
MidDB : "0.000000",
Volume : "33",
VolumeDB : "-10240",
HighDB : "0.000000",
rooms : [
{
name : "WohnZimmer",
color : "#862C30",
udn : "uuid:9cef5b69-eda3-4ca3-9200-c3d4512f5628",
powerState : "AUTOMATIC_STANDBY",
renderer : [
{
udn : "uuid:431961ef-c07e-4013-8cf9-7d359c4f82a6",
name : "Connector WohnZimmer"
}
]
}
],
udn : "uuid:431961ef-c07e-4013-8cf9-7d359c4f82a6",
mediaItem : null,
friendlyName : "Connector WohnZimmer",
host : "192.168.250.180",
manufacturer : "Raumfeld GmbH",
modelNumber : "2"
},
{
InstanceID : 0,
AVTransportURIMetaData : " raumfeld:nameStation</raumfeld:name>upnp:classobject.item.audioItem.audioBroadcast.radio</upnp:class>raumfeld:sectionRadioTime</raumfeld:section>raumfeld:durability120</raumfeld:durability>dc:titleHitradio Ö3</dc:title>upnp:signalStrength98</upnp:signalStrength><upnp:albumArtURI dlna:profileID="JPEG_TN">http://d1i6vahw24eb07.cloudfront.net/s15552q.png</upnp:albumArtURI>raumfeld:ebrowsehttp://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=78%3Aa5%3A04%3Af1%3A82%3Aee&id=s15552&c=ebrowse</raumfeld:ebrowse> ",
CurrentTrackDuration : "NOT_IMPLEMENTED",
PowerState : "ACTIVE",
AVTransportURI : "http://192.168.250.151:60486/e26f7ae0-a794-41e9-8d4d-f010e1d7c7a6/b463e62d-b87a-4b4a-ab4d-bdee80821f78/c80fefa9-84dd-4282-8977-4f9976a25872/ef34f7702c4a0d2fe15d13b33b16c373--2081721902-0-0.mp3",
CurrentPlayMode : "NORMAL",
TransportState : "PLAYING",
CurrentTransportActions : "Stop",
TransportStatus : "OK",
LowDB : "0.000000",
Mute : "0",
MidDB : "0.000000",
Volume : "33",
VolumeDB : "-10240",
HighDB : "0.000000",
rooms : [
{
name : "Wc-Og",
color : "#0099CC",
udn : "uuid:b463e62d-b87a-4b4a-ab4d-bdee80821f78",
powerState : "ACTIVE",
renderer : [
{
udn : "uuid:c80fefa9-84dd-4282-8977-4f9976a25872",
name : "Connector Wc-Og"
}
]
}
],
udn : "uuid:c80fefa9-84dd-4282-8977-4f9976a25872",
mediaItem : null,
friendlyName : "Connector Wc-Og",
host : "192.168.250.157",
manufacturer : "Raumfeld GmbH",
modelNumber : "2"
}
]
}
so why do i have information twice for rooms?
it makes it hard to parse and get what i need..
and even more complicated because sometimes the information to not match (1-9 might not have the same state as 9-18...
and it would be nice to sort this list f.ex by friendlyName or roomName..
thanks
holli
Alow standby requests for the whole system at once
We should add bonjour/zeroconf protocol to announce the server in the network
I use only one speaker (1 zone) which I control via node-raumserver. Overnight I disconnect the power so the speaker isn’t available during that period. I realized that without a restart of the server, node-raumserver isn’t able to send it’s commands to the speaker once the power gets restored the morning after. I think that node-raumserver has to do a rediscover to get all new used ports and description XMLs.
Hallo @ChriD ,
irgendwo hatte ich mal aufgeschnappt das die Befehle die man an den raumserver sendet von einer Queue aufgefangen werden. Ich weiß nur nicht ob du die Queue schon implementierst oder erst das Raumfeld-System. Ich weiß nicht ob das tatsächlich so ist, denn ich hatte schon immer Schwierigkeiten mit dem Timing.
Ich steuere einige Abläufe über ein SmartHome-System namens "domoticz". Hier habe ich Abläufe in lua-scripts geschrieben um beispielsweise ein automatisiertes "Aufwachen mit Musik via Bewegungserkennung" umzusetzen. Dort bin ich auf das Problem gestoßen, dass ich nicht einfach alle Befehle hintereinander wegfeuern konnte. Ich musste mir künstliche Leerlaufzeiten zwischen den Befehlen einfallen lassen, damit das System korrekt initialisiert.
Ist es nun also möglich, eine solche Queue, falls nicht schon vorhanden, zu implementieren?
Gab es nicht "früher" auch eine Möglichkeit Presets zu hinterlegen die eine Sammlung von Anfragen enthält, welche man dann per HTTP anfragen kann?
Gruß
mee0n
Hallo @ChriD ,
Wenn ich CreateZone (gleich bei AddToZone) verwende wie ich es mit deinem raumserver schon immer getan habe oder es mittels deines test-html versuche führt das immer zu folgendem Fehler.
Rückmeldung des test-html für CreateZone (das &_=1492180822922 kommt nicht von mir):
{
requestUrl : "/raumserver/controller/createZone?id=Flur&_=1492180822922",
action : "createZone",
error : true,
msg : "Action was rejected",
data : {
errorMessage : "TypeError: Cannot read property 'getSettings' of undefined",
errorData : null
}
}
Kannst du mir da weiterhelfen?
Vielen Dank schon mal im Voraus!
mee0n
Hi,
i try to load an URI and get this message:
(The file setUriMetadata.template exisits in the directory "C:\Peter\Install\node_modules\node-raumkernel\lib", but not in the directory "C:\Peter\Install\node_modules\node-raumserver\node_modules\node-raumkernel\lib")
{
requestUrl : "/raumserver/controller/loadUri?id=WohnzimmerL&value=http%3A%2F%2Fschwarze-welle.de:7500&_=1510051244642",
action : "loadUri",
error : true,
msg : "Action was rejected",
data : {
errorMessage : "Error: ENOENT: no such file or directory, open 'C:\Peter\Install\node_modules\node-raumserver\node_modules\node-raumkernel\lib\setUriMetadata.template'",
errorData : null
}
}
Here is the callstack:
verbose: [Raumserver] Request received: GET /raumserver/controller/loadUri?id=WohnzimmerL&value=http%3A%2F%2Fschwarze-welle.de:7500&=1510051244651
debug: [Raumserver] Request to raumserver recognized: /raumserver/controller/loadUri?id=WohnzimmerL&value=http%3A%2F%2Fschwarze-welle.de:7500&=1510051244651
debug: [Raumserver] Handle action 'loadUri' with query: {"_":"1510051244651","id":"WohnzimmerL","value":"http://schwarze-welle.de:7500"}
debug: [DeviceManager] Trying to get virtual media renderer for id or (child)name : WohnzimmerL
debug: [DeviceManager] Trying to get media renderer for id name : WohnzimmerL
debug: [ZoneManager] Get room information object for: uuid:b8ef0730-b7a9-4d02-abca-4c42bac78b0b
debug: [DeviceManager] Media renderer for id : WohnzimmerL found
debug: [Request.loadUri] Calling action 'loadUri' for renderer WohnzimmerL,Bad,Esszimmer,Connector2 ,Schlafzimmer
error: [Request.loadUri] Exception thrown: Error: ENOENT: no such file or directory, open 'C:\Peter\Install\node_modules\node-raumserver\node_modules\node-raumkernel\lib\setUriMetadata.template'
at Object.fs.openSync (fs.js:638:18)
at Object.fs.readFileSync (fs.js:540:33)
at UPNPMediaRendererRaumfeldVirtual.loadUri (C:\Peter\Install\node_modules\node-raumkernel\lib\lib.device.upnp.mediaRenderer.raumfeldVirtual.js:540:23)
at Request_LoadUri.runAction (C:\Peter\Install\node_modules\node-raumserver\lib\requestHandlers\lib.request.loadUri.js:22:31)
at C:\Peter\Install\node_modules\node-raumserver\lib\lib.base.requestMediaRenderer.js:191:22
at Promise ()
at Request_LoadUri.runActionForMediaRenderer (C:\Peter\Install\node_modules\node-raumserver\lib\lib.base.requestMediaRenderer.js:177:16)
at Request_LoadUri.run (C:\Peter\Install\node_modules\node-raumserver\lib\lib.base.requestMediaRenderer.js:120:47)
at Raumserver.handleRequestObject (C:\Peter\Install\node_modules\node-raumserver\lib\lib.raumserver.js:143:28)
at Raumserver.requestReceived (C:\Peter\Install\node_modules\node-raumserver\lib\lib.raumserver.js:106:22)
at Server. (C:\Peter\Install\node_modules\node-raumserver\lib\lib.raumserver.js:80:26)
at emitTwo (events.js:125:13)
at Server.emit (events.js:213:7)
at parserOnIncoming (_http_server.js:601:12)
at HTTPParser.parserOnHeadersComplete (_http_common.js:116:23)
error: [Request.loadUri] Some renderers had exceptions: Error: ENOENT: no such file or directory, open 'C:\Peter\Install\node_modules\node-raumserver\node_modules\node-raumkernel\lib\setUriMetadata.template'
at Object.fs.openSync (fs.js:638:18)
at Object.fs.readFileSync (fs.js:540:33)
at UPNPMediaRendererRaumfeldVirtual.loadUri (C:\Peter\Install\node_modules\node-raumkernel\lib\lib.device.upnp.mediaRenderer.raumfeldVirtual.js:540:23)
at Request_LoadUri.runAction (C:\Peter\Install\node_modules\node-raumserver\lib\requestHandlers\lib.request.loadUri.js:22:31)
at C:\Peter\Install\node_modules\node-raumserver\lib\lib.base.requestMediaRenderer.js:191:22
at Promise ()
at Request_LoadUri.runActionForMediaRenderer (C:\Peter\Install\node_modules\node-raumserver\lib\lib.base.requestMediaRenderer.js:177:16)
at Request_LoadUri.run (C:\Peter\Install\node_modules\node-raumserver\lib\lib.base.requestMediaRenderer.js:120:47)
at Raumserver.handleRequestObject (C:\Peter\Install\node_modules\node-raumserver\lib\lib.raumserver.js:143:28)
at Raumserver.requestReceived (C:\Peter\Install\node_modules\node-raumserver\lib\lib.raumserver.js:106:22)
at Server. (C:\Peter\Install\node_modules\node-raumserver\lib\lib.raumserver.js:80:26)
at emitTwo (events.js:125:13)
at Server.emit (events.js:213:7)
at parserOnIncoming (_http_server.js:601:12)
at HTTPParser.parserOnHeadersComplete (_http_common.js:116:23)
error: [Raumserver] Request was rejected: errorMessage=Error: ENOENT: no such file or directory, open 'C:\Peter\Install\node_modules\node-raumserver\node_modules\node-raumkernel\lib\setUriMetadata.template', errorData=null
Hallo,
ich versuche, den node-raumserver auf meinem Atom-PC mit SuSE Leap 42.2 zu installieren. node ist aktuell und läuft (hm-manager, eine andere node-Anwendung funktioniert):
node --version
v8.1.2
Ich habe node-raumserver per npm istalliert in
/usr/local/lib/node_modules/node-raumserver
Dann möchte ich node-raumserver starten. Das sollte so gehen, oder?
node /usr/local/lib/node_modules/node-raumserver/raumserver.js
Doch jetzt bekomme ich folgenden Fehler:
module.js:487
throw err;
^Error: Cannot find module 'query-string'
at Function.Module._resolveFilename (module.js:485:15)
at Function.Module._load (module.js:437:25)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object. (/usr/local/lib/node_modules/node-raumserver/lib/lib.raumserver.js:3:21)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
Kannst Du mir helfen?
Gruß,
Frank
hello,
i try to use the node raumserver but i'm missing the friendly name of my rooms?
curl "http://obelix:18080/raumserver/data/getRendererState?listAll=true" |json -a data |json -a rooms
f.ex. returns:
[
{
"roomUDN": "uuid:50f23c84-0a1b-48de-ab44-10e9dd068f4e",
"transportState": "STOPPED",
"online": true,
"volume": "46",
"mute": "0"
}
]
[
{
"roomUDN": "uuid:b463e62d-b87a-4b4a-ab4d-bdee80821f78",
"transportState": "STOPPED",
"online": true,
"volume": "33",
"mute": "0"
}
]
[
{
"roomUDN": "uuid:8d10c182-e6e5-4c54-817e-9313877877f7",
"transportState": "PLAYING",
"online": true,
"volume": "25",
"mute": "0"
}
]
[
{
"roomUDN": "uuid:00287e64-0fcb-4e56-92da-30aaa0518b63",
"transportState": "STOPPED",
"online": true,
"volume": "26",
"mute": "0"
}
]
[
{
"roomUDN": "uuid:95ffde14-a056-452e-a4fb-4d9c068fdf4b",
"volume": "52",
"mute": "0",
"online": true
}
]
[
{
"roomUDN": "uuid:c7684d10-6548-4a4c-a9e7-6a31e178d8ac",
"transportState": "STOPPED",
"online": true,
"volume": "26",
"mute": "0"
}
]
[
{
"roomUDN": "uuid:02fe4938-45ce-4e13-b827-06a3fa45e3aa",
"transportState": "STOPPED",
"online": true,
"volume": "42",
"mute": "0"
}
]
[
{
"roomUDN": "uuid:1a0c63af-481d-41e3-859b-b777616ee63e",
"volume": "36",
"mute": "0",
"online": true
}
]
with what request would i get the friendly name + roomUDN + state - f.ex. for a doorbell functionality - i need to ring on certain speaker depending on the states and after ring put them into the prev. state again - sure i can make my own matching for friendly name + roomUDN - but would be nice to have this in one request - and reading my code for friendly names is more readable as the udn's.
what do you think?
thanks
holli
I'm looking for a possibility to switch the Input for the Sounddeck/Soundbar device.
This Input can be changed using the app, and I want to replace the raumfeld remote with my harmony hub, which at the moment can only switch on my sounddeck und switch off my sounddeck, but i still need to switch the channel using raumfeld remote.
As far as i've seen in the "old" issues ChriD don't have this device that's why he can not check if it is possible. But if you tell me what i need to check, or to trace just let me now and i will try that :-)
Thx a lot
Regards
Alex
Throwing any kind of errors should result in an error object whcih will be given as data into the response if there is an error.
e.g.
{
"errorMessage" : "I am the error message"
...
}
and t should reside on the base class and be created like
this.createErrorObject(_errorMessage,....)
Hallo,
ich versuche gerade, das auf einem Pi3 mit openHABian zum Laufen zu bringen und scheitere grandios. Was mache ich falsch?
sudo apt-get install -y nodejs npm node
mkdir raumfeld
cd raumfeld/
npm install node-raumserver
[22:15:28] openhabian@openHABianPi:/raumfeld$ node node_modules/node-raumserver/test.js/raumfeld$ echo $?
[22:15:30] openhabian@openHABianPi:
1
[22:15:36] openhabian@openHABianPi:~/raumfeld$ npm start node-raumserver
[email protected] start /home/openhabian/raumfeld/node_modules/node-raumserver
node index.js
npm ERR! [email protected] start: node index.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is most likely a problem with the node-raumserver package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node index.js
npm ERR! You can get their info via:
npm ERR! npm owner ls node-raumserver
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 4.4.50-v7+
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "start" "node-raumserver"
npm ERR! cwd /home/openhabian/raumfeld
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.21
npm ERR! code ELIFECYCLE
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/openhabian/raumfeld/npm-debug.log
npm ERR! not ok code 0
Irgendwelche falschen/veralteten Versionen? Aber apt-get update/upgrade bringt nichts Neues... Ich bin ratlos.
Danke fürs helfen,
Marco
Every command (except for Get Zone Config) fails with the following error:
{requestUrl : "/raumserver/controller/createZone?id=871ab9db-6305-4cf6-8633-6d7405faadd5&_=1500491016990", action : "createZone", error : true, msg : "Action was rejected", data : {errorMessage : "TypeError: Cannot read property 'length' of undefined", errorData : null } }
OS: Windows with current release of node.js
Danke! :)
Add Requests for setting device settings
loadUri
With this request you can load a uri into a zone playlist
You may use this for loading streams which are not accessible via the upnp server
Currently only direct urls will work (no playlist urls)
/raumserver/controller/loadUri?id=Wohnzimmer&value=[urlencoded uri]
/raumserver/controller/loadUri?id=Wohnzimmer&value=http%3A%2F%2Fmp3channels.webradio.rockantenne.de%2Fheavy-metal
Hi,
is it possible to add the Raumfeld Devices maually by ip instead of discovering?
Reason:
My PC is connected to a different subnet so discovering is not working.
Your raumserver was great to use for that, too bad it is discontinued...
Easy to control via curl...
Regards
Sören
Create a nice Icon for the NPM package
Hi,
I'm trying to add an Raumfeld Speaker Service to my HomeKit Installation. For this, I need the current volume of the raumfeld zone/speaker as an http request in plain "0" - "100" format.
Is this already possible? I know that it's possible to set the volume, but how to get the current volume level back?
Thanks for your help!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.