Utilising Battery monitor app (which I had to trawl though the old posts to get updated version files to manually upload to my Vera) I now have a text to speech Low Battery device warning played over my Sonos speakers if the follow reactor conditions are met:
My iPhone is present (monitored by ping plus app
Time is 9am-6pm (so not to have tts while sleeping etc)
House mode is home or night mode
Battery level lowdevicelist is not nul
And using the following three expressions to gather devices listed and join them ready to be sent to Sonos app for tts
Battlist=
battlist = split( getstate( 891, “urn:upnp-org:serviceId:BatteryMonitor1”, “LowDeviceList” ) )
Battnames=
iterate( battlist, getattribute( _, “name” ) )
Ttstext=
"Please check batteries for " + join( battnames, ", " )
Then once conditions are met the action is to send last expression out held (ttstext) to Sonos app using below reactor activity (as per below screenshot)