<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[BACnetTimeoutException: No response from instanceId and Unable to find router to network Unable to find router to network]]></title><description><![CDATA[<p dir="auto">While discovering the BACnet device in my application I get the following errors when running the code below.</p>
<p dir="auto">•         com.serotonin.bacnet4j.exception.BACnetException: Unable to find router to network 40208<br />
at com.serotonin.bacnet4j.transport.DefaultTransport$Outgoing.send(DefaultTransport.java:304)<br />
at com.serotonin.bacnet4j.transport.DefaultTransport.run(DefaultTransport.java:439)<br />
at java.lang.Thread.run(Thread.java:748)</p>
<p dir="auto">•         com.serotonin.bacnet4j.exception.BACnetTimeoutException: No response from instanceId 888541<br />
at com.serotonin.bacnet4j.util.RemoteDeviceFinder$DeviceFutureImpl.get(RemoteDeviceFinder.java:176)<br />
at com.serotonin.bacnet4j.LocalDevice.getRemoteDeviceBlocking(LocalDevice.java:800)<br />
at com.serotonin.bacnet4j.LocalDevice.getRemoteDeviceBlocking(LocalDevice.java:744)<br />
at com.serotonin.bacnet4j.service.unconfirmed.IHaveRequest.lambda$handle$0(IHaveRequest.java:79)<br />
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)<br />
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)</p>
<p dir="auto">The code I wrote for this looks somewhat like program in attached.<br />
Could you please let me know what I'm doing wrong and how to avoid these exceptions?</p>
<pre><code>//
public static void main(String[] args) throws ServiceException {

        Integer deviceId = 1234;
        String port = 0xBAC0, localBindAddress = "192.168.0.145";

        IpNetworkBuilder builder = new IpNetworkBuilder();
        builder.port(Integer.decode(port));
        builder.localBindAddress(localBindAddress);

        IpNetwork network = builder.build();
        LocalDevice localDevice = new LocalDevice(deviceId, new DefaultTransport(network));
        try {
            localDevice.initialize();
        } catch (Exception e) {
            throw new ServiceException("Unable to initialize localDevice", e);
        }

        localDevice.getEventHandler().addListener(new DeviceEventAdapter() {
            @Override
            public void iAmReceived(RemoteDevice remoteDevice) {
                logger.debug("iAm Received from device: {}, NetworkNumber: {}",
                        remoteDevice.getInstanceNumber(),
                        remoteDevice.getAddress().getNetworkNumber()
                );

                Runnable task = () -&gt; {
                    try {
                        DiscoveryUtils.getExtendedDeviceInformation(localDevice, remoteDevice);
                        SequenceOf&lt;ObjectIdentifier&gt; oids = RequestUtils.getObjectList(localDevice, remoteDevice);

                        for (ObjectIdentifier oid : oids) {
                            String name = ((CharacterString) RequestUtils.getProperty(localDevice, remoteDevice, oid,
                                    PropertyIdentifier.objectName)).getValue();
                            logger.info("Found object oid={}, name={} in device {}",
                                    oid,
                                    name,
                                    remoteDevice.getInstanceNumber()
                            );
                        }

                        while(true) {
                            for (ObjectIdentifier oid : oids) {
                                Encodable value = RequestUtils.getProperty(
                                        localDevice,
                                        remoteDevice,
                                        oid,
                                        PropertyIdentifier.presentValue
                                );
                                logger.info("{}={}", oid, value);
                            }
                            try {
                                Thread.sleep(5_000L);
                            } catch (InterruptedException e) {
                            }
                        }
                    } catch (BACnetException e) {
                        logger.error("Error getting values from remoteDevice", e);
                    }
                };
                new Thread(task).start();
            }
        });

        InetSocketAddress addr = InetAddrCache.get("192.168.1.99", IpNetwork.DEFAULT_PORT);
        int port = IpNetwork.DEFAULT_PORT;
        byte[] ipAddress1 = addr.getAddress().getAddress();
        
        byte[] ipMacAddress = new byte[ipAddress1.length + 2];
        System.arraycopy(ipAddress1, 0, ipMacAddress, 0, ipAddress1.length);
        ipMacAddress[ipAddress1.length] = (byte) (port &gt;&gt; 8);
        ipMacAddress[ipAddress1.length + 1] = (byte) port;
        OctetString macAddress123 = new OctetString(ipMacAddress);
        
        Address addr1 = new Address(macAddress123);
        localDevice.send(addr1, new WhoIsRequest());
    }

</code></pre>
]]></description><link>https://forum.mango-os.com/topic/3370/bacnettimeoutexception-no-response-from-instanceid-and-unable-to-find-router-to-network-unable-to-find-router-to-network</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 06:31:14 GMT</lastBuildDate><atom:link href="https://forum.mango-os.com/topic/3370.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 26 Mar 2018 09:41:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to BACnetTimeoutException: No response from instanceId and Unable to find router to network Unable to find router to network on Wed, 28 Mar 2018 20:13:22 GMT]]></title><description><![CDATA[<p dir="auto">The "withLocalNetworkNumber" function, <a href="https://github.com/infiniteautomation/BACnet4J/blob/master/src/main/java/com/serotonin/bacnet4j/npdu/ip/IpNetworkBuilder.java" rel="nofollow ugc">https://github.com/infiniteautomation/BACnet4J/blob/master/src/main/java/com/serotonin/bacnet4j/npdu/ip/IpNetworkBuilder.java</a></p>
]]></description><link>https://forum.mango-os.com/post/17851</link><guid isPermaLink="true">https://forum.mango-os.com/post/17851</guid><dc:creator><![CDATA[phildunlap]]></dc:creator><pubDate>Wed, 28 Mar 2018 20:13:22 GMT</pubDate></item><item><title><![CDATA[Reply to BACnetTimeoutException: No response from instanceId and Unable to find router to network Unable to find router to network on Wed, 28 Mar 2018 17:00:55 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/phildunlap" aria-label="Profile: phildunlap">@<bdi>phildunlap</bdi></a> How do i set local network number in IpNetworkBuilder?</p>
]]></description><link>https://forum.mango-os.com/post/17848</link><guid isPermaLink="true">https://forum.mango-os.com/post/17848</guid><dc:creator><![CDATA[anandbiradar]]></dc:creator><pubDate>Wed, 28 Mar 2018 17:00:55 GMT</pubDate></item><item><title><![CDATA[Reply to BACnetTimeoutException: No response from instanceId and Unable to find router to network Unable to find router to network on Mon, 26 Mar 2018 15:37:40 GMT]]></title><description><![CDATA[<p dir="auto">Hi anandbiradar,</p>
<p dir="auto">Have you attempted setting the local network number in the IpNetworkBuilder?</p>
]]></description><link>https://forum.mango-os.com/post/17826</link><guid isPermaLink="true">https://forum.mango-os.com/post/17826</guid><dc:creator><![CDATA[phildunlap]]></dc:creator><pubDate>Mon, 26 Mar 2018 15:37:40 GMT</pubDate></item></channel></rss>