Blog 
Home Automation.
Sunday 27th May 2018
I am currently getting in to home automation.
This semester at Uni I learnt how to program Android Apps, and took it upon myself to learn the basics of Bluetooth connections via an Android device to something like a Raspberry Pi.
There are heaps of resources online for this kind of stuff, I found circuit diagrams and schematics for how to build an IR sender/receiver and RF (radio frequency) controllers for the Raspberry Pi; The parts for which I have ordered so I can control things like my Aircon\Heater or garage door via a web interface.
I also have an overly elaborate plan for a door bell, but I'll get to that.
I got a Denon AVR-X1000 series unit as part of my audio surround sound setup. - it has neat features such as internet radio and other streaming services, but I was disappointed to learn that aside from no AM tuner
I am not able to customize the internet radio stations list, and my favourite AM radio station, that also streams was not on the list of available presets.
I got around this by plugging a Raspberry Pi into the HDMI auxiliary port and used omxplayer to start the stream, and added a web interface to toggle on\off for convenience. (or just SSH in to the thing.)
But I wasn't satisfied with this, Windows Media Player has this 'Play to' feature, allowing files selected on my computer to be stream to the unit over the network, because the unit supports Windows Media Player protocols, if the unit is in standby mode, it will be turned on by the stream request. - my Raspberry Pi can't do this because it runs a Linux based system.
Getting to my elaborate door bell system, I was planning to stick a single
So, the Bluetooth button would send a command to the Raspberry Pi to play a doorbell sound, I don't wanna setup a second pair of speakers just for this task, so I needed to figure out a way to wake the Denon AVRX unit from its slumber, this would also make the sound loud and auditable.
I was originally just going to use an IR code and send an IR signal to power on the unit, but without knowing what the state the unit was currently in, there is a chance I could turn it off by mistake.
I took a look at the Denon AVR Remote app and tried to figure out how it does it over the Wi-Fi network, eventually discovered I could control the unit via telnet protocol from my Windows PC or just about any device that supports telnet (Raspberry Pi\Linux etc.)
I found a copy of the protocol specification and communication format that supports my unit, and now it is 2AM and I'm crying because it works and I can now turn my unit on and off by sending commands to it over the network. 🙂
Screenshot is from Wireshark capture and protocol specification.
Home appliance hacking is fun.
Home | Blog Index | RSS
