It is currently March 28th, 2024, 9:15 pm

[Feature request] BSSID information

Report bugs with the Rainmeter application and suggest features.
User avatar
grovkillen
Posts: 6
Joined: February 5th, 2020, 5:06 pm

[Feature request] BSSID information

Post by grovkillen »

Hello and thank you so much for this awesome piece of software!

I'm using it to display a ton of information + help links etc. etc. for a customer. They will be using the Linx ToughTab 8" windows tablets. Anyhow, I would like to display what access point they are connected to. This seems to not be possible at the moment. They have 10-12 different access points and that information would help me a lot. I can then just tell the users to look at the "desktop" and give me that info.
User avatar
SilverAzide
Rainmeter Sage
Posts: 2588
Joined: March 23rd, 2015, 5:26 pm

Re: [Feature request] BSSID information

Post by SilverAzide »

You don't need a Rainmeter enhancement to get this. Use a RunCommand measure with something like this:

Code: Select all

[MeasureGetBSSID]
Measure=Plugin
Plugin=RunCommand
Parameter="netsh wlan show interfaces | find "BSSID""
OutputType=ANSI
State=Hide
Timeout=5000
Substitute=".*: (.*)":"\1"
I might have that slightly off (didn't try it), but something along these lines anyway...
Gadgets Wiki GitHub More Gadgets...
User avatar
grovkillen
Posts: 6
Joined: February 5th, 2020, 5:06 pm

Re: [Feature request] BSSID information

Post by grovkillen »

All right, that's a good idea and will be helpful in future info gathering.

I cannot get the RegEx to parse the results and I end up with the same output no matter if I change the RegEx syntax.

Another thing... do I really need to do a one time loop to populate it upon load?

Code: Select all

[oneTimer]
Measure=Loop
StartValue=0
EndValue=1
Increment=1
LoopCount=1
IfEqualValue=1
IfEqualAction=[!CommandMeasure measureBSSID Run]
Seems a bit hackish and I hope I'm just ignorant here. I feel like there should be some kind of bang for "onLoad".

... this works for now:

Code: Select all

Substitute="    BSSID                  : ":""
And I replace the MAC with a human friendly name which is fetched from a global inc file.
User avatar
balala
Rainmeter Sage
Posts: 16110
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: [Feature request] BSSID information

Post by balala »

grovkillen wrote: February 6th, 2020, 7:50 pm I feel like there should be some kind of bang for "onLoad".
Actually there is: https://docs.rainmeter.net/manual/skins/rainmeter-section/#OnRefreshAction
Just note that I suppose a !Delay bang will also be needed. As far as I can tell, this is what might work in your case:

Code: Select all

[Rainmeter]
...
OnRefreshAction=[!Delay "2000"][!CommandMeasure "measureBSSID" "Run"]
You have to make a few tries, to get the best delay value (under the !Delay bang).
grovkillen wrote: February 6th, 2020, 7:50 pm ... this works for now:

Code: Select all

Substitute="    BSSID                  : ":""
This has the disadvantage that anytime later the number of spaces will change, you won't get the substitution to work anymore. So, I better would replace it with a regular expression substitution:

Code: Select all

RegExpSubstitute=1
Substitute="\s*BSSID\s*:\s*":""
User avatar
grovkillen
Posts: 6
Joined: February 5th, 2020, 5:06 pm

Re: [Feature request] BSSID information

Post by grovkillen »

Thanks!

I had to add a remove line feed too:

Code: Select all

RegExpSubstitute=1
Substitute="\s*BSSID\s*:\s*":"","\r?\n|\r":""
But I'm facing a problem. The nested variable aren't parsed. As an example, this work:

Code: Select all

Text=#10:7b:44:cc:b7:6a#
But this isn't:

Code: Select all

Text=[#[&measureBSSID]]
And if I add this:

Code: Select all

LeftMouseUpAction=[!SetClip "[measureBSSID]=[#[&measureBSSID]]"]
It will parse just fine, i.e. clicking on it will put the clipboard to "10:7b:44:cc:b7:6a=kitchen"
User avatar
balala
Rainmeter Sage
Posts: 16110
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: [Feature request] BSSID information

Post by balala »

grovkillen wrote: February 6th, 2020, 9:09 pm

Code: Select all

Text=[#[&measureBSSID]]
Have you a DynamicVariables=1 option on that String meter?
User avatar
grovkillen
Posts: 6
Joined: February 5th, 2020, 5:06 pm

Re: [Feature request] BSSID information

Post by grovkillen »

balala wrote: February 6th, 2020, 9:28 pm Have you a DynamicVariables=1 option on that String meter?
I have now ;)

Super thanks for the heads up :) My MAC-->Human Readable is now working.
User avatar
balala
Rainmeter Sage
Posts: 16110
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: [Feature request] BSSID information

Post by balala »

grovkillen wrote: February 6th, 2020, 9:31 pm I have now ;)

Super thanks for the heads up :) My MAC-->Human Readable is now working.
:thumbup:
User avatar
Active Colors
Moderator
Posts: 1251
Joined: February 16th, 2012, 3:32 am
Location: Berlin, Germany

Re: [Feature request] BSSID information

Post by Active Colors »

grovkillen wrote: February 6th, 2020, 7:50 pm I feel like there should be some kind of bang for "onLoad".
If by "onLoad" you mean you want to run an action every time when a particular skin is LOADED (not refreshed) then you can put this in your skin:

Code: Select all

[onLoad]
Measure=Calc
Formula=Counter
IfEqualValue=1
IfEqualAction=[!Log "This test log will appear every time you LOAD your skin. It will not appear after any REFRESH.]
UpdateDivider=-1