個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Fast, ad-free phone remote for Sony Bravia TVs on your home network. Not affiliated with Sony.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A fast, ad-free phone remote for Sony Bravia TVs, on the local network only ("sohva" is Finnish for sofa). Built for a 2018 KD-65XF9005 (Android TV); other Bravias with IP control should work too. No cloud, no account, no analytics. Not affiliated with Sony.
Coming to Google Play (com.mothandgravel.sohva). Made by Moth & Gravel. English and Finnish (suomeksi: ilmainen, mainokseton
kaukosäädin Sony Bravia -televisioille).
The remote
Without opening the app
Automations
Timers, the wake-up and scheduled scenes use exact alarms and a short foreground service, so they work with the app closed and the phone in Doze.
A Google Play release is being prepared (listing in fastlane/). Until then, sideload:
sohva-remote-debug-apk artifact../gradlew assembleRelease gives a minified (R8) APK; bundleRelease
gives the AAB for Play. Both are signed with the upload key when keystore.properties
exists, otherwise with the debug key.On first start the app finds the TV and asks for the PIN the TV shows. Fast keys ask for a second, one-time PIN from the TV's Android TV Remote service.
| Permission | Why |
|---|---|
INTERNET, ACCESS_NETWORK_STATE, ACCESS_WIFI_STATE, CHANGE_WIFI_MULTICAST_STATE | Talk to the TV on the LAN and find it with SSDP. |
SCHEDULE_EXACT_ALARM | Sleep timer, ad break, wake-up and scheduled scenes on time, also in Doze. On Android 12+ you allow it in settings; the Timers and Scenes tabs link there. |
FOREGROUND_SERVICE, WAKE_LOCK | Keep the phone awake for the minute a timer needs to reach the TV. |
RECEIVE_BOOT_COMPLETED | Set the alarms again after a restart. |
READ_PHONE_STATE | Only for "Mute during calls", asked when you switch it on. |
POST_NOTIFICATIONS | Only for "Remote in notifications" and the timers' brief status; asked when you switch it on. |
VIBRATE | Haptic feedback. |
Microphone access goes through Android's own speech recognizer; the app never records audio itself.
Everything stays between the phone and the TV. The app makes no calls outside the local network. The TV's cookie, PSK and Android TV Remote certificate are stored encrypted (Android Keystore) and are excluded from backups.
Requirements: JDK 17+, Android SDK platform 36 and build-tools 36.
./gradlew testDebugUnitTest lintDebug assembleDebug # run before every commit
./gradlew assembleRelease # R8 build, debug-signed
Unit tests run the protocol code against fake TVs (FakeBraviaTv on MockWebServer,
FakeAtvTv over TLS). Device smoke tests are described in AGENTS.md.
app/src/main/java/com/mothandgravel/sohva/
protocol/ Pure Kotlin, no Android: BraviaApi (Scalar JSON-RPC + IRCC), PinPairing,
SsdpDiscovery, WakeOnLan, RemoteKey; Android TV Remote: AtvPairing,
AtvRemote, AtvWire, AtvTls.
data/ TvController (the one live session), TvStore (DataStore), CredentialStore,
SleepTimer, WakeUpAlarm + SceneSchedule + WakeUpService, CallMute,
Automations (Scene, WakeUp, TvTarget).
shortcuts/ Quick Settings tiles and the home-screen widget.
voice/ Voice command parser (Finnish/English).
ui/ Compose screens: discover, pair, remote, More sheet tabs.
app/src/test/ Unit tests and the fake TVs.
site/ Landing page and screenshots in site/img.
.claude/skills/ Project agent skills (Android, Compose, Kotlin), pinned in skills-lock.json.
Contributor and agent conventions: AGENTS.md.
Copyright (C) 2026 Moth & Gravel.
Sohva Remote is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; see LICENSE for details.
Contributions are accepted under the same license.
"Sohva Remote" and the ring-and-dot icon are trademarks of Moth & Gravel. The GPL covers the code, not the name or the icon: if you publish a modified version, give it your own name and icon, so nobody mistakes it for this app.
Sony, Bravia and Android TV are trademarks of their owners. Sohva Remote is an independent app, not made by, endorsed by or affiliated with Sony.