MQTT/Rocnet Payload length

Internet of Things, MQTT, Node-RED

MQTT/Rocnet Payload length

Postby drblack » 03.08.2018, 21:20

Hi Rob,

ich baue das Bahnsteigdisplay von Peter&Basti bzw. Werner Sax weiter. Dabei stolpere ich darüber, dass nach 121 bytes Payload schluss ist.
Im Log von Rocrail wird noch alles angezeigt:
Code: Select all
20180726.222746.935 r9999c tid0x765 OrocNet  1009 set display 111:0:2 to "{EcFFFb60E1T0L2} S1 {L0F2} 14 {T1} : {T2} 37 {T3L3} Wr. Neustadt {L2F1} Meidling - Mödling  {L1i} ++ wegen Abschaltung des Automatikbetriebes kommt es zu Zugausfällen +++   {T4L0F3} 2 {P}" len=189

Im Log vom MQTT Broker zeigt er aber nicht mehr alles an:
Code: Select all
1532637111: Received PUBLISH from RNM:raspberrypi (d0, q1, r1, m624, 'rocnet/dp', ... (121 bytes))


In den Einstellungen vom MQTT Broker habe ich auch auf maximale Länge eingestellt, was 256 Mbyte sind. Habe ich was übersehen?

Danke schon mal,

Henning
Last edited by drblack on 05.08.2018, 07:41, edited 1 time in total.
Viele Grüße,

Henning

H0, Raspi B+ mit Rocrail, GBMBoost, GBM16T, OneControl,
drblack
 

Re: MQTT Payload length

Postby rjversluis » 04.08.2018, 06:34

Hallo Henning,

mit Trace Level BYTE kannst du auch sehen was genau zum MQTT Broker verschickt wird, vielleicht fällt da was auf.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: MQTT Payload length

Postby drblack » 04.08.2018, 17:38

Hi Rob,

danke für Deine Antwort.
Hier mal eine Auszug:
Code: Select all
20180726.231621.861 r9999I tid0x75A OText    0633 new text [{EcFFFb60E1T0L2F1} S1 {L0F2} 15 {T1} : {T2} 17 {T3L3} Wr. Neustadt {L2F1} Meidling - Mödling  {iL1} ++ wegen Abschaltung des Automatikbetriebes kommt es zu Zugausfällen +++   {T4L0F3} 2 {P}]
20180726.231621.861 r9999I tid0x75A OText    0651 send text [{EcFFFb60E1T0L2F1} S1 {L0F2} 15 {T1} : {T2} 17 {T3L3} Wr. Neustadt {L2F1} Meidling - Mödling  {iL1} ++ wegen Abschaltung des Automatikbetriebes kommt es zu Zugausfällen +++   {T4L0F3} 2 {P}]
20180726.231621.862 r9999c tid0x75A OrocNet  1009 set display 111:0:2 to "{EcFFFb60E1T0L2F1} S1 {L0F2} 15 {T1} : {T2} 17 {T3L3} Wr. Neustadt {L2F1} Meidling - Mödling  {iL1} ++ wegen Abschaltung des Automatikbetriebes kommt es zu Zugausfällen +++   {T4L0F3} 2 {P}" len=191
20180726.231621.862 r9999I tid0x75A OText    0662 broadcast text [{EcFFFb60E1T0L2F1} S1 {L0F2} 15 {T1} : {T2} 17 {T3L3} Wr. Neustadt {L2F1} Meidling - Mödling  {iL1} ++ wegen Abschaltung des Automatikbetriebes kommt es zu Zugausfällen +++   {T4L0F3} 2 {P}]
20180726.231621.867 r9999B broadcas OMQTT    0317 send PUBLISH: Topic=rocrail/service/info(1) Payload=269 ID=6863 totalLen=295 nrLenBytes=1 topicLen=20
20180726.231621.867 r0000B broadcas OMQTT    *trace dump( 0x76341B0C: length=296 )
    offset:   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |ASCII...........|
    --------------------------------------------------------- |----------------|
    00000000: 33 A5 02 00 14 72 6F 63 72 61 69 6C 2F 73 65 72 |3....rocrail/ser|
    00000010: 76 69 63 65 2F 69 6E 66 6F 1A CF 3C 65 78 63 65 |vice/info..<exce|
    00000020: 70 74 69 6F 6E 20 74 65 78 74 3D 22 73 65 74 20 |ption text="set |
    00000030: 64 69 73 70 6C 61 79 20 31 31 31 3A 30 3A 32 20 |display 111:0:2 |
    00000040: 74 6F 20 20 7B 45 63 46 46 46 62 36 30 45 31 54 |to  {EcFFFb60E1T|
    00000050: 30 4C 32 46 31 7D 20 53 31 20 7B 4C 30 46 32 7D |0L2F1} S1 {L0F2}|
    00000060: 20 31 35 20 7B 54 31 7D 20 3A 20 7B 54 32 7D 20 | 15 {T1} : {T2} |
    00000070: 31 37 20 7B 54 33 4C 33 7D 20 57 72 2E 20 4E 65 |17 {T3L3} Wr. Ne|
    00000080: 75 73 74 61 64 74 20 7B 4C 32 46 31 7D 20 4D 65 |ustadt {L2F1} Me|
    00000090: 69 64 6C 69 6E 67 20 2D 20 4D C3 B6 64 6C 69 6E |idling - M..dlin|
    000000A0: 67 20 20 7B 69 4C 31 7D 20 2B 2B 20 77 65 67 65 |g  {iL1} ++ wege|
    000000B0: 6E 20 41 62 73 63 68 61 6C 74 75 6E 67 20 64 65 |n Abschaltung de|
    000000C0: 73 20 41 75 74 6F 6D 61 74 69 6B 62 65 74 72 69 |s Automatikbetri|
    000000D0: 65 62 65 73 20 6B 6F 6D 6D 74 20 65 73 20 7A 75 |ebes kommt es zu|
    000000E0: 20 5A 75 67 61 75 73 66 C3 A4 6C 6C 65 6E 20 2B | Zugausf..llen +|
20180726.231621.868 r0000B rnmqtt   OMQTT    *trace dump( 0x75F6CCB0: length=4 )
    offset:   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |ASCII...........|
    --------------------------------------------------------- |----------------|
    000000F0: 2B 2B 20 20 20 7B 54 34 4C 30 46 33 7D 20 32 20 |++   {T4L0F3} 2 |
    00000000: 40 02 02 82                                     |@...            |
    00000100: 7B 50 7D 20 20 6C 65 6E 3D 31 39 31 22 20 6C 65 |{P}  len=191" le|
    00000110: 76 65 6C 3D 22 31 36 33 38 34 22 20 69 64 3D 22 |vel="16384" id="|
20180726.231621.868 r9999B rnwriter OrocNet  2206 write request [00006F00010C017100027B4563464646623630453154304C3246317D205331207B4C3046327D203135207B54317D203A207B54327D203137207B54334C337D2057722E204E65757374616474207B4C3246317D204D6569646C696E67202D204DC3B6646C696E6720207B694C317D202B2B20776567656E2000] to 111
20180726.231621.868 r0000B rnwriter rnmqtt   *trace dump( 0x76B26D34: length=121 )
    offset:   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |ASCII...........|
    --------------------------------------------------------- |----------------|
    00000120: 39 39 39 39 22 2F 3E 0A                         |9999"/>.        |
    00000000: 00 00 6F 00 01 0C 01 71 00 02 7B 45 63 46 46 46 |..o....q..{EcFFF|
    00000010: 62 36 30 45 31 54 30 4C 32 46 31 7D 20 53 31 20 |b60E1T0L2F1} S1 |
    00000020: 7B 4C 30 46 32 7D 20 31 35 20 7B 54 31 7D 20 3A |{L0F2} 15 {T1} :|
    00000030: 20 7B 54 32 7D 20 31 37 20 7B 54 33 4C 33 7D 20 | {T2} 17 {T3L3} |
    00000040: 57 72 2E 20 4E 65 75 73 74 61 64 74 20 7B 4C 32 |Wr. Neustadt {L2|
    00000050: 46 31 7D 20 4D 65 69 64 6C 69 6E 67 20 2D 20 4D |F1} Meidling - M|
    00000060: C3 B6 64 6C 69 6E 67 20 20 7B 69 4C 31 7D 20 2B |..dling  {iL1} +|
    00000070: 2B 20 77 65 67 65 6E 20 00                      |+ wegen .       |
20180726.231621.869 r9999c rnwriter rnmqtt   0159 RocNet Group: 12
20180726.231621.869 r9999B rnwriter OMQTT    0317 send PUBLISH: Topic=rocnet/dp(12) Payload=121 ID=643 totalLen=136 nrLenBytes=1 topicLen=9
20180726.231621.869 r0000B rnwriter OMQTT    *trace dump( 0x761142DC: length=137 )
    offset:   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |ASCII...........|
    --------------------------------------------------------- |----------------|
    00000000: 33 86 01 00 09 72 6F 63 6E 65 74 2F 64 70 02 83 |3....rocnet/dp..|
    00000010: 00 00 6F 00 01 0C 01 71 00 02 7B 45 63 46 46 46 |..o....q..{EcFFF|
    00000020: 62 36 30 45 31 54 30 4C 32 46 31 7D 20 53 31 20 |b60E1T0L2F1} S1 |
    00000030: 7B 4C 30 46 32 7D 20 31 35 20 7B 54 31 7D 20 3A |{L0F2} 15 {T1} :|
    00000040: 20 7B 54 32 7D 20 31 37 20 7B 54 33 4C 33 7D 20 | {T2} 17 {T3L3} |
    00000050: 57 72 2E 20 4E 65 75 73 74 61 64 74 20 7B 4C 32 |Wr. Neustadt {L2|
    00000060: 46 31 7D 20 4D 65 69 64 6C 69 6E 67 20 2D 20 4D |F1} Meidling - M|
    00000070: C3 B6 64 6C 69 6E 67 20 20 7B 69 4C 31 7D 20 2B |..dling  {iL1} +|
    00000080: 2B 20 77 65 67 65 6E 20 00                      |+ wegen .       |

Demnach bleibt es irgendwo hängen.
Im Anhang auch noch mal die gesamte Datei, falls ich was entscheidendes rausgelöscht habe.
You do not have the required permissions to view the files attached to this post.
Viele Grüße,

Henning

H0, Raspi B+ mit Rocrail, GBMBoost, GBM16T, OneControl,
drblack
 

Re: MQTT Payload length

Postby rjversluis » 05.08.2018, 06:28

Moin Henning,

ich denke doch das es am Broker liegt weil Rocrail schickt die ganze Text:
Code: Select all
20180726.231621.867 r9999B broadcas OMQTT    0317 send PUBLISH: Topic=rocrail/service/info(1) Payload=269 ID=6863 totalLen=295 nrLenBytes=1 topicLen=20
20180726.231621.867 r0000B broadcas OMQTT    *trace dump( 0x76341B0C: length=296 )

Und die länge scheint auch OK zu sein im Header[1] + Header[2].
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: MQTT Payload length

Postby drblack » 05.08.2018, 07:24

Moin Rob,


Der zu übertragende Text kommt ja von hier:
Code: Select all
20180726.231621.862 r9999c tid0x75A OrocNet  1009 set display 111:0:2 to "{EcFFFb60E1T0L2F1} S1 {L0F2} 15 {T1} : {T2} 17 {T3L3} Wr. Neustadt {L2F1} Meidling - Mödling  {iL1} ++ wegen Abschaltung des Automatikbetriebes kommt es zu Zugausfällen +++   {T4L0F3} 2 {P}" len=191

Dann wären 296 bytes etwas viel Overhead.
Aber woher kommt dann :
Code: Select all
20180726.231621.868 r0000B rnwriter rnmqtt   *trace dump( 0x76B26D34: length=121 )

und
Code: Select all
20180726.231621.869 r9999B rnwriter OMQTT    0317 send PUBLISH: Topic=rocnet/dp(12) Payload=121 ID=643 totalLen=136 nrLenBytes=1 topicLen=9


Kommt das aus dem Broker?
Viele Grüße,

Henning

H0, Raspi B+ mit Rocrail, GBMBoost, GBM16T, OneControl,
drblack
 

Re: MQTT Payload length

Postby rjversluis » 05.08.2018, 07:32

Hi Henning,

im RocNet Protokoll gibt es nur 8 bits für die Data Länge, also max 256.
https://wiki.rocrail.net/doku.php?id=ro ... ket_format
Bei größere Menge läuft dieses Längefeld über.

Also, es geht hier nicht um MQTT Payload sondern RocNet Payload welche auf max. 256 festgelegt worden ist.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: MQTT Payload length

Postby drblack » 05.08.2018, 07:40

Hi Rob,

Ok.
Aber kommen zu den 191 Bytes Textlänge noch so viele Steuerbytes dazu, dass 256 nicht ausreichen?
Viele Grüße,

Henning

H0, Raspi B+ mit Rocrail, GBMBoost, GBM16T, OneControl,
drblack
 

Re: MQTT Payload length

Postby rjversluis » 05.08.2018, 08:05

Hallo Henning,
drblack wrote:
Aber kommen zu den 191 Bytes Textlänge noch so viele Steuerbytes dazu, dass 255 nicht ausreichen?

nein, aber beim Text wird es auf 110 bytes begrenzt. Warum, das weis ich nicht mehr... :(
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: MQTT/Rocnet Payload length

Postby rjversluis » 05.08.2018, 08:42

Moin Henning,

das gesamte RocNet Paket ist auf 128 begrenzt weil es auch 7bit unterstützen muss.
Dann bleiben für Text nur noch 110 Bytes übrig.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 


Return to IoT (DE)