Home Automation Integration

SonoPhone 1.0.1 comes with Improved Home Automation Integration.

Those of you doing home automation, typically use a different App as their main remote control App. Typical examples are CommandFusion , iRuleiRemoteControl for simple tasks or more advanced Apps like KNX ProServ.

These tools often allow you to start a different App with a short URL, so you are able to directly start SonoPhone (or in the meantime even the official Sonos App) from them.

Unfortunately there are some problems with this approach (well not anymore with SonoPhone):

  • your home automation tools are typically centered around rooms, so just starting a Sonos Controller with an arbitrarily selected room is confusing
  • at some point you want to get back to your Home Automation App. Pressing the home button of your iPad and selecting the App on the iPads main screen is inconvenient.
Enough talk – show me examples!
Ok, ok – Here is an example from the KNX ProServ App  (this is an App to control your whole home, based on the KNX bus), to show you what is possible. Same will also work in iRule, CommandFusion etc.
photo 1
As you can see, this App is configured to control the whole room (blinds, temperature, …). In this example it also contains a link to SonoPhone.
When you tap it, SonoPhone will automatically start with the player selected in the ProServ App, so you can start controlling the music in this room right ahead.
In addition SonoPhone will include a small icon to directly jump back to the ProServ App. No need to go via the main menu of the iPhone anymore!
returnURL
So how does all this magic work?
Actually quite simple. The ProServ App only needed to configure the following URL to start SonoPhone:
sonophone://?returnURL=iknix%3A%2F%2F&defaultZone=RINCON_000E58E3D29601400
Let’s explain the different parts:

[styled_table]

sonophone://? the beginning of the URL tells iOS to start SonoPhone
returnURL=iknix%3A%2F%2F

the URL to return to, when the user presses the icon in SonoPad. It’s URL-encoded, so actually it reads

iknix://

If you leave out this parameter, SonoPad won’t show the icon to return to the original App.
The Remote Apps (i.e. CommandFusion) are not consistent if they need this kind of URL-encoding, so for some it works also without encoding. See some more examples below this table.

& separator, to tell iOS the next parameter starts
defaultZone=RINCON_000E58E3D29601400

UUID of the player that should be selected by default, when SonoPhone starts.To find the UUIDs of your players, enter the About Dialog of your Sonos Desktop Controller. It will list the IP addresses of your SonosBoxes. Take one IP, open a browser and surf to the URL (replacing the xxx with your IP):http://xxx.xxx.xxx.xxx:1400/status/topology

You will see a list of all players and on the right also a column UUID.

If you leave out this parameter, SonoPad will revert to it’s default behaviour, i.e. on start it will select the SonoBox that was selected when you left SonoPad the last time.

[/styled_table]

Here are some other example URLs:

iRule sonophone://?returnURL=irule%3A%2F%2F&defaultZone=RINCON_000E582AAFEA01400
CommandFusion sonophone://?returnURL=iviewer://&defaultPlayer=00:04:20:27:91:1f
tpcontrol sonophone://?returnURL=tpcontrol://&defaultPlayer=00:04:20:27:91:1f
Gira HomeServer sonophone://?returnURL=girahshd://

There are even more option to try out!
Right now there are still documented on the SonoPads website here: Improved Home Automation (Part II) , but they all work in SonoPhone as well.

Hope you enjoy this new feature! If there are any questions, don’t hesitate to contact me via support(at)sonophone.net