50 bericht is ook het `last will' bericht van een node. Maar als het echt fout gaat |
50 bericht is ook het `last will' bericht van een node. Maar als het echt fout gaat |
51 dan zal er mogenlijk nooit een NDEATH bericht gezien worden.</para></listitem> |
51 dan zal er mogenlijk nooit een NDEATH bericht gezien worden.</para></listitem> |
52 <listitem><para>NCMD is een commando bestemd voor een node. |
52 <listitem><para>NCMD is een commando bestemd voor een node. |
53 Dit kan bijvoorbeeld een reboot commando zijn.</para></listitem> |
53 Dit kan bijvoorbeeld een reboot commando zijn.</para></listitem> |
54 <listitem><para>NDATA wordt verstuurd als er veranderingen zijn voor de node, |
54 <listitem><para>NDATA wordt verstuurd als er veranderingen zijn voor de node, |
55 maar ook iedere vijf minuten om aan te geven dat de node nog "levend" en aanwezig |
55 maar ook regelmatig om aan te geven dat de node nog "levend" en aanwezig |
56 is.</para></listitem> |
56 is. Deze tijd is voor ieder node type verschillend. Indien twee maal de ingestelde |
|
57 tijd plus enkele seconden geen NDATA bericht is gezien dan wordt de node als |
|
58 offline beschouwd. Indien deze waarde niet aanwezig is wordt 300 seconden aangehouden.</para></listitem> |
57 |
59 |
58 <listitem><para>DBIRTH is een of meer berichten van een apparaat wat online komt |
60 <listitem><para>DBIRTH is een of meer berichten van een apparaat wat online komt |
59 en ingeschakeld is. Een apparaat is een deel van een node. |
61 en ingeschakeld is. Een apparaat is een deel van een node. |
60 Bij het opstarten van de node is er geen <code>device_id</code> |
62 Bij het opstarten van de node is er geen <code>device_id</code> |
61 omdat alle apparaten is een keer verstuurd worden. Indien er later een enkel apparaat |
63 omdat alle apparaten is een keer verstuurd worden. Indien er later een enkel apparaat |
83 is de unix tijd sinds 1 januari 1970. Niet alle controllers sturen een timestamp, |
85 is de unix tijd sinds 1 januari 1970. Niet alle controllers sturen een timestamp, |
84 controllers zonder klok laten dit weg. De tijd wordt dan door <code>bmsd</code> |
86 controllers zonder klok laten dit weg. De tijd wordt dan door <code>bmsd</code> |
85 ingevuld en is de tijd dat het bericht ontvangen wordt. |
87 ingevuld en is de tijd dat het bericht ontvangen wordt. |
86 Het `seq' nummer wordt met ieder bericht met 1 verhoogd. |
88 Het `seq' nummer wordt met ieder bericht met 1 verhoogd. |
87 Ook dit nummer is niet altijd aanwezig.</para> |
89 Ook dit nummer is niet altijd aanwezig.</para> |
|
90 <para>Deze payload wordt verstuurd als een node start, <code>message_type NBIRTH</code>. |
|
91 Het wordt ook vertuurd als er iets wijzigd, bijvoorbeeld de temperatuur en op vaste |
|
92 intervals. In die gevallen is het <code>message_type NDATA</code>.</para> |
88 <para>In de `metric' groep is de `interval' optioneel. Dit wordt bijvoorbeeld |
93 <para>In de `metric' groep is de `interval' optioneel. Dit wordt bijvoorbeeld |
89 verstuurd door iSpindels en is de ingestelde update interval tijd in seconden. |
94 verstuurd door iSpindels en is de ingestelde update interval tijd in seconden. |
90 Indien dit niet aanwezig is dan wordt 300 seconden als standaard waarde gebruikt. |
95 Indien dit niet aanwezig is dan wordt 300 seconden als standaard waarde gebruikt. |
91 Deze waarde wordt gebruikt om een apparaat als offline te markeren indien het langer |
96 Deze waarde wordt gebruikt om een apparaat als offline te markeren indien het langer |
92 als twee maal deze tijd niet wordt gezien.</para> |
97 als twee maal deze tijd niet wordt gezien.</para> |
|
98 <para>Alle object groepen binnen het metric object kunnen maar hoeven niet aanwezig te zijn. |
|
99 Dit geld ook voor de diverse items in de groepen.</para> |
93 <programlisting> |
100 <programlisting> |
94 { |
101 { |
95 "timestamp": 1532201089, |
102 "timestamp": 1532201089, |
|
103 "sec": 1234, |
96 "metric": { |
104 "metric": { |
97 "uuid": "b508f01c-1f82-4e8b-b0d2-d88ecfb53031", |
105 "uuid": "b508f01c-1f82-4e8b-b0d2-d88ecfb53031", |
98 "interval":300, |
106 "interval":300, |
99 "properties": { |
107 "properties": { |
100 "hardwaremake": "Raspberry", |
108 "hardwaremake": "Raspberry", |