INSIDETecBaseWebUISkript-Bibiliothek

Skript-Bibiliothek

Skript-Bibiliothek Skripte ermöglichen u.a. die Abfrage und Bedienung von HomeMatic- Komponenten auf unterster, technischer Ebene. Der Aufbau der verwendeten Skriptsprache sowie einige Beispiele sind in der so genannten Skript-Dokumentation auf der eQ-3 Homepage als PDF verfügbar.

Diese Bibiliothek beinhaltet praxisorientierte Skript-Beispiele, die mit wenig Aufwand für den eigenen Einsatz übernommen werden können.

Skripte

« Auslösenden Rauchmelder erkennen

Hat man mehrere Rauchmelder im Einsatz, löst im Alarmfall immer die zugeordnete Teamgruppe aus, die dann das Signal an die anderen Melder weitergibt. Nach einigen Sekunden alarmieren dann alle Rauchmelder und man weiß gar nicht mehr, welcher nun den eigentlichen Rauch erkannt hat. Folgendes Skript kann dabei helfen, den zuerst ausgelösten Rauchmelder zu erkennen, um diesen dann z. Bsp. innerhalb einer EMail zu benennen.

« Zufallszahlen generieren

Derzeit ist es nicht auf einfache Weise möglich, sich von der HomeMatic-Zentrale (bzw. über ein entsprechendes Tcl-Kommando) Zufallszahlen generieren zu lassen. Die folgenden zwei Ansätze zeigen aber, wie man annähernd eine Zufallszahl generieren kann, um diese dann in anderen Programmen/Skripten weiterverwenden zu können.

« Aktuelle Uhrzeit auf FB19-Display

Dieses Skript ermöglicht die Anzeige der aktuellen Uhrzeit auf dem Display der 19-Tasten-Fernbedienung. Dabei muss ein neues Programm erstellt werden, das z.B. alle 45 Sekunden das nachfolgende Skript aufruft (über das Zeitmodul). Möchte man die Uhrzeit genauer haben, kann das Interval bei Bedarf herabgesetzt werden (z.B. 10 Sekunden).

« Alle Lichter aus - der einfache Weg

Wenn man die angelernten Aktoren innerhalb der WebUI halbwegs sortiert bzw. kategorisiert hat, sollten sämtliche Lichtquellen (Schalt- und Dimmaktoren) einem Gewerk (z. B. "Licht") zugeordnet sein. Dies kann man sich zunutze machen, um über ein einfaches Skript alle Lichtquellen automatisch auszuschalten.

« Programme aus einem Programm heraus starten

Derzeit gibt es innerhalb der WebUI-Programmieroberfläche keine direkte Möglichkeit, Programme aus einem Programm heraus starten zu können. Es könnte aber durchaus Sinn machen, bestimmte Programmteile zentral in Einzelprogramme zu verlagern, um sie dann von anderer Stelle aus aufzurufen. Das würde nicht nur der Übersichtlichkeit gut tun, sondern auch zu leichter wartbarem Code führen (Stichwort: Code-Re-use).

« Feiertagsberechnung

Das folgende Skript berechnet alle möglichen Feiertage eines auswählbaren Bundeslandes und gibt das Ergebniss in einer Systemvariable zurück. Diese Variable kann wiederum in anderen Programmen benutzt werden, um entsprechend an Feiertagen anders reagieren zu können (z. B. Rolläden später hochfahren, ...).

« Tageszeit in Abschnitte unterteilen

Möchte man einen Aktor für eine gewisse Zeit ein- bzw. ausschalten, kommt normalerweise das Zeitmodul zum Einsatz, das für die meisten Zwecke auch völlig ausreichend ist. Gerade im Zusammenspiel mit der eingebauten Astrofunktion stösst das Modul jedoch an seine Grenzen. So kann z.B. die entsprechende Zeit nicht vorgezogen werden. Hier könnte nachfolgendes Skript helfen, das einen Tag in verschiedene Zeitabschnitte unterteilt, die wiederum flexibel für die Programmierung verwendet werden können.

« LowBat-Meldungen auslesen

Machmal kann es sinnvoll sein, sich über bevorstehende Batteriewechsel informieren zu lassen. Da es derzeit nicht möglich ist, den genauen Batteriestatus (Kapazität) auszulesen, ist man auf die Auswertung des LowBat-Zustands beschränkt. Mögliche Reaktionen wären z. B. das Veschicken einer EMail oder einer SMS.

« Entfeuchter sinnvoll ansteuern

Ein Entfeuchter soll bei Feuchtigkeit eingeschaltet, bei Trockenheit wieder ausgeschaltet werden. Um den Kompressor zu schonen, soll das Gerät dabei stets mindestens 45 Minuten ein- bzw. ausgeschaltet sein. Die Messung der Luftfeuchtigkeit erfolgt durch Abfrage des Raumthermostaten der Heizung. Der Enfeuchter selber wird dabei über einen Zwischenstecker angesteuert.

« Tastendruck - kurz oder lange?

Mit folgendem Skript lässt sich einfach herausfinden, ob eine Taste (Fernbedienung) kurz oder lange gedrückt wurde. Mit dieser Unterscheidung kann dann auf den jeweiligen Tastendruck reagiert werden.

Neue Kommentare:

  • Hallo zusammen, ich versuche seit Tagen verzweifelt, für die Einbindung von FS20 Komponenten an der Homematic Zentrale (1.505), den CUL-Stick (V3.3) von BUSWARE zu konfigurieren. Ich bin streng nach Anleitung aus dem Net... Weiter lesen
  • Hallo, ich habe nun den cux Daemon installiert und die Firmware des CUL geschrieben, bei Status wird folgendes angezeigt: ======================================== USB 1-2 - {CUX} CUL868 [COMM] - /dev/ttyACM0 - V 1.44 CUL... Weiter lesen
  • Hallo, ich habe bei mir den Dimmer HM-LC-Dim1TPBU-FM in Betrieb. Soweit funktioniert alles.Wie komme ich aber an die weiteren Känäle des Dimmers. Bei mir werden in den Geräteeinstellungen die Kanäle Ch:2 und Ch:3 nicht a... Weiter lesen
Kommentare