Is it possible to see unpaired device?
Right now I'm just using the following code to list devices. I have one bulb paired in the app and one new bulb. The response is:
Connection Established
Luminary{capabilities=[Switchable, Dimmable, PureWhite], on=false, luminance=100, address=xxxxxxxxxxxxxxxxxx, firmware='xxxxxxxxxxx', name='xxxxxxxxxxxxx'}
I am not seeing the unpaired bulb. Is it possible to pair without the app or should I be seeing unpaired bulbs?
public static void main(String[] args)
{
StatusListener statusListener = new StatusListener() {
@Override
public void onConnect() {
System.out.println("Connected");
}
@Override
public void onConnectionFailed() {
System.out.println("Connection Failed");
}
@Override
public void onConnectionEstablished() {
System.out.println("Connection Established");
}
@Override
public void onConnectionLost() {
System.out.println("Connection Lost");
}
};
LightifyLink lightifyLink = new LightifyLink("192.168.0.41", statusListener);
lightifyLink.performSearch(System.out::println);
I thought I had figured it out by turning on another bulb. I got the flashing but did not use the app at all, thinking that meant the bulb was being discovered, but I couldn't see the bulb in discovery.
I think the java codebase is pretty outdated. You might have to adjust it accordingly to the specification.
I'm not sure what specification you are referring to. Isn't this based on reversing? Are you referring to the Zigbee specification?
To this specification: https://github.com/noctarius/lightify-binary-protocol/blob/master/README.adoc
And yeah, this is based on reverse engineering. Many changes to the "specification" aren't implemented in the Java codebase though.
Thanks for that. When I get some time, I'll dig deeper into it and report back here.