Lifx provide a LAN protocol which doesn't touch their servers - https://lan.developer.lifx.com/

I was too lazy to use it though.