Buttplug.io Service for Kodi
November 8, 2025 · View on GitHub
A Kodi addon that enables intimate hardware synchronization with video playback using the standardized Buttplug.io protocol. This addon automatically detects and loads funscript files to provide synchronized device control during video playback.
⚠️ Important Notice
This addon is very rudimentary and currently only supports single-axis vibrators/linear actuators. It is designed for basic funscript playback with simple devices.
If you need support for:
- Multi-axis devices
- Rotary actuators
- Multiple simultaneous devices
- Advanced funscript features
- Other device types
Please create a feature request in GitHub Issues and I'll consider adding support based on community demand.
Features
- Automatic Funscript Detection: Loads
.funscriptfiles matching your video names - Configurable Suffix Support: Choose between different funscript types (
.funscript,.vib.funscript, etc.) - Continuous Playback: Real-time synchronization with linear interpolation between actions
- Intiface Central Integration: Uses the standard Buttplug.io ecosystem
- Live Settings: Change intensity, sample rate, and other settings without restarting
- Funscript Inversion: Option to invert intensity values (0↔100)
- Periodic Device Scanning: Optional automatic device discovery
Prerequisites
Required Software
- Intiface Central - Download from intiface.com
- Kodi (Matrix 20.0 or later)
- Compatible Device - Any device supported by Intiface Central
Supported Devices
This addon works with any device supported by Intiface Central, including:
- Lovense toys
- We-Vibe products
- Kiiroo devices
- Many other Bluetooth/USB intimate devices
Check IoSTIndex for device compatibility.
Installation
Method 1: Download from Releases (Recommended)
- Download the .zip file in Releases
- In Kodi, go to Settings, Add-ons, Install from zip file
- Select the file you just downloaded
Method 2: If you don't trust Releases, "build" your own
- Clone or download this repository
- Copy the
script.service.buttplugiofolder to your Kodi addons directory:- Linux:
~/.kodi/addons/ - Windows:
%APPDATA%\Kodi\addons\ - macOS:
~/Library/Application Support/Kodi/addons/
- Linux:
- Restart Kodi
Setup & Configuration
🚨 Critical Setup Order
This order is ESSENTIAL for proper functionality:
- Start Intiface Central and ensure it's running on
ws://127.0.0.1:12345 - Connect your device to Intiface Central and verify it's detected
- Start Kodi - the addon will automatically connect to Intiface Central
If You Start Kodi First
If you accidentally start Kodi before Intiface Central, you can reload the addon:
- Go to Settings > Add-ons > My add-ons > Services
- Click Buttplug.io Service
- Click Disable then Enable
- The addon will reconnect to Intiface Central
Addon Settings
Configure the addon in Settings > Add-ons > My add-ons > Services > Buttplug.io Service > Configure:
Connection
- WebSocket Address: Default
ws://127.0.0.1:12345(matches Intiface Central) - Auto Connect on Startup: Automatically connect when Kodi starts
Device Settings
- Scan for Devices on Startup: Scan for devices when connecting
- Enable Periodic Device Scanning: Automatically rescan for new devices
- Device Rescan Interval: How often to scan (seconds)
- Device Timeout: Connection timeout (seconds)
Playback Settings
- Sync Delay: Delay between video events and device commands (ms)
- Intensity Multiplier: Global intensity scaling (0-200%)
- Funscript Sample Rate: How often to sample funscript (ms, lower = smoother)
- Invert Funscript: Reverse intensity values (0↔100)
- Funscript Suffix: Choose funscript type (empty, "vib", "stroke", etc.)
Debug
- Debug Logging: Enable detailed logging
- Log Funscript Actions: Log every device command (verbose)
Usage
Funscript Files
Place funscript files alongside your videos with matching names:
Movies/
├── movie.mp4
├── movie.funscript # Default
├── movie.vib.funscript # Vibration-specific
├── movie.stroke.funscript # Stroke-specific
└── another_video.mkv
└── another_video.funscript
Funscript Suffix Options
Use the Funscript Suffix setting to choose which files to load:
- Empty (default): Loads
video_name.funscript - "vib": Loads
video_name.vib.funscript - "stroke": Loads
video_name.stroke.funscript - Custom: Any suffix like
video_name.{suffix}.funscript
Playback
-
Start video playback - the addon automatically:
- Detects matching funscript files
- Loads the funscript
- Begins synchronized device control
-
Playback controls work normally:
- Play/Pause: Devices start/stop accordingly
- Seeking: Devices jump to the correct funscript position
- Stop: Devices stop and reset
Monitoring
Check the Kodi log for addon activity:
- Connection status to Intiface Central
- Device discovery and connection
- Funscript loading and playback
- Any error messages
Troubleshooting
Common Issues
"No Intiface server running at provided address"
- Ensure Intiface Central is running BEFORE starting Kodi
- Check WebSocket address in addon settings matches Intiface Central
- Try reloading the addon (disable/enable)
"No matching funscript found"
- Ensure funscript filename exactly matches video filename
- Check the funscript suffix setting
- Verify the
.funscriptfile is valid JSON
"Device not responding"
- Ensure device is connected in Intiface Central first
- Check device batteries and connection
- Try rescanning for devices in Intiface Central
- Reload the addon
Settings not showing labels
- The addon was recently updated - restart Kodi
- Check if language files are properly installed
Debug Mode
Enable Debug Logging and Log Funscript Actions in addon settings for detailed troubleshooting information.
Dependencies
The addon bundles these Python libraries (both included):
buttplug-py- Buttplug.io client librarywebsockets- WebSocket communication
Contributing
Contributions welcome! Please:
- Create issues for bugs and feature requests
- Fork and submit PRs for code contributions
- Test thoroughly with your devices
- Follow existing code style
License
MIT License - see LICENSE file for details.
Disclaimer
This addon is for adult entertainment purposes. Use responsibly:
- Ensure device compatibility and safety
- Follow manufacturer guidelines
- Use at your own risk
- Keep software updated for security
Support
- Issues: GitHub Issues
- Documentation: Buttplug.io Docs
- Device Compatibility: IoSTIndex
Remember: This addon is rudimentary and supports only basic single-axis devices. Please request additional features through GitHub Issues if needed!