Bash ist nicht besonders gut in der Typerkennung von Variablen. Vermutlich wird $TMPN als String interpretiert.
Sehe ich aus so, mit Curl habe es es getestet, da funktioniert es.
curl -s "http://192.168.178.175:8080/json.htm?type=command¶m=udevice&idx=528&nvalue=0&svalue=$TEMP"