Como comentei, você pode ter espaços extras na saída de gatttool (ou seja, $bulb1state ). Para a comparação, use = ou == (que são equivalentes) e, para os números -eq , consulte responder .
Para ignorar os espaços extras que você pode fazer (veja esta resposta ):
if [[ "$bulb1state" = "$offstate"* ]]; then
#...
fi