I made a small enhancement to Speaking Clock.
[speaking-clock-plus]
exten => s,1,Set(CONNECTEDLINE(name-charset,i)=utf8)
exten => s,n,Set(CONNECTEDLINE(name,i)=Time and Temperature)
exten => s,n,Set(CONNECTEDLINE(num,i)=${CALLERID(dnid)})
exten => s,n,Macro(user-callerid,)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n,Set(NumLoops=0)
exten => s,n(start),Set(FutureTime=$[${EPOCH} + 8])
exten => s,n,Set(FutureTimeMod=$[${FutureTime} % 10])
exten => s,n,Set(FutureTime=$[${FutureTime} - ${FutureTimeMod} + 10])
exten => s,n,Gosub(sub-hr12format,s,1())
exten => s,n(waitloop),Set(TimeLeft=$[${FutureTime} - ${EPOCH}])
exten => s,n,GotoIf($[${TimeLeft} < 1]?playbeep)
exten => s,n,Wait(1)
exten => s,n,Goto(waitloop)
exten => s,n(playbeep),Playback(beep)
exten => s,n,Wait(1)
exten => s,n,Playback(temperature)
exten => s,n,Set(TEMPERATURE=${FILTER(0123456789,${CURL(http://wttr.in/Philadelphia?u&format='%t')})})
exten => s,n,SayNumber(${TEMPERATURE})
exten => s,n,Playback(degrees)
exten => s,n,Wait(5)
exten => s,n,Set(NumLoops=$[${NumLoops} + 1])
exten => s,n,GotoIf($[${NumLoops} < 5]?start)
exten => s,n,Playback(goodbye)
exten => s,n,Hangup
Check out http://wttr.in for a cool project.