{"id":36027537,"url":"https://github.com/David-Lor/MQTT2NotifySend","last_synced_at":"2026-01-11T20:00:41.366Z","repository":{"id":46011096,"uuid":"169920056","full_name":"David-Lor/MQTT2NotifySend","owner":"David-Lor","description":"🌉Bridge between MQTT and 🖥️Freedesktop.org Notify-Send desktop notifications (Ubuntu \u0026 other distros)🐧 - Send notifications from MQTT directly to your desktop!","archived":false,"fork":false,"pushed_at":"2021-11-20T14:58:45.000Z","size":39,"stargazers_count":14,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-24T03:46:13.433Z","etag":null,"topics":["debian","desktop-notifications","freedesktop","freedesktop-notifications","linux","linux-desktop","mqtt","notification","notifications","notify-send","ubuntu"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/David-Lor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-02-09T22:21:58.000Z","updated_at":"2024-10-21T16:55:14.000Z","dependencies_parsed_at":"2022-08-28T12:20:46.255Z","dependency_job_id":null,"html_url":"https://github.com/David-Lor/MQTT2NotifySend","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/David-Lor/MQTT2NotifySend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/David-Lor%2FMQTT2NotifySend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/David-Lor%2FMQTT2NotifySend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/David-Lor%2FMQTT2NotifySend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/David-Lor%2FMQTT2NotifySend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/David-Lor","download_url":"https://codeload.github.com/David-Lor/MQTT2NotifySend/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/David-Lor%2FMQTT2NotifySend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28321263,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T18:42:50.174Z","status":"ssl_error","status_checked_at":"2026-01-11T18:39:13.842Z","response_time":60,"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":["debian","desktop-notifications","freedesktop","freedesktop-notifications","linux","linux-desktop","mqtt","notification","notifications","notify-send","ubuntu"],"created_at":"2026-01-10T15:00:40.726Z","updated_at":"2026-01-11T20:00:41.329Z","avatar_url":"https://github.com/David-Lor.png","language":"Shell","funding_links":[],"categories":["Interfaces"],"sub_categories":["Monitoring"],"readme":"# MQTT2NotifySend\n\n🌉Bridge between MQTT and 🖥️Freedesktop.org Notify-Send desktop notifications (Ubuntu \u0026amp; other distros)🐧, to send notifications to your desktop over MQTT.\n\n## Getting started\n\n```bash\n# Dependencies are: libnotify-bin, mosquitto-clients, jq, coreutils\nsudo apt install libnotify-bin mosquitto-clients jq coreutils\n\n# Download the script \u0026 set as executable (optional)\ncurl -O https://raw.githubusercontent.com/David-Lor/MQTT2NotifySend/master/mqtt2notifysend.sh\nchmod u+x mqtt2notifysend.sh\n\n# Run!\n./mqtt2notifysend.sh -h localhost -t notifications\n\n# Send a message to the broker from other terminal window\nmosquitto_pub -h localhost -t notifications -m \"{\\\"title\\\": \\\"Custom notification\\\", \\\"text\\\": \\\"Hello world\\\"}\"\n```\n\n- Script arguments for MQTT connection are the same used with the `mosquitto_sub` command (run `./mqt2notifysend.sh --help` to know more).\n- The script expects a JSON string as payload, with the following tags:\n    - `title`: notification title (optional)\n    - `text`: notification body (required)\n    - `level`: notification urgency level (optional; one of: `low`, `normal`, `critical`; default: `normal`)\n    - `iconB64`: notification icon image, encoded as Base64 string (optional)\n\n### Environment variables\n\nCertain settings can be tweaked using the following environment variables:\n\n- `RECONNECTION_DELAY`: time to wait between connection attempts, in seconds (default: `5`)\n- `DEFAULT_TITLE`: default title for notifications sent without title (default: `MQTT2NotifySend`)\n- `DEFAULT_LEVEL`: default notify-send level for notifications sent without level (default: `normal`)\n- `LOG_ENABLE`: if `true` or `1`, enable script logs (default: `false`)\n- `ICON_BASE_PATH`: where the notification icon file is downloaded, for each notification. This is an absolute/relative path of the file, used as prefix (default: `/tmp/mqtt2notifysend-icon`)\n- `ICON_DELETE_DELAY`: seconds to wait between the icon is decoded and deleted. Cannot be zero, as notifysend command may delay a bit and the icon may be removed when the notification pops up, not showing the icon (default: `5`)\n\nUsage:\n\n```bash\nLOG_ENABLE=true RECONNECTION_DELAY=1 DEFAULT_TITLE=\"Very important notification\" DEFAULT_LEVEL=critical \\\n    bash mqtt2notifysend.sh -h localhost -t notifications\n```\n\n## Changelog\n\n- 0.3.0 - Support sending icon for notifications, as base64-encoded string\n- 0.2.1 - Allow to disable logs; logs disabled by default; amends on script syntax; describe environment variables on README\n- 0.2.0 - Initial new Bash version from scratch\n- _v0.1.0 - (Deprecated) Initial new version from scratch (branch [python/develop](https://github.com/David-Lor/MQTT2NotifySend/tree/python/develop))_\n- _v0.1 - (Deprecated) Initial version (branch [python/master](https://github.com/David-Lor/MQTT2NotifySend/tree/python/master))_\n\n## TODO\n\n- Support non-JSON payloads (only text and title-text split by delimiter)\n- Identify when mosquitto_sub fails due to connection error or user input (args) error\n- Validate dependencies installed before connecting\n- Support icons sent by URL\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDavid-Lor%2FMQTT2NotifySend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDavid-Lor%2FMQTT2NotifySend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDavid-Lor%2FMQTT2NotifySend/lists"}