JavaScript Sprachumfang für Scripte

Hinweis zur Nutzung von Skripten (für Nutzer)

Die Verwendung von Skripten erfolgt ausdrücklich auf eigene Gefahr. Weder Shelly noch die jeweiligen Autoren oder Entwickler der Skripte übernehmen irgendeine Form der Haftung für mögliche Schäden, Fehlfunktionen, Datenverluste oder anderweitige Beeinträchtigungen, die durch die Nutzung dieser Skripte entstehen könnten. Bitte stellen Sie vor dem Einsatz sicher, dass Sie den Quellcode verstehen und sich der möglichen Auswirkungen bewusst sind. Die Skripte werden ohne Gewähr bereitgestellt und unterliegen keiner regelmäßigen Wartung oder offiziellen Unterstützung.


Hinweis für Entwickler

Wenn Sie eigene Skripte bereitstellen, achten Sie bitte darauf, eine klare Beschreibung, eventuelle Einschränkungen und Sicherheitsaspekte zu dokumentieren. Beachten Sie zudem, dass Nutzer Ihre Skripte grundsätzlich auf eigenes Risiko verwenden. Eine Haftung für Schäden ist ausgeschlossen, sofern diese nicht vorsätzlich oder grob fahrlässig verursacht wurden oder gesetzlich anderweitig geregelt ist.

  • Gibt es irgendwo eine genau Dokumentation des verfügbaren Sprachumfangs für Shelly-Scripte?

    In der Doku wird auf Espruino verwiesen.

    Aber dort werden z.B. für das Date-Objekt viele mögliche set-Methoden angegeben, von denen soweit ich es durchprobiert habe, nur setTime() funktioniert.

    Alle anderen führen (als Beispiel) zu "Uncaught Error: Function "setDate" not found!".

    Dabei werden die set-Methoden im Script-Editor bei der automatischen Code-Vervollständigung sogar angeboten.

    Ich bin nicht wirklich Java-Script-Experte, und weiß deshalb nicht, ob das funktionieren sollte: Ich habe aber noch versucht über Date.prototype herauszufinden, welche Methoden das Date-Objekt hat. Damit erhält man aber nur ein leeres Objekt.

  • Ich kann dir nur meine Handhabung und Erfahrung mitteilen.

    Ich nutze für Kurzrecherche zu Javascript die Website https://www.w3schools.com/. Die dortigen Beispiele können zum experimentieren genutzt werden, allerdings ist der dortige Fokus auf in HTML Code eingebetteten Javascript Code gerichtet. Oftmals stehen Funktionen/Methoden, die dort dokumentiert sind, in ShellyScript nicht zur Verfügung.

    Besonders wichtig ist die Dokumentation der Shelly API und darin https://shelly-api-docs.shelly.cloud/gen2/Scripts/S…anguageFeatures.

    Diese sind mit Components and Servicesund den RPC Methoden zu kombinieren.

    Dein Link zu Espruino habe ich bisher nicht oder sehr selten genutzt, er ist anscheinend sehr nützlich.

    Der Rest ist experimentieren und die Suche nach eigenen Fehlern im Code.

    Ich kann dir noch anbieten, hier oder via PN (oben rechts "Konversationen") mit mir zu kommunizieren, damit ich meine Erfahrungen mit dir teilen kann.

    An Cloud-/Szenen-Benutzer (insbesondere für Regelungen): Was erwartest du, wenn Internet oder Cloud sabotiert werden? Nicht nur dafür meine kleine Skripteinführung  8)

    Die einzig existierende Konstante ist der Wandel. Oft liegt die größte Schwierigkeit darin, das Anliegen des Klienten zu verstehen.

  • Nur mal als funktionierendes Beispiel, auch weil du Date erwähntest, ein Codeschnipsel dazu:

    An Cloud-/Szenen-Benutzer (insbesondere für Regelungen): Was erwartest du, wenn Internet oder Cloud sabotiert werden? Nicht nur dafür meine kleine Skripteinführung  8)

    Die einzig existierende Konstante ist der Wandel. Oft liegt die größte Schwierigkeit darin, das Anliegen des Klienten zu verstehen.