At the moment, I guess the Philips Hue Alert Action app is trying to do a local subnet discovery via UPnP. Is there any way to force the IP of a bridge in circumstances where the client browser, Splunk server, and Hue Bridge are on different subnets?
OK, so, after a bit of tinkering, this is what you need to do:
In hue_alerts\bin\hue.py:
Comment out the existing discover_bridges_nupnp() function and add a new one in as below:
#def discover_bridges_nupnp():
#req = urllib2.Request('https://www.meethue.com/api/nupnp')
#res = urllib2.urlopen(req)
#data = json.loads(res.read())
#return [dict(id=b['id'], ip=b['internalipaddress']) for b in data]
def discover_bridges_nupnp():
bridgeip = 'the IP of your bridge'
bridgeid = 'the bridge ID'
return [dict(id=bridgeid, ip=bridgeip)]
You can find the bridge ID through the API, or if you have the Hue App up and running, if you go to sign in to the hue online account you'll find it in the URL it posts. It will contain the MAC address of the bridge which is also printed on it on a label.
OK, so, after a bit of tinkering, this is what you need to do:
In hue_alerts\bin\hue.py:
Comment out the existing discover_bridges_nupnp() function and add a new one in as below:
#def discover_bridges_nupnp():
#req = urllib2.Request('https://www.meethue.com/api/nupnp')
#res = urllib2.urlopen(req)
#data = json.loads(res.read())
#return [dict(id=b['id'], ip=b['internalipaddress']) for b in data]
def discover_bridges_nupnp():
bridgeip = 'the IP of your bridge'
bridgeid = 'the bridge ID'
return [dict(id=bridgeid, ip=bridgeip)]
You can find the bridge ID through the API, or if you have the Hue App up and running, if you go to sign in to the hue online account you'll find it in the URL it posts. It will contain the MAC address of the bridge which is also printed on it on a label.