Thanks for sharing your config, I’ve made a bit of progress here too. I’ve currently got both successfully binding to two IPs on a single NIC.
I’ve got the NIC getting the IP address 10.0.1.100 by DHCP reservation. I’ve also got a reserved region for static IPs from 10.0.1.231-10.0.1.254, so I assigned a secondary/alias IP manually from that range.
I then bound homeassistant’s lifx component to the primary IP, and homebridge-lifx-lan to the secondary (see below configuration extracts). It seems to have worked. I can now start both homebridge and homeassistant without errors, and I can control the light from both homekit and home assistant.
One thing I noticed is that at times the ios app (apple home) and web app (home assistant) can take a while to update the status of the light should it be controlled from the other app. This seems especially to be the case if controlling the app from home assistant. Usually reopening the app/refreshing the page does the trick.
My theory is that this is probably due to the routing configuration with the two IPs (I’ve not changed the routing at all), with the broadcast update from the lights not being picked up . This would be consistent with the fact that a refresh/app reload will update the lights due to a probable polling of the light when the device control is loaded and synchronised.
It probably isn’t too big a problem, as issuing a command or interacting with a widget seems to get the light into sync in short order, and I only plan on using homekit for voice control, so I don’t actually care too much that the status isn’t updating in the app immediately.
I might try creating a namespace and binding my second NIC to it this weekend to see if that changes the behaviour, or if this is more a standard sync delay that the LIFX bulbs have.
My config as follows:
/etc/network/interfaces
auto eno1
iface eno1 inet dhcp
iface eno1 inet static
address 10.0.1.240/24
homeassistant:
configuration.yaml
light:
- platform: lifx
broadcast: 10.0.1.255
server: 10.0.1.100
homebridge:
config.json
"platforms": [ {
"platform" : "LifxLan",
"name" : "LiFx",
"address" : "10.0.1.240" },