node-raumserver icon indicating copy to clipboard operation
node-raumserver copied to clipboard

Cannot read property 'length' of undefined

Open ItsFelix opened this issue 7 years ago • 11 comments

Wenn ich z.B. "http://192.168.178.44:8080/raumserver/controller/setVolume?value=90&id=Badezimmer&scope=room" mache kommt: {"requestUrl":"/raumserver/controller/setVolume?value=90&id=Badezimmer&scope=room","action":"setVolume","error":true,"msg":"Action was rejected","data":{"errorMessage":"TypeError: Cannot read property 'length' of undefined","errorData":null}}

in der konsole steht: error: [Request.setVolume] Some renderers had exceptions: message=Cannot read property 'length' of undefined, stack=TypeError: Cannot read property 'length' of undefined at ZoneManager.getVirtualRendererUdnForChildUdnOrName (/home/pi/node_modules/node-raumkernel/lib/lib.manager.zoneManager.js:359:85) at DeviceManager.getVirtualMediaRenderer (/home/pi/node_modules/node-raumkernel/lib/lib.manager.deviceManager.js:708:60) at Request_SetVolume.getMediaRenderersFromIdAndScope (/home/pi/node_modules/node-raumserver/lib/lib.base.request.js:134:68) at Request_SetVolume.run (/home/pi/node_modules/node-raumserver/lib/lib.base.requestMediaRenderer.js:68:39) at Raumserver.handleRequestObject (/home/pi/node_modules/node-raumserver/lib/lib.raumserver.js:152:28) at Raumserver.requestReceived (/home/pi/node_modules/node-raumserver/lib/lib.raumserver.js:115:22) at Server. (/home/pi/node_modules/node-raumserver/lib/lib.raumserver.js:84:26) at Server.emit (events.js:160:13) at parserOnIncoming (_http_server.js:628:12) at HTTPParser.parserOnHeadersComplete (_http_common.js:112:17) error: [Raumserver] Request was rejected: errorMessage=TypeError: Cannot read property 'length' of undefined, errorData=null

was aber geht ist: "http://192.168.178.44:8080/raumserver/data/getRendererState?id=Badezimmer&scope=room"

{"requestUrl":"/raumserver/data/getRendererState?id=Badezimmer&scope=room","action":"getRendererState","error":false,"msg":"","data":[{"InstanceID":0,"AVTransportURIMetaData":"","CurrentTrackDuration":"NOT_IMPLEMENTED","PowerState":"AUTOMATIC_STANDBY","AVTransportURI":"","CurrentPlayMode":"NORMAL","TransportState":"NO_MEDIA_PRESENT","OwnsAudioResource":"0","CurrentTransportActions":"","TransportStatus":"OK","LowDB":"2.400000","Mute":"0","MidDB":"0.000000","Volume":"20","HighDB":"3.000000","rooms":[{"name":"Badezimmer","udn":"uuid:3871fc52-76f6-400b-8752-1fc69f29ae29","powerState":"AUTOMATIC_STANDBY","renderer":[{"udn":"uuid:826dcde8-b922-4faf-b763-a3b42dc0d2b3","name":"Speaker Badezimmer","spotifyConnect":"active"}]}],"udn":"uuid:826dcde8-b922-4faf-b763-a3b42dc0d2b3","mediaItem":null,"friendlyName":"Speaker Badezimmer","host":"192.168.178.58","manufacturer":"Lautsprecher Teufel GmbH","modelNumber":"1"}]}

Wenn ich node-raumserver starte:

info: [Raumserver] Welcome to raumserver v0.1.4 (raumkernel v1.2.21) info: [Raumserver] wlan0 192.168.178.44 info: [Raumkernel] Found raumfeld host on: 192.168.178.27 info: [DeviceManager] Media renderer added: [LG] webOS TV OLED55B7D (uuid:69044f 17-5129-ae75-3518-0f4dd20ddc03) info: [DeviceManager] Raumfeld Media renderer added: Speaker Badezimmer (uuid:82 6dcde8-b922-4faf-b763-a3b42dc0d2b3) info: [DeviceManager] Media Server added: Opouteres Datenserver (uuid:fa095ecc-e 13e-40e7-8e6c-c02506f5d905) info: [DeviceManager] Raumfeld Media renderer added: Speaker Wohnzimmer Soundbar (uuid:dc77aa19-0c5c-4ca7-9bce-bbdb7c0c89f0) info: [DeviceManager] Raumfeld Media renderer added: Speaker Felix’s Zimmer (uui d:dfe7d626-23ce-4239-ad65-c9026f8b79b1) info: [DeviceManager] Raumfeld media server added: Raumfeld MediaServer (uuid:f9 06beaf-0f2e-4396-b2b4-a0a501987d8c) info: [DeviceManager] Media renderer added: Finjas Zimmer (uuid:3DCC7100-F76C-11 DD-87AF-002261F822E2) error: [MediaRenderer|[LG] webOS TV OLED55B7D] Error: SUBSCRIBE error

Ich weiss nicht worand das liegt ich habe mehrere Geräte von raumfeld und es funktioniert bei keinem es ist egal ob ich die uuid benutze oder Speaker vor dem raum mache es geht nicht. Ich hatte heute kurz irgendwas gemacht und setvolume hat funktioniert aber nach einem neustart nicht mehr :(

Ein fehler der beim Installieren aufgekommen ist:

npm WARN saveError ENOENT: no such file or directory, open '/home/pi/package.json' npm WARN enoent ENOENT: no such file or directory, open '/home/pi/package.json' npm WARN pi No description npm WARN pi No repository field. npm WARN pi No README data npm WARN pi No license field.

  • [email protected] updated 1 package and audited 566 packages in 9.095s found 0 vulnerabilities

Wäre schön wenn du eine Idee hast und mir helfen kannst :) LG Felix

ItsFelix avatar Aug 16 '18 18:08 ItsFelix

Da gibts ein problem beim parsen der Räume aus den Zoneninformationen. Kann es sein das keine Zone aktiv ist? Bzw. benutzt du Spotify?

Ich schaus mir auf jeden Fall an.

ChriD avatar Aug 19 '18 17:08 ChriD

Erstmal Danke für die Antwort,

Ja ich benutze Spotify und ich habe in in Raumfeld 3 räume mit pro Raum ein Gerät die auch alle über Spotify Connect laufen.

ItsFelix avatar Aug 19 '18 20:08 ItsFelix

Bei Spotify sieht die ZonenInfo anders aus als bei "normalen" Zonen. Kannst du mir eventuell das Result der ZonenInfo des Servers posten? (getZoneConfiguration) Ich hab nämlich kein Spotify.

ChriD avatar Aug 20 '18 06:08 ChriD

Bei getZoneConfiguration "http://192.168.178.44:8080/raumserver/data/getZoneConfiguration": {"requestUrl":"/raumserver/data/getZoneConfiguration","action":"getZoneConfiguration","error":true,"msg":"Unknown action","data":{}}

Bei getZoneConfig "http://192.168.178.44:8080/raumserver/data/getZoneConfig": {"requestUrl":"/raumserver/data/getZoneConfig","action":"getZoneConfig","error":false,"msg":"","data":{"zoneConfig":{"$":{"numRooms":"3","spotifyMode":"singleRoom"},"zones":[{"zone":[{"$":{"udn":"uuid:5c227196-584c-4847-a949-af8b1f4234e4"},"room":[{"$":{"name":"Badezimmer","udn":"uuid:3871fc52-76f6-400b-8752-1fc69f29ae29","powerState":"MANUAL_STANDBY"},"renderer":[{"$":{"udn":"uuid:826dcde8-b922-4faf-b763-a3b42dc0d2b3","name":"Speaker Badezimmer"}}]}]}]}],"unassignedRooms":[{"room":[{"$":{"name":"Wohnzimmer Soundbar","udn":"uuid:4a230268-d922-4073-a663-be352d8a2d8c","powerState":"MANUAL_STANDBY"},"renderer":[{"$":{"udn":"uuid:dc77aa19-0c5c-4ca7-9bce-bbdb7c0c89f0","name":"Speaker Wohnzimmer Soundbar","spotifyConnect":"active"}}]},{"$":{"name":"Felix’s Zimmer","udn":"uuid:d77af194-9c37-404f-9b85-dfd6a8ddd1c0","powerState":"AUTOMATIC_STANDBY"},"renderer":[{"$":{"udn":"uuid:dfe7d626-23ce-4239-ad65-c9026f8b79b1","name":"Speaker Felix’s Zimmer","spotifyConnect":"active"}}]}]}]}}}

ItsFelix avatar Aug 20 '18 13:08 ItsFelix

Ja das meinte ich. Danke

ChriD avatar Aug 20 '18 14:08 ChriD

Gibt es mittlerweile was neues? LG Felix

ItsFelix avatar Aug 26 '18 19:08 ItsFelix

Es Tut mir Leid, noch nicht. Ich bin gerade schwer am Umbauen und da ist der raumserver leider ganz unten in der prio

ChriD avatar Aug 27 '18 06:08 ChriD

Ok alles gut! Lass dir ruhig Zeit ;)

ItsFelix avatar Aug 27 '18 07:08 ItsFelix

Der Fehler "Cannot read property 'length' of undefined" sollte jetzt nicht mehr kommen. Ich weiß aber immer noch nicht warum er bei dir den Raum nicht findet. Das Problem hat sich warscheinlich noch nicht von selst behoben oder? :)

ChriD avatar Oct 28 '18 10:10 ChriD

Keine Ahnung Was du Gemacht hast aber es funktioniert jetzt :) Nur das Gerät Finjas Zimmer funktioniert nicht wird aber wahrscheinlich daran liegen, dass es ein Billig Aldi Lautsprecher ist und keiner von Teufe oder?

ItsFelix avatar Oct 28 '18 16:10 ItsFelix

Teufel/Raumfeld lässt leider keine 3rd party renderer mehr zu. Das ging früher mal, haben sie aber leider rausgenommen. Eigentlich müsste man sie dafür grün und blau hauen. Hab damals viel Geld für das System bezahlt und dann stellen sie einfach Features ein.

ChriD avatar Oct 29 '18 14:10 ChriD