My Showcase Project

So…its not completely finished, but I feel its mature enough to share and hopefully inspire others… any questions about what I’ve done and how, let me know and I would be happy to share…

First, my setup…
I have a system that is centralised as much as possible, with an AV Rack in a ‘comms room’ with all Amps, Receivers, SkyBox, BD player, NAS storage and so on.

Audio and Video is distributed from the Rack across the house over CAT5e. Almost all of my legacy analog stuff is now replaced by HDMI which makes things much easier.

Control to the equipment is mixed… as much LAN control as possible but devices like Sky Box and Panasonic BD are on a Global Cache IP2IR so they lack the feedback that LAN or 232 would give.

Home Control is all through Vera, and I have many generations and mixes of lighting and equipment control based on what’s been affordable or pragmatic at the time… it includes quite a lot of LightwaveRF, some ZWave, some MiLight and most recently my tech of choice for lighting and switches is Sonoff. All are connected to Vera Edge.

TV Control is by two methods… a few of my TVs are LGs with WebOS so this makes control easy from Home Remote natively… but several are either Sony or Samsung without LAN, so I control these using a cheap IP2IR box from Keene called a Kira. BUT…these boxes use UDP to control them so not supported by Home Remote, so I use Vera as a gateway to controlling them. I built a custom Home Remote plugin so that Home Remote thinks its controlling a TV directly, but its really just sending HTTP commands to Vera to control the TVs over UDP.

One of my most important integrations with Vera is with my Texecom Alarm. You will see in my pics below that just about everything in my house has a sensor or detector on it…and this allows me to fire off scenes, turn on lights, turn lights off automatically, capture CCTV images and so on. Also, rather cool is the geofencing that turns the whole house off and sets the alarm when I leave the house.

Now, I took the decision early on to put all my scenes into one place… Vera. So even though Home Remote could control all the devices associated with a “Watch FireTV” scene (for example), I decided it would be easier to maintain scenes in one place, so I use Home Remote to fire off Vera Scenes.

All of the above is now controlled and monitored using Home Remote on 10" £100 MeBerry Android Tablets wall mounted in four of the main rooms. I managed to get these tablets with a folio type case, and I ripped them apart to leave me with a rigid plastic surround that I screwed to the wall and it holds the tablets perfectly. A right-angle USB-C charging cable keeps it looking neat. These wall mounted tablets are AWESOME for £100 each!. A mini version of this controller for my iPhone is under development.

So, lets take a look…

First off the screensaver…it kicks in at 1200 seconds and plays a looping asteroid field video with a paging image in the centre;

The Tablet Looking Screen was created… (wait for it)… in Powerpoint… yup. Powerpoint. It gives me a clean menu tab-style interface that even the wife and daughter have no trouble with.

My Temperature Monitoring screen shows me all the Room and Radiator temperatures as well as using the OpenWeather Plugin for a weather forecast. I didn’t like the icons that came with OpenWeather API so I replaced them… easy enough to do once nice icons were found for free;

My CCTV page shows me a paged view of my cameras around the house;

My Whole Home Audio page is probably the most used… it allows me to control all Audio Amps, Sources, Volume across the entire house, and there are a few Presets to level the volume across the house;

I mapped the house using Sweethome3D to create renderings of the house in three ways… Outside, Downstairs and Upstairs… this allowed me to overlay things like the temperature sensors into the context of the house;

… Same for Security… and Lights…

All of these lightbulbs are buttons that allow the light to Toggle. However, in a few of the main rooms I have multiple lights in the room, so I show individual controls that include switches, dimmers and RGB colour selection as shown below;

When a Motion Sensor is tripped, the alert is shown briefly on top of the current screen;

I confess that I struggled with the idea of whether to incorporate “remote control” capabilities for things like TV and BD because obviously this is a wall mounted project, not a arm chair remote, but I lost the battle with myself and incorporated it anyway - if for no other reason than to know what the daughter was watching upstairs and to fire off the scenes to set all the devices and lighting for a comfy movie night in the cinema…

Finally…just because we can, I included a weather forecast page;

So, lets summarise…

I am using the following devices/plugins;

  • 3 LG WebOS Tvs

  • Two Global Cache IP2IR controlling 5 devices in the rack between them - Panasonic BD, Pioneer Amp, SkyHD, and some old Amps

  • Yamaha Plugin for Musicast Receivers - I have two (whoever wrote this device plugin is a genius because it works awesome. Kudos)…

  • I took a Plugin for Pioneer VSX/SCLX Receivers that someone had written and (sorry) but I had to butcher it completely. It seemed to use two separate devices for Commands and Feedback instead of four devices one for each zone… anyway, it wasn’t very good so I rewrote it to support all zones as separate devices in the same plugin… and I added a bunch of missing functionality.

  • I built a plugin for my legacy TVs that are controlled by Keene Kira IP2IR boxes as mentioned above

  • The OpenWeather Plugin discussed by Bill and others in this forum

  • The Screensaver Plugin published by Bill, but I modified it to play video

  • Vera Plugin

  • Virtual Device for some global variables

CREDITS>>>

@bill for some help along the way
@Jdamore for inspiration… and for the idea on the soft fade animations between pages

Huge kudos to the dev guys on Home Remote. Having used OpenRemote, iRule and Imperihone before its demise, this is far and away the easiest and most extensible system I have used… even making new plugins and integrations is a breeze… well done guys.

Hopefully my project inspires others.

Send any questions… happy to help others.

7 Likes

Wow! Incredible.

How large is your .hrp?

Does it become a mess if you turn your tablet to portrait? Its extremely tricky to accomplish this kind of layout in both orientations. I keep the orientation locked on my tablets but for my phone, I wish HR could force orientation. Same as you, I’ve been trying to develop a mini version for my phone… something lite in size and faster startup but all the functionality of my main project. I just keep making so many hardware changes I can’t keep up lol.

PowerPoint… what a great idea. Definitely going to look into that. That’s what I’ve been missing.

This is certainly going to inspire many! Looking forward to seeing more!

Hi @Jdamore. thanks for the comments! :slight_smile:

My .hrp is about 13MB, but most of that is the screensaver video actually. I discovered two tricks to keep it responsivle;

First, to load just a single page and use page browsers to bring up the different pages… that way the only delay you get is when you initially launch the App - which for me is on a Power Schedule on the tablet (off at 10:30pm and on at 7:30am) with an App auto-launch for Home Remote.

The second hint is not to upload big images that you’re going to scale down in Home Remote for buttons or icons… scale them down BEFORE uploading them and it keeps things small and nimble.

Regarding rotation - not an issue for me, since my tablets are all wall mounted in landscape… and I cheated on the layouts anyway and locked everything to absolute coordinates on TOP and LEFT… I know I will have to grapple with relative coordinates in the margins when I come to my iPhone layouts though.

Below is the background png that I created in Powerpoint and then ran through an online transparency maker… unfortunately this forum won’t let me upload a pptx, but if anyone wants it, just send me a PM and I will send it to you.

Hi - The project looks great!

Out of interest I also butchered the VSX plugin. I came across a strange thing with my VSX 529… after polling and adjusting something the poll result would get mixed up and my volume query would return my input value or vice versa (also the power return could get mixed). Did you get something similar? I was able to resolve it by checking the first part of the returned string and assigning it based on that - so effectively ignoring what was polled and just assign based on the result.

PS its a pain at least for the 529 that you cannot assign a volume value so a slider could be used - for some reason this feature is not active on the UK models.

John

Hey John

thanks for the comments…

Yes, you’re right, that was one of the major flaws in the original VSX plugin, in that it would send a command over TCP, and then use whatever was in the receive buffer as the reply without syntax checking.

I made a nmber of changes, and one of them was not holding open the TCP channel… becuase that means my SC-LX57 could only talk to one thing at a time on each port. So I implemented a open/read/action/close method on each poll. And of course that means i can check the command received and apply the correct action without making any assumption based on the last command sent.

I don’t have the problem you have with the 529 tthough… I have a Volume Command in the protocol and it allows me to use the sliders perfectly fine. Do you have the Pioneer Protocol Spec? i can send if needed.

Cheers - good to speak to another UK guy :slight_smile:

Yes I have the spec for the protocols but for some reason the command for volume only works for increase and decrease icrementaly for me. I think the command is ***VL where the *** is the value setpoint - does this work for you?

John.

Hi John

Yes, thats the correct code and it works on my SC-LX57. Heres my plugin code;

case “Volume”:
if (value<10)
command = “00” + value.toString() + “VL”;
else if (value<100)
command = “0” + value.toString() + “VL”;
else
command = value.toString() + “VL”;
device.VolumeDecibel = (value/2)-80.5;
socket.send(command + “\r”, {timeout : SendTimeout});
break;

Note the importance of leading zeros…but I assume you had that covered?

Hi Martyn,

I tried to send 005VL and also 010VL as example commands - neither resulted in a volume change maybe the 529 doesn’t have this feature - seems a bit strange. Now o come to think about it I think I read somewhere that certain models don’t have that particular command. It’s a shame I like using a slider rather than increment.