Fatti

Il 21 dicembre 1990, [A.] ha affittato a [B. SA] dei locali commerciali nelle proprietà X. e Y. a Fehraltorf. Il contratto di locazione è iniziato il 16 febbraio 1991 e poteva essere risolto per la prima volta il 31 marzo 1996, con un preavviso di sette mesi. Il contratto prevedeva un'opzione di proroga di cinque anni, che doveva essere esercitata prima del 31 marzo 1995. L'affitto annuale era fissato a 589'740.-- franchi svizzeri, ma è stato ridotto a 383'220.-- franchi svizzeri per la durata del contratto, ovvero fino al 31 marzo 1996. L'affitto poteva essere adeguato in base alle variazioni dell'indice dei prezzi al consumo.

Il 1° gennaio 1995, l'affitto era di 442'494.-- franchi svizzeri all'anno, dopo diversi adeguamenti in base all'indice dei prezzi al consumo. [B. SA] non ha esercitato la sua opzione di proroga, ma le parti hanno continuato il contratto di locazione senza data di scadenza. [A.] ha successivamente aumentato l'affitto a 693'152.-- franchi svizzeri all'anno, il che [B. SA] ha contestato davanti alla commissione di conciliazione in materia di locazione.

Legge

Il Tribunale federale ha esaminato la questione se la combinazione di una clausola di indicizzazione e di una clausola di scalazione in un contratto di locazione sia ammissibile. Ha considerato che, in principio, un affitto convenuto non può essere modificato unilateralmente da alcuna delle parti durante la durata del contratto. Tuttavia, il diritto svizzero prevede due clausole di adeguamento, l'indicizzazione (art. 269b CO) e la scalazione (art. 269c CO), che consentono di modificare l'affitto durante la durata del contratto.

Il Tribunale federale ha considerato che la combinazione di queste due clausole nello stesso contratto di locazione non è ammissibile, poiché potrebbe comportare aumenti di affitto eccessivi. Ha anche considerato che, nel caso presente, la clausola di scalazione era chiaramente prevista nel contratto e che…