When you will add a mobile device the broswer installs a service worker in the background which listens for push API events.
After the service worker installation is done the browser gets redirected to a dummy page.
With chargeville you can push messages to already added devices.
Push events will arrive nonetheless at devices if the website that installed the service worker is closed and even if the browser is not open at all.
Immediatly on push event arrival the service worker will send a ping request to chargeville. This request reveals that the devices battery is not fully drained but does not tell us the exact battery level.
Due to restrictions of service workers they cannot simply ask the battery status API. It will therefore try to post a message to the dummy page which has access to the battery API and report it back to the service worker which then sends it to chargeville.
This means that exact battery level status information can only be obtained as long the dummy page is kept open. The browser can be in background though.