...
Code Block | ||
---|---|---|
| ||
{ "protocol_stack":{ "name":"hnzserver", "version":"1.0", "transport_layer":{ "port_path_A":6001 "port_path_B":6002 }, "application_layer":{ "remote_station_addr":12, "inacc_timeout":180, "max_sarm":30, "repeat_path_A":3, "repeat_path_B":3, "repeat_timeout":3000, "anticipation_ratio":3, "test_msg_send":"1304", "test_msg_receive":"1304", "gi_schedule":"99:99", "gi_repeat_count":3, "gi_time":255, "c_ack_time":10, "cmd_recv_timeout":100000 } } } |
HNZ datapoint representation
...
Attribute | Description | Expected values | Mandatory |
---|---|---|---|
do_type | message type | TS, TM, TC, TVC | YES |
do_station | station address | YES | |
do_addressaddr | message address | YES | |
do_value | value | TM (do_an = TMA): [-127..127] TM (do_an = TM8): [0..255] TM (do_an = TM16): [-32768..32767] TS: [0..1] TC: [1..2] (01b = on, 10b = off) TVC: [-255..255] | YES except in quality update readings |
do_valid | validity | valid = 0 or invalid = 1 | YES |
do_an | TM type (analogic / numeric) | "TMA", "TM8", "TM16" | TM only |
do_cg | TS source | CG = 1 or CE = 0 | TS only |
do_outdated | Outdated message (after connection loss) | up to date =0, outdated = 1 | TM and TS only |
do_ts | timestamp | epoch timestamp in milliseconds | TS CE only |
do_ts_iv | timestamp invalid | valid = 0 or invalid = 1 (from bit HNV) | TS CE only |
do_ts_c | loss of chronology | lost = 1 else = 0 (from bit CV) | TS CE only |
do_ts_s | ts not synchronized | synchronized = 0 else = 1 (from bit S) | TS CE only |
...
HNZ command representation
...
This is the command representation of an HNZ message.
The current implementation does not use a json structure, so the order of parameters is mandatory.
0 | co_type | message type | TC, TVC | YES |
1 | co_addr | message address | [0..255][0..7] (ADO + ADB) for a TC, [0..31] for a TVC | YES |
2 | co_value | value | [1..2] (01b = on, 10b = off) | YES |
The processing of FLEDGE commands should evolve. Below is an example of JSON format :
Example for a TC:
|
Example for a TVC:
|
NB: if an attribute is not required, then it is not put in the output data object, which means that the output object structure always fits the protocol model object type.