Difference between revisions of "NETIO UDP Discover"
Jump to navigation
Jump to search
(→Receive Discover response:) |
(→Device type recognition) |
||
(14 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
NETIO Discover uses UDP broadcast transmission. | NETIO Discover uses UDP broadcast transmission. | ||
+ | |||
+ | * [https://github.com/netioproducts/python-netio-discover NETIO GitHub: <b>Python Netio Discover Class</b>]<br>Automatically detect all interfaces and sends UDP discover to search new NETIO devices on connected interfaces. | ||
+ | *[https://wiki.netio-products.com/index.php?title=NETIO_UDP_Discover_-_Java_based_Multiplatform_-_JAR NETIO UDP Discover - <b>Java based Multiplatform - JAR</b>] | ||
+ | |||
== Send Discover message: == | == Send Discover message: == | ||
Line 5: | Line 9: | ||
<b>Destination:</b> Broadcast (eg. 255.255.255.0)<br> | <b>Destination:</b> Broadcast (eg. 255.255.255.0)<br> | ||
<b>Protocol:</b> UDP<br> | <b>Protocol:</b> UDP<br> | ||
− | <b>Destination Port:</b> | + | <b>Destination Port:</b> 62387<br> |
− | <b>Data(HEX):</b> | + | <b>Data(HEX):</b> 01ec00 |
== Receive Discover response: == | == Receive Discover response: == | ||
− | NETIO devices response with UDP broadcast message with destination port | + | NETIO devices response with UDP broadcast message with destination port 62386. So listen on port 62386 and parse messages according to table below. Data are sent as datastream with flags inside. If you pass the end of known field types, ignore rest of data in datastream. |
<b>Listen protocol:</b> UDP<br> | <b>Listen protocol:</b> UDP<br> | ||
− | <b>Listen on port:</b> | + | <b>Listen on port:</b> 62386<br> |
<b>Data(HEX):</b> <br> | <b>Data(HEX):</b> <br> | ||
Line 172: | Line 176: | ||
| ASCII | | ASCII | ||
| variable | | variable | ||
+ | |} | ||
+ | |||
+ | == Device type recognition == | ||
+ | |||
+ | All devices respons with its type. See the table below how to decode device type from FTYPE values. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! style="font-weight:bold; color:#c0c0c0;" | Device | ||
+ | ! style="font-weight:bold; color:#c0c0c0;" | PRODUCT Value | ||
+ | (FTYPE 0x09) | ||
+ | ! style="font-weight:bold; color:#c0c0c0;" | PRETTY_PLATFORM_NAME Value | ||
+ | (FTYPE 0x12) | ||
+ | ! style="font-weight:bold; color:#c0c0c0;" | Num of outputs | ||
+ | ! style="font-weight:bold; color:#c0c0c0;" | Measured outputs | ||
+ | ! style="font-weight:bold; color:#c0c0c0;" | Dry contact inputs | ||
+ | |- | ||
+ | | NETIO 4 | ||
+ | | Netio4 | ||
+ | | NETIO 4 | ||
+ | | 4 | ||
+ | | - | ||
+ | | - | ||
+ | |- | ||
+ | | NETIO 4All | ||
+ | | Netio4 | ||
+ | | NETIO 4All | ||
+ | | 4 | ||
+ | | 1,2,3,4 | ||
+ | | - | ||
+ | |- | ||
+ | | NETIO 4C | ||
+ | | Netio4 | ||
+ | | NETIO 4C | ||
+ | | 4 | ||
+ | | - | ||
+ | | - | ||
+ | |- | ||
+ | | PowerPDU 4C | ||
+ | | Netio4 | ||
+ | | PowerPDU 4C | ||
+ | | 4 | ||
+ | | 1,2,3,4 | ||
+ | | - | ||
+ | |- | ||
+ | | PowerCable OEM | ||
+ | | COBRA | ||
+ | | - | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | - | ||
+ | |- | ||
+ | | PowerCable 101x | ||
+ | | PowerCable | ||
+ | | - | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | - | ||
+ | |- | ||
+ | | PowerCable 101F | ||
+ | | PowerCable 101F | ||
+ | | - | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | - | ||
+ | |- | ||
+ | | PowerCable 101E | ||
+ | | PowerCable 101E | ||
+ | | - | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | - | ||
+ | |- | ||
+ | | PowerCable 101G | ||
+ | | PowerCable 101G | ||
+ | | - | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | - | ||
+ | |- | ||
+ | | PowerCable 101J | ||
+ | | PowerCable 101J | ||
+ | | - | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | - | ||
+ | |- | ||
+ | | PowerCable 101S | ||
+ | | PowerCable 101S | ||
+ | | - | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | - | ||
+ | |- | ||
+ | | PowerCable 101B | ||
+ | | PowerCable 101B | ||
+ | | - | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | - | ||
+ | |- | ||
+ | | PowerCable 101Y | ||
+ | | PowerCable 101Y | ||
+ | | - | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | - | ||
+ | |- | ||
+ | | PowerPDU 4PS | ||
+ | | PowerPDU 4PS | ||
+ | | - | ||
+ | | 4 | ||
+ | | - | ||
+ | | - | ||
+ | |- | ||
+ | | PowerBOX 3PF | ||
+ | | PowerBOX 3PF | ||
+ | | - | ||
+ | | 3 | ||
+ | | - | ||
+ | | - | ||
+ | |- | ||
+ | | PowerBOX 3PE | ||
+ | | PowerBOX 3PE | ||
+ | | - | ||
+ | | 3 | ||
+ | | - | ||
+ | | - | ||
+ | |- | ||
+ | | PowerBOX 3PG | ||
+ | | PowerBOX 3PG | ||
+ | | - | ||
+ | | 3 | ||
+ | | - | ||
+ | | - | ||
+ | |- | ||
+ | | PowerDIN 4PZ | ||
+ | | PowerDIN 4PZ | ||
+ | | - | ||
+ | | 4 | ||
+ | | 1,2 | ||
+ | | 2 | ||
+ | |- | ||
+ | | PowerBOX 4KF | ||
+ | | PowerBOX 4KF | ||
+ | | - | ||
+ | | 4 | ||
+ | | 1,2,3,4 | ||
+ | | - | ||
+ | |- | ||
+ | | PowerBOX 4KE | ||
+ | | PowerBOX 4KE | ||
+ | | - | ||
+ | | 4 | ||
+ | | 1,2,3,4 | ||
+ | | - | ||
+ | |- | ||
+ | | PowerBOX 4KG | ||
+ | | PowerBOX 4KG | ||
+ | | - | ||
+ | | 4 | ||
+ | | 1,2,3,4 | ||
+ | | - | ||
+ | |- | ||
+ | | PowerPDU 8QS | ||
+ | | PowerPDU 8QS | ||
+ | | - | ||
+ | | 8 | ||
+ | | 1 + total | ||
+ | | 1 | ||
+ | |- | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
|} | |} |
Latest revision as of 15:18, 22 February 2021
NETIO Discover uses UDP broadcast transmission.
- NETIO GitHub: Python Netio Discover Class
Automatically detect all interfaces and sends UDP discover to search new NETIO devices on connected interfaces. - NETIO UDP Discover - Java based Multiplatform - JAR
Send Discover message:
Destination: Broadcast (eg. 255.255.255.0)
Protocol: UDP
Destination Port: 62387
Data(HEX): 01ec00
Receive Discover response:
NETIO devices response with UDP broadcast message with destination port 62386. So listen on port 62386 and parse messages according to table below. Data are sent as datastream with flags inside. If you pass the end of known field types, ignore rest of data in datastream.
Listen protocol: UDP
Listen on port: 62386
Data(HEX):
Format: | 0x02 | 0xXX | 0xXX | F_TYPE | F_LENGTH | B0 | B1 | B2 | B3 | F_TYPE | F_LENGTH | B0 | B1 | B2 | B3 | B4 | B5 | F_TYPE | F_LENGTH ... |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Example: | 0x02 | 0xAB | 0x6B | 0x03 | 0x04 | 0xC0 | 0xA8 | 0x65 | 0x23 | 0x09 | 0x06 | 0x4E | 0x65 | 0x74 | 0x69 | 0x6f | 0x34 | ... | ... |
Meaning: | Response | magic | magic | IP | 4 bytes | 192 | 168 | 101 | 35 | PRODUCT | 6 bytes | N | e | t | i | o | 4 | ... | ... |
Field types:
F_TYPE code | Description | Data Interpretation | Data Length |
---|---|---|---|
0x01 | FIRMWARE_VERSION | ASCII | variable |
0x02 | MAC | INT | 6 |
0x03 | IP | INT | 4 |
0x04 | NETMASK | INT | 4 |
0x05 | HOSTNAME | ASCII | variable |
0x06 | DHCP | INT | 1 |
0x07 | SETUP STATE | INT | 1 |
0x08 | RESULT | INT | 1 |
0x09 | PRODUCT | ASCII | variable |
0x0A | MANUFACTURER | ASCII | variable |
0x0B | PLATFORM | ASCII | variable |
0x0C | VARIANT | ASCII | variable |
0x0D | TIMEOUT | INT | 1 |
0x0E | GATEWAY | INT | 4 |
0x0F | DNS | INT | 4 |
0x12 | PRETTY_PLATFORM_NAME | ASCII | variable |
0x13 | DEVICE NAME | ASCII | variable |
Device type recognition
All devices respons with its type. See the table below how to decode device type from FTYPE values.
Device | PRODUCT Value
(FTYPE 0x09) |
PRETTY_PLATFORM_NAME Value
(FTYPE 0x12) |
Num of outputs | Measured outputs | Dry contact inputs |
---|---|---|---|---|---|
NETIO 4 | Netio4 | NETIO 4 | 4 | - | - |
NETIO 4All | Netio4 | NETIO 4All | 4 | 1,2,3,4 | - |
NETIO 4C | Netio4 | NETIO 4C | 4 | - | - |
PowerPDU 4C | Netio4 | PowerPDU 4C | 4 | 1,2,3,4 | - |
PowerCable OEM | COBRA | - | 1 | 1 | - |
PowerCable 101x | PowerCable | - | 1 | 1 | - |
PowerCable 101F | PowerCable 101F | - | 1 | 1 | - |
PowerCable 101E | PowerCable 101E | - | 1 | 1 | - |
PowerCable 101G | PowerCable 101G | - | 1 | 1 | - |
PowerCable 101J | PowerCable 101J | - | 1 | 1 | - |
PowerCable 101S | PowerCable 101S | - | 1 | 1 | - |
PowerCable 101B | PowerCable 101B | - | 1 | 1 | - |
PowerCable 101Y | PowerCable 101Y | - | 1 | 1 | - |
PowerPDU 4PS | PowerPDU 4PS | - | 4 | - | - |
PowerBOX 3PF | PowerBOX 3PF | - | 3 | - | - |
PowerBOX 3PE | PowerBOX 3PE | - | 3 | - | - |
PowerBOX 3PG | PowerBOX 3PG | - | 3 | - | - |
PowerDIN 4PZ | PowerDIN 4PZ | - | 4 | 1,2 | 2 |
PowerBOX 4KF | PowerBOX 4KF | - | 4 | 1,2,3,4 | - |
PowerBOX 4KE | PowerBOX 4KE | - | 4 | 1,2,3,4 | - |
PowerBOX 4KG | PowerBOX 4KG | - | 4 | 1,2,3,4 | - |
PowerPDU 8QS | PowerPDU 8QS | - | 8 | 1 + total | 1 |