Skip to content

Quest 2 (and Quest 1, Quest Pro and newer) OSC and ADB powered battery information sender, now with OpenRGB support

License

Notifications You must be signed in to change notification settings

Sergey004/Quest2-VRC

Repository files navigation

Quest2-VRC

CI Auto

image

This program sending Quest 2 (As well as other headsets in the Quest line) battery (and not only) information (Now also Wifi signal strength, especially for you, AirLink or VD users) to the VRChtat via the OSC protocol, also receive osc address to control OpenRGB

If you like this program, please put a star or better yet spread the word about this program

If you share this please use hashtag #Quest2-VRC

Zeroconf discovery tested on v55 (Android 12 based) Zeroconf discovery addon

OpenRGB function works on all supported devices which supports OpenRGB itself

I think any RGB controller that is supported in OpenRGB will work...

Avatars with support for this program

Building from source

To build this application you will need:

  • Visual Studio 2019 or later
  • .NET Core 7+

To start building the application, simply launch the solution in Visual Studio and run "Restore NuGet packages" to download dependencies

Or you can dowload preconpile version fron Github Actions (Or Releases)

There are two versions:

  • Core version where the basic methods and the possibility to use them in other projects (ADB and OSC functions, remote connectivity)

  • GUI version with additional functionality (Мanaging Oculus services and settings on PC, crash watch dog for Oculus Dash)

Using

  • Connect the Quest 2 (or another Quest headset) to your computer using USB or Wi-Fi in developer mode. How to enadle

  • Replace 127.0.0.1 in the vars.json file with the IP address of your headset if you are using VRChat in standalone mode (AKA VRC on Quest) or AirLink (Or VD)

Add a parameter to the ExpressionParameters of your avatar by assigning (Or use Quest2-VRC OSC bindings for faster integration or to test the app functions in Unity)

For sending:

  • You can replace HMDBat, ControllerBatL, ControllerBatR, SendPort with your own parameters is vars.txt

Default values transferred via OSC

Var name Type Value
HMDBat Float -1
ControllerBatL Float -1
ControllerBatLR Float -1
LowHMDBat Bool False
WifiRSSI Float -1
CPUtemp Int 0
GPUtemp Int 0

(About RSSI 0.0 is best, -1 is worst)

some vars in code maked as Int, as workaround I use Int to Float convertion for work as intended

CPUtemp , GPUtemp and WifiRSSI vars is optional

For receiving:

  • Now the program accepts Raw RGB data from 1 to 255 in Int, inside the program it will be converted to Byte
Var name Type Value
R Int 1-255
G Int 1-255
B Int 1-255

What do I use to get information from Quest (and other Android devices)?

I use dumpsys and dumpsys is 100% safe

dumpsys is a tool that runs on Android devices and provides information about system services. Call dumpsys from the command line using the Android Debug Bridge (ADB) to get diagnostic output for all system services running on a connected device.

Source

Dependencies

Sending code based on modified source code from https://github.com/KaleidonKep99/VRChat_CS_OSCTest

Audio files were generated with ElevenLabs + RVC

(If you know whose voice it is and which character it represents, then you're good, you found a mini Easter Egg :) )