NEWS
JSON Daten in Objekte, Teufel Raumfeld
-
Hallo,
zur Zeit vollziehe ich einen "Umzug" von OpenHab2 auf iobroker. Nun bin ich auf eine Hürde gestoßen für die ich keine Lösung finde. Mit
! curl http://192.168.188.41:8080/raumserver/d … dererState -i bekomme ich diese JSON zurück.
! HTTP/1.1 200 OK Content-Type: application/json Access-Control-Allow-Origin: * Access-Control-Request-Method: * Access-Control-Allow-Methods: OPTIONS, GET Access-Control-Allow-Headers: * Access-Control-Expose-Headers: * updateId: 270288 Date: Thu, 15 Nov 2018 17:25:24 GMT Connection: keep-alive Transfer-Encoding: chunked {"requestUrl":"/raumserver/data/getRendererState","action":"getRendererState","error":false,"msg":"","data":[{"Mute":0,"InstanceID":0,"RoomVolumes":"uuid:6069bb4c-4ea0-41bd-910a-a744326de3d6=50,uuid:0ceaf965-4f2c-483a-a561-093cd681774c=30,uuid:76c6bd3e-a459-476b-bb97-641b3e1b2b32=45,uuid:8812ff0a-e405-4ec4-ac28-aa0fc1a2be5c=20,uuid:af2ba29b-b3af-4114-ab73-78854d97704f=31","Volume":"50","RoomMutes":"uuid:6069bb4c-4ea0-41bd-910a-a744326de3d6=0,uuid:0ceaf965-4f2c-483a-a561-093cd681774c=0,uuid:76c6bd3e-a459-476b-bb97-641b3e1b2b32=0,uuid:8812ff0a-e405-4ec4-ac28-aa0fc1a2be5c=0,uuid:af2ba29b-b3af-4114-ab73-78854d97704f=0","CurrentTrackMetaData":"Stationobject.item.audioItem.audioBroadcast.radioRadioTime120RADIO BOB!61http://d1i6vahw24eb07.cloudfront.net/s96189q.pnghttp://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=78%3Aa5%3A04%3Af1%3A88%3A64&id=s96189&c=ebrowsehttp://opml.radiotime.com/Tune.ashx?id=e46790400&sid=s96189&formats=wma,mp3,ogg&partnerId=7aJ9pvV5&serial=78:a5:04:f1:88:64http://opml.radiotime.com/Tune.ashx?id=e46790399&sid=s96189&formats=wma,mp3,ogg&partnerId=7aJ9pvV5&serial=78:a5:04:f1:88:64","CurrentRecordQualityMode":"NOT_IMPLEMENTED","AbsoluteTimePosition":"00:00:00","SecondsUntilSleep":"0","CurrentTrack":"1","AVTransportURIMetaData":"","PossiblePlaybackStorageMedia":"NETWORK","TransportPlaySpeed":"1","CurrentTrackDuration":"00:00:00","PossibleRecordQualityModes":"NOT_IMPLEMENTED","Bitrate":"0","PossibleRecordStorageMedia":"NONE","AVTransportURI":"dlna-playcontainer://uuid%3Aa629d81a-83ba-4796-92ac-8f5f9537c4fd?sid=urn%3Aupnp-org%3AserviceId%3AContentDirectory&cid=0%2FPlaylists%2FMyPlaylists%2FRADIO%2520BOB%2521&md=0&fii=0","RelativeTimePosition":"00:00:00","RelativeCounterPosition":"1","CurrentPlayMode":"NORMAL","TransportState":"PLAYING","AbsoluteCounterPosition":"1","CurrentTransportActions":"Stop","RoomStates":"uuid:6069bb4c-4ea0-41bd-910a-a744326de3d6=PLAYING,uuid:0ceaf965-4f2c-483a-a561-093cd681774c=PLAYING,uuid:76c6bd3e-a459-476b-bb97-641b3e1b2b32=PLAYING,uuid:8812ff0a-e405-4ec4-ac28-aa0fc1a2be5c=PLAYING,uuid:af2ba29b-b3af-4114-ab73-78854d97704f=PLAYING","ContentType":"","NumberOfTracks":"1","SleepTimerActive":"0","TransportStatus":"OK","CurrentTrackURI":"http://bob.hoerradar.de/radiobob-live-m … 62":[{"roomUDN":"uuid:6069bb4c-4ea0-41bd-910a-a744326de3d6","Volume":"50","Mute":"0","name":"Bad","PowerState":"ACTIVE","online":true,"TransportState":"PLAYING","udn":"uuid:6069bb4c-4ea0-41bd-910a-a744326de3d6","powerState":"ACTIVE","renderer":[{"udn":"uuid:d9f8ef9f-2346-4f2f-979b-9d14612964b2","name":"Speaker Bad #2"}]},{"roomUDN":"uuid:0ceaf965-4f2c-483a-a561-093cd681774c","Volume":"30","Mute":"0","name":"Kueche","PowerState":"ACTIVE","online":true,"TransportState":"PLAYING","udn":"uuid:0ceaf965-4f2c-483a-a561-093cd681774c","powerState":"ACTIVE","renderer":[{"udn":"uuid:73750b37-541a-448c-b1d8-74a0a8a8160d","name":"Speaker Kueche #2"}]},{"roomUDN":"uuid:76c6bd3e-a459-476b-bb97-641b3e1b2b32","Volume":"45","Mute":"0","name":"Schlafzimmer","PowerState":"ACTIVE","online":true,"TransportState":"PLAYING","udn":"uuid:76c6bd3e-a459-476b-bb97-641b3e1b2b32","powerState":"ACTIVE","renderer":[{"udn":"uuid:f6cc31f4-9c45-4120-bcd3-df8ebd2b1d36","name":"Speaker Schlafzimmer #2"}]},{"roomUDN":"uuid:8812ff0a-e405-4ec4-ac28-aa0fc1a2be5c","Volume":"20","Mute":"0","name":"Buero","PowerState":"ACTIVE","online":true,"TransportState":"PLAYING","udn":"uuid:8812ff0a-e405-4ec4-ac28-aa0fc1a2be5c","powerState":"ACTIVE","renderer":[{"udn":"uuid:781ea306-d49e-422c-a681-367ad201409f","name":"Speaker Buero #2"}]},{"roomUDN":"uuid:af2ba29b-b3af-4114-ab73-78854d97704f","Volume":"31","Mute":"0","name":"Wohnzimmer","PowerState":"ACTIVE","online":true,"TransportState":"PLAYING","udn":"uuid:af2ba29b-b3af-4114-ab73-78854d97704f","powerState":"ACTIVE","renderer":[{"udn":"uuid:b61ae6a6-a99b-48d6-b4ff-bae7f4c51fa2","name":"Connector Wohnzimmer"}]}],"udn":"uuid:ffffffff-e492-0004-ffff-ffffe4920004","mediaItem":{"class":"object.item.audioItem.audioBroadcast.radio","section":"RadioTime","name":"Station","durability":"120","childCount":null,"parentID":"0/Playlists/MyPlaylists/RADIO%20BOB%21","id":"0/Playlists/MyPlaylists/RADIO%20BOB%21/3","restricted":"1","refID":"0/RadioTime/Search/s-s96189","title":"RADIO BOB!","description":null,"artist":null,"albumArtURI":"http://d1i6vahw24eb07.cloudfront.net/s9 … utsprecher Teufel GmbH","modelNumber":"2"},{"InstanceID":0,"AVTransportURIMetaData":"\nStationobject.item.audioItem.audioBroadcast.radioRadioTime120RADIO BOB!61http://d1i6vahw24eb07.cloudfront.net/s96189q.pnghttp://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=78%3Aa5%3A04%3Af1%3A88%3A64&id=s96189&c=ebrowse\n","CurrentTrackDuration":"0:00:00","PowerState":"ACTIVE","AVTransportURI":"http://192.168.188.22:56311/ffffffff-e4 ... 00":[{"name":"Kueche","udn":"uuid:0ceaf965-4f2c-483a-a561-093cd681774c","powerState":"ACTIVE","renderer":[{"udn":"uuid:73750b37-541a-448c-b1d8-74a0a8a8160d","name":"Speaker Kueche #2"}]}],"udn":"uuid:73750b37-541a-448c-b1d8-74a0a8a8160d","mediaItem":null,"friendlyName":"Speaker Kueche #2","host":"192.168.188.28","manufacturer":"Lautsprecher Teufel GmbH","modelNumber":"1"},{"InstanceID":0,"LowDB":"3.600000","Mute":"0","MidDB":"2.400000","Volume":"20","HighDB":"1.200000","AVTransportURIMetaData":"\nStationobject.item.audioItem.audioBroadcast.radioRadioTime120RADIO BOB!61http://d1i6vahw24eb07.cloudfront.net/s96189q.pnghttp://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=78%3Aa5%3A04%3Af1%3A88%3A64&id=s96189&c=ebrowse\n","CurrentTrackDuration":"0:00:00","PowerState":"ACTIVE","AVTransportURI":"http://192.168.188.22:56311/ffffffff-e4 … OK":[{"name":"Buero","udn":"uuid:8812ff0a-e405-4ec4-ac28-aa0fc1a2be5c","powerState":"ACTIVE","renderer":[{"udn":"uuid:781ea306-d49e-422c-a681-367ad201409f","name":"Speaker Buero #2"}]}],"udn":"uuid:781ea306-d49e-422c-a681-367ad201409f","mediaItem":null,"friendlyName":"Speaker Buero #2","host":"192.168.188.31","manufacturer":"Lautsprecher Teufel GmbH","modelNumber":"1"},{"InstanceID":0,"LowDB":"0.000000","Mute":"0","MidDB":"0.000000","Volume":"50","HighDB":"0.000000","AVTransportURIMetaData":"\nStationobject.item.audioItem.audioBroadcast.radioRadioTime120RADIO BOB!61http://d1i6vahw24eb07.cloudfront.net/s96189q.pnghttp://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=78%3Aa5%3A04%3Af1%3A88%3A64&id=s96189&c=ebrowse\n","CurrentTrackDuration":"0:00:00","PowerState":"ACTIVE","AVTransportURI":"http://192.168.188.22:56311/ffffffff-e4 … OK":[{"name":"Bad","udn":"uuid:6069bb4c-4ea0-41bd-910a-a744326de3d6","powerState":"ACTIVE","renderer":[{"udn":"uuid:d9f8ef9f-2346-4f2f-979b-9d14612964b2","name":"Speaker Bad #2"}]}],"udn":"uuid:d9f8ef9f-2346-4f2f-979b-9d14612964b2","mediaItem":null,"friendlyName":"Speaker Bad #2","host":"192.168.188.27","manufacturer":"Lautsprecher Teufel GmbH","modelNumber":"1"},{"InstanceID":0,"AVTransportURIMetaData":"\nStationobject.item.audioItem.audioBroadcast.radioRadioTime120RADIO BOB!61http://d1i6vahw24eb07.cloudfront.net/s96189q.pnghttp://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=78%3Aa5%3A04%3Af1%3A88%3A64&id=s96189&c=ebrowse\n","CurrentTrackDuration":"0:00:00","PowerState":"ACTIVE","AVTransportURI":"http://192.168.188.22:56311/ffffffff-e4 … 00":[{"name":"Schlafzimmer","udn":"uuid:76c6bd3e-a459-476b-bb97-641b3e1b2b32","powerState":"ACTIVE","renderer":[{"udn":"uuid:f6cc31f4-9c45-4120-bcd3-df8ebd2b1d36","name":"Speaker Schlafzimmer #2"}]}],"udn":"uuid:f6cc31f4-9c45-4120-bcd3-df8ebd2b1d36","mediaItem":null,"friendlyName":"Speaker Schlafzimmer #2","host":"192.168.188.30","manufacturer":"Lautsprecher Teufel GmbH","modelNumber":"1"},{"InstanceID":0,"LowDB":"3.600000","Mute":"0","MidDB":"1.800000","Volume":"31","HighDB":"0.600000","AVTransportURIMetaData":"\nStationobject.item.audioItem.audioBroadcast.radioRadioTime120RADIO BOB!61http://d1i6vahw24eb07.cloudfront.net/s96189q.pnghttp://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=78%3Aa5%3A04%3Af1%3A88%3A64&id=s96189&c=ebrowse\n","CurrentTrackDuration":"0:00:00","PowerState":"ACTIVE","AVTransportURI":"http://192.168.188.22:56311/ffffffff-e4 … OK":[{"name":"Wohnzimmer","udn":"uuid:af2ba29b-b3af-4114-ab73-78854d97704f","powerState":"ACTIVE","renderer":[{"udn":"uuid:b61ae6a6-a99b-48d6-b4ff-bae7f4c51fa2","name":"Connector Wohnzimmer"}]}],"udn":"uuid:b61ae6a6-a99b-48d6-b4ff-bae7f4c51fa2","mediaItem":null,"friendlyName":"Connector Wohnzimmer","host":"192.168.188.32","manufacturer":"Lautsprecher Teufel GmbH","modelNumber":"2"}]}
Unter dem Punkt "rooms" befinden sich die einzelnen Räume! [{"roomUDN":"uuid:6069bb4c-4ea0-41bd-910a-a744326de3d6","Volume":"50","Mute":"0","name":"Bad","PowerState":"ACTIVE","online":true,"TransportState":"PLAYING","udn":"uuid:6069bb4c-4ea0-41bd-910a-a744326de3d6","powerState":"ACTIVE","renderer":[{"udn":"uuid:d9f8ef9f-2346-4f2f-979b-9d14612964b2","name":"Speaker Bad #2"}]},{"roomUDN":"uuid:0ceaf965-4f2c-483a-a561-093cd681774c","Volume":"30","Mute":"0","name":"Kueche","PowerState":"ACTIVE","online":true,"TransportState":"PLAYING","udn":"uuid:0ceaf965-4f2c-483a-a561-093cd681774c","powerState":"ACTIVE","renderer":[{"udn":"uuid:73750b37-541a-448c-b1d8-74a0a8a8160d","name":"Speaker Kueche #2"}]},{"roomUDN":"uuid:76c6bd3e-a459-476b-bb97-641b3e1b2b32","Volume":"45","Mute":"0","name":"Schlafzimmer","PowerState":"ACTIVE","online":true,"TransportState":"PLAYING","udn":"uuid:76c6bd3e-a459-476b-bb97-641b3e1b2b32","powerState":"ACTIVE","renderer":[{"udn":"uuid:f6cc31f4-9c45-4120-bcd3-df8ebd2b1d36","name":"Speaker Schlafzimmer #2"}]},{"roomUDN":"uuid:8812ff0a-e405-4ec4-ac28-aa0fc1a2be5c","Volume":"20","Mute":"0","name":"Buero","PowerState":"ACTIVE","online":true,"TransportState":"PLAYING","udn":"uuid:8812ff0a-e405-4ec4-ac28-aa0fc1a2be5c","powerState":"ACTIVE","renderer":[{"udn":"uuid:781ea306-d49e-422c-a681-367ad201409f","name":"Speaker Buero #2"}]},{"roomUDN":"uuid:af2ba29b-b3af-4114-ab73-78854d97704f","Volume":"31","Mute":"0","name":"Wohnzimmer","PowerState":"ACTIVE","online":true,"TransportState":"PLAYING","udn":"uuid:af2ba29b-b3af-4114-ab73-78854d97704f","powerState":"ACTIVE","renderer":[{"udn":"uuid:b61ae6a6-a99b-48d6-b4ff-bae7f4c51fa2","name":"Connector Wohnzimmer"}]}]
ich benötige Daten für Volume, Mute, TransportState der einzelnen Räume. Da sich die roomUDN bei Veränderung der Raumfeld Konfiguration verändern kann, muss ich die Daten über den Namen wie "Kueche" rausfiltern und in Objekte bekommen.In OpenHab hatte ich das mit JSONPATH($.data..rooms[?(@.name=='Buero')].Mute) hinbekommen.
Im nächssten Schritt, noch nicht so wichtig, brauche ich aus dem Header auch die UpdadeId damit ich diese beim nächsten Request mitsenden kann und nur bei Veränderung eine Antwort bekomme.
Ich hoffe mal das mir der ein oder andere mit Lösungsansätzen weiterhelfen kann.
MfG
Rossi
-
Bin nachher am PC Dan könnte ich ein Beispiel Posten.
Im Grunde kannst du mit json.stringify Al diese Werte auslesen, das würde dann ungefähr so aussehen : (Beispiel)
log(JSON.stringify(getObject("system.adapter.unifi.0").native.update_interval))
Mi dem Code da oben lese ich zB aus welche Update Intervall für den Unify Adapter hinterlegt ist.
Das getObject ändern in die source deines object (denke Mal du's hast das in einer Variable)
Sent from my iPhone using Tapatalk
-
ich habe mal das Script zusammengebastelt
var abfrage = "curl \u0022Content-Type: application/json\u0022 http://192.168.188.41:8080/raumserver/data/getRendererState"; function abfrageStarten() { exec(abfrage, function(err, stdout, stderr) { if (err) { log("Error: " + err,"warn"); return; } log(JSON.stringify(stdout).data) ; }); } log(abfrage); abfrageStarten();
wenn ich das .data weglasse bekomme ich (für mich logischerweise) die ganze Response in den log. Mit .data bekomme ich den log:
! javascript.0 2018-11-15 21:20:06.689 info Stop script script.js.tet.JSON_Abfrage.Skript3
! javascript.0 2018-11-15 21:20:03.034 info script.js.tet.JSON_Abfrage.Skript3: undefined
! javascript.0 2018-11-15 21:20:02.975 info script.js.tet.JSON_Abfrage.Skript3: registered 0 subscriptions and 0 schedules
! javascript.0 2018-11-15 21:20:02.962 info script.js.tet.JSON_Abfrage.Skript3: curl "Content-Type: application/json" http://192.168.188.41:8080/raumserver/d … dererState
Woran kann das liegen?Meine Kenntnisse mit Scripten sind halt auch ziemlich begrenzt. Bei dem meisten Sachen komme ich irgendwie durch suchen im Forum zurecht, diesmal aber leider nicht