All Collections
Developer Documentation
Celona Network Monitoring API: Integration with Elgato Stream Deck
Celona Network Monitoring API: Integration with Elgato Stream Deck

Easily implement API calls for at-a-glance Celona network status

Team Celona avatar
Written by Team Celona
Updated over a week ago

Introduction

Many private cellular installations require site surveys prior to the deployment and choosing best locations and orientations for the Celona Edge, Celona Access Points, antennas, and the client devices.

Private cellular is also deployed in temporary installations. These can be occasional, large area events such as festivals, concerts, disaster zones with support personnel - or other gatherings of people at places where networking infrastructure, including wireless, does not exist or cannot scale up enough to meet the short-term demand.

Celona Access Points and Celona Edge servers can be frequently and repeatedly deployed as part of a "base station" of components in a vehicle (e.g., COW - Cell On Wheels), or otherwise hauled to a remote location such as on hill overlooking a valley or heavy-duty tripods to achieve sufficient antenna height. Via portable power and backhaul (e.g. satellite internet), private cellular coverage for a large area can be setup anywhere.

"Is the Network Up?"

For frequently, repeatedly deployed Celona gear, it can help to have an obvious front panel at the base station of components to display important status at-a-glance. While the newer Celona Access Point and Celona Edge devices do have status LEDs, they may not be right in front of you after installation. This is the kind of information that you might want, showing that the system is "up and running" at-a-glance.

One method of creating a console is to use a Stream Deck by Elgato.

The Stream Deck is a USB-A input device with multiple buttons for programmatic control. Each button can also programmatically display information.

Elgato Stream Deck and Celona Orchestrator

In this article, we look at how you can program a Stream Deck to make Celona API calls towards creating your own Celona front panel display. If you are new to Celona APIs, programming the Stream Deck can also be a great introduction.

Items needed

  • Celona Edge software / appliance

  • Celona Access Point (indoor or outdoor)

  • Account on the Celona Orchestrator (https://cso.celona.io) OR a Celona API key for your Celona account

  • Elgato Stream Deck device

  • MacOS or Windows computer to drive the Stream Deck

Your First Stream Deck Button for Celona Edge 'Up' Status

Obtain a Celona API key

Let's start with the most obvious and needed status for a front-panel display: "Up" and "Down" status of a Celona Edge appliance. Once you understand this, you will be able to do the same with the Celona Access Point as the API calls for status is identical. You will also be able to change the parameters that are parsed by Stream Deck to show other types of Celona information, such as Uptime and IP address.

If you do not have one already, obtain an API key from your CSO account. In the Admin Settings > API Keys page, click on the GENERATE KEY button. Right after, you will have one chance to note down your API key.

Note: Keep this API key safe as this will have just as much visibility and control as web access on Celona Orchestrator itself.

Obtain the serial number of your Celona Edge

In the Celona Orchestrator web interface, under Edge Clusters, expand the Edge Cluster instance of interest and note the Serial Number of the Edge Node.

With the API key and the Edge Node Serial Number, you have all of the parametric data needed to configure a Stream Deck button to poll for Edge Node status.

Program a Stream Deck Button for Celona Edge Status

Install and open the Stream Deck app on your Windows or MacOS computer

With the Stream Deck device connected, the display on the application and device should be the same.

Install the 'API Ninja' plugin for the Stream Deck Application

There are other API plugins and you can even program your own plugin, but for simplicity in this article, we'll use the API Ninja plugin.

Configure the API plugin for your Edge status

  • Ensure your MacOS or Windows computer is connected to the internet

  • Drag and drop the icon for the API Ninja into an available button

  • Configure the following parameters for your new API Ninja button:

    • Request Type: GET

    • API URL: https://api.celona.io/v1/api/cfgm/psenodes/<EDGE NODE SERIAL NUMBER>

    • Content Type: application/json

    • Headers: X-API-Key=<YOUR API KEY>

    • Response shown: data.status

    • Response Type: "Custom images based on response"

    • Image Value: 4

    • Matched image: Create a green square image and choose the file

    • Unmatched image: Create a red square image and choose the file

    • Autorun every: 15 Seconds

Now, when the Edge Node is Up, the button should show the green image with the image value 4 in the center.

When the Edge Node is NOT Up, the button should show the red image - typically this will be data.status = 5.

Customize Your Stream Deck buttons for More Celona Status

You can copy and paste a Stream Deck button and adjust the parameters to provide at a glance status for the Celona Edge, Celona Access Point, and each of the 2 individual radio sectors of the Celona Access Point.

Celona Edge Node parameters for "Response Shown":

  • data.status

  • data.uptime

  • data.ip_address

Celona Access Point Parameters

  • API URL: https://api.celona.io/v1/api/cfgm/enodebs/<ACCESS POINT SERIAL NUMBER>

Celona Access Point parameters for "Response Shown":

  • data.status

  • data.uptime

  • data.ip_address

Celona Access Point radio data uses the same enodebs API URL above.

  • data.radio[0 | 1].cell_id

  • data.radio[0 | 1].frequency_dl

  • data.radio[0 | 1].signal_power

As there not enough buttons on our Stream Deck unit to show both AP sectors as we have it set up, we used the lower right button to switch between two mostly identical profiles, with one profile referring to data.radio[0] and the second profile referring to data.radio[1].

With the instructions in this article, you are now ready to customize your own front panel for your Celona network.

Did this answer your question?