How to Power Off Basestations remotely?



There was a small issue in the Headset status update, made a 1.1 version


ManniX how do it work, do you simple install the exe and it do it automaticly turning on/off basestations?


I just use 2 of these

The way I figure it, I have to get up and shut down my computers anyway so flipping a couple of switches is just part of the shutdown process anyway. No biggie,


So nice to see that the community is still ready to share the work.
Thanks for your improvements wich makes this tool really easy to use for everybody.

I’ll be using this tool for now, and hope that all this work will be used in the future OpenSourced Pitool.

Thanks again.


Could you explain bit? It shows in the system tray with only option to Discover basestations which doesn’t run:(


Sadly seems I was wrong, I have to find a way to recover the full ID.
I’m quite perplexed on why but once Pitool is running the BS are going into standby.
Didn’t notice before because this was a bad day for Pitool, loop crashing.
I had to reboot to make it work again.


Yes, just run it and it should wakeup the base stations if the Headset is ON.
Once the HS is switched off the base stations will go in standby.
But I have to fix it first :slight_smile:


Maybe it’s not obvious but you need a Bluetooth LE dongle to use it and pair the base stations with Windows upon request.
I’ll have to understand how they exchange the unique ID to avoid the manual input.
I have a protocol analyzer at work but I’ll need time to get it back here, I loaned it to a colleague in another city.
Later I’ll add an input form to insert the B station ID.
Not fancy but should do the trick.


@TheMalkavien @ManniX
Good work people :).

Technically, you can get the LH configuration from some JSON file somewhere. I write “somewhere” because it is saved at different places by different headsets. Valve/Vive saves it in SteamVR path, Pimax somewhere else and changes it from time to time.

Right now on my machine it lives here: C:\ProgramData\pimax\runtime\config\lighthouse\lighthousedb.json.
You can find LH S/N in the file and then match it with BT MAC address (some bytes are matching). This way you do not need to enter it manually. Unless the user did not run LH sucessfully in the past.

The other option is to query OpenVR (you can use pyopenvr), but this is kind of chicken/egg problem, because in order to query an LH it has to be already running. So again the first time the user would have to turn LHs on manually and make them talk to the program.

Some hints:
To start quickly both LHs ping them both at the start (C will then keep running as long as B is). To turn them off quickly, ping them both again with very short timeout.

@TheMalkavien You can put the zipped archive into releases in your project. Once you push a tag into the repo, github will create a “release” with the version number from the tag (so it is good to choose tags as v1.0.0 or 1.0.0 and not “first version”) and then you can modify the release and attach a ZIP to it.


Indeed, I wasn’t very keen to depend on the json file but it’s probably the easiest solution right away.
More or less with some difficulties everyone should have been able to pair them with the HS.

I was quite surprised it did work without the ID but I supposed maybe a firmware update on the BSs made them behave differently.
Quite weird they need the ID to stay up only when Pitool is running.

Thanks for tips @risa2000! I’ll update it soon.


You can now download version 1.2 from the github repo:

Now the serial numbers are loaded from the json file.
I tested it with Pitool and never lost the Base Stations.
They also go to standby if nothing is running or the Headset goes in standby.

I keep pinging also the slave BS because there’s no way to understand which one is in B mode.
I’ll have to make it better (much better…) because the main loop thread in the original script was not really meant for 2 base stations.
In a next update I will split the wakeup/ping loop to have one for each BS.
Currently if one BS ping is failing there’s a fallback to wakeup for both which is not really nice.
Anyway as a mitigation I added a retry, seems working for me.

Don’t forget you need a Bluetooth adapter with BLE support (not the Pimax or the Vive BT, an additional one) and you need to pair the Base stations upon request from Windows.

Let me know if you have issues or success.


WoW - very impressed with this, well done all those that contributed - ManniX thank you for making it so easy to use!

I can confirm this working on - Win10x64, Pitool, tp-link UB400


Dl and testing :slight_smile:


ManniX now it feel like it turn off the basesations to fast, when you stand in game and dont do anything it turns off, add a delay or simple so it wait until the headset turns off.


@Skidrow the standby is enforce by Pitool, the script never stops doing wakeup/ping.

What was running when the base stations went into standby?
If you are not running anything, just the Pimax logo, it does it.
IWhile running just SteamVR or an Oculus game it should not go in Standby unless you remove the Headset.
I laid down barely moving 10 minutes looking at the base stations with SteamVR running and they never went off.
Let me know


Ones it happened as i started a game and it happened 2 times in The Lab.


i could successfully connect both basestations with my bluetooth stick, indeed they shutdown and start automatically, thats a really great thing, thank you very much!


@skidrow interesting, so it’s intermittent while you are actually playing? or were you still? did you notice if only one or both bs went into standby?

I suspect the issue is what I mentioned before, there’s one loop for both base stations.
Sometimes the ble commands are failing for weird reasons and this bounces back the loop to the wakeup.
In this case going back could cause one or even both bs to go in standby if too much time passed or also the wakeup command is failing


The headset turn black so both, was playing with the dog when it happened ones, btw i dont have pitool program running.


well, I’ve encountered same issue, it looks good in pitool, but as soon i start steavr basestations goin to restart while playing. Could it beI latest pitool? Its often stops recognizing hmd if not moving, usially with the message “place the helmet into the playarea”. Another thing is when the game is loading, i was playing iracing, it has different stages where the game needs to reload, lost my basestations couple times, until steamvr got fully crashed

had to close software and power off basestations to get it working again

p.s. headset goes black, but restores after a while so you can keep playing, not completely gamebraking, but definitely not suitable with competitive genres