Skip to content
Leonard Sperry edited this page Mar 18, 2024 · 14 revisions

HaKafkaNet ships with a UI for gathering information about your currently running automations. You can enable/disable automations as well as get trace information. There are two pages included, a dashboard and an automation details view.

When using the nuget package, you will see some files in your solution explorer which are not editable in a folder labled www.

Dashboard

Here is a screenshot of the dashboard when using the example app.

Image of dashboard

The header has the following components.

  • A link to the Kafkaflow Admin dashboard in the upper right corner. This will give you information about the Kafka handlers running against your Kafka instance.
  • A link to this documentation in the upper right.
  • Information about if the State Handler is initialized. Sometimes, when restarting your application, it can take a minute for Kafkaflow to initialize. If you notice after a restart that events are not being handled, it is likely that this will display false. Refreshing the page until this displays true will tell you when events are being handled.

Below the header, the dashboard has a list of all your automations. Immediately above the list there is:

  • A link to your home assistant "States" development tools assuming your home assistant is accessible via http://homeassistant.local:8123 . This can be useful for triggering your automations without relying on changes to your physical devices.
  • An input field is provided to filter the display. It will do a wildcard search on the following fields:
    • Name
    • Description
    • Any entity IDs used for triggers
    • Any entity IDs used for additional entities to track.

Below that is a list of all automations discovered by the framework. Each item is expandable by clicking on the automation's name. Each automation lists:

  • Enabled - a switch to enable/disable the automation
  • Name - The name specified by you via metadata or the name of the type your automation if not specified.
  • Description - The description specified by you, otherwise the Full Name of the type.
  • Source - The source of the automation. If you implemented a custom automation and did not decorate it with the ExludeFromDiscovery attribute, the framework will initialize a singleton instance of your automation and display "Discovered" in this column. Otherwise, it will display the name of the registry from where the automation was registered. Trigger IDs - a list of entity IDs as returned by the TriggerEntityIds() method of the automation.
  • Type - The type of your automation. If you do not specify a name, these 2 columns will display the same information.

Click the "Details" button to navigate to the Automation Details page.

Automation Details

The automation details page has 2 sections. The top lists detailed Information about your automation. Several of the fields are described above. In addition, the following fields are listed:

  • Key Request - Each automation is given a unique key. If you do not specify the key, a unique key will be generated. The key is used for
    • The url of the details page
    • Mapping trace information
    • Enabling/disabling the automation
  • Given Key - This is the actual key given to the automation based on what was requested. The request is cleaned to make sure it is url friendly and unique.
  • Event Timings - The event timings your automation is using.
  • Is Delayable - True if your automation is an IConditionalAutomation or IDelayableAutomation, otherwise false

Image of details view