{"id":18030713,"url":"https://github.com/dannixon/mqtt-actor","last_synced_at":"2026-04-29T17:32:03.049Z","repository":{"id":70981402,"uuid":"463052106","full_name":"DanNixon/mqtt-actor","owner":"DanNixon","description":"Simple tool to schedule MQTT messages.","archived":false,"fork":false,"pushed_at":"2024-03-05T09:26:23.000Z","size":101,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-24T18:18:11.886Z","etag":null,"topics":["mqtt"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DanNixon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-24T07:36:43.000Z","updated_at":"2022-03-01T11:11:23.000Z","dependencies_parsed_at":"2024-03-05T10:49:39.052Z","dependency_job_id":null,"html_url":"https://github.com/DanNixon/mqtt-actor","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/DanNixon/mqtt-actor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanNixon%2Fmqtt-actor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanNixon%2Fmqtt-actor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanNixon%2Fmqtt-actor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanNixon%2Fmqtt-actor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DanNixon","download_url":"https://codeload.github.com/DanNixon/mqtt-actor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanNixon%2Fmqtt-actor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32436595,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T17:26:39.753Z","status":"ssl_error","status_checked_at":"2026-04-29T17:25:53.857Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["mqtt"],"created_at":"2024-10-30T09:14:56.114Z","updated_at":"2026-04-29T17:32:03.033Z","avatar_url":"https://github.com/DanNixon.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mqtt-actor\n\n[![CI](https://github.com/DanNixon/mqtt-actor/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/DanNixon/mqtt-actor/actions/workflows/ci.yml)\n[![dependency status](https://deps.rs/repo/github/dannixon/mqtt-actor/status.svg)](https://deps.rs/repo/github/dannixon/mqtt-actor)\n\nSimple tool to schedule MQTT messages.\n\nRather handy for driving event schedule announcements and other similar tasks.\n\n## Usage\n\nTL;DR: see `mqtt-actor --help` and the [examples](./examples).\n\nA \"script\" is generated from several script fragments, see [examples](./examples) for some examples.\nScript fragments are discovered recursively in the script directory, any file (or directory) not starting with `.` and ending with `.txt` is considered to be an enabled script fragment.\nThe general format is as such: `[timestamp] [delimiter] [topic] [delimiter] [message]`.\n\n`[delimiter]` defaults to the pipe (`|`), but can be configured via the command line options.\n\n`[timestamp]` can be either an absolute timestamp, in either RFC2822 or RFC3339 format or a relative timestamp.\nRelative timestamps are relative to the last message in the current file, unless it is the first message in the file, in which case it is relative to the time the script was loaded.\nThe actor watches the script source directory and will reload the script when it detects that a script source file *might* have changed.\n\n## Deployment\n\nFor testing and small/temporary deployments, Podman (or Docker if you really must) can be used:\n```sh\npodman run \\\n  --rm -it \\\n  -e RUST_LOG=debug \\\n  -e MQTT_BROKER=broker.hivemq.com \\\n  -v ./examples/:/config \\\n  ghcr.io/dannixon/mqtt-actor:main\n```\n\nFor more serious deployments, Kubernetes is a better option.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdannixon%2Fmqtt-actor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdannixon%2Fmqtt-actor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdannixon%2Fmqtt-actor/lists"}