ioBroker – Betriebsstundenzähler erstellen
In diesem Artikel zeige ich Dir, wie Du einen einfachen Betriebsstundenzähler erstellen kannst.
Ich habe mir in letzter Zeit öfters die Frage gestellt, wie lange oder oft ein entsprechender Aktor aktiviert ist. In meinem Beispiel wollte ich die Einschalthäufigkeit des Flurlichts genauer analysieren. Für diesen Anwendungsfall habe ich fertige Scripts im ioBroker Forum sowie den Adapter „Betriebsstunden“ gefunden. Im Artikel zeige ich Dir die Einrichtung und Verwendung des Adapters.
Im ersten Schritt wechseln wir dazu in den Bereich Adapter und suchen hier nach „Betriebsstunden“. Über die gelb markierte Schaltfläche kannst Du den Adapter dann installieren, sprich zu Deinen Instanzen hinzufügen.
Nach der Installation öffnet sich direkt die Konfiguration des Adapters. In der Konfiguration können wir zum einen die Aktualisierungsrate sowie die einzelnen Zustände hinterlegen. Die Aktualisierungsrate habe ich auf dem Standard-Wert von 6 belassen. Für die Auswertung des Leuchtmittels habe ich dann einen neuen Zustand mit der Bezeichnung „Flurlicht“ hinterlegt.
Nach dem Speichern und Schließen der Konfiguration können wir dann in die Objekt-Ansicht wechseln. Hier findest Du nun einen neuen Ordner mit der Bezeichnung „operating-hours“. Unterhalb der Instanz 0 werden die einzelnen, manuell hinterlegten Zustände aufgelistet. In unserem Beispiel wird hier nun der Ordner Flurlicht mit den Unterordnern administrative und operatingHours aufgelistet.
Das Aktivieren des Betriebsstundenzählers erfolgt über den Datenpunkt enableCounting. Dieser wird dazu einfach mit dem booleschen Wert true für die Aktivierung sowie false für die Deaktivierung gesetzt. Im Datenpunkt activiationCounter findest Du die Anzahl von Aktivierungen.
Nach dem wir nun die Verwendung des Adapters soweit geklärt haben, möchte ich im nächsten Schritt einen realen Aktor mit der Auswertung des Adapters verknüpfen. Hierfür habe ich im ersten Schritt im Bereich Scripts einen neuen Ordner für die Zählung der Betriebsstunden angelegt.
Unterhalb des Ordners habe ich dann ein neues Blockly-Script erstellt.
Das Blockly-Script ist relativ einfach. Im Script wird ein Trigger auf die entsprechende STATE Objekt-ID des Aktors angelegt. Der Trigger springt dann bei einer Änderung des Datenpunkts an und liefert mit der Variable Wert den neuen Zustand (true oder false) des Aktors. Diese Wert-Variable schreiben wir dann mittels einem steure Block in den enableCounting-Datenpunkt (operating-hours.0.Flurlicht.administrative.enableCounting). Das war es auch schon. Das Script aktiviert/deaktiviert nun automatisch den Datenpunkt des Adapters für die Auswertung der Betriebsstunden.
Betriebszähler zurücksetzen
Für das Zurücksetzen eines Zählers muss einfach ein beliebiger, numerischer Datenpunkt mit 0 beschrieben werden. In meinem Beispiel schreibe ich hier in den Datenpunkt „days“ 0. Der entsprechende Zähler wird dann zurückgesetzt.
Ich hoffe Dir gefällt der Artikel. Ich freue mich über Kommentare, Anregungen oder Fragen.
Gerne auch Anregungen oder Wünsche für zukünftige Artikel.
Hallo,
ich habe IObroker auf einem Raspberry am laufen. Nun möchte ich über einen Sonof Adapter und dem Betriebsstundenzähler Adapter die Laufzeit eines Pelletsofens nachhalten.über eine Blocky-Abfragehabe ich eine Wenn Dann Abfrage gemacht,welche in EnableCounting auf true setzt, wenn die Leistung des Sonof Adapters über 30 W istund auf false wenn die Leistung unter 30 W ist. True oder false wird im Betriebsstundenzähler angezeigt. Im Echart der EnableCounting kann man die Schaltzeiten sehen, aber unter ActivationCounter und OperatingHours steht alles auf Null.
Der js-controller steht auf 4.0.24 und könnte auf 5.0.12 upgedatet werden.
Was mache ich falsch?