Skip to content

[twilio] Initial Contribution#20487

Open
digitaldan wants to merge 13 commits intoopenhab:mainfrom
digitaldan:twilio
Open

[twilio] Initial Contribution#20487
digitaldan wants to merge 13 commits intoopenhab:mainfrom
digitaldan:twilio

Conversation

@digitaldan
Copy link
Copy Markdown
Contributor

This binding integrates with the Twilio cloud communications platform. It allows sending and receiving SMS, MMS, and WhatsApp messages, as well as making and receiving voice calls with text-to-speech and DTMF input support.

Typical use cases include:

Sending SMS/MMS alerts when events occur (door opens, alarm triggers, temperature threshold)
Receiving SMS commands to control your smart home ("status", "arm alarm", "turn on lights")
Making voice calls for critical alerts with text-to-speech
Receiving incoming calls with an interactive voice menu (press 1 for X, press 2 for Y)
Sending and receiving WhatsApp messages

This takes advantage of the webhook feature from the cloud binding in PR #20486

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
@digitaldan digitaldan requested a review from a team as a code owner March 31, 2026 00:47
@digitaldan digitaldan changed the title [twilio] Initial Contrabution [twilio] Initial Contribution Mar 31, 2026
@digitaldan digitaldan requested a review from Copilot March 31, 2026 00:48
@digitaldan digitaldan added the new binding If someone has started to work on a binding. For a new binding PR. label Mar 31, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Twilio binding to openHAB add-ons, enabling SMS/MMS/WhatsApp messaging plus voice call webhooks (including interactive “hold-and-wait” TwiML responses) and optional openHAB Cloud webhook integration (per PR #20486).

Changes:

  • Introduces the new org.openhab.binding.twilio bundle (Thing types, i18n, feature, README, servlet, handlers, actions, discovery, and Twilio REST/signature utilities).
  • Registers the new binding in the build/reactor (bundles module list + BOM dependency) and assigns CODEOWNERS.
  • Adds a callback servlet that handles Twilio webhooks and serves short-lived media URLs (direct or proxied).

Reviewed changes

Copilot reviewed 23 out of 23 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
CODEOWNERS Adds code ownership for the new Twilio binding module.
bundles/pom.xml Adds org.openhab.binding.twilio to the bundles reactor build.
bom/openhab-addons/pom.xml Adds the Twilio bundle to the add-ons BOM.
bundles/org.openhab.binding.twilio/pom.xml Declares the new binding Maven module.
bundles/org.openhab.binding.twilio/src/main/feature/feature.xml Adds the Karaf feature for installing the Twilio binding.
bundles/org.openhab.binding.twilio/src/main/resources/OH-INF/addon/addon.xml Declares add-on metadata for the binding.
bundles/org.openhab.binding.twilio/src/main/resources/OH-INF/thing/thing-types.xml Defines the account bridge + phone thing and their channels/config.
bundles/org.openhab.binding.twilio/src/main/resources/OH-INF/i18n/twilio.properties Adds i18n strings for the add-on, Things, configs, and channels.
bundles/org.openhab.binding.twilio/src/main/java/.../TwilioHandlerFactory.java Wires handlers + shared HttpClient.
bundles/org.openhab.binding.twilio/src/main/java/.../TwilioBindingConstants.java Adds binding-wide constants, webhook paths, and defaults.
bundles/org.openhab.binding.twilio/src/main/java/.../servlet/TwilioCallbackServlet.java Implements webhook + media-serving servlet and signature validation.
bundles/org.openhab.binding.twilio/src/main/java/.../handler/TwilioAccountHandler.java Bridge handler for credentials + API client validation.
bundles/org.openhab.binding.twilio/src/main/java/.../handler/TwilioPhoneHandler.java Phone Thing handler: webhook URLs/cloud webhooks, triggers, properties, auto-config.
bundles/org.openhab.binding.twilio/src/main/java/.../discovery/TwilioPhoneDiscoveryService.java Discovers Twilio phone numbers for the account.
bundles/org.openhab.binding.twilio/src/main/java/.../action/TwilioActions.java Adds rule actions for messaging, calls, media URL creation, TwiML response.
bundles/org.openhab.binding.twilio/src/main/java/.../api/* Adds Twilio REST client, signature validator, and DTO/exception.
bundles/org.openhab.binding.twilio/README.md Adds end-user documentation for setup, channels, actions, and examples.
bundles/org.openhab.binding.twilio/NOTICE Adds NOTICE file for the new module.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
digitaldan added a commit to digitaldan/openhab-docs that referenced this pull request Apr 3, 2026
See openhab/openhab-addons#20487

Signed-off-by: Dan Cunningham <dan@digitaldan.com>
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new binding If someone has started to work on a binding. For a new binding PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants