Meiner Meinung nach ist das ein Fall für ein Ticket an den Support. Sämtliche Beispiele von dir sind völlig in Ordnung und sollten problemlos funktionieren.
Spekulation:
In Firmware 1.5 wurde das Verhalten von let (und const) geändert. Variablen, die mit diesen beiden Keywords definiert werden beachten jetzt den Scope, in dem sie angelegt wurden (und Shelly-Javascript verhält sich damit jetzt in dieser Beziehung wie 'normales' JavaScript).
Für mich sieht es so aus, als ob sich der Interpreter verläuft, wenn let verwendet wird und Sensoren im Spiel sind. Möglicherweise hat die erwähnte Änderung da nicht ganz geklappt.
Du könntest das noch testen, indem du die Variablen mit var anstatt mit let definierst. Aber wie gesagt, für mich ist das eindeutig ein Problem auf der Shelly-Seite.