Skip to main content

smarter home

well, it's not quite home automation, but i've upgraded my home systems. Here's a bit about what it does now. It's a lot simpler now not to mention easier to setup.

The brain
The core system now lie within a mac mini snow leopard server attached to the living room PC. I got one direct from apple store. it's very cool and not to mention cheap. ideal for home use. it's a home theater pc as well as running all the other IT services, i.e. DNS, DHCP, VPN and some other misc Apple stuff, like website, wiki, podcast and mail.

It monitors all the other network equipment, network attached storage (NAS), all in one printer, cameras and wireless access points. Essentially, I VPN to the box and through my secure VPN access all the other home systems without the messiness of having to NAT individual ports. It also adds another layer of security for remote access.

DHCP and DNS also helps each connected device find each other better that it would if I relied on the DHCP/DNS services of the internet router. I just needed to configure the DNS to accept recursive queries from "none" to "".

The DHCP scope is of course in that case 192.168.1.x (just make sure it's after the range you want to reserve for static IP addresses like the servers or security cameras. I created static maps to the printers, so that in case they were moved around they would still be able to do DHCP.

The mac mini provides remote login via VNC for windows and screen sharing on the mac clients. So that means on whatever device I happen to be on, i can always access the screen and applications on the mac mini. That also acts as a remote control if I have the TV on and too lazy to reach for the bluetooth keyboard and wireless mouse.

If the kids kick me off the TV, I just move to the next computer and carry on where I left off. I have a Canon PIXMA wireless printer which I think I enabled bonjour. So that means wireless scanning and printing is available without wires to another portion of the house (e.g. the messy study), leaving the sleekness outside.

As you may notice when you check out the snow leopard server mac mini is that it doesn't have a DVD rom. Well I have a mac book pro, so that means I use remote disk sharing, but i think the need for DVDs are slowly decreasing. Which brings about the next point on home entertainment

Media Systems
From the rule of only having one TV in the house, that's slowly changing with the availability of TVs these days. It seems everyone is giving away TVs and there is absolutely no value in second hand televisions.

I bought a 32in LED tv a while back and it's really done a pretty niffy job to date. Well, since then it's been joined by an Akira LED (although it doesn't look LED) and the Samsung 40in LED smart tv.

There are several ways to watch the same media in different rooms on different devices. obviously the first step would be to convert the DVDs to a playable file and copying it onto a shared storage, e.g. NAS. From there most network media players can access file shares and play xvid.

Remote access
The iphone 4 works great as a remote to a mac mini especially with no issues with tunneling through a linksys router. couple that with mocha vnc, it's like a remote desktop without having to expose the remote access from the internet.

it also lets you do whatever that you can do as if you're on your home network.

Well, I guess there wasn't any home automation like turning off the lights after you leave the house, but that's just good habit to turn off everything you don't need and there shouldn't be any cooling the house before you come home either, that's just not friendly. well, is leaving a mac mini on throughout the day any better? Well, it's better than a full blown PC or server and you also do use it when you're away. so there.

let me know if you think this is any smarter.


Popular posts from this blog

Multiple Broadlink RM mini 3 integration using MQTT

Broadlink now has quite a lot of integration options almost out of the box. If you enable Broadlink IHC, you can directly link it to Alexa by giving the device a unique name.

There is a homebridge plug in for homekit integration but I haven't tried or tested this.

I wanted to put the device in domoticz so I can have more control over what can trigger my broadlink. I decided to use broadlink-mqtt for this, which is a fairly easy method to trigger from any source.

Setup Instructions for broadlink-mqtt

1. git clone

2. vi /home/pi/broadlink-mqtt/mqtt.conf

3. Update the mqtt.conf file with the device type set as multiple_lookup

device_type = 'multiple_lookup'
mqtt_multiple_subprefix_format = '{type}_{mac_nic}/'
4. Start the python script and check that it started and detected all the RM devices.
Check the log file to see what the IP / MAC addresses are. DEBUG Connected to RM2 Broadlink device at …

Fibaro HCL Virtual Device Slider

How to setup Fibaro home center lite (HCL) slider for virtual devices.

As the Fibaro HCL does not support LUA. The question was how to update the number value of the slider to send to the HTTP string. Thanks to this site which is a really good reference

The 2 use cases here are;

Sonos HTTP API Volume

To allow for volume control for all Sonos devices, add a virtual device with the IP address for SONOS HTTP API and specify the default port to 5005. Create Slider and put the following text into the string.

GET /volume/_sliderValue_ HTTP/1.10x0D0x0A0x0D0x0A

Domotiz Virtual Devices

GET /json.htm?type=command&param=switchlight&idx=XX&switchcmd=Set%20Level&level=_sliderValue_ HTTP/1.10x0D0x0A0x0D0x0A

Replace XX with the device ID.

Restart Fibaro HCL when it stops working automatically

It seems that the Fibaro HCL seems to hang every now and then. Instead of trying to restart it regularly, which doesn't really work, as it's almost impossible to predict when this will happen.

This method checks that the HCL is actually running and in the event it stops working, trigger a script that will restart it.

1. Get a non Fibaro controlled power plug and scripts to control it.

I used a wifi smart plug, TP-link HS100 and downloaded the scripts from

2. Create a bash script to restart the Fibaro, e.g.



$scripts/ -t $ip_addr -c off
sleep 10
$scripts/ -t $ip_addr -c on

3. Create a test global variable in the Fibaro HCL

Go to the variables panel and create a test variable, e.g. Test

4. Add a cron entry to test that the Fibaro API is still working and restart if it's not.

The cron script is scheduled ev…