{"id":19230515,"url":"https://github.com/ctron/hot","last_synced_at":"2026-05-18T14:31:19.956Z","repository":{"id":64302668,"uuid":"186684638","full_name":"ctron/hot","owner":"ctron","description":"Command line test tool for Eclipse Hono","archived":false,"fork":false,"pushed_at":"2020-07-30T08:50:48.000Z","size":1807,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-23T11:17:23.113Z","etag":null,"topics":["amqp1-0","eclipse-hono","http","iot","mqtt"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ctron.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-14T19:12:51.000Z","updated_at":"2020-07-30T08:29:37.000Z","dependencies_parsed_at":"2023-01-15T09:45:40.605Z","dependency_job_id":null,"html_url":"https://github.com/ctron/hot","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/ctron/hot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fhot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fhot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fhot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fhot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ctron","download_url":"https://codeload.github.com/ctron/hot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctron%2Fhot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":283159045,"owners_count":26788985,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-07T02:00:06.343Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amqp1-0","eclipse-hono","http","iot","mqtt"],"created_at":"2024-11-09T15:39:38.455Z","updated_at":"2025-11-07T09:02:30.906Z","avatar_url":"https://github.com/ctron.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HoT – Hono Test [![GitHub release](https://img.shields.io/github/release/ctron/hot.svg)](https://github.com/ctron/hot/releases)\n\nThis is a simple command line tool for testing Eclipse Hono™.\n\n## Authentication\n\n### Username and password\n\nYou can set the username and password for all operations using the `--username`\nand `--password` parameters.\n\nWhen publishing data the username is normally a combination of `\u003cauth-id\u003e@\u003ctenant\u003e`.\nAs you are already providing the tenant, you can use the `--auth-id` parameter\ninstead, which will internally generate the correct user name, by adding the\ntenant suffix. \n\n\u003cdl\u003e\n\u003cdt\u003e\u003ccode\u003e--auth-id,-a\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003eThe username to use for authenticating with the backend.\u003c/dd\u003e\n\u003cdt\u003e\u003ccode\u003e--username,-u\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003eThe full username to use for authenticating with the backend.\u003c/dd\u003e\n\u003cdt\u003e\u003ccode\u003e--password,-p\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003eThe password to use for authenticating with the backend.\u003c/dd\u003e\n\u003c/dl\u003e\n\nAssuming you have a tenant `foo` and an authentication id of `auth1`, then\nyou can use either:\n\n    --username auth1@foo\n\nOr:\n\n    --auth-id auth1\n\n### X.509 client certificates\n\nIt is possible to use X.509 client certificates, instead of\nusername/password authentication. For this you can use the parameters:\n\n\u003cdl\u003e\n\u003cdt\u003e\u003ccode\u003e--client-key\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003eThe path to an X.509 PKCS#8 encoded private key\u003c/dd\u003e\n\u003cdt\u003e\u003ccode\u003e--client-cert\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003eThe path to an file containing a PEM encoded client certificate chain\u003c/dd\u003e\n\u003c/dl\u003e\n\n\n## Start a test consumer\n\nFill in your connection information, and then execute the following command:\n\n    hot consume amqps://my.server:443 tenant\n\nOr:\n\n    hot consume amqps://username@password:my.server:443 tenant\n\nYou can use the following flags:\n\n\u003cdl\u003e\n\n\u003cdt\u003e\u003ccode\u003e--disable-tls\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003eDisable TLS negotiation on the AMQP connection\u003c/dd\u003e\n\n\u003cdt\u003e\u003ccode\u003e--insecure\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003eSet to true to enable Insecure TLS connection\u003c/dd\u003e\n\n\u003cdt\u003e\u003ccode\u003e--cert\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003ePath to the certificate bundle in PEM format (overrides system CA certs)\u003c/dd\u003e\n\n\u003c/dl\u003e\n\n### Telemetry \u0026 event\n\nRunning `consume` will consume both *telemetry* and *event* messages and\noutput them on the console.\n\n### Command \u0026 control\n\nYou can enable command and control handling, by using the switch\n`-c, --command`. You can pass an optional value to the switch,\nwhich is the command name, `TEST` is being used by default.\n\nWhen this feature is enabled and a message containing the `ttd` property\nis received, it will try to get the next command, and forward it to\nthe device.\n\nThe source of the command can be specified with the `-r,--reader` argument.\nThe following readers are available:\n\n* `ondemand` – When a command is required, it will show a prompt on the\n  console, which can read the command payload. When the command requests\n  times out, the prompt will get canceled.\n* `prefill` – A prompt on the console allows putting in the command payload\n  for the next command request.\n* `static:\u003cpayload\u003e` – Everything after the prefix `static:` will be used\n  as the command payload. No interactive prompt is being presented. \n\n## Publish an HTTP message\n\nFill in your connection information, and then execute the following command:\n\n    hot publish http telemety https://my.server tenant device payload --username auth --password password\n\nThe following additional flags are supported:\n\n\u003cdl\u003e\n\n\u003cdt\u003e\u003ccode\u003e--qos\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003eSet the \"Quality of Service\". Defaults to \u003ccode\u003e0\u003c/code\u003e.\u003c/dd\u003e\n\n\u003cdt\u003e\u003ccode\u003e--ttd\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003eSet the \"time till disconnect\", the amount of seconds the HTTP call will\nwait for a command to the device\u003c/dd\u003e\n\n\u003c/dl\u003e\n\n## Publish an MQTT message\n\nFill in your connection information, and then execute the following command:\n\n    hot publish mqtt telemety ssl://my.server tenant device payload\n\nThe following additional flags are supported:\n\n\u003cdl\u003e\n\n\u003cdt\u003e\u003ccode\u003e--qos\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003eSet the \"Quality of Service\". Defaults to \u003ccode\u003e0\u003c/code\u003e.\u003c/dd\u003e\n\n\u003cdt\u003e\u003ccode\u003e--ttd\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003eSet the \"time till disconnect\", the amount of seconds the MQTT call will\nwait for a command to the device\u003c/dd\u003e\n\n\u003c/dl\u003e\n\n## Building\n\nBuilding requires Go 1.13.x. You can build the binary by executing:\n\n    GO111MODULE=on go build -o hot ./cmd\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctron%2Fhot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fctron%2Fhot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctron%2Fhot/lists"}