# If that is the case then how come I can still see the device?

**URL:** <https://forums.digi.com/t/if-that-is-the-case-then-how-come-i-can-still-see-the-device/16192>\
**Category:** XBee & XBee Gateway\
**Tags:** xbee\
**Created:** [February 1, 2016, 10:53am UTC](https://forums.digi.com/t/if-that-is-the-case-then-how-come-i-can-still-see-the-device/16192 "2016-02-01T10:53:57Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jnbijak](https://avatars.discourse-cdn.com/v4/letter/j/e274bd/32.png) [@Jnbijak](https://forums.digi.com/u/Jnbijak)\
**Post date:** [February 1, 2016, 10:53am UTC](https://forums.digi.com/t/if-that-is-the-case-then-how-come-i-can-still-see-the-device/16192/1 "2016-02-01T10:53:57Z")

</div>

Is that because it can still see Zigbee 2012 devices just not communicate with them? Is there a list of available features that 2012 and 2007 share?

---

<div class="post-metadata">

**Author:** ![mvut](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.digi.com/mvut/32/31_2.png) [@mvut](https://forums.digi.com/u/mvut)\
**Post date:** [February 1, 2016, 11:04am UTC](https://forums.digi.com/t/if-that-is-the-case-then-how-come-i-can-still-see-the-device/16192/2 "2016-02-01T11:04:11Z")

</div>

If the devices are using a Public profile, then all you need to do is to set the ZS parameter accordingly. Then adjust your python scripts to use the specific End points and cluster ID’s the 3rd party devices wants. Also make sure that the 3rd party device can send to Digi’s Cluster ID and End points. Oh and don’t forget about the Profile ID as well.

---

<div class="post-metadata">

**Author:** ![Jnbijak](https://avatars.discourse-cdn.com/v4/letter/j/e274bd/32.png) [@Jnbijak](https://forums.digi.com/u/Jnbijak)\
**Post date:** [February 1, 2016, 3:29pm UTC](https://forums.digi.com/t/if-that-is-the-case-then-how-come-i-can-still-see-the-device/16192/3 "2016-02-01T15:29:07Z")

</div>

I believe I have done so. The bind occurs. But I don’t know how to ask the X4 to query the end device for data on that bind.

---

<div class="post-metadata">

**Author:** ![mvut](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.digi.com/mvut/32/31_2.png) [@mvut](https://forums.digi.com/u/mvut)\
**Post date:** [February 1, 2016, 3:32pm UTC](https://forums.digi.com/t/if-that-is-the-case-then-how-come-i-can-still-see-the-device/16192/4 "2016-02-01T15:32:46Z")

</div>

You do a Recv from in your python script as well as how you declare the port. Take a look at the sample Hello world. You declare the socket to the correct Cluster ID, End point and profile ID.

---

<div class="post-metadata">

**Author:** ![Jnbijak](https://avatars.discourse-cdn.com/v4/letter/j/e274bd/32.png) [@Jnbijak](https://forums.digi.com/u/Jnbijak)\
**Post date:** [February 1, 2016, 4:46pm UTC](https://forums.digi.com/t/if-that-is-the-case-then-how-come-i-can-still-see-the-device/16192/5 "2016-02-01T16:46:50Z")

</div>

This is my current code. the X4 seems to hang on the recvfrom function

DESTINATION=(“00:12:4b:00:07:b5:64:81!”, 0x09, 0x0104, 0x0402)

# Create the socket, datagram mode, proprietary transport:

sd = socket(AF\_XBEE, SOCK\_DGRAM, XBS\_PROT\_APS)

# Bind to endpoint 0xe8 (232):

sd.bind((“”, 0x09, 0, 0))  
print “Bound now getting Temperature”

# Send “Hello, World!” to the destination node, endpoint,

# using the profile\_id and cluster\_id specified in

# DESTINATION:

sd.sendto(“Hello World!”,0,DESTINATION)

payload, src\_addr = sd.recvfrom(255)

print payload

print “Now Closing…”  
sd.close()

---

<div class="post-metadata">

**Author:** ![mvut](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.digi.com/mvut/32/31_2.png) [@mvut](https://forums.digi.com/u/mvut)\
**Post date:** [February 2, 2016, 10:07am UTC](https://forums.digi.com/t/if-that-is-the-case-then-how-come-i-can-still-see-the-device/16192/6 "2016-02-02T10:07:56Z")

</div>

DESTINATION=(“[54e3]!”, 0xe8, 0xc105, 0x11)

Needs to have the Cluster ID, End point and profile ID of the device you want to send and receive data from. You also need to have the radio is ZDO pass thru mode.

---

<div class="post-metadata">

**Author:** ![Jnbijak](https://avatars.discourse-cdn.com/v4/letter/j/e274bd/32.png) [@Jnbijak](https://forums.digi.com/u/Jnbijak)\
**Post date:** [February 2, 2016, 1:15pm UTC](https://forums.digi.com/t/if-that-is-the-case-then-how-come-i-can-still-see-the-device/16192/7 "2016-02-02T13:15:19Z")

</div>

Why is your endpoint, cluster ID and Profile ID very different from mine ?

My device hangs at recvfrom still. why is this so?

DESTINATION=(SensorTagAdd, 0x09, 0x0104, 0x0402)

# Create the socket, datagram mode, use APS:

sd = socket(AF\_XBEE, SOCK\_DGRAM, XBS\_PROT\_APS)

# Bind to endpoint 0x07 (7):

sd.bind((CoordinatorAdd, 0x07, 0x0104, 0x0402))

payload, senderaddr = sd.recvfrom(255)

print payload

sd.close()

Thanks. Where would i find how to enable ZDO pass thru mode?

---

<div class="post-metadata">

**Author:** ![mvut](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.digi.com/mvut/32/31_2.png) [@mvut](https://forums.digi.com/u/mvut)\
**Post date:** [February 2, 2016, 3:20pm UTC](https://forums.digi.com/t/if-that-is-the-case-then-how-come-i-can-still-see-the-device/16192/8 "2016-02-02T15:20:43Z")

</div>

Every manufacture and product standard has different Cluster ID’s, End points and profile ID’s.

You would use the AO command to change to ZDO pass thru.
