further code clean-up, moved component battery check to outer communication function