[Feature Request] Microphone support in Dashboards

Feature Request: Microphone Access in Dashboard Widgets (getUserMedia / Web Speech API)

Summary
Please enable microphone access (getUserMedia / Web Speech API) in the Homey Dashboard widget WebView on iOS, Android, and macOS.


Current Behavior

Dashboard widgets run inside a WebView. The APIs are technically present on mobile, but microphone access is blocked at the permission level on all platforms.

This has been verified through a dedicated test widget that logs the full WebView environment on button press:

Platform SpeechRecognition getUserMedia Result
iOS 26.5 (iPhone) :white_check_mark: present :white_check_mark: present :cross_mark: not-allowed
Android 16 (Samsung Galaxy Tab, WebView wv) :white_check_mark: present :white_check_mark: present :cross_mark: NotAllowedError: Permission denied
macOS (Homey desktop) :cross_mark: undefined :cross_mark: undefined :cross_mark: completely unavailable

All platforms report isSecureContext: true, so the context itself is not the problem — the Homey app simply does not forward microphone permissions to the WebView.


What We’re Asking For

Expose microphone access to widget WebViews by making the following changes in the Homey native app:

iOS / macOS:

  1. Add NSMicrophoneUsageDescription to Info.plist
  2. Implement WKUIDelegate.webView(_:requestMediaCapturePermissionFor:initiatedByFrame:type:decisionHandler:) to grant microphone requests from widget WebViews

Android:

  1. Add RECORD_AUDIO permission to AndroidManifest.xml
  2. Implement WebChromeClient.onPermissionRequest() to grant PermissionRequest.RESOURCE_AUDIO_CAPTURE for widget WebViews

Use Case

A voice-controlled smart home dashboard widget. The user presses a microphone button on their dashboard tablet, speaks a natural language command (e.g. “turn on the hallway light” or “water the lawn for 10 minutes”), and the widget sends the recognized text to a local Homey app API.

The app then uses AI to semantically match the command to the correct Homey flow or device and executes it — including setting multiple capability values in the right order (e.g. watering_duration=10 then onoff=true).

The speech recognition itself uses the browser’s built-in Web Speech API — entirely on-device, no external STT service, no data leaves the local network for the speech step.

This would unlock a completely new category of Homey widgets: hands-free, voice-controlled dashboards without requiring any external hardware (no Echo, no Google Home, no dedicated voice hardware).


Why This Matters

  • :microphone: No third-party speech-to-text service required — Web Speech API is built into every modern mobile browser
  • :locked: Privacy-friendly — speech recognition runs on-device and only if a button in the dashboard is pushed.
  • :mobile_phone: Natural fit for tablet-based always-on dashboards
  • :house: Other smart home platforms (e.g. Home Assistant via its companion app) already support this
  • :high_voltage: The fix is a small native code change on each platform — the WebView side is already ready and working

Current Workaround

None within the Homey app. Users must rely on Siri Shortcuts, Google Assistant, or the dictation function in third-party apps (e.g. Teams) to get voice input into Homey flows.


Thank you for considering this — it would be a significant upgrade for anyone running a dashboard-first smart home setup.

1 Like