Difference between revisions of "NETIO UDP Discover"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
NETIO Discover uses UDP broadcast transmission. | NETIO Discover uses UDP broadcast transmission. | ||
− | * [https://github.com/netioproducts/python-netio-discover NETIO GitHug: Python Netio Discover Class]<br>Automatically detect all interfaces and sends UDP discover to search new NETIO devices on connected interfaces. | + | * [https://github.com/netioproducts/python-netio-discover NETIO GitHug: <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 - Java based Multiplatform - JAR] | + | *[https://wiki.netio-products.com/index.php?title=NETIO_UDP_Discover_-_Java_based_Multiplatform_-_JAR NETIO UDP Discover - <b>Java based Multiplatform - JAR</b>] |
Revision as of 02:01, 5 March 2020
NETIO Discover uses UDP broadcast transmission.
- NETIO GitHug: 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 | - |
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 |