In diesem Thread möchte ich euch erklären wie genau die Toolbox, funktioniert, etwas, das ich mittlerweile in nahezu allen meinen Shelly-Scripts integriert habe.
Was ist die Shelly Script Toolbox?
Die Shelly Script Toolbox ist ein Ensemble von Funktionen innerhalb eines Shelly Scripts, welche von mir entwickelt wurden, um die Verwendung vorhandener Shelly-Funktionen und -Abläufe zu vereinfachen. Sie fungiert im Grunde als ein praktischer Werkzeugkasten, der das Erstellen von Shelly-Scripts beschleunigt und vereinfacht.
Warum nicht einfach die nativen Shelly-Funktionen nutzen?
Die Verwendung der nativen Shelly-Funktionen kann oft Nachteile mit sich bringen, denn sie sind häufig nicht mit effizienten Error Handling ausgestattet und verfügen über lange, komplexe Bezeichnungen, die bei häufigem Einsatz viel Memory beanspruchen können. Darüber hinaus werden die von den Entwicklern festgelegten Limits, innerhalb Shelly Scripts, von den nativen Shelly-Funktionen nicht berücksichtigt, was unerwünschte Ergebnisse zur Folge haben kann. Die Script Toolbox versucht, solche Probleme zu umgehen. Eine Limit Überschreitung führt nicht zum Abbruch des Scripts, sondern zu einer entsprechenden Fehlermeldung, bzw wird um das Limit herum jongliert, durch Warteschlangen etc. Natürlich gibt es Situationen, in denen die direkte Verwendung der nativen Funktionen sinnvoller ist. Dennoch zeigt die Toolbox ihre Stärke insbesondere bei wiederholter Nutzung bestimmter nativer Funktionen und bei der Automation von einfachen Abläufen.
Wie kann ich die Toolbox in meinen Shelly Scripts nutzen?
Zuerst einmal benötigt die Toolbox mindesten einen Shelly Gen2 mit der FW >1.0.8 oder besser.
Die Integration der Toolbox in das eigene Shelly Script ist simpel, einfach am Ende des Scripts die Toolbox einfügen und eine Main() Funktion definieren.
Link zur Toolbox:
Shelly Script Toolbox _[v1.0]_
Wie benutzt man die Toolbox?
Kurzfassung:
- Kopiere einfach den Toolbox-Code ans Ende deines Scripts und definiere eine Main() Funktion über der Toolbox.
- Die Main()-Funktion sollte den Hauptcode enthalten, z.B. das erstellen eines Endlos-Timers Schleife oder eines Ereignis-/Status Handlers. etc.
- Um das Call() Tool zu verwende kannst du die Call() Funktion einfach wie eine normale Shelly.call() Funktion nutzen.
- Weitere Informationen zur
Die Toolbox besteht also aus einer Reihe von Tools, die das Erstellen von Shelly-Scripts effizienter und schneller gestalten.
Um den Code so kompakt wie möglich zu halten und den Memory Verbrauch zu minimieren, ist die Toolbox stark komprimiert. In diesem Thread werde ich aber detailliert auf die einzelnen Tools der Toolbox eingehen und ausführlich dokumentieren, wie die jeweiligen Funktionen arbeiten, also ein How to use the Toolbox. Dies wird natürlich nicht über Nacht passieren, sondern einige Zeit in anspruch nehmen.