myTime – Timer für Visualisierung und Scripte

In diesem Artikel zeige ich Dir, wie Du den Adapter MyTime in ioBroker einsetzen kannst.

Ich war für unsere ioBroker VIS Visualisierung auf der Suche nach einem Timer-Widget für die Darstellung von beliebigen Timern. Hierbei bin ich auf den Adapter MyTime gestoßen, welchen ich euch in diesem Artikel gerne anhand eines kleinen Beispiels vorstellen und erklären möchte.

Bevor wir mit der Installation des Adapters beginnen können, müssen wir zunächst den Verwahrungsort auf Beta (latest) umstellen, da der Adapter noch nicht im Stable Release enthalten ist (Stand: 27.01.2021).

Im ersten Schritt wechseln wir in den Bereich Adapter und suchen hier nach dem Begriff mytime. In der Liste der Adapter findest Du jetzt den Adapter, welchen Du zunächst über die gelb markiere Plus-Schaltfläche installierst.

Nach der Installation des Adapters wechseln wir in die Instanzen und beginnen hier mit der Konfiguration des Adapters. Für mein Beispiel habe ich nun einen neuen Countdown mit einer Zeitangabe von 30 Sekunden angelegt.

Im nächsten Schritt wechseln wir dann in die Objekte und sehen hier unter dem Ordner mytime die folgenden Datenpunkte:

Für jeden Timer werden hier Datenpunkte für die action, cmd, config, end, name, start und timer angelegt. Um den Timer zu starten, müssen wir in den Datenpunk cmd einen entsprechenden Befehl schreiben. In der folgenden Liste siehst Du wichtigsten Befehle für die Verwendung des Timers:

  • start
    Startet den Timer
  • stop
    Beendet den Timer vorzeitig

Nach dem wir den Timer jetzt entsprechend konfiguriert haben, wollen wir im nächsten Schritt den Timer auf unserer Visualisierung darstellen. Dazu habe ich die ioBroker VIS Visualisierung geöffnet und dann im entsprechenden Projekt über die Widget-Liste auf der linken Seite nach mytime gesucht. Der Adapter stellt hier direkt vier Widgets für die Anzeige des Timers auf der View zur Verfügung. In meinem Beispiel habe ich mich für das Widget MyTime Countdown Circle entschieden. Ich habe das Widget im nächsten Schritt auf die View gezogen um nun mit der Konfiguration beginnen zu können.

Im ersten Schritt müssen wir nun die Eigenschaft countdown_oid mit dem Action Datenpunkt des Timers verknüpfen. Die restlichen Einstellungen des Widgets habe ich so belassen wie sie sind. Das Widget stellt selber keine Schaltflächen für die Steuerung des Timers zur Verfügung, diese müssen wir daher manuell einfügen.

Ich habe hierfür zwei Button State Widgets eingefügt, welche ich im nächsten Schritt mit dem Datenpunkt cmd verknüpft habe. Als Wert für den Start wird hier logischerweise auch start verwendet.

Die Stop-Schaltfläche wird ebenfalls mit dem Datenpunkt cmd verknüpft und als Wert für Datenpunkt stop übergeben.

Ich habe zudem noch ein weiteres Widget für eine optionale Benachrichtigung implementiert. Als Widget habe ich hier eine CheckBox aus den HQWidgets gewählt. Als Datenpunkt habe ich mir einen eigenen Datenpunkt im Bereich userdata angelegt. Als Datentyp habe ich hier Boolean gewählt.

In der Visualisierung habe ich das Widget mit dem Datenpunkt verknüpft und die Farben konfiguriert.

Im nächsten Schritt habe ich mir noch ein kleines Blockly-Script angelegt, welches den action Datenpunkt des CountDownTimers triggert. Nach einer Änderung des Wertes im action Datenpunkt wird dann zunächst geprüft, ob die Benachrichtigung aktiviert wurde. Falls der Wert auf wahr (true) steht, wird dann geprüft ob der neue Wert des Triggers mit der Zeichenfolge „end“ übereinstimmt. Ist dem so, so wird eine Telegram-Benachrichtigung erzeugt.

Auf der View wird der Timer sowie die Schaltflächen wie folgt dargestellt:

Vielen Dank für euer Feedback. Bei weiteren Fragen oder Anregungen gerne melden 🙂

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

Ein Gedanke zu „myTime – Timer für Visualisierung und Scripte

  • 4. Februar 2021 um 18:50
    Permalink

    Meine Anzeige in der Visualisierung überspringt bei einem 10s countdown 3sek und startet bei 7sek.
    Das run Signal bleibt dafür 3sek länger aktiv. Komisch

    Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.