{
:local ID "MikroTik-$[/sys rou get serial-number]"
:local broker "demo"
#identity
/iot/mqtt/publish broker=$broker topic=("node/$ID/identity") message=[/sys ident get name]
#wifi clients
/iot/mqtt/publish broker=$broker topic=("node/$ID/wifi-clients") message=[:len [/int wireless/registration-table/find]]
#routerboard
:local RBparams {"board-name"; "serial-number"; "current-firmware"; "upgrade-firmware"}
:foreach RBparam in=$RBparams do={
/iot/mqtt/publish broker=$broker topic=("node/$ID/routerboard/$RBparam") message=[/sys rou get $RBparam]
}
#resources
:local SYSparams {"uptime"; "version"}
:foreach SYSparam in=$SYSparams do={
/iot/mqtt/publish broker=$broker topic=("node/$ID/system/$SYSparam") message=[/sys reso get $SYSparam]
}
#lte fw
:local LTEFWparams {"installed"; "latest"}
:foreach LTEFWparam in=$LTEFWparams do={
/iot/mqtt/publish broker=$broker topic=("node/$ID/lte/$LTEFWparam") message=([/int lte firm 0 as-value]->"$LTEFWparam")
}
#lte interface
:local LTEINTparams {"pin-status"; "pin-status"; "functionality"; "manufacturer"; "model"; "revision"; "current-operator"; "lac"; "current-cellid"; "enb-id"; "sector-id"; "phy-cellid"; "access-technology"; "session-uptime"; "imei"; "imsi"; "uicc"; "primary-band"; "ca-band"; "rssi"; "rssi"; "rsrp"; "rsrq"; "sinr"}
:foreach LTEINTparam in=$LTEINTparams do={
/iot/mqtt/publish broker=$broker topic=("node/$ID/lte/$LTEINTparam") message=([/int lte mon 0 once as-value]->"$LTEINTparam")
}
#gps
:local GPSparams {"date-and-time"; "latitude"; "longitude"; "altitude"; "speed"; "destination-bearing"; "true-bearing"; "magnetic-bearing"; "valid"; "satellites"; "fix-quality"; "data-age"}
:foreach GPSparam in=$GPSparams do={
/iot/mqtt/publish broker=$broker topic=("node/$ID/gps/$GPSparam") message=([/sys gps/monitor once as-value]->"$GPSparam")
}
}