Open
Conversation
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>
Contributor
There was a problem hiding this comment.
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.twiliobundle (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.
....twilio/src/main/java/org/openhab/binding/twilio/internal/servlet/TwilioCallbackServlet.java
Show resolved
Hide resolved
....twilio/src/main/java/org/openhab/binding/twilio/internal/servlet/TwilioCallbackServlet.java
Outdated
Show resolved
Hide resolved
...ing.twilio/src/main/java/org/openhab/binding/twilio/internal/handler/TwilioPhoneHandler.java
Show resolved
Hide resolved
...ing.twilio/src/main/java/org/openhab/binding/twilio/internal/handler/TwilioPhoneHandler.java
Outdated
Show resolved
Hide resolved
...ing.twilio/src/main/java/org/openhab/binding/twilio/internal/handler/TwilioPhoneHandler.java
Outdated
Show resolved
Hide resolved
bundles/org.openhab.binding.twilio/src/main/resources/OH-INF/i18n/twilio.properties
Show resolved
Hide resolved
jlaur
reviewed
Mar 31, 2026
bundles/org.openhab.binding.twilio/src/main/resources/OH-INF/addon/addon.xml
Show resolved
Hide resolved
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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