Skip to main content

I/O, Lets Go

The world of USB is rather amazing. Practically every other device comes with a USB interface. In fact to cope with this

Distributing your Bus

Most magazines will mention to utilise the different buses as much as possible, which is part of my current quests. However the last article I read in Mac Addict didn't mention anything about controlling the number of USB devices to each USB bus. Well, I haven't actually ran into any USB problems with my ibook, but i've actually at one stage ran out of USB resouces on my AMD desktop. The logitech webcam was actually the killer which now resides on my ibook instead.

As a matter of fact, you can actually take a look at how much juice each usb device is taking up so that you dont kill each USB host controller.

In windows XP (I use the classic layout), Control Panel > System > Hardware > Device Manager > Universal Serial Bus Controllers.

Look for the entry that ends with controller. Click on the "Advanced" tab and it will show you how much bandwidth the device takes up. Of course, when idle it uses less. If you have a USB soundcard like I do. Make sure that that has its own controller. When you stick a usb midi controller on the same bus, you dont get a kaboom, but after a while, you will get rather cross when you realise that your audio is doing funny things and dropouts start occuring.

USB vs Firewire

Naturally Firewire being the prefered interface solely for stability and data transfer reliability, but USB should not be neglected especially when you use each for the strengths of certain devices.

Things I would have done over

I would have gotten a firewire audio interface instead, but those things were really expensive back then and tascam was pretty much the leader in DAW technology working with frontier to develop the us-428. Its a great tool, except its rumoured that the components in there are cheap. Channel 1 is lost its gain, so I'm inclined to believe it.

The Future

Raid 0 SATA disk for audio. I used to have a 10K rpm SCSI disk on a P3 667, before it died. It was a bit crazy on the price, but definately worth it. I actually heard complains from people about hold long rendering audio took on their machines which actually had a higher CPU spec than mine, but I've always normalised audio, etc really quick. I've come to believe that it was the SCSI disk. It will definately be missed :(

Unfortunately, I will not be looking at a full upgrade although, the dual processor G5 machines look sweet. Its all vanity there.


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…