Neben der App, der Website oder Integration in Amazon Alexa kann für das Schalten der Aktoren auch das Habpanel genutzt werden. Auf dem Habpanel können verschiedene Seiten erstellt werden, unter den Seiten können Schalter angelegt werden oder Kacheln in denen Informationen ausgegeben werden. Für einen schaltbaren Aktor verwende ich folgende Einstellung im Habpanel:
Das Ergebnis sieht wie folgt aus:
Hier ein Beispiel um den Zustand von Kontakten in einer Kachel auszugeben, es wurde dafür ein Template verwendet:
<div class="row" ng-repeat="item in itemsInGroup('kontakte')">
<div class="col-xs-8 text-right">{{item.name}}</div>
<div class="col-xs-4 text-left" ng-style="{ color: itemValue(item.name)=='OPEN'?'red':'green' }">
{{itemValue(item.name)}}
</div>
</div>
Ebenfalls können im Habpanel die Zeiten ausgegeben werden, wann zum Beispiel ein Fensterkontakt das letzte Mal den Status geändert hat.
Hierzu wurde ein entsprechendes Item angelegt, in dem per Rule die Zeit geschrieben wird sobald sich der Status des Items ändert.
Innerhalb der Rule wird wie folgt der Timestamp geschrieben
var local_time = java::util::Calendar::getInstance(TimeZone::getTimeZone("Europe/Berlin"))
postUpdate(Wohnzimmer_Tuer_rechts_bewegung, new DateTimeType(local_time))
Am Anfang der rules Datei wurden noch folgende Zeilen eingefügt:
import org.openhab.core.library.types.*
import java.util.Calendar
import java.util.Date
import java.util.TimeZone
Vermutlich gibt es noch weitere Möglichkeiten die Uhrzeit bzw den Timestamp in einem Item zu hinterlegen, wenn einfachere oder andere Möglichkeiten bekannt sind würde ich mich über einen entsprechenden Kommentar freuen.
Für die Ausgabe der Zeiten im Habpanel wurde ein Template mit folgendem Inhalt verwendet:
<div class="row" ng-repeat="item in itemsInGroup('bewegung')">
<div class="col-xs-8 text-right">{{item.name}}</div>
<div class="col-xs-4 text-left" ng-style="{ color: itemValue('item.name') }">
{{itemValue(item.name) | date:'dd.MM HH:mm' }}
</div>
</div>