Dot11 Guru

802.11, Cisco, ekahau automation, Python

Ekahau Automation, Optimising project workflow – Part 2

This is Part 2 of a how-to guide on Ekahau Automation, focusing on optimising project workflow through python scripts. This chapter specifically targets on manipulating data from the Ekahau JSON files.


For Part 1, and more Ekahau / Python goodness,
visit the dedicated Ekahau Automation page


In part 2 of this how to series, we introduce a new python library, “CSV”. This library is used to transfer the data from the JSON files, to CSV.

import csv

Ekahau Automation – CSV

In part 1 of this series, we discussed how to decompress an Ekahau project file, and read the contents of the JSON file. The next step is to collect the various fields, and place them into a CSV file.

This is how I have used the CSV library in my scripts. The first step was to define my header, and launch the process to write to csv.

Defining the CSV headers, organizing the process to write to CSV.

Following this, I collected the data. Then organized it into a list, before writing to CSV.

Compile data into a list, then for each line, write to CSV.

This isn’t the only way to export your data. You could push it to a cloud provider via API, utilize an excel library, write it back to JSON, the options are endless.

Matching data between JSON files to retrieve another value.

One of the more complicated topics when starting out with the Ekahau project JSONs is how to retrieve data from within multiple JSON files.

For example – If you start in the Access Point JSON file, and collect the values, you will retrieve an item called “id”

the tag “id” is used in other JSON files

This tag appears in other JSON files, Simulated Radios for example:

“access point Id “is “ID”

By matching these two fields together, you are able to retrieve the “Access Point Name” from within the project, and match it to fields within the Simulated Radios JSON – Antenna Tilt, Height, Mounting, Channel.

This is acheived through a series of foreach loops and if statements. See below as an example.

Resources / Links

Static Channel Configurator – Cisco and Ekahau

Ekahau RunBook Exporter

Discover Cisco Access Point Modes programmatically

802.11 and Industrial Wireless Protocol coexistence

Share this:

Leave a Reply