If you have Ubuntu, please check the status of your firewall with:
sudo ufw status verbose
In your case, sending hex 44 to 192.168.1.255 on port 10000 should give a reply like this:
… … … … … … C0 A8 01 10 FF FF FF 00 19 02 01 02 00 03 00 02 00 E3 22
It’s actually kind of impossible that your system running Openhab returns a packet with 02 as the value of the 16th byte
private void setIsNhcII(DatagramPacket packet) {
byte[] packetData = packet.getData();
int packetLength = packet.getLength();
// The 16th byte in the packet is 2 for a NHC II Connected Controller
if ((packetLength >= 16) && (packetData[15] >= 2)) {
this.isNhcII = true;
} else {
this.isNhcII = false;
}
You can easily check this yourself with Packetsender (https://packetsender.com/download) on Windows or Linux.
@Mherwege , maybe it’s possible to add other checks for NHC2, although I think your method should just work. In case the system running Openhab has 2 (or more configured) IP addresses in a different subnet, the right one can be determined by checking from which subnet there is an active connection to port 8080 (webinterface Openhab). We can assume that one has an active connection when configuring/installing the NHC binding right?
Another approach of finding the controller is checking the Mac address with ARP. I think all Niko devices start with 00:11:2A:xx:xx:xx but I can only verify this for my 550-00003 controller
Also, on a NHC2 device, multiple TCP ports are open. I cannot tell if this is the same on a NHC1 controller:
22,80,3579,3580,5060,5061,8001 and most importantly, port 8883 for the encrypted MQTT communication. This could be another extra check, just to be sure.
Btw, I discovered that sending the 0x44 UDP packet on port 5353 gives the same reply as sending it on port 10000