Nach Zustandswechsel nur 1 mal senden

Wenn ich den Sketch von "circuit99" Kompilieren will kommt immer eine Fehlermeldung:

In function 'void loop()':
error: expected (' before 'old_range' error: expected }' at end of input

Da ich noch Anfänger bin und einige Zusammenhänge nicht verstehe weis ich leider nicht was das Problem ist!?

Ps. Gibt es eine Seite oder ein Tutorial indem die einzelne Befehle genau Beschrieben sind?
Nur als Bsp. :

Jetzt in meinem Fall wurde mir von euch ja die Änderung mit if vorgeschlagen :

if old_range != range { // was bedeutet das Ausrufezeichen vor dem = ?
old_range = range; // muss ich das "range" durch irgendetwas ersetzen? oder is das schon die fertige Funktion?
switch (range) {

Sorry für die vielen Fragen
Ich habe schon einiges durch testen und die Google Suche herausgefunden aber manche Sachen versteht man wohl erst besser
wenn man es erklärt bekommt.

Gruß Marc