FHEM Widget – FHEM Devices als Widget unter iOS

Ein smartes Zuhause ist meiner Meinung nach erst wirklich smart, wenn auch deren Bedienung smart ist. Ich bin also stetig auf der Suche nach der optimalen App um meine FHEM-Devices per Handy zu steuern. Die iOS-App „FHEM Widget“ von Michael Tasior aus im App-Store gehört schon seit längerem zu meinen Favoriten in diesem Bereich. Mit dieser App lassen sich Bedienelemente in der Benachrichtigungszentrale auf eurem iOS-Gerät platzieren.

So lassen sich eure Geräte mit nur einem Wisch auf eurem Handy bedienen. Ich finde praktischer und schneller geht es kaum noch. Selbst das Steuern über Siri dauert meistens länger. In diesem Beitrag werde ich euch die App „FHEM Widget“ erklären und euch zeigen, wir ihr am besten eure FHEM-Devices in diese einbindet.

Versionen der App

Aktuell bietet Michael die Versionen 2.2 seiner App im AppStore an.

FHEM Widget 2
Preis: Kostenlos+

Die damals noch zum Festpreis von 2,99€ teure erste Version der App wird nicht mehr weiter entwickelt und wurde inzwischen aus dem App-Store genommen. Die neue Version lässt sich nun kostenlos laden und kann durch inApp-Käufe mit Pro-Funktionen erweitert werden.

Das neue Preismodell ist eine Art Abo. Aber keine Angst. Die Preise sind sehr fair und dienen eher nur dazu die Unkosten des Entwicklers zu finanzieren. Stand Januar 2017:

  • 6 Monate: 1,49€
  • 1 Monat: 0,49€

Dieser Blog-Beitrag hat deswegen seinen Focus auf die neuere Version und wird auch stetig dem aktuellen Stand der App angepasst bzw. erweitert.

Pro-Funktionen

Durch ein Abo erhält man dann zugriff auf die Pro-Funktionen der App. Aktuell gehört dazu die Aufhebung des Geräte-Limits (ohne Abo liegt die Grenze bei drei Devices) und ein Sync-Service, welcher auch ein Steuern außerhalb des eigenen Heimnetzes erlaubt.

Funktionsweise der App

Mit der Hilfe der App lassen sich FHEM-Devices als Widget in Apples iOS-Geräte einrichten. Die App folgt dabei folgendem Syntax:

Damit die App aber auch weiß, was das „controlled_attribute“ und das „allowed_value“ ist, muss man jedem gewünschten Gerät das Attribut „fhem_widget_command“ bzw. „fhem_widget_command_2“ hinzufügen. Damit dies möglich ist, müssen dieses Attribut zunächst als „userattr“ hinzugefügt werden.

Mit diesem Attribut lassen sich der App die oben genannten Infos mitteilen. (mehr zu fhem_widget_command_2 unter MultiChannelDevices)

Zusätzlich zu den Argumenten „controlled_attribute“ und „allowed_value“ gibt es noch weitere Argumente, siehe Tabelle.

Argumentoptional?Beschreibung
allowed_valuesNeinErlaubte Werte, wenn leer gelassen wird "[]", dann wird das Reading "state" angezeigt.
controlled_attributeJaGibt an, welches Attribut gesteuert werden soll
orderJagibt die Reihenfolge an
filterJaKann benutzt werden um Geräte in der Anzeige zu filtern
aliasJaÜberschreibt den Device-Namen
locationsJaErlaubt das Konfigurieren des Anzeigeortes:
"APP" --> Wird in der App angezeigt
"WIDGET" --> Wird als Widget angezeigt
"WATCH" --> Wird auf der Apple-Watch angezeigt
"WGRID" --> Nur im Kachel-Widget
"WLIST" --> Nur im Listen-Widget
"AGRID" --> Nur in der Kache-Ansicht in der App
"ALIST" --> Nur in der Listen-Ansicht in der App
prefixJawird nur bei einem STATE-Device ausgewertet und hängt diesen String vorne an
suffixJawird nur bei einem STATE-Device ausgewertet und hängt diesen String hinte an
colorJaFärbt das entsprechende Device ein, nur in der Grid-Ansicht, sechstelliger HEX-Farbcode, z.B. #FF0000

Konfiguration der FHEM-Devices

Die Einrichtung kann entweder manuell erfolgen oder man verwendet den App-internen Wizard.

Ich persönlich habe mir vor der Einrichtung noch zusätzlich einen Raum erstellt, dem alle Geräte zugeordnet werden, welche später als Widget erscheinen sollen. Zum Beispiel für die PCA301 Steckdose mit dem Namen „WZ_TV“.

Info: Möchte man, dass WZ_TV noch in weiteren Räumen aufgelistet wird, einfach durch ein Komma trennen: „attr WZ_TV room FHEM_Widget, Wohnzimmer“

manuelle Einrichtung

Wie oben schon erwähnt, erfolgt das Setzen der Argumente über das Attribut „fhem_widget_command“ bzw. „fhem_widget_command_2“ (mehr zu fhem_widget_command_2 unter MultiChannelDevices) . Dadurch, dass es zwei Attribute sind, kann in einem Widget neben der eigentlichen Aktion („fhem_widget_command“) noch eine zusätzliche Statusmeldung(„fhem_widget_command_2“) angezeigt werden.

Bei den PCA301-Steckdosen mit integrierter Strommessung könnte man somit als zusätzlicher Statusmeldung den aktuellen Stromverbrauch anzeigen lassen. Mehr dazu weiter unten in den Beispielen.

Nachdem man alle gewünschten Geräte dem Raum „FHEM_Widget“ zugeordnet hat, kann man sich an das Konfigurieren der einzelnen Devices machen. Wie oben schon erwähnt, funktioniert die App mit folgendem Syntax:

Über das Attribut „fhem_widget_command“ bzw. „fhem_widget_command_2“ müssen also die benötigten Argumente gesetzt werden. Diese werden in geschweiften Klammern gesetzt und durch Kommas voneinander getrennt. Zum Beispiel:

Mehr dazu weiter unten in den Beispielen. Wurde den gewünschten Devices die Argumente übergeben, kann mit dem Einrichten der App begonnen werden. Mehr dazu im entsprechenden Kapitel.

Einrichtung mit Hilfe des Wizard

Das Setzen der Argumente kann mit Hilfe des Wizard auch innerhalb der App gesetzt werden. Dazu verbindet man sich zuerst über die App mit seiner FHEM-Installation. Mehr dazu weiter unten unter „Einrichtung der App – Verwendung des Wizards“.

Nachdem Starten des Wizards zeigt er nun alle gefunden Devices (entsprechend den Raum-Einstellungen) und erlaubt nun die Konfiguration der einzelnen Geräten.

Tippt man nun auf eines, so werden die beiden Attribute „fhem_widget_command“ und „fhem_widget_command_2“ angezeigt.

Ein weiteres Tippen zeigt nun die möglichen Argumente.

Hier lassen sich nun die selben Einstellungen vornehmen, wie beim manuellen Einrichten. Nachdem alle Argumente eingegeben wurden, kann man durch tippen auf „Schreibe in das Device …“ die Argumente in das entsprechende Device schreiben. Beispiele dazu weiter unten.

Besondere Funktionen

Die aktuelle Funktion beinhaltet zur Zeit zwei spezielle Funktion. Im folgenden werde ich diese bisschen näher erläutern.

Kombiniere Devices – MultiChannelDevices

Unter MultiChannelDevices versteht man das Kombinieren von mehreren Devices zu einem Widget. Als Schlüssel wird hier das Argument „Alias“ verwendet. Devices mit dem gleichen Alias werden dann zu einem Widget zusammen gefasst. Ein sinnvoller Einsatzzweck ist, dass man zusätzlich zum state-Reading (z.B. an oder aus) noch den Stromverbrauch anzeigen lässt.

Aktuell unterstützt die App folgende Kombinationen:

  • STATESTATE
    • Ein Kombination von zwei Readings (aktueller Wert)
  • STATESETTER
    • Eine Kombination von einem Reading (aktueller Wert) und einem Setzwert (ein Eintrag, setzt nur diesen Wert)
  • STATESWITCH
    • Kombination von einem Reading (aktueller Wert) und einem Schalter (setzen von zwei Einträgen)
  • STATERANGE
    • Kombination von einem Reading (aktueller Wert) und einem Regler (mehr als zwei Einträge)
  • STATESTATESTATE
    • Kombination von drei Readings (aktueller Wert)

Die einzelnen „Kombination-Partner“ werden dann jeweils über ein separates Attribut „fhem_widget_command“ definiert. Deswegen das obige gestzte globale userattr „fhem_widget_command“ und „fhem_widget_command_2“. Es lassen sich somit schon mal die ersten vier möglichen Kombinationen realisieren.

Möchte man jedoch die letzte Kombination „STATESTATESTATE“ realisieren, muss ein weiteres userattr gesetzt werden – „fhem_widget_command_3“. Das Einstellen von Argumenten unter diesem Attribut ist jedoch nur bei der manuellen Einrichtung möglich. Der App-Wizard unterstützt zur Zeit nur zwei fhem_widget_command-Attribute.

Möchte man eine Einheit hinter den Readings, so muss diese bereits beim Reading selbst vorhanden sein oder man fügt diese durch das Argument „suffix“ hinzu.

Beispiel

Als Beispiel nehme ich meine PCA301-Steckdose. Das Ziel ist es, über das Widget die die Steckdose schalten zu können und zusätzlich die aktuelle Leistung anzeigen zu lassen.

Die dafür benötigten Argumente lassen sich manuell oder natürlich über den Wizard einrichten.

Übertrage Konfiguration

Hat man mehrere iOS-Geräte, dann möchte man diese App natürlich gerne auf allen seinen Geräten verwenden. Um nicht auf jedem Gerät getrennt die App konfigurieren zu müssen, lässt sich die aktuell Konfiguration über die App übertragen.

In den Einstellungen findet man dazu den Eintrag „Übertrage Konfiguration“. Danach lässt sich auswählen ob man eine Konfiguration empfangen oder senden möchte.

Wurde auf den beiden Geräten die gewünschte Einstellungen vorgenommen, beginnt die Übertragung automatisch. Auf dem Empfangs-Gerät ist die empfangende Konfiguration nun solange aktiv, bis sie durch Tippen auf „Speichern und Update“ überschrieben wurde.

Einrichtung der App

Nach dem Starten der App sollte man zuerst unter „Einstellungen“ die Log-In Daten zur FHEM-Installation eingeben.

Sollte man seine FHEM-Installation mit SSL abgesichert haben, muss man darauf achten, dass der Schieberegler „Akzeptiere private SSL Zertifikate“ aktiviert ist und die Zugangsdaten eingegeben wurden.

Damit nicht alle Geräte angezeigt werden, kann man nun unter „Raum“ den oben erstellten Raum eingeben. Es werden dann nur Geräte angezeigt, welche man den Raum „FHEM_Widget“ zugeordnet hat. Weitere Filter kann man unter „Filter“ eintragen. Hierzu muss jedoch beim Attribut „fhem_widget_command“ das Argument „filter“ mit angegeben werden. Bei der manuellen Einrichtung innerhalb von FHEM sehe es zum Beispiel so aus:

Gibt man nun innerhalb der App unter Filter „Sensor“ an, so werden nur Apps angezeigt, welche im Attribut das entsprechende Argument haben.

Wie man sieht, gibt es zwei Möglichkeiten Devices zu filtern. Ich habe mich für den Weg des Raum-Filters entschieden, da ich so unter FHEM einen extra Raum habe, in der die „Widget-Devices“ untergebracht sind und ich mir somit schnell einen Überblick schaffen kann. Verwendet man jedoch das Argument „filter“, so muss man erst auf die Detailseite des Devices gehen um festzustellen, ob es als Widget angezeigt wird

Die weitere Einrichtung innerhalb der App ist nun abhängig von der Art, wie ihr eure Devices konfiguriert habt.

manuelle Einrichtung

Bei der manuellen Einrichtung reicht es nun aus, innerhalb der App nur noch auf „Speichern und Update“ zu tippen. Man erhält direkt eine Antwort, wie viele Geräte erkannt wurden.

Das Einrichten der Devices innerhalb der App ist nun für das manuelle Einrichten abgeschlossen.

Verwendung des Wizards

Verwendet man hingegen den Wizard, so werden nach dem „Speichern und Update“ zunächst keine Geräte gefunden. Es lässt sich nun jedoch der Wizard starten. Zu finden ist dieser weiter unten in den Einstellungen unter „Helferlein“.

Anleitung zum Wizard weiter oben unter „Einrichtung mit Hilfe des Wizards„. Hat man nun alle Geräte über den Wizard konfiguriert, lassen sich über „Speichern und Update“ die Devices aktualisieren und die eingerichteten Wizard werden aufgelistet.

Beispiele

Im Großen und Ganzen kann man unter drei Devices-Typen unterscheiden: Sensor, Schalter, Dimmer. Im folgenden habe ich für jeden Typ das passende Attribut aufgelistet:

Sensor:

Dadurch, dass das Argument „allowed_vallues“ leer gelassen wurde, wird das Reading „state“ ausgegeben. Man sollte also beim Device selber das Reading „state“ vorher mit „stateFormat“ anpassen.

Schalter:

Durch die Angabe „off“ und „on“ wird das Device „WZ_TV“ an oder aus geschaltet. Das Widget besteht somit aus einem Schalter.

Dimmer:

Hier kann mit dem Widget die Helligkeit der Hängelampe in 20er Schritten gesteuert werden. Gibt man hier die Werte „0“ und „100“ an, wird dem Widget zusätzlich ein Min und Max-Button hinzugefügt.

Andere Argumente lassen sich natürlich hinzufügen. Entweder manuell oder über die App.

Fazit

Mit dieser App lassen sich relativ einfach Widgets für eure FHEM-Devices erstellen. Kein lästiges entsperren des Handy, suchen der App, öffnen der App und suchen des gewünschten Devices mehr. Ein einfaches Wischen reicht und man hat sofort seine wichtigen Devices parat. Einfacher geht es wohl nun wirklich nicht mehr 😉

Auch die Pro-Funktionen sind mir die 1,49€ pro halbes Jahr wert. Sie werten die App um einiges auf und reißen dennoch kein finanzielles Loch in die Kasse 😉

Mehr Infos zu der App erhaltet ihr auf der zugehörigen Homepage.

 

Hinterlasse einen Kommentar

7 Kommentare auf "FHEM Widget – FHEM Devices als Widget unter iOS"

Benachrichtige mich zu:
avatar
Fotos und Bilder
 
 
 
sonstiges Dateiformat
 
 
 
Sortiert nach:   neuste | älteste | beste Bewertung
Rudi
Gast
Rudi

Hallo,

 

Vielleicht kann mir jemand helfen…

Bei meinem iPhone funktioniert die Grid-Ansicht des Widgets nicht. Nur die klassischen Schalter… Sobald Ich die Grid-Ansicht im Widgets-Menü hinzufüge, versuchen die Buttons wohl nur einen State zu bekommen. (Es drehen nur die Rädchen) In der App selbst funktionieren die Buttons wunderbar.

 

Was mache ich falsch?

 

PS: Ich bezahle Kaffee   😀

Stefan
Gast
Stefan

Ich habe die App für meine Fhem Installation erfolgreich konfiguriert. Leider bekomme ich
keine Devices auf der Watch angezeigt. Es kommt die Anzeige “ Keine Devices hinterlegt“.
Die Funktion “ speichern und Update“ in der App habe ich gedrückt.

Bitte um Hilfe
Danke

Stefan
Gast
Stefan

Sorry,
da war ich schnell. Das Problem mit der Watch hat sich erledigt.
War mein Fehler.

Danke für die schöne App.

Alexander
Gast
Alexander

Klasse App. Die Standard-Schaltflächen klappen schon ganz gut, kann ich aber zwei verschiedene Schalter (mit unterschiedlichen Funktionen) auf das gleiche Device legen?
Hintergrund: ich habe einen Receiver, den ich an/ausschalten möchte über einen Schalter und über einen zweiten möchte ich den Kanal wählen…

wpDiscuz