It's early and I'm groggy - but I recall win 10 does indeed block icmp by default IF the network is public. That change occurred (again - from memory) at the 10h2 upgrade in late 2020 or early 2021.
It may have coincided with the Apple security change to hide the MAC by default.
Which, maybe this is related to?
Good info!
The user is trying to figure out whether a Windows 10 computer is on or off. I don't believe there is any relation to the MAC Address randomization on iOS and Android devices.
erp! I saw the title and connected dots that weren't there. oops. Which I seem to have been saying a lot lately.
The network is already set to private. The inbound firewall rules are set to work on all three, private public, and domain. Since it's a desktop, I am not worried about it connecting to a random public network. It's always going to be plugged in at home
I would simply configure the firewall to be disabled when on the private network.
Or, use one of the community drivers that utilize a true ICMP ping to determine if a device is responding on the network.
Is there anything that you know works reliably? Or at least is there anything you would suggest? I was thinking of giving this one a shot.
That’s the driver I would probably start with as well.
Thanks. This seems to be working perfectly! It's pinging the PC and updating the presence precisely as required.
Now I need to experiment with this and see if it ends up being a more robust presence sensor than my phone.
Perhaps because of Android 11's battery management logic, my phone keeps getting marked as "not present" despite using both Geofencing and WiFi presence.
Hopefully by adding my PC into the mix in Rule Machine will result in better presence detection.
Do you use Alexa ? If so create a virutal presence sensor for Alexa associated with your mobile device. That works pretty good for me and use in combination of Combined Presence.
No I do not. I don't really use any assistants.
Thank you, this was most helpful for my Android phone.
This driver works very well on my Android phones.
But unfortunately the response is very slow, sometime more than 2 min.
Since I am living in the big apartment complex phone(s) making an attempt
to connect to my WiFi when I am basically right behind the door.
Unfortunately this 2 min delay makes it unacceptable.
Is it any way to increase driver responsiveness?
I guess, the acceptable delay should be less than 20 sec.
Occasionally 1 out of 10+ attempts are blazing fast, almost instant.
I have no idea why but this makes me fill that it is possible to
improve driver responsiveness.
PS.
I tried android tasker app.
The delay is still next to 1 min but somewhat more consistent vs IPhone Driver.
@jwetzel1492
i seem to randomly get the following errors on my phones:
org.codehaus.groovy.runtime.metaclass.MissingMethodExceptionNoStack: No signature of method: user_driver_joelwetzel_WiFi_Presence_Sensor_725.parse() is applicable for argument types: (java.lang.String) values: [ENTER]
Possible solutions: main(java.lang.String), use([Ljava.lang.Object;), wait(), run(), run(), any() (method parse)
org.codehaus.groovy.runtime.metaclass.MissingMethodExceptionNoStack: No signature of method: user_driver_joelwetzel_WiFi_Presence_Sensor_725.parse() is applicable for argument types: (java.lang.String) values: [EXIT]
Possible solutions: main(java.lang.String), use([Ljava.lang.Object;), wait(), run(), run(), any() (method parse)
Oh, that's weird. parse() should never be called in this driver. Did you install using Hubitat Package Manager?
i dont recall. should i delete the driver and reinstall with hpm? what is the best practice here?
Yeah, that's a good next step to try.
still happening after reinstall. not sure what to do.
Here’s the thing: the Hubitat OS only invokes parse() in a device driver if it has received a message through the z-wave or zigbee stack. This is not a a-wave or zigbee driver, so I have no idea why it’s receiving messages. (Unless newer versions of Hubitat are now invoking parse() for new reasons?)
An app or parent device could also potentially call the "parse()" command...
This is a bit odd, since the user removed the device and then re-added it. Unless of course they also added this new device to all of the same apps that the old device had been a part of?
Yikes! I hope no other apps are trying to invoke parse on this driver. It’s a sensor, not an actuator.