This is a Denon CEOL Piccolo remote http API and minimalistic web interface running on NodeJS. Note that the functionality is relevant only to my own needs, but the interface can be easily extended.
- Install git, nodejs, npm
- Clone this repository
- Install nodejs dependencies:
npm install
- Install forever globally:
sudo npm install forever -g
- Install forever linux service
sudo npm install -g forever-service
- Execute application:
forever start index.js
or provision as a service:sudo forever-service install denon --script index.js
- View interface on http://host:port
Discovered with tcpdump that Denon iPhone app uses HTTP requests instead of Telnet connection. There is no known documentation about this API from Denon
ssh root@192.168.1.1 tcpdump -i br-lan dst 192.168.1.168 -U -s0 -w - > tdump
http://192.168.1.168/goform/formNetAudio_StatusXml.xml
http://192.168.1.168//goform/formiPhoneAppDirect.xml?MVUP
http://192.168.1.168/goform/formiPhoneAppPower.xml?1+PowerStandby
http://192.168.1.168/goform/formiPhoneAppFavorite_Call.xml?01
http://192.168.1.168/goform/formiPhoneAppControlJudge.xml
http://192.168.1.168/goform/Deviceinfo.xml
http://192.168.1.168/NetAudio/art.asp-jpg?1630075616
http://192.168.1.168:8080/description.xml
http://192.168.1.168:8080/RenderingControl/desc.xml
GetAllZonePowerStatus GetVolumeLevel GetMuteStatus GetSourceStatus GetNetAudioStatus GetZoneName GetRenameSource GetDeletedSource GetDeletedNetworkSource GetSystemFavoriteList