How to Power Off Basestations remotely?

events

#161

@risa2000 LoL good luck with that :stuck_out_tongue: I bought mine 2nd hand without it, doesn’t want this anxiety tooo

@jakeyjo I assume you have them paired with the HS in Pitool. Please send me the LH database file and the basestation names you see on via bluetooth scanning via PC or mobile. I’ll send you the mail address via PM.


#162

@ManniX - yes my basestations are paired on Pitool. I have sent you that data by e-mail. Thanks


#163

Bad news about the Basestations v2, as expected they don’t accept the same BLE commands as v1.
Thanks to @jakeyjo for testing!
I should get back my BT protocol analyzer mid October, I’ll look for someone around here with a Vive/Index and the BS v2 available for a quick hackathon.
If you know someone in Frankfurt am Main that could be available let me know!

In the meantime I spent some time to refactor the code; still half way but it’s already just not an ugly mess of code.
I will release soon the v1.5.0, I’m finishing some stuff and will keep refactoring later.


#164

Okay so I’ve been looking for ways to do this also now. Got everything set up but would like to make a BT connection to the basestations so they can auto power off & do the firmware update. How do I get it working with the PImax 5K+ ? (I do not have any Vive stuff, only 2x Lighthouse 2.0 and 2x Index controllers)
Note I have bluetooth on my pc and I can see the lighthouses in bluetooth settings but trying to connect asks for a pin code… I don’t know the pin code xD ?


#165

I know how to do an update over USB of v1 LHs (https://developer.valvesoftware.com/wiki/SteamVR/HowTo_Update_Firmware#Base_Station_Firmware_Update), but for v2 I have no idea.

You could try to connect the lighthouse over USB, fire up SteamVR and see if it recognizes it as a USB device and offers a firmware update. I believe that BT comm is only available with either HTC or Valve headsets.


#166

@ManniX , After a period of using your soft with no problem, I have a issue with it , when I launch the soft , it always recognises my headset as On (5k+), even when it’s off or disconnected…
It cause issues because for more practical use , I’ve put the soft on windows’s startup and every time I start my pc , the base station go out of sleep mode , even if the pimax is off or disconnected

Do you know from where it can come from ? Or how could i sync the startup and shutdown of your soft with pitool ?
(I already tried to reinstall pitool beta but with no change)
Thks


#167

got some rare issue, log said hmd lost -> shutdown basestations, next second wakeup, 2 times during single race lost and recovered from black screen
will add more info if ill find how to reproduce

03:30:18 INFO (Pimax_BSAW): Found BS1 serial in DB: 0x106b5e31
03:30:18 INFO (Pimax_BSAW): Found BS2 serial in DB: 0x4f6dcdfe
03:30:18 INFO (Pimax_BSAW): Starting BS discovery…
03:30:23 INFO (Pimax_BSAW): Found BS count via BLE Discovery: 2
03:30:23 INFO (Pimax_BSAW): Found BS2: MAC=AC:37:43:86:7C:0B ID=4F6DCDFE
03:30:23 INFO (Pimax_BSAW): Found BS1: MAC=AC:37:43:86:7D:EF ID=106B5E31
03:30:25 INFO (Pimax_BSAW): Pimax Headset active
03:30:31 INFO (Pimax_BSAW): Success wake-up for BS1
03:30:34 INFO (Pimax_BSAW): Success wake-up for BS2
03:31:04 INFO (Pimax_BSAW): Success ping for BS1
03:31:06 INFO (Pimax_BSAW): Error ping for BS2
03:31:09 INFO (Pimax_BSAW): Success ping for BS2
03:37:34 INFO (Pimax_BSAW): Success ping for BS1
03:38:07 INFO (Pimax_BSAW): Success ping for BS1
04:10:11 INFO (Pimax_BSAW): Found BS1 serial in DB: 0x106b5e31
04:10:11 INFO (Pimax_BSAW): Found BS2 serial in DB: 0x4f6dcdfe
04:10:11 INFO (Pimax_BSAW): Starting BS discovery…
04:10:16 INFO (Pimax_BSAW): Found BS count via BLE Discovery: 2
04:10:16 INFO (Pimax_BSAW): Found BS1 serial in DB: 0x106b5e31
04:10:16 INFO (Pimax_BSAW): Found BS2 serial in DB: 0x4f6dcdfe
04:10:16 INFO (Pimax_BSAW): Starting BS discovery…
04:10:21 INFO (Pimax_BSAW): Found BS count via BLE Discovery: 0
04:10:21 INFO (Pimax_BSAW): Found BS1 serial in DB: 0x106b5e31
04:10:21 INFO (Pimax_BSAW): Found BS2 serial in DB: 0x4f6dcdfe
04:10:21 INFO (Pimax_BSAW): Starting BS discovery…
04:10:26 INFO (Pimax_BSAW): Found BS count via BLE Discovery: 0
04:10:28 INFO (Pimax_BSAW): Headset is active, re-attempt discovery
04:10:28 INFO (Pimax_BSAW): Found BS1 serial in DB: 0x106b5e31
04:10:28 INFO (Pimax_BSAW): Found BS2 serial in DB: 0x4f6dcdfe
04:10:28 INFO (Pimax_BSAW): Starting BS discovery…
04:10:34 INFO (Pimax_BSAW): Found BS count via BLE Discovery: 0
04:10:34 INFO (Pimax_BSAW): Headset is active, re-attempt discovery
04:10:34 INFO (Pimax_BSAW): Found BS1 serial in DB: 0x106b5e31
04:10:34 INFO (Pimax_BSAW): Found BS2 serial in DB: 0x4f6dcdfe
04:10:34 INFO (Pimax_BSAW): Starting BS discovery…
04:10:39 INFO (Pimax_BSAW): Found BS count via BLE Discovery: 0
04:10:39 INFO (Pimax_BSAW): Headset is active, re-attempt discovery
04:10:39 INFO (Pimax_BSAW): Found BS1 serial in DB: 0x106b5e31
04:10:39 INFO (Pimax_BSAW): Found BS2 serial in DB: 0x4f6dcdfe
04:10:39 INFO (Pimax_BSAW): Starting BS discovery…
04:10:41 INFO (Pimax_BSAW): Success ping for BS2
04:10:44 INFO (Pimax_BSAW): Found BS count via BLE Discovery: 1
04:10:44 INFO (Pimax_BSAW): Found BS1: MAC=AC:37:43:86:7D:EF ID=106B5E31
04:10:44 INFO (Pimax_BSAW): Headset is active, re-attempt discovery
04:10:44 INFO (Pimax_BSAW): Found BS1 serial in DB: 0x106b5e31
04:10:44 INFO (Pimax_BSAW): Found BS2 serial in DB: 0x4f6dcdfe
04:10:44 INFO (Pimax_BSAW): Starting BS discovery…
04:10:49 INFO (Pimax_BSAW): Found BS count via BLE Discovery: 2
04:10:49 INFO (Pimax_BSAW): Found BS1: MAC=AC:37:43:86:7D:EF ID=106B5E31
04:10:49 INFO (Pimax_BSAW): Found BS2: MAC=AC:37:43:86:7C:0B ID=4F6DCDFE
04:11:10 INFO (Pimax_BSAW): Success wake-up for BS1
04:11:17 INFO (Pimax_BSAW): Success wake-up for BS2
04:11:44 INFO (Pimax_BSAW): Success ping for BS1

lost at 4:10


#168

Any help with the BS v2 would be appreciated :slight_smile:
I’m testing with @jakeyjo but couldn’t find any way to trigger the commands.

If there’s someone else available to test with BS v2 would be appreciated like @General_Jeno
Ideally would be nice if anyone with a BS v2 and Linux could test this Python script:

Supposedly works with BS v2 but I would need confirmation.
It’s using Bluepy library which can write directly to characteristic handles instead of UUID.

lh.writeCharacteristic(0x12, b’\x01’)

I copied the UUID function and I get this UUID back:
00000012-0000-1000-8000-00805f9b34fb

But this UUID is not advertised like on BS v1 for the one used to trigger it.
Like almost every other I tried the answer back is always characteristic not found.

19:21:11 DEBUG (Pimax_BSAW): BS1 build2 action:Wakeup MAC=F3:7C:B3:50:5F:F2 BLE CMD : b’01’
19:21:11 DEBUG (Pimax_BSAW): BS1 action:Wakeup MAC=F3:7C:B3:50:5F:F2 BLE CMD : b’01’
19:21:11 DEBUG (Pimax_BSAW): BS1 sending cmd for action=Wakeup
19:21:11 DEBUG (Pimax_BSAW): BS1 action:Wakeup exception triggered:Characteristic 00000012-0000-1000-8000-00805f9b34fb was not found!

Any idea?

@General_Jeno if you are interested in testing please send me a PM. @jakeyjo just did not put any password and said they are paired. Alternatively you could try with 6 or 8 zeros. I wonder if this could be cause for the command not accepted.
I don’t know about the firmware update…

@spider37 No need to reinstall Pitool or sync it. I just thought the USB vID for the Pimax was unique but it’s not. You have plugged via USB something which is detected as the Headset. I will need to restrict the detection to specific PIDs, so I’ll need help to find the PID in the logs. Just boot the exe with --debug_logs switch and copy it. Send me a PM to exchange it.

@industria discovery is triggered manually and at boot. Something went wrong, next version will be better (I hope).

When you have issues please run it with --debug_logs and send them to me with occurrences of events. Like industria did, what happened at which time!

Next version will have a status panel sort of to track more info.

Later will rework again to support more headsets like Vive, Vive Pro, Index, etc…


#169

@General_Jeno - when pairing my v2 Basestations I used the Bluetooth device name as a password when prompted. It didnt work straight away but after a few retries it seems to pair ok and then hold.


#170

@jakeyjo @General_Jeno try also using the zeroes, wondering if the pairing status is really reliable. @General_Jeno send me a PM if you want to test the same.
@jakeyjo Please make a run and send me the logs, before starting unpair the basestations from Windows


#171

Ah okay! I’ll try that tonight. Thanks :slight_smile:
@ManniX I’d love to test it out, but I don’t have Linux? Can I run it on Windows, and if so, how?


#172

I’ve just released the final 1.5.0, please let know how it works for you.

You can download it from Github:


#173

Whats new? 1.4 works great.


#174

The status panel and log panel are all in one now which is great.
I tried it out, it first appears to work, it sees the basestations and the headset… but after some seconds it loses them again until you force a detection again, then it sees them again for some seconds… etc…
The force standby also does not work for me.
Good work already though! Are you planning to put a merge request for pitool with some of this functionality? Would be excellent!


#175

The thing is that the issue itself isnt new for me, i couldnt get rid of it yesterday with 1.4 as well
No idea what did changed, but it doent work for me anymore :frowning:

p.s. bs discovery is forced each time you reopen system panel. Not sure if its intended to be.
p.p.s. basestations simply go off or trying to restart (both happened, if they restart you can keep playing after a short blackout, went off = had to disable software and bluetooth stick to get it working during the game session; to recover image / tracking while playing. Didnt tried force wakeup.)


#176

@industria Please test the latest version, if it doesn’t work run the program with the switch “–debug_logs” and send me via mail the logs.
PM for the mail address.


#177

Just today upgraded my Broadlink smart sockets to Koogeek sockets and “Hey, Google! Base Stations On (or Off)” works perfectly.
Now I will not be so lazy to power on my VR rig. Oh, no, I’m still enough lazy, just the VR powering is a bit easier. ::smiley:


#178

Nice @Siberdt :slight_smile: if you want to test the new script drop me a PM, cheers


#179

Hi Mannix

Thanks for this mod.
Been trying it with ED and its works mostly

It seems that after about an hour the basestations start to turn off every 10 mins or so, they do recover if you leave it running but it does take a minute or 2 when the screen is just blank while the basestations recycle through.
I think this started to happen with v1.4, could this be some sort of buffer needs emptying every 20 mins or so ?


#180

Hi @KraitPhantom, I’m developing a new script which is more sophisticated and Headset agnostic.

It could ba a bug on 1.4 but it’s more likely an issue with the library for Bluetooth control.
Every now and then the BT becomes unresponsive for 30 seconds or more.
I tried to schedule a connection drop to reset the thread, I have forced the garbage collector, etc but nothing helps.
No matter what I do, it does happen at some point.
I’ll have to open an issue on their Github and see if I can get help.

I’m also trying to integrate with OpenVR but found an issue there too.
The python porting does not behave like it’s supposed to.
There too I’ll have to look for help opening an issue.

Cheers