{"id":13583590,"url":"https://github.com/potrudeau/homebridge-messenger","last_synced_at":"2025-06-25T02:36:05.498Z","repository":{"id":37634027,"uuid":"249025323","full_name":"potrudeau/homebridge-messenger","owner":"potrudeau","description":"Send HomeKit messages with HomeBridge (Pushover / IFTTT / Email)","archived":false,"fork":false,"pushed_at":"2023-05-20T13:43:50.000Z","size":161,"stargazers_count":104,"open_issues_count":30,"forks_count":8,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-01T20:54:44.998Z","etag":null,"topics":["email","homebridge","homebridge-plugin","ifttt","mail","pushover"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/potrudeau.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-03-21T17:22:05.000Z","updated_at":"2025-05-22T11:20:47.000Z","dependencies_parsed_at":"2023-02-17T21:01:11.163Z","dependency_job_id":"138ca96c-86f1-4db4-a962-212736e71cb5","html_url":"https://github.com/potrudeau/homebridge-messenger","commit_stats":{"total_commits":63,"total_committers":1,"mean_commits":63.0,"dds":0.0,"last_synced_commit":"d875b425a9860a12da784b33e5f2912be495c7e3"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/potrudeau/homebridge-messenger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/potrudeau%2Fhomebridge-messenger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/potrudeau%2Fhomebridge-messenger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/potrudeau%2Fhomebridge-messenger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/potrudeau%2Fhomebridge-messenger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/potrudeau","download_url":"https://codeload.github.com/potrudeau/homebridge-messenger/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/potrudeau%2Fhomebridge-messenger/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261791870,"owners_count":23210217,"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","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":["email","homebridge","homebridge-plugin","ifttt","mail","pushover"],"created_at":"2024-08-01T15:03:36.963Z","updated_at":"2025-06-25T02:36:05.471Z","avatar_url":"https://github.com/potrudeau.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/1062160/79011991-45a1c680-7b33-11ea-9e34-ec5e9005f623.png\" height=\"120\"\u003e\u003cbr\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/1062160/79012099-7da90980-7b33-11ea-99a3-c69c322e875e.png\" hspace=\"10px\"\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/1062160/80269083-a9230c80-867a-11ea-9bee-74dd68aa1bd0.png\" hspace=\"10px\" height=\"48px\"\u003e  \n   \u003cimg src=\"https://user-images.githubusercontent.com/1062160/79012203-c06ae180-7b33-11ea-81c3-ab43290011db.png\" hspace=\"10px\"\u003e  \n\u003c/p\u003e\n\n\n# homebridge-messenger\n[![NPM downloads](https://flat.badgen.net/npm/dt/homebridge-messenger?color=blue)](https://npmjs.com/package/homebridge-messenger)\n[![NPM version](https://flat.badgen.net/npm/v/homebridge-messenger?color=blue)](https://npmjs.com/package/homebridge-messenger)\n[![GitHub issues](https://flat.badgen.net/github/open-issues/potrudeau/homebridge-messenger?label=issues\u0026color=green)](https://github.com/potrudeau/homebridge-messenger/issues)\n[![GitHub pull requests](https://flat.badgen.net/github/prs/potrudeau/homebridge-messenger?label=pull%20requests\u0026color=green)](https://github.com/potrudeau/homebridge-messenger/pulls)\n[![Licence](https://flat.badgen.net/npm/license/homebridge-messenger?color=red)](LICENSE)\n[![verified-by-homebridge](https://flat.badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n\n[Homebridge](http://homebridge.io) plugin which allow users to send messages from [HomeKit](https://developer.apple.com/homekit/).\n\n\n## Features\nThe plugin supports the following technologies:\n* [Pushover](https://pushover.net/)\n* [IFTTT](https://ifttt.com) ([Webhooks](https://ifttt.com/maker_webhooks) service)\n* [SMTP email](https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol)\n\n\n## Installation\n\n**Option 1: Install via Homebridge Config UI X:**\n\nSearch for \"messenger\" in [homebridge-config-ui-x](https://github.com/oznu/homebridge-config-ui-x) and install `homebridge-messenger`.\n\n**Option 2: Manually Install:**\n\n```\nsudo npm install -g homebridge-messenger\n```\n\n## Configuration\nThe plugin adds to HomeKit a main switch and switches for each configured message. \n\nThe accessory **name** is used to specify the name of the main switch. If this main switch if turned OFF, no message will be sent by the plugin.\n\nMessage switches are stateless: they are turned OFF after being turned ON, once the message is sent.\n\nThere are two levels of configuration:\n* **Service** level properties defines the parameters for a specific technology. All messages related to that technology will be using the same properties for all messages. \n    * Example: All emails will use the same SMTP configuration. \n* **Message** level properties contains the configuration of each message. \n    * Example: Each message can have a different title and text.\n    \nAll switches can be used in scenes and automation.\n\n### Homebridge Config UI X\n[Homebridge Config UI X](https://github.com/oznu/homebridge-config-ui-x) is the easiest way to configure this plugin :\n* Every option is available through the UI\n* Configuration validation\n\u003cimg width=\"500\" src=\"https://user-images.githubusercontent.com/1062160/80269563-e1c4e500-867e-11ea-86d7-eefdd5e31b90.png\"\u003e\n\n### Pushover\n```\n\"accessories\": [\n      {\n          \"accessory\": \"HomebridgeMessenger\",\n          \"name\": \"Messenger\",\n          \"services\": {\n              \"pushover\": {\n                  \"user\": \"your_user\",\n                  \"token\": \"your_token\"\n              }\n          },\n          \"messages\": [\n              {\n                  \"type\": \"pushover\",\n                  \"name\": \"Pushover message\",\n                  \"text\": \"This is a test\",\n                  \"sound\": \"pushover\",\n                  \"device\" : \"iphone\",\n                  \"priority\": 0\n              },\n              {\n                  \"type\": \"pushover\",\n                  \"name\": \"Critical message\",\n                  \"text\": \"This is important\",\n                  \"sound\": \"magic\",\n                  \"priority\": 2\n              }         \n          ]\n      }\n  ]\n```\n* Service properties : \n    * user *(required)*: The user/group key of your user (or you).\n    * token *(required)*: Your application's API token.\n* Message properties :\n    * type *(required)*: Must be `pushover`.\n    * name *(required)*: Name of the switch and title of your message.\n    * text *(required)*: Body of the message.\n    * sound *(facultative)*: Name of the sound that will notify the user. If no valid value is provided, the default `pushover` sound will be used. For no sound, use `silent`. The [Pushover API](https://pushover.net/api#sounds) contains the list of all available sounds.\n    * device *(facultative)*: The device name to send the message to. If not specified, the message will be send to all your devices. You can send to multiple devices by using a coma.\n    * priority *(required)*: Priority of the message. Accepted values are `-2`, `-1`, `0`, `1` or `2`. You may refer to the [Pushover API](https://pushover.net/api#priority) for more details. Critical messages (`2`), are sent with the following parameters :\n        * Retry : 60 seconds\n        * Expires: 3600 seconds\n    \n### IFTTT (Webhooks service)\n```\n\"accessories\": [\n    {\n        \"accessory\": \"HomebridgeMessenger\",\n        \"name\": \"Messenger\",\n        \"services\": {\n            \"ifttt\": {\n                \"key\": \"your_key\"\n            },\n        },\n        \"messages\": [\n            {\n                \"type\": \"ifttt\",\n                \"name\": \"Test IFTTT\",\n                \"event\": \"my_webhook\",\n                \"value1\": \"hello world\",\n                \"value2\": \"foo bar\",\n                \"value3\": \"chewbacca\"\n            }        \n        ]\n    }\n]\n```\n* Service properties : \n    * key *(required)*: Your key. To obtain your key, log into your IFTTT account and click on the Documentation link in the [Webhooks service](https://ifttt.com/maker_webhooks).\n* Message properties :\n    * type *(required)*: Must be `ifttt`.\n    * name *(required)*: Name of the switch. This will be **not** passed to IFTTT.\n    * event *(required)*: Name of your event configured in IFTTT (Webhooks service).\n    * value1 *(facultative)*: Value 1 to be passed to IFTTT.\n    * value2 *(facultative)*: Value 2 to be passed to IFTTT.\n    * value3 *(facultative)*: Value 3 to be passed to IFTTT.\n    \n### Email\n```\n\"accessories\": [\n    {\n        \"accessory\": \"HomebridgeMessenger\",\n        \"name\": \"Messenger\",\n        \"services\": {\n            \"email\": {\n                \"recipient\": \"you_email@domain.com\",\n                \"smtpServer\": \"smtp.domain.com\",\n                \"smtpPort\": 465,\n                \"smtpSecure\": true,\n                \"smtpUsername\": \"your_username\",\n                \"smtpPassword\": \"your_password\"\n            }\n        },\n        \"messages\": [\n            {\n                \"type\": \"email\",\n                \"name\": \"Test email\",\n                \"text\": \"This is a test\",\n                \"recipients\": \"your_friend@domain.com, other_email@domain.com\"\n            }        \n        ]\n    }\n]\n```\n* Service properties : \n    * recipient *(required)*: Default email address of the recipient.\n    * smtpServer *(required)*: Address of the SMTP host.\n    * smtpPort *(facultative)*: Port to connect to. (Default value is `25`).\n    * smtpSecure *(facultative)*: Set to `true` if SMTP supports TLS. (Default value is `false`).\n    * smtpUsername *(facultative)*: Username for the SMTP server, if required.\n    * smtpPassword *(facultative)*: Password for the SMTP server, if required.\n* Message properties :\n    * type *(required)*: Must be `email`.\n    * name *(required)*: Name of the switch and subject of your email.\n    * text *(required)*: Body of the email.\n    * recipients *(facultative)*: Address of the recipients for this email. Multiple emails can be used, divided by a comma. If empty, the default email address at the service level will be used.\n\n    \n### Advanced configuration\nAn example featuring **all technologies** is available [here](configuration-examples/advanced.example.json).\n\n## Coming next\n* Support for [Pushcut](https://www.pushcut.io/) ([#5](https://github.com/potrudeau/homebridge-messenger/issues/5))\n* Support for [Pushbullet](https://www.pushbullet.com)\n\n## Change Log\nAvailable [here](CHANGELOG.md)\n\n## Credits\n* [qbit/node-pushover](https://github.com/qbit/node-pushover) - library to send Pushover messages\n* [jeroentvb/IFTTT-webhooks-channel](https://github.com/jeroentvb/IFTTT-webhooks-channel) - library to send IFTTT messages\n* [nodemailer](https://github.com/nodemailer/nodemailer) - library to send SMTP emails\n\n## License\nThe [homebridge-messenger](https://github.com/potrudeau/homebridge-messenger) plugin is released under the [MIT license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpotrudeau%2Fhomebridge-messenger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpotrudeau%2Fhomebridge-messenger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpotrudeau%2Fhomebridge-messenger/lists"}