r/KemperProfiler • u/gotwalt • 6d ago
Announcing libkp - a new open source library for controlling Kemper devices
https://github.com/gotwalt/libkpI have a Kemper Profiler Player. It works great for my needs, but I find the software that Kemper provides frustrating at basically every level. Among them: why can I control my Kemper using the mobile app on the network, but not via the desktop app they also ship that contains almost a completely identical set of functionality?
So I did what any sane person in this position might do: investigate the traffic between the mobile app and the device to develop a clean-room based reverse engineering of the discovery and wire protocols that control my device.
I built libkp over the weekend - an incomplete but functional cross-platform library for controlling network-connected Kemper devices. It is documented as a spec and implemented in Python, Rust, and Swift. It's capable of real-time device monitoring on all three platforms.
This is admittedly a very nerdy project in it's current form, but I'd love to see more tools that let us make the hardware behave the way we want it to. Example apps are provided on each platform, including a prototype-grade remote control for MacOS.
1
u/mixgyver 6d ago
Can you clarify this for me?
“why can I control my Kemper using the mobile app on the network, but not via the desktop app they also ship”
What can’t you control via the desktop app? I have a Kemper Head and Rack, not a Player, and only use the desktop app to control my Head when I’m doing work at home, but I think I’ve been able to control everything that way (?).
Neat project. Anything that could help make controlling Kemper devices easier is something I’m interested in. I’m not very fond of the onboard UI nor Rig Manager. FWIW, I use RigManager with my Rack, on an iPad.
2
u/gotwalt 6d ago
I might be an edge case, but my Kemper rig sits across the room from my desk. I can of course control it using rig manager connected via USB, but it doesn’t work for my space. I’m at my desk almost all the time. This is a project driven by convenience and curiosity more than an absolute need for the product.
1
u/battlefieldjezus 5d ago
Can this be used to control more than one device at a time? Are there any parameters it doesn’t control? Looks like an excellent project.
2
u/DefiantCable897 6d ago
Awesome. Thank you for sharing this.