---
title: "Tools"
description: "Tools to look at and operate the Data Layer - the Keryx page, LumiScan Keryx Utilities, the command line client krxclient and the ctrlX OS web interface."
product: "LumiScan Keryx"
component: "lumiscan-keryx"
version: "1.0.0"
display_version: "1.0.0.7"
latest_version: true
language: "en"
url: "https://docs.hdvisionsystems.com/en/lumiscan-keryx/1.0.0/tools.html"
---

# Tools – LumiScan Keryx

| Tool | Data Layer | For |
| --- | --- | --- |
| [Keryx page](https://docs.hdvisionsystems.com/en/lumiscan-keryx/1.0.0/tools.html#data-layer-page) | LumiScan Keryx, Windows | browsing the tree, reading, writing, calling methods, watching values |
| [LumiScan Keryx Utilities](https://docs.hdvisionsystems.com/en/lumiscan-keryx/1.0.0/tools.html#utilities) | LumiScan Keryx, Windows | subscribing to nodes and following stream results through the chain |
| [krxclient](https://docs.hdvisionsystems.com/en/lumiscan-keryx/1.0.0/tools.html#krxclient) | LumiScan Keryx | browsing, reading, writing and calling methods from the command line, in scripts and tests |
| [the ctrlX OS web interface](https://docs.hdvisionsystems.com/en/lumiscan-keryx/1.0.0/tools.html#ctrlx-web-interface) | ctrlX Data Layer | browsing, reading, writing and calling methods on ctrlX OS |

## The Keryx page {#data-layer-page}

`http://127.0.0.1:7555/` for the default broker - the broker’s port + 2000. Starting **LumiScan Keryx** opens the same page in a window. See [LumiScan Keryx on a PC](https://docs.hdvisionsystems.com/en/lumiscan-keryx/1.0.0/keryx.html#data-layer-page).

## LumiScan Keryx Utilities {#utilities}

A window onto a broker: choose the broker, search its nodes, subscribe to the ones you want, and read what they publish in one list. It is a client only: it provides no nodes and changes nothing on the broker. Windows only.

1. Start it. A window opens; it needs the Microsoft Edge WebView2 Runtime, which Windows 11 includes. Without it the page opens in the default browser.
2. **Broker**: enter host and port (`127.0.0.1` and `5555` by default) and click **Connect**. The dot shows whether the broker answers.
3. **Add**: type words of an address in the search box, for example `camera1 stream frame`, and pick a node. An address the broker does not know yet can be added as typed: a subscription may come before its provider.
4. **Start** and **stop** each subscription with its own button. After a restart, and after a change of broker, subscriptions come back stopped - a camera stream is tens of megabytes per second. **Resume on start** changes that.
5. **Results**: one list, newest first, each row naming its source. **Keep newest** sets how many are kept.
6. **Follow an item**: click a row. For a stream result the detail lists every row about the same item, in the order it arrived and how long after the first, and the producers it passed with each one’s time. It never shows the pixels of a frame.

| What | Where |
| --- | --- |
| Subscriptions and settings | `%APPDATA%\LumiScan Keryx Utilities\settings.json` |
| Log | `%LOCALAPPDATA%\LumiScan Keryx Utilities\logs\keryx-utilities.log` |

The results are kept in memory only. `lost` counts updates the broker numbered that did not arrive.

## krxclient {#krxclient}

The command line client of LumiScan Keryx. It stands in for a PLC: `read`, `write`, `browse`, `metadata`, `tree`, `execute`, `subscribe`, and `handshake`, which runs a ready/request handshake. Give it the broker with `--keryx-backend` and `--keryx-url`, or with the environment variables `HDV_KERYX_BACKEND` and `HDV_KERYX_URL`.

```none
krxclient write hdvisionsystems/lumiscan-template-finder/module-1/control/subscribe/input/address hdvisionsystems/lumiscan-cam-driver/camera1/control/publish/output/stream
krxclient write hdvisionsystems/lumiscan-template-finder/module-1/control/subscribe/input/enable true
krxclient execute hdvisionsystems/lumiscan-template-finder/module-1/control/subscribe/execute
krxclient subscribe hdvisionsystems/lumiscan-template-finder/module-1/control/subscribe/output/stream/result --count 5
```

`krxclient subscribe` shows a FlatBuffers value by its size only: it tells you that results arrive, not what they hold.

## The ctrlX OS web interface {#ctrlx-web-interface}

On ctrlX OS, open **Settings > Data Layer** in the ctrlX OS web interface. It shows the tree of the ctrlX Data Layer: browse to `hdvisionsystems/<app>`, read and write values, and call methods. See [ctrlX Data Layer on ctrlX OS](https://docs.hdvisionsystems.com/en/lumiscan-keryx/1.0.0/ctrlx-data-layer.html).
