How to Power Off Basestations remotely [SOLVED]

Was never disproven. Besides that’s why I said they would never do it :wink:

1 Like

Mkaaaaaaaay… :face_with_hand_over_mouth:

2 Likes

My dotnet solution above will integrate into pitool very easily, if it was open source already I would submit a PR

2 Likes

That is likely false as pimax had Oculus mode at release of the p1 series(early 2016). And Revive requires SteamVR. Pimax’s Oculus mode has never used SteamVR.

1 Like

Will you make it run for windows, please ?
I guess it would be exe file and we could make bat files with arguments ?
The @ManniX version does not work properly.
It would be nice to remote control the lighthouses with Bluetooth.
Thanks.

I believe @nouser2019 has whipped something up for Windows (GitHub - nouser2013/lighthouse-v2-manager: This python script helps you switch your Steam HMD lighthouses V2 on and into stand-by.). I have not tried it though.

Concerning your question, I would like to have a native Windows app too, but last time I checked (when doing it for v1 LHs), the native Windows BT LE API seemed to be stuck in 90s and I did not see any joy in trying to fit something to it :wink:.

1 Like

sorry, I meant the v1 lighthouses version.
the link is for v2 manager.

2 Likes

I’ve been using the pimax_bs_manager from mannix until recently for my V1 base station. But with the new windows 10 updates it often could not ping the basestation, so it just shut down, blacking out the headset for a minute until the next succesfull ping.

So I’ve been looking for another solution. And found this:

So I created 2 batch file, 1 for waking up the base station for running continously, and 1 for puting it to sleep with a 60 second timeout.

Here are the files:

BLEconsole.exe: the compiled program.
wakeup.cmd: wakes up a base station using wakeup.txt and it will run continously.
sleep.cmd: sends a ping with a 60 second timeout for a basestation using sleep.txt, causing it to go to sleep after 60 seconds.

You only have to edit the 2 txt files, changing the “open HTC BS …” line to your own. Start bleconsole.exe and type “ls” + enter. It will list the bluetooth devices and you can find out your own BS device name for bleconsole.

I only have one V1 base station in A mode. If you have 2, then it is propabably enough to send the wakeup command to the one in “B” mode.

3 Likes

thank you, this works !

how can I change the sleep timer to less than 60s ?

1 Like

I’ve been using risa2000’s excellent protocol analysis:

Theoretically one can set the timeout with the basestations real id instead of the default FFFFFFFF using the 0x1202 command.
But I could not make it work unfortunately using the ID from my base station’s casing so I’m just using 0x1201 for the sleep command that gives the default 60 sec.

This should work even practically :wink:, I am using it in my Python script. Are you using the LH serial number in reversed order (little endian notation)? This is something that could go wrong.

If the LHs serial is for example LHB-AABBCCDD, you should write the command:

12020001DDCCBBAA00...

which would set the timeout to 1 second and basically stops immediately.

2 Likes

Yep, I knew it should have worked but it did’nt somehow.
I just tried it again retyping the serial, and now it works. So it was user error on my part :grinning:

1 Like

It is good to hear. So I guess this should be as good as it gets (for Windows and v1 LHs). It could even work for v2 LHs, which are much easier.

1 Like

Hi all, just to chime in here :slight_smile:

The manager’s python script version should run on any major linux platform as well. You’d need bleak and BlueZ for your installation. Though I admit, my command line argument parsing is not even close as nice as @risa2000 's :slight_smile: :slight_smile:

Regarding firmware version: I borrowed an Index and upgraded to the then latest R: 2.9.2004771 / M: 1.8.2004742 / B: 3.4.3782793. You’re right, now the power control characteristic is a READ-WRITE-NOTIFY, and it still works as originally described here in this thread.

Same goes for the advertising information. Perhaps this is of help to someone.

1 Like

Unfortunately bleak seems to pull in quite a lot of dependencies, where some need to be compiled on Raspberry Pi and one did not (in my case - Raspbian Buster, Python 3.7). This was the reason I reverted to bluepy.

2 Likes

So I take it buying some remote plugs is still the only options to turning the lighthouses off remotely for most people then?

No there is also an ap that a few users have been a part of if you have a Bluetooth with BLE.

The sensboston/BLEConsole listed above?

1 Like

Not sure if that is part of that or not. But looks good.

It is in the

https://community.openmr.ai/t/table-of-contents-wiki/10851

Here is the direct link

https://community.openmr.ai/t/how-to-power-off-basestations-remotely-solved/15205

Yours looks like maybe a third option for batch or script use. Awesome find!

:beers::sunglasses::vulcan_salute::sparkles:


Just noticed were in this topic already :laughing:

1 Like

The solution with BLEConsole @karajzk proposed is actually a pretty good one, if you are not afraid of command line tools and scripts. It does what it should in a transparent way and is very easy to understand or debug if there are problems.

1 Like