Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

When the HNZ south plugin establishes a new connection wit ha with a HNZ device, it will automatically send the following messages to the device:

...

AttributeDescriptionExpected valuesMandatory
do_typemessage typeTS, TM, TC, TVCYES
do_stationstation address
YES
do_addressmessage address
YES
do_valuevalue

TM (do_an = TMA): [-127..127]

TM (do_an = TM8): [0..255]

TM (do_an = TM16): [-32768..32767]

TMTS: [0..1]

TC: [1..2] (01b = offon, 10b = onoff)

TVC: [-255..255]

YES except in quality update readings
do_validvalidityvalid = 0 or invalid = 1YES
do_anTM type (analogic / numeric)"TMA", "TM8", "TM16"TM only
do_cgTS sourceCG = 1 or CE = 0TS only
do_tsoutdatedOutdated message (after connection loss)up to date =0, outdated = 1TM and TS only
do_tstimestampepoch timestamp timestampepoch timestamp in millisecondsTS CE only
do_ts_ivtimestamp invalidvalid = 0 or invalid = 1 (from bit HNV)TS CE only
do_ts_closs of chronologylost = 0 1 else = 1 0 (from bit CV)TS CE only
do_ts_sts not synchronizedsynchronized = 0 else = 1  (from bit S)TS CE only
do_anTM type (analogic / numeric)"TMA", "TM8", "TM16"TM only

Example for a TS from CE:

Code Block
languagepy
{
    "data_object":{
        "do_type":"TS",
        "do_station":12,
        "do_addr":325,
        "do_value":1,
        "do_valid":0,
        "do_cg":0,
        "do_tsoutdated":16850194254320, 
        "do_ts":1685019425432,
        "do_ts_iv":0,
        "do_ts_c":0,
        "do_ts_s":0
    }
 }

...

Code Block
languagepy
{
    "data_object":{
        "do_type":"TS",
        "do_station":12,
        "do_addr":325,
        "do_value":1,
        "do_valid":0,
        "do_cg":1,
        "do_outdated":0
    }
 }

Example for a TMATS quality update:

Code Block
languagepy
{
    "data_object":{
        "do_type":"TMTS",
           "do_station":12,
           "do_addressaddr":71325,
        "do_valuevalid":-150,
        "do_validcg":0,
            "do_anoutdated":"TMA"1, 
    }
}

Example for a TMN 8 bits (TM8):

Code Block
languagepy
{
    "data_object":{    "do_ts":1685019425432,
        "do_typets_iv":"TM"0,
           "do_stationts_c":120,
           "do_ts_addresss":71,0
    }
 }

Example for a TMA:

Code Block
languagepy
{
    "dodata_valueobject":42,{
        "do_validtype":0"TM",
         "do_anstation":"TM8"12,
    }
}

Example for a TMN 16 bits (TM16):

Code Block
languagepy
{
    "data_object":{    "do_addr":71,
        "do_typevalue":"TM"-15,
           "do_stationvalid":120,
         "do_addressan":71,
        "do_value":420"TMA",
        "do_validoutdated":0,
        "do_an":"TM16"
    }
}

Example for a TC (after receiving ACKTMN 8 bits (TM8):

Code Block
languagepy
{
    "data_object":{
        "do_type":"TCTM",
        "do_station":12,
        "do_addressaddr":71,
        "do_value":142,
        "do_valid":0,
        "do_an":"TM8",
        "do_outdated":0
    }
 }

Example for a

...

TMN 16 bits (TM16):

Code Block
languagepy
{
    "data_object":{
        "do_type":"TVCTM",
        "do_station":12,
        "do_addressaddr":3171,
        "do_value":420,
        "do_valid":0,
        "do_an":"TM16",
        "do_outdated":0
    }
}

Example for a TM quality update:

Code Block
languagepy
{
    "data_object":{
        "do_type":"TM",
        "do_station":12,
        "do_addr":71,
        "do_valid":0,
        "do_an":"TMA",
        "do_outdated":1
    }
}

Example for a TC (after receiving ACK):

Code Block
languagepy
{
    "data_object":{
        "do_type":"TC",
        "do_station":12,
        "do_addr":71,
        "do_valid":0
     }
 }

Example for a TVC (after receiving ACK):

Code Block
languagepy
{
    "data_object":{
        "do_type":"TVC",
        "do_station":12,
        "do_addr":3142,
        "do_valid":0
     }
 }

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.

...

OrderAttributeDescriptionExpected valuesMandatory
0co_typemessage typeTC, TVCYES1co_addressmessage addressYES_typemessage typeTC, TVCYES
1co_addrmessage address

[0..255][0..7] (ADO + ADB) for a TC, [0..31] for a TVC

YES
2co_valuevalue[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:

Code Block
languagepypy
{
    "command_object":{
       "co_type":"TC",
       "co_addressaddr":325,
       "co_value":1
     }
 }

Example for a TVC:

Code Block
languagepy
{
    "command_object":{
       "co_type":"TVC",
       "co_addressaddr":31,
       "co_value":1
     }
 42
}

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.

...