Suggestion: server application for testing API requests for multiple devices



  • re: Sony Audio Control API

    Hi. When programming for many devices, often an emulator is provided for developers to enable testing without needing to possess all the possible supported devices.

    Would Sony please consider perhaps making an application/script to run on a web server somewhere that would respond to API method requests as if it were a real device? Obviously it wouldn't need any functionality except storing settings and responding to JSON requests.

    Querying different port numbers could get a response from a different "device". That way we could test the API responses from many Sony devices, supporting the various versions of the API (e.g. STR-DN1080, STR-DN1070, STR-DN1060, etc, various soundbars, etc) without the financial outlay and setup logistics involved.

    Thanks in advance for your consideration.



  • It's quite difficult to get a reply here, I see.

    Anyway, perhaps an small downloadable application or script would be an alternative. One could run it on a pc, and it could respond as if it's an actual receiver/sound bar/speaker.

    Not having exhaustive API documentation publicly available for every device, including older devices, means that the creation of such an application could not be made without owning and reverse engineering all applicable models.



  • Hi sorry for late response.
    Unfortunately we don't have any emulator, and I don't have the resources to create one. I don't have access to any older versions of any device other than the one listed as supported.



  • @david, thanks for the reply. How about documentation for the older models please?



  • Sorry, have only got the permission to release the documentation for the specific models.



  • @david ok, thanks anyway. I had to ask. 🙂



  • The more that ask the more I have to bargain with ☺



  • @david do you have access to a STR-DN1070? If so, are you allowed to and willing to query it and post the resulting JSON for getSoundSettings with no target specified please?



  • @grolschie I have a STR-DN1070 some where but not currently setup. But I will have a look.



  • @david, thank you! 😃



  • @grolschie Will have to comeback to the DN1070 the one I have is at the moment lent.



  • @david ok, thanks anyway for following that up with me.



  • @grolschie Finaly got access to the STR-DN1070...

    {
        "id": 73,
        "result": [
            [
                {
                    "candidate": [
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "2ch Stereo",
                            "titleTextID": "sound-soundfield-afd-2ch",
                            "value": "2chStereo"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Multi Ch Stereo",
                            "titleTextID": "sound-soundfield-afd-multistereo",
                            "value": "multiStereo"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Direct",
                            "titleTextID": "sound-soundfield-afd-autoformatdirect",
                            "value": "direct"
                        },
                        {
                            "isAvailable": false,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "",
                            "titleTextID": "sound-soundfield-afd-off",
                            "value": "off"
                        }
                    ],
                    "currentValue": "multiStereo",
                    "deviceUIInfo": "soundFieldFig",
                    "isAvailable": true,
                    "target": "autoFormatDirect_2ch",
                    "title": "2CH/MULTI",
                    "titleTextID": "sound-soundfield-afd",
                    "type": "enumTarget"
                },
                {
                    "candidate": [
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "HD-D.C.S. Dynamic",
                            "titleTextID": "sound-soundfield-movie-dynamic",
                            "value": "hdDcsDynamic"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "HD-D.C.S. Theater",
                            "titleTextID": "sound-soundfield-movie-theater",
                            "value": "hdDcsTheater"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "HD-D.C.S. Studio",
                            "titleTextID": "sound-soundfield-movie-studio",
                            "value": "hdDcsStudio"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "PLll Movie",
                            "titleTextID": "sound-soundfield-movie-logic2",
                            "value": "proLogicII"
                        },
                        {
                            "isAvailable": false,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "PLllx Movie",
                            "titleTextID": "sound-soundfield-movie-logic2x",
                            "value": "proLogicIIx"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Neo:6 Cinema",
                            "titleTextID": "sound-soundfield-movie-6cinema",
                            "value": "neo6Cinema"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Front Surround",
                            "titleTextID": "sound-soundfield-movie-frontsurround",
                            "value": "frontSurround"
                        },
                        {
                            "isAvailable": false,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "",
                            "titleTextID": "sound-soundfield-movie-off",
                            "value": "off"
                        }
                    ],
                    "currentValue": "off",
                    "deviceUIInfo": "soundFieldFig",
                    "isAvailable": true,
                    "target": "soundFieldMovie",
                    "title": "Movie",
                    "titleTextID": "sound-soundfield-movie",
                    "type": "enumTarget"
                },
                {
                    "candidate": [
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Audio Enhancer",
                            "titleTextID": "sound-soundfield-music-audioenhancer",
                            "value": "audioEnhancer"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Concert Hall A",
                            "titleTextID": "sound-soundfield-music-concerthalla",
                            "value": "concertHalla"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Concert Hall B",
                            "titleTextID": "sound-soundfield-music-concerthallb",
                            "value": "concertHallb"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Concert Hall C",
                            "titleTextID": "sound-soundfield-music-concerthallc",
                            "value": "concertHallc"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Jazz Club",
                            "titleTextID": "sound-soundfield-music-jazz",
                            "value": "jazz"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Live Concert",
                            "titleTextID": "sound-soundfield-music-live",
                            "value": "live"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Stadium",
                            "titleTextID": "sound-soundfield-music-stadium",
                            "value": "stadium"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Sports",
                            "titleTextID": "sound-soundfield-music-sports",
                            "value": "sports"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "PLll Music",
                            "titleTextID": "sound-soundfield-music-logic2",
                            "value": "proLogicIIMusic"
                        },
                        {
                            "isAvailable": false,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "PLllx Music",
                            "titleTextID": "sound-soundfield-music-logic2x",
                            "value": "proLogicIIxMusic"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Neo:6 Music",
                            "titleTextID": "sound-soundfield-music-6music",
                            "value": "neo6Music"
                        },
                        {
                            "isAvailable": false,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "",
                            "titleTextID": "sound-soundfield-music-off",
                            "value": "off"
                        }
                    ],
                    "currentValue": "off",
                    "deviceUIInfo": "soundFieldFig",
                    "isAvailable": true,
                    "target": "soundField",
                    "title": "Music",
                    "titleTextID": "sound-soundfield-music",
                    "type": "enumTarget"
                },
                {
                    "candidate": [
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "On",
                            "value": "on"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Off",
                            "value": "off"
                        }
                    ],
                    "currentValue": "off",
                    "isAvailable": true,
                    "target": "pureDirect",
                    "title": "Pure Direct",
                    "titleTextID": "sound-puredirect",
                    "type": "booleanTarget"
                },
                {
                    "candidate": [
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Off",
                            "titleTextID": "sound-soundoptimizer-off",
                            "value": "off"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Normal",
                            "titleTextID": "sound-soundoptimizer-normal",
                            "value": "normal"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Low",
                            "titleTextID": "sound-soundoptimizer-normal",
                            "value": "low"
                        },
                        {
                            "isAvailable": false,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "",
                            "titleTextID": "sound-soundoptimizer-off",
                            "value": ""
                        }
                    ],
                    "currentValue": "normal",
                    "isAvailable": true,
                    "target": "optimizer",
                    "title": "Sound Optimizer",
                    "titleTextID": "sound-soundoptimizer",
                    "type": "enumTarget"
                },
                {
                    "candidate": [
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Off",
                            "titleTextID": "sound-calibrationtype-off",
                            "value": "off"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Full Flat",
                            "titleTextID": "sound-calibrationtype-fullflat",
                            "value": "fullFlat"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Engineer",
                            "titleTextID": "sound-calibrationtype-engineer",
                            "value": "engineer"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Front Reference",
                            "titleTextID": "sound-calibrationtype-frontreference",
                            "value": "frontReference"
                        }
                    ],
                    "currentValue": "off",
                    "isAvailable": false,
                    "target": "calibrationType",
                    "title": "Calibration Type",
                    "titleTextID": "sound-calibrationtype",
                    "type": "enumTarget"
                },
                {
                    "candidate": [
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "1: Movie ",
                            "titleTextID": "custompreset-custompreset-movie",
                            "value": "movie"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "2: Music ",
                            "titleTextID": "custompreset-custompreset-music",
                            "value": "music"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "3: Party ",
                            "titleTextID": "custompreset-custompreset-party",
                            "value": "party"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "4: Night ",
                            "titleTextID": "custompreset-custompreset-night",
                            "value": "night"
                        },
                        {
                            "isAvailable": true,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "Undo",
                            "titleTextID": "custompreset-custompreset-off",
                            "value": "off"
                        },
                        {
                            "isAvailable": false,
                            "max": -1,
                            "min": -1,
                            "step": -1,
                            "title": "",
                            "titleTextID": "custompreset-custompreset-null",
                            "value": ""
                        }
                    ],
                    "currentValue": "",
                    "deviceUIInfo": "soundFieldFig",
                    "isAvailable": true,
                    "target": "sceneSelection",
                    "title": "Custom Preset",
                    "titleTextID": "custompreset-custompreset",
                    "type": "enumTarget"
                }
            ]
        ]
    }
    


  • Hi @david
    Thank you so much for remembering and for posting this info. I really appreciate it! 🙂



  • @david do you know, or if you have the time and don't mind, are you able to see if, "proLogicIIx" (target: "soundFieldMovie") and "proLogicIIxMusic" (target: "soundField") actually trigger these modes on the 1070 please?

    The 1060 supports these commands, but they do nothing. Maybe it's the same on the 1070?

    Also, what version of "setSoundSettings" are you sending the 1070 please?

    Thanks in advance.

    Interestingly, on the 1070 there seems to be no "auto" option for "autoFormatDirect_2ch" target.



  • @grolschie I using version "1.1" for both get and set SoundSettings and both "proLogicIIx" (target: "soundFieldMovie") and "proLogicIIxMusic" (target: "soundField") changes modes on the 1070.



  • @david, wonderful! Thank you so much.