Difference between revisions of "NETIO UDP Discover"

From wiki.netio-products.com
Jump to navigation Jump to search
(Created page with "NETIO Discover uses UDP broadcast transmission. == Send Discover message: == <b>Destination:</b> Broadcast (eg. 255.255.255.0)<br> <b>Protocol:</b> UDP<br> <b>Destination Po...")
 
(Device type recognition)
 
(15 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> 4000<br>
+
<b>Destination Port:</b> 62387<br>
<b>Data(HEX):</b> 504345646974020000000000000000000000000000000000000200000000000000000200000000000000000000000000000000000000000000000000000000
+
<b>Data(HEX):</b> 01ec00
  
 
== Receive Discover response: ==
 
== Receive Discover response: ==
  
NETIO devices response with UDP broadcast message with destination port 4000. So listen on port 4000 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.
+
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> 4000<br>
+
<b>Listen on port:</b> 62386<br>
 
<b>Data(HEX):</b> <br>
 
<b>Data(HEX):</b> <br>
  
Line 61: Line 65:
 
| style="font-weight:bold; background-color:#c0c0c0;" | Meaning:
 
| style="font-weight:bold; background-color:#c0c0c0;" | Meaning:
 
| Response
 
| Response
| -
+
| magic
| -
+
| magic
 
| style="background-color:#efefef;" | IP
 
| style="background-color:#efefef;" | IP
 
| style="background-color:#efefef;" | 4 bytes
 
| style="background-color:#efefef;" | 4 bytes
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.


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