Erweiterbare Liste an Verweisen - teilweise zu derselben Website in unterschiedliche Kapitel
Ein Skript ist ausschließlich ereignisgesteuert zu erstellen. Warteschleifen führen zumeist zu erheblichen Problemen und Skriptabstürzen.
Weiterlesen: Abarbeitung eines Skripts, mögliche Entwurfsprobleme
Diese begonnene Einführung zielt auf Anwender, die zumindest kleine Vorkenntnisse im programmieren haben, denen aber die spezifischen Eigenarten von Shelly Scripts noch fehlen. Als (optionale) Vorkenntnisse sind solche in C nahen Programmiersprachen wie C++, Java oder insbesondere JavaScript wünschenswert. Ich vermag nicht einzuschätzen, wie gut das Skripten ganz ohne kleine Vorkenntnisse dieser Art gelingen kann. Ich beginne also ...
In Teil 1 sind wichtige Dinge unter Verwendung didaktischer Beispiele beschrieben. Diese Dinge sind zur Nutzung eines anwendungsbezogenen Skripts erforderlich. In diesem Teil 2 sollen erste Skripte zusammengestellt werden, die einfache Anwendungen ermöglichen. Wenn im folgenden von Skript die Rede ist, ist damit immer ein Skript für Anwendungen gemeint.
In Teil 2 habe ich erste Skripte erörtert, die bereits einfache Anwendungen ermöglichen. Das letzte, in Auftrag gegebene, Skript stellt bereits eine Anwendung dar. Dieses Skript möchte ich nun zu einer interessanteren Anwendung ausbauen, die vermutlich nicht per Action oder Cloud Szene implementierbar ist.
Man kann eine Methode vor der Verwendung in einem Skript auf Funktion und Syntax testen. Nach erfolgreichem Test ist es relativ leicht, den Methodenaufruf in ein Skript einzubetten.
Mit Shelly Skripten lässt sich der Fundus an möglichen Anwendungen erheblich erweitern. Skripte reagieren ausschließlich auf Ereignisse. Solche Ereignisse können das Eintreffen von Messwerten, die Änderung eines Ausgangs, das Betätigen eines Schalters bzw. Tasters oder das Auftreten eines bestimmten Zeitpunktes sein. Letzteres unterliegt einer Zeitsteuerung, wozu Schedule Jobs (frei übersetzt: Zeitplan Aufträge) prädestiniert sind.
Überarbeitet 2024-04-03
MQTT ist ein Protokoll zur Nachrichtenübertragung mit Geräten in nicht funktionssicheren Netzwerken. Es ist insbesondere für kleine und kleinste Geräte geeignet, also auch für den Bereich "Internet of Things" (IoT). Eine wesentliche Fähigkeit von MQTT ermöglicht jedem Gerät, unmittelbar nach seiner Anmeldung am Broker eine Nachricht darüber zu erhalten, ob ein bestimmtes anderes Gerät gegenwärtig online ist oder nicht.
Die Shelly Geräte unterschiedlicher Generationen beinhalten unterschiedliche Mikrocontroller von Espressif.
Um ein Skript anwendungsgerecht erstellen zu können, ist die Kenntnis über verschiedene ESP32 interne Speicherarten und deren Verwendung zumindest sehr nützlich.